@font-face{font-family:"Source Serif 4";src:url("./assets/fonts/source-serif-4-latin.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap}
:root{--page:#f4f2ec;--surface:#fffef9;--ink:#243830;--muted:#55675e;--border:#c9d0c6;--accent:#1e5d4b;--soft:#e3ece5;--danger:#9c342c;--radius:6px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;line-height:1.15;text-wrap:balance}h1{font-size:28px;margin:0;font-weight:650}h2{font-size:32px;margin-bottom:8px}h3{font-size:23px;margin-bottom:12px}h4{font-size:14px;margin-bottom:8px}p{max-width:70ch}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,textarea{font:inherit}button,.file-button{min-height:44px;border:1px solid var(--border);border-radius:var(--radius);padding:9px 15px;background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.35;text-decoration:none}button:hover,.file-button:hover{background:var(--soft);border-color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.5}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover:not(:disabled){background:#164b3b}button.quiet{background:transparent;border-color:transparent;padding-left:8px;padding-right:8px;text-decoration:underline;text-underline-offset:4px}button.danger{color:var(--danger);border-color:#d5aaa4;background:var(--surface)}button.small{font-size:14px;padding:8px 12px}.small-copy,small{font-size:13px;color:var(--muted)}small{font-weight:400;display:block}button:focus-visible,a:focus-visible,summary:focus-visible,.file-button:focus-within,input:focus-visible,textarea:focus-visible{outline:3px solid #936a21;outline-offset:3px}input,textarea{width:100%;min-width:0;background:var(--surface);border:1px solid #91a396;border-radius:var(--radius);padding:10px 12px;min-height:44px;color:var(--ink);caret-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical;line-height:1.55}label{display:block;font-weight:600;font-size:14px}label input,label textarea{margin-top:5px}::selection{background:#c9ddcf;color:#152c21}*{scrollbar-color:#7c9386 var(--page);scrollbar-width:thin}.mobile-projects{display:none}.skip-link{position:fixed;top:-70px;left:16px;padding:12px;background:var(--surface);z-index:10}.skip-link:focus{top:8px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px;border-bottom:1px solid var(--border);background:var(--surface)}.brand,.top-actions,.inline-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brand>a,.brand>span{font-size:14px}.brand>span{color:var(--muted)}.local-label{font-size:13px;color:var(--muted);margin-right:4px}.file-button{position:relative;font-size:14px}.file-button input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;overflow:hidden}.layout{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 94px)}.sidebar{padding:32px 20px;border-right:1px solid var(--border)}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.sidebar h2{font-family:inherit;font-size:15px;font-weight:700;margin:0}.sidebar nav{display:flex;flex-direction:column;gap:6px}.project-option,.section-option{text-align:left;display:block;width:100%;border-color:transparent;background:transparent;padding:12px;overflow-wrap:anywhere}.project-option[aria-current="true"],.section-option[aria-current="true"]{background:var(--soft);border-color:var(--border)}.project-option span,.section-option span{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:3px}.sidebar>.quiet{margin:12px 0 24px;font-size:13px}.sidebar #section-nav h2{margin:8px 12px 14px}.sidebar-note{font-size:12px;color:var(--muted);padding:0 12px;margin-top:32px}main{padding:32px clamp(20px,3vw,48px);min-width:0}.project-heading{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:24px}.project-heading p{color:var(--muted);margin:0}.save-state{font-size:12px;white-space:nowrap;padding-top:9px;color:var(--muted)}.save-state.unsaved{color:var(--danger)}.sample-notice{font-size:13px;margin:-8px 0 24px;color:var(--muted)}.workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:32px}.counter{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;text-align:center;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;margin-bottom:30px}.section-heading h3{margin:0;overflow-wrap:anywhere}.section-heading button{flex-shrink:0}.counter #counter-label{font-size:15px;margin-bottom:0;color:var(--muted)}.row-number{font-family:"Source Serif 4",Georgia,serif;font-variant-numeric:tabular-nums;font-size:clamp(72px,8vw,96px);line-height:1.15;font-weight:500;min-height:110px;letter-spacing:-.025em}.row-number.finished{font-size:52px;padding-top:18px}.repeat-info{margin:6px 0;font-size:16px}.change-info{font-size:14px;font-weight:600;min-height:22px;color:var(--accent);margin:8px 0 24px}.counter-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.counter-actions .primary{flex:1}.completed-info{font-size:13px;color:var(--muted);margin:24px 0 8px;font-variant-numeric:tabular-nums}progress{display:block;width:100%;height:8px;border:none;border-radius:4px;overflow:hidden;background:var(--soft);accent-color:var(--accent)}progress::-webkit-progress-bar{background:var(--soft)}progress::-webkit-progress-value{background:var(--accent);}progress::-moz-progress-bar{background:var(--accent)}summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;font-size:14px;font-weight:600}.jump{margin-top:16px;text-align:left}.jump-form{display:flex;align-items:end;gap:8px}.jump-form label{flex:1}.jump-form button{flex-shrink:0}.resume{padding:16px 0}.resume>p{font-size:14px;color:var(--muted);margin-bottom:16px}.resume textarea{background:var(--surface);min-height:150px}.resume #note-status{margin:8px 0 24px}.pattern-instructions{border-top:1px solid var(--border);padding-top:20px}.pattern-instructions p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.pattern-instructions .small-copy{font-size:12px;color:var(--muted)}.stitch-info{font-weight:600}.reference{margin-top:40px;border-top:1px solid var(--border);padding-top:28px}.reference-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.reference-heading h3{margin-bottom:8px}.reference-heading p{font-size:14px;color:var(--muted);margin-bottom:20px}.reference-heading .file-button{flex-shrink:0}#pdf-empty{padding:32px 24px;background:var(--surface);border:1px dashed #91a396;border-radius:8px}#pdf-empty p{font-size:14px;margin-bottom:8px}.pdf-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.pdf-caption p{font-size:14px;font-weight:600;overflow-wrap:anywhere;margin:0}.pdf-caption a{font-size:13px}#pdf-frame{width:100%;height:520px;border:1px solid var(--border);background:var(--surface);border-radius:6px}#pdf-status{margin-top:12px}.editor{padding:24px;border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:32px}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.editor-heading h2,.editor-heading h3{margin:0}.editor>p{font-size:14px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.editor h3{margin-top:24px}.editor form>label{margin-top:20px}.editor form>button,.editor form>.inline-actions{margin-top:20px}#section-editor{margin-top:32px}.project-settings{border-top:1px solid var(--border);margin-top:32px;padding-top:8px}.project-settings form{padding:12px 0 8px}.project-settings .inline-actions{grid-column:1/-1}.empty{padding:48px 0}.empty p{color:var(--muted)}footer{font-size:12px;color:var(--muted);margin-top:40px;max-width:72ch}.warning,.message{padding:16px 32px;border-bottom:1px solid #c9b888;background:#fff7df;color:#55421b;font-size:14px}.warning p{margin-bottom:8px}.warning p:only-child{margin:0}.message{background:var(--soft);color:var(--ink)}.message.error{background:#fae9e5;color:#74271f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:1100px){.layout{grid-template-columns:220px minmax(0,1fr)}.workbench{grid-template-columns:1fr;gap:16px}.resume{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.resume h3,.resume>p,.resume textarea,.resume #note-status{grid-column:1}.resume .pattern-instructions{grid-column:2;grid-row:1/6;border-top:0;border-left:1px solid var(--border);padding:4px 0 0 24px}.top-actions{gap:8px}.local-label{display:none}}@media(max-width:700px){.topbar{padding:16px 20px;display:block}.brand{margin-bottom:16px}.top-actions{justify-content:flex-start}.top-actions button,.top-actions .file-button{font-size:13px}.layout{display:flex;flex-direction:column}.sidebar{border-right:0;border-top:1px solid var(--border);padding:16px 20px;order:1}.mobile-projects{display:inline-block;font-size:13px;padding:8px 0;min-height:44px}.sidebar>.mobile-projects{margin-bottom:12px}.sidebar nav{flex-direction:row;overflow-x:auto;padding-bottom:4px;gap:8px}.project-option,.section-option{min-width:145px;width:auto;flex-shrink:0;max-width:220px;padding:8px 12px}.sidebar-heading{margin-bottom:8px}.sidebar>.quiet{margin:8px 0;font-size:12px}.sidebar-note{display:none}.sidebar #section-nav h2{margin:8px 0}.sidebar #new-section{font-size:12px;padding:8px}.sidebar #section-nav{border-top:1px solid var(--border);padding-top:4px}main{padding:24px 20px}.project-heading{display:block;margin-bottom:16px}.project-heading h2{font-size:28px}.project-heading p{font-size:14px}.save-state{display:block;white-space:normal}.counter{padding:20px}.section-heading{margin-bottom:20px}.counter-actions .primary{flex:1;min-width:180px}.resume{display:block}.resume .pattern-instructions{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.form-grid{grid-template-columns:1fr}.reference-heading{display:block}.reference-heading .file-button{margin-bottom:16px}.reference-heading p{margin-bottom:12px}.pdf-caption{display:block}.pdf-caption p{margin-bottom:8px}#pdf-frame{height:420px}.editor{padding:20px}.editor-heading h2{font-size:26px}.warning,.message{padding:16px 20px}.jump-form{align-items:stretch;flex-direction:column}.jump-form button{align-self:flex-start}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Knitglow chrome on the previous-version page: wordmark, back link and a one-line note. */
.brand-link{display:inline-flex;line-height:0;border-radius:4px}.brand-title{margin:0;line-height:0}.brand-wordmark{display:block;width:auto;height:36px}.back-link{display:inline-flex;align-items:center;min-height:44px}.legacy-note{max-width:none;margin:0;padding:10px 32px;border-bottom:1px solid var(--border);background:var(--soft);color:var(--ink);font-size:14px}@media(max-width:700px){.legacy-note{padding:10px 20px}}
