:root{--paper:#f3efe5;--paper-bright:#fffdf7;--ink:#14221f;--ink-muted:#59645e;--line:#c8c2b4;--line-strong:#777b71;--signal:#e54b2f;--signal-dark:#a92b18;--blueprint:#0c3d50;--blueprint-soft:#dce8e8;--code:#10292c;--code-ink:#e8eee8;--serif:"Iowan Old Style", "Baskerville", "Songti SC", "STSong", serif;--sans:"Avenir Next", "Futura", "PingFang SC", sans-serif;--mono:"SFMono-Regular", "Cascadia Code", "Roboto Mono", monospace}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:linear-gradient(90deg, transparent 0 49.8%, #14221f09 50%, transparent 50.2%), repeating-linear-gradient(0deg, transparent 0 31px, #14221f06 32px), var(--paper);min-width:320px;color:var(--ink);font-family:var(--sans);margin:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible,[contenteditable=true]:focus-visible{outline:3px solid color-mix(in srgb, var(--signal) 70%, white);outline-offset:3px}.site-header{background:var(--ink);color:var(--paper-bright);justify-content:space-between;align-items:center;height:68px;padding:0 clamp(20px,4vw,64px);display:flex;position:relative}.site-header:after{background:var(--signal);content:"";width:76px;height:4px;position:absolute;bottom:0;left:clamp(20px,4vw,64px)}.wordmark{color:inherit;font-family:var(--serif);letter-spacing:.08em;font-size:22px;font-weight:700;text-decoration:none}.wordmark span{color:#99b8b5;font-size:.62em}.build-stamp{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;grid-template-columns:auto auto;align-items:baseline;gap:2px 10px;font-size:9px;display:grid}.build-stamp span{color:#9daba6}.build-stamp strong{font-size:10px;font-weight:500}main{max-width:1600px;margin:0 auto;padding:0 clamp(18px,4vw,64px) 72px}.hero{grid-template-columns:minmax(96px,.5fr) minmax(460px,2.2fr) minmax(180px,.7fr);gap:clamp(24px,4vw,72px);min-height:390px;padding:clamp(56px,8vw,112px) 0 72px;display:grid}.hero-index{color:var(--signal);font-family:var(--serif);font-variant-numeric:lining-nums;font-size:clamp(84px,10vw,150px);line-height:.72}.eyebrow,.toolbar-kicker{color:var(--signal-dark);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;font-size:10px;font-weight:700;display:block}.hero h1{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(42px,5.2vw,78px);font-weight:600;line-height:1.08}.hero-copy>p{border-left:1px solid var(--line-strong);color:var(--ink-muted);font-family:var(--serif);max-width:720px;margin:36px 0 0 4px;padding-left:24px;font-size:18px;line-height:1.85}.hero-status{border-top:1px solid var(--line-strong);font-family:var(--mono);grid-template-columns:1fr;align-content:end;gap:6px;padding-top:18px;display:grid}.hero-status span{color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase;margin-top:10px;font-size:9px}.hero-status strong{font-size:13px;font-weight:500}.lab-nav{border-bottom:1px solid var(--ink);border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin-bottom:40px;display:grid}.lab-nav button{border:0;border-right:1px solid var(--line-strong);cursor:pointer;font-family:var(--serif);text-align:left;background:0 0;padding:19px 22px;font-size:19px;transition:background .18s,color .18s}.lab-nav button:last-child{border-right:0}.lab-nav button span{color:var(--signal-dark);font-family:var(--mono);margin-right:18px;font-size:10px}.lab-nav button:hover,.lab-nav button[aria-current=page]{background:var(--ink);color:var(--paper-bright)}.reader-lab-grid,.editor-lab-grid{grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:start;gap:clamp(28px,4vw,64px);display:grid}.stage-toolbar{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;min-height:64px;margin-bottom:16px;padding:8px 0;display:flex}.stage-toolbar .toolbar-kicker{margin:0 0 4px}.stage-toolbar strong{font-family:var(--serif);font-size:20px;font-weight:600}.text-button,.editor-controls button{border:1px solid var(--line-strong);cursor:pointer;font-family:var(--mono);letter-spacing:.05em;background:0 0;padding:9px 11px;font-size:10px}.text-button:hover,.editor-controls button:hover:not(:disabled){background:var(--ink);color:var(--paper-bright)}.paper-sheet,.editor-paper{background:var(--paper-bright);border:1px solid var(--line);min-height:720px;padding:clamp(34px,6vw,88px);position:relative;box-shadow:16px 18px #14221f14}.paper-sheet:before,.editor-paper:before{content:"";border-left:1px solid #e54b2f33;height:100%;position:absolute;top:0;left:clamp(18px,3vw,44px)}.article-header{border-bottom:3px double var(--ink);margin-bottom:48px;padding-bottom:32px}.article-header>span{color:var(--signal-dark);font-family:var(--mono);letter-spacing:.15em;font-size:10px}.article-header h1{font-family:var(--serif);letter-spacing:-.045em;margin:22px 0 32px;font-size:clamp(38px,5vw,66px);font-weight:600;line-height:1.13}.article-meta{color:var(--ink-muted);font-family:var(--mono);letter-spacing:.05em;flex-wrap:wrap;gap:14px 30px;font-size:10px;display:flex}.article-content{font-family:var(--serif);-webkit-user-select:text;user-select:text;font-size:18px;line-height:1.9}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin:2em 0 .75em;font-weight:600;line-height:1.25}.article-content h1{font-size:34px}.article-content h2{font-size:28px}.article-content p{margin:0 0 1.35em}.article-content p code{font-family:var(--mono);background:#e7e2d6;border-bottom:1px solid #b4ab97;padding:.12em .35em;font-size:.78em}.article-content blockquote{border-left:5px solid var(--signal);color:#31443e;margin:2.2em 0;padding:12px 0 1px 26px;font-size:21px;font-style:italic}.article-content ul,.article-content ol{margin:0 0 1.5em;padding-left:1.4em}.article-content li::marker{color:var(--signal-dark)}.article-content li>p{margin-bottom:.35em}.code-frame{background:var(--code);color:var(--code-ink);margin:2.5em -2vw;padding:0}.code-frame figcaption{color:#9eb1ad;font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-bottom:1px solid #385154;padding:9px 18px;font-size:9px}.code-frame pre,.exercise-static pre,.editor-exercise pre{color:inherit;font-family:var(--mono);tab-size:4;white-space:pre;background:0 0;margin:0;padding:22px 26px 26px;font-size:13px;line-height:1.75;overflow-x:auto}.hljs-keyword,.hljs-selector-tag,.hljs-title.function_{color:#ff8f70}.hljs-string,.hljs-attr{color:#b8d98d}.hljs-number,.hljs-type,.hljs-built_in{color:#8fc7df}.hljs-comment{color:#82928f;font-style:italic}.exercise-static{background:#e3ece9;border:1px solid #9bb1ab;margin:2.5em 0;padding:26px;position:relative}.exercise-static:before{color:var(--blueprint);content:"EXERCISE / STATIC SOURCE";font-family:var(--mono);letter-spacing:.14em;font-size:9px;position:absolute;top:14px;right:18px}.exercise-static .exercise-rule{background:var(--blueprint);width:42px;height:4px;margin-bottom:22px}.exercise-static p{margin-bottom:0;font-style:italic}.exercise-static pre{background:var(--code);color:var(--code-ink);margin-top:20px}.table-scroll{margin:2.2em 0;overflow-x:auto}.article-content table{border-collapse:collapse;font-family:var(--sans);min-width:100%;font-size:13px;line-height:1.55}.article-content th,.article-content td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 16px}.article-content th{background:var(--ink);color:var(--paper-bright);font-family:var(--mono);letter-spacing:.06em;font-size:10px}.selection-inspector,.editor-inspector{position:sticky;top:24px}.inspector-heading{border-bottom:1px solid var(--line-strong);align-items:center;gap:18px;padding-bottom:18px;display:flex}.section-number{color:var(--signal);font-family:var(--serif);font-size:52px;line-height:1}.inspector-heading .toolbar-kicker{margin:0 0 3px}.inspector-heading h2{font-family:var(--serif);margin:0;font-size:27px;font-weight:600}.inspector-note{color:var(--ink-muted);font-family:var(--serif);margin:22px 0;font-size:15px;line-height:1.7}.selection-diagnostic{border-top:1px solid var(--line);color:var(--ink-muted);font-family:var(--mono);justify-content:space-between;align-items:center;margin:-8px 0 18px;padding-top:10px;font-size:10px;display:flex}.selection-diagnostic strong{color:var(--signal);font-size:14px}.output-tabs{grid-template-columns:repeat(4,1fr);display:grid}.output-tabs button{border:1px solid var(--line);cursor:pointer;font-family:var(--mono);background:0 0;border-right:0;padding:9px 4px;font-size:9px}.output-tabs button:last-child{border-right:1px solid var(--line)}.output-tabs button[aria-selected=true]{background:var(--blueprint);color:#fff}.selection-output,.editor-inspector details pre{background:var(--code);color:#c9d8d4;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;min-height:190px;max-height:340px;margin:0;padding:18px;font-size:10px;line-height:1.6;overflow:auto}.consumer-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.consumer-actions button{background:var(--signal);color:#fff;cursor:pointer;border:0;min-height:42px;padding:8px;font-size:12px}.consumer-actions button:hover:not(:disabled){background:var(--signal-dark)}.consumer-actions button:disabled{cursor:not-allowed;background:#b9b4a8}.consumer-result,.composition-trace{border-left:3px solid var(--signal);gap:5px;margin-top:20px;padding-left:14px;display:grid}.consumer-result span,.composition-trace>span{color:var(--ink-muted);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.consumer-result strong{font-family:var(--serif);font-size:18px}.consumer-result code,.composition-trace code{font-family:var(--mono);word-break:break-all;max-height:72px;font-size:9px;overflow:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.editor-toolbar{align-items:flex-end;gap:18px}.editor-controls{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.editor-controls button:disabled{cursor:not-allowed;opacity:.4}.editor-paper{padding:clamp(34px,5vw,72px)}.editor-paper .tiptap{font-family:var(--serif);outline:none;min-height:620px;font-size:18px;line-height:1.8}.editor-paper .tiptap>:first-child{margin-top:0}.editor-paper .tiptap p{margin:0 0 1.2em}.editor-paper .tiptap h1,.editor-paper .tiptap h2,.editor-paper .tiptap h3{font-family:var(--serif);line-height:1.2}.editor-paper .tiptap h1{font-size:40px}.editor-paper .tiptap pre,.editor-exercise pre{background:var(--code);color:var(--code-ink);font-family:var(--mono);white-space:pre;padding:22px;font-size:13px;line-height:1.7;overflow-x:auto}.editor-paper .tiptap blockquote{border-left:4px solid var(--signal);margin-left:0;padding-left:20px}.editor-paper .tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:2em 0}.editor-paper .tiptap td,.editor-paper .tiptap th{border:1px solid var(--line);vertical-align:top;min-width:80px;padding:10px}.editor-paper .tiptap th{background:#e5e1d7}.editor-exercise{background:var(--blueprint-soft);border:1px solid #91aaa6;margin:2em 0;padding:22px}.editor-exercise-label{color:var(--blueprint);font-style:italic}.editor-status{border-left:4px solid var(--blueprint);font-family:var(--mono);margin-top:28px;padding:5px 12px;font-size:10px;display:block}.metric-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:22px 0 12px;display:flex}.metric-row span{color:var(--ink-muted);font-size:12px}.metric-row strong{color:var(--signal-dark);font-family:var(--serif);font-size:32px}.id-ledger{max-height:420px;margin:0;padding:0;list-style:none;overflow:auto}.id-ledger li{border-bottom:1px solid var(--line);gap:4px;padding:10px 0;display:grid}.id-ledger span{color:var(--signal-dark);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:8px}.id-ledger code{font-family:var(--mono);font-size:9px}.editor-inspector details{border-top:1px solid var(--line-strong);margin-top:24px;padding-top:12px}.editor-inspector summary{cursor:pointer;font-family:var(--mono);letter-spacing:.08em;margin-bottom:10px;font-size:10px}.matrix-panel{border-top:8px solid var(--ink);padding-top:42px}.matrix-panel>header{grid-template-columns:1.2fr 1fr;gap:20px 60px;margin-bottom:60px;display:grid}.matrix-panel .eyebrow{grid-column:1/-1;margin-bottom:0}.matrix-panel h2{font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(36px,4vw,58px);font-weight:600;line-height:1.08}.matrix-panel>header p{color:var(--ink-muted);font-family:var(--serif);margin:0;font-size:17px;line-height:1.8}.matrix-grid{grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.matrix-grid article{background:var(--paper-bright);border:1px solid var(--line);min-height:240px;margin:-1px 0 0 -1px;padding:28px}.matrix-grid article>span{color:var(--signal);font-family:var(--serif);font-size:40px}.matrix-grid h3{font-family:var(--serif);margin:20px 0 10px;font-size:25px}.matrix-grid p{color:var(--ink-muted);font-size:13px;line-height:1.65}.matrix-grid output{border-top:1px solid var(--line);color:var(--signal-dark);font-family:var(--mono);margin-top:24px;padding-top:10px;font-size:9px;display:block}@media (max-width:1050px){.hero{grid-template-columns:110px 1fr}.hero-status{grid-column:2;grid-template-columns:auto 1fr}.reader-lab-grid,.editor-lab-grid{grid-template-columns:minmax(0,1fr)}.selection-inspector,.editor-inspector{position:static}}@media (max-width:720px){.site-header{height:58px}.build-stamp{display:none}main{padding-inline:14px}.hero{grid-template-columns:72px 1fr;gap:26px 16px;min-height:auto;padding:56px 0 44px}.hero-index{font-size:62px}.hero h1{font-size:36px}.hero-copy>p{margin-top:24px;padding-left:16px;font-size:16px}.hero-status{grid-column:1/-1}.lab-nav{grid-template-columns:1fr}.lab-nav button{border-bottom:1px solid var(--line);border-right:0}.stage-toolbar,.editor-toolbar{flex-direction:column;align-items:flex-start}.paper-sheet,.editor-paper{padding:34px 26px 48px;box-shadow:7px 9px #14221f14}.paper-sheet:before,.editor-paper:before{left:13px}.article-header h1{font-size:36px}.article-content{font-size:17px}.code-frame{margin-inline:-12px}.consumer-actions,.matrix-grid,.matrix-panel>header{grid-template-columns:1fr}.matrix-panel .eyebrow{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
