/* SPDX-License-Identifier: AGPL-3.0-only */
:root{color-scheme:dark;--bg:#0c0d0d;--fg:#eee;--muted:#a8aaaa;--line:#353737;--soft:#131515;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.85 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #eee;outline-offset:5px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a{-webkit-tap-highlight-color:transparent}.skip{position:fixed;top:-100px;left:20px;background:#eee;color:#111;padding:10px;z-index:40}.skip:focus{top:10px}.top{position:sticky;top:0;z-index:20;background:rgba(12,13,13,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);min-height:76px;display:flex;justify-content:space-between;align-items:center;padding:18px 4vw;gap:24px}.wordmark{font-weight:900;font-size:19px;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.wordmark span{font:9px var(--mono);letter-spacing:1px;padding-left:12px;color:#aaa}.top nav{display:flex;align-items:center;gap:24px;font:10px var(--mono);letter-spacing:.5px}.top nav a{text-decoration:none}.top nav a[aria-current]{border-bottom:1px solid #eee;padding-bottom:4px}.print,#reset-progress{background:none;border:1px solid #555;color:#bbb;font:10px var(--mono);padding:8px 11px}.manual-shell{display:grid;grid-template-columns:240px minmax(0,850px);gap:64px;max-width:1320px;margin:0 auto;padding:0 40px}.contents{position:sticky;top:108px;height:calc(100dvh - 135px);overflow:auto;padding:24px 18px 25px 0;align-self:start;scrollbar-width:thin;scrollbar-color:#555 transparent}.contents label{display:block;font:8px/1.7 var(--mono);letter-spacing:1px;color:#aaa;margin-bottom:10px}.contents input{width:100%;padding:13px 10px;background:#101212;border:1px solid #4b4d4d;border-radius:0;color:#eee;font:11px var(--mono)}.contents nav{display:flex;flex-direction:column}.nav-group{font:8px var(--mono);letter-spacing:1.5px;color:#888;margin:24px 0 12px}.contents nav a{display:grid;grid-template-columns:23px 1fr;gap:5px;line-height:1.45;padding:8px 7px;font-size:11px;color:#aaa;text-decoration:none;border-left:1px solid #333}.contents nav a span{font:8px/1.8 var(--mono);color:#777}.contents nav a[aria-current]{color:white;background:#191b1b;border-left-color:#eee}.sidebar-source{display:block;font:8px var(--mono);letter-spacing:1px;margin-top:30px;color:#888}.toc-toggle{display:none}main{min-width:0}.manual-hero{padding:70px 0 50px;border-bottom:1px solid var(--line)}.eyebrow,.mono{font:9px/1.7 var(--mono);letter-spacing:1.6px;color:#aaa}.eyebrow{margin:0 0 22px}h1{font-size:clamp(48px,5.6vw,78px);line-height:1.03;letter-spacing:-4px;margin:0 0 28px;font-weight:900}h1:after{content:'■';font-size:12px;color:#888;padding-left:13px}.lead{font-size:23px;line-height:1.5;letter-spacing:-.6px;max-width:650px}.lead span{white-space:nowrap}.manual-meta{display:flex;flex-wrap:wrap;gap:10px 20px;margin:30px 0;font:8px var(--mono);letter-spacing:1px;color:#aaa}.attribution{font-size:12px;color:#999;max-width:640px;margin-top:26px}.attribution a{font-weight:400}.chapter{padding:55px 0 60px;border-bottom:1px solid var(--line);scroll-margin-top:100px}.chapter>.eyebrow{margin-bottom:18px}.chapter h2{font-size:clamp(29px,3vw,42px);line-height:1.15;letter-spacing:-1.8px;margin:0 0 26px;font-weight:800}.permalink{font:16px var(--mono);letter-spacing:0;color:#666;text-decoration:none;margin-left:14px}.chapter h3{font-size:21px;line-height:1.35;letter-spacing:-.7px;margin:36px 0 16px;font-weight:600}.chapter p{color:#bbb;margin:16px 0}.chapter b,.chapter strong{color:#eee}.chapter ul,.chapter ol{padding-left:24px;color:#bbb;margin:20px 0}.chapter li{padding-left:5px;margin:10px 0}.chapter li::marker{font:11px var(--mono);color:#aaa}.route{display:inline-block;border:1px solid #494b4b;padding:10px 14px;font:10px/1.8 var(--mono);color:#ddd!important;margin:0 0 14px!important;max-width:100%;overflow-wrap:anywhere}.note{border-left:2px solid #aaa;background:#141616;color:#bcbebe;padding:20px 23px;font-size:13px;line-height:1.9;margin:26px 0}.table-wrap{overflow-x:auto;margin:24px 0;border:1px solid var(--line);scrollbar-width:thin}table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.7;text-align:left}thead{background:#181a1a}th{font:9px/1.7 var(--mono);letter-spacing:.5px;color:#ddd;padding:13px 15px}td{padding:14px 15px;color:#bbb;border-top:1px solid #333;vertical-align:top}td:first-child{color:#e0e0e0;min-width:125px}code{font:11px/1.7 var(--mono);overflow-wrap:anywhere;color:#ddd}.start-card{display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid #777;text-decoration:none;background:radial-gradient(#333 1px,transparent 1px) right top/11px 11px;background-color:#101111;margin:28px 0}.start-card strong{font-size:29px;line-height:1.2;letter-spacing:-1px}.start-card>span:last-child{font-size:13px;color:#bbb;max-width:470px}.start-card:hover{border-color:white;background-color:#1a1c1c}.screen{margin:30px 0;padding:20px 20px 15px;background:#080909;border:1px solid #333;max-width:480px}.screen img{display:block;max-width:100%;height:auto;width:100%;image-rendering:pixelated}.zoom{border:0;padding:0;background:#000;display:block;width:100%;cursor:zoom-in}.screen figcaption{font:9px/1.7 var(--mono);color:#999;margin-top:15px;letter-spacing:.1px}.screen-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.screen-pair .screen{padding:12px;margin:20px 0;max-width:none}.screen-pair figcaption{font-size:8px}.roll-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:25px 0}.roll-grid>div{min-width:0;padding:15px 8px;background:#1b1d1d;border:1px solid #444;text-align:center}.roll-grid small{display:block;font:8px var(--mono);color:#888;margin-bottom:9px}.roll-grid span{font-size:12px;color:#ddd}.kit-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.kit-list span{border:1px solid #333;padding:9px 12px;font:10px/1.7 var(--mono);color:#aaa}details{margin:26px 0;border-top:1px solid var(--line);padding:18px 0}summary{font:11px var(--mono);cursor:pointer}.engine-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.engine-cards article{border:1px solid #383a3a;overflow:hidden;background:#090a0a}.engine-cards article img{display:block;width:100%;max-width:320px;height:auto;margin:15px auto;image-rendering:pixelated}.engine-cards article>div{border-top:1px solid #333;padding:18px}.engine-cards h3{margin:7px 0;font-size:23px}.engine-cards p{font-size:12px;margin:0}.engine-cards .mono{font-size:8px}.origin-links{display:flex;flex-wrap:wrap;gap:8px}.origin-links a{border:1px solid #444;font:10px var(--mono);padding:8px 11px;text-decoration:none}.origin-links a:hover{border-color:white}footer{max-width:1320px;margin:45px auto 0;padding:30px 40px;display:flex;justify-content:space-between;gap:28px;font:9px/1.9 var(--mono);color:#888}footer>span:nth-child(2){max-width:480px}footer a{font-weight:400}.text-link{font:11px var(--mono);display:inline-block;margin-top:20px}.back-link{display:block;font:10px var(--mono);margin-bottom:40px;color:#aaa}.quickstart{max-width:900px;margin:0 auto;padding:0 40px}.quickstart h1{font-size:clamp(48px,7vw,88px)}.tutorial-progress{display:flex;align-items:center;justify-content:space-between;border:1px solid #555;padding:16px 20px;margin-top:30px;font:10px var(--mono)}.small{font-size:11px;color:#888}.step-top{display:flex;justify-content:space-between;gap:20px}.done{font:10px var(--mono);color:#aaa;white-space:nowrap}.done input{accent-color:white;vertical-align:middle;width:16px;height:16px;margin-right:8px}.tutorial-step.is-done h2:after{content:' ✓';font-size:20px;color:#999}.tutorial-step .table-wrap th,.tutorial-step .table-wrap td{padding:10px 6px;min-width:29px;text-align:center;white-space:nowrap}.tutorial-step .table-wrap td:first-child,.tutorial-step .table-wrap th:first-child{text-align:left;padding:10px 15px;min-width:150px}#search-results{max-height:330px;overflow:auto;font-size:11px}#search-results:empty{display:none}.search-count{font:9px var(--mono);color:#aaa;margin:16px 0 8px}.search-item{display:block;border-bottom:1px solid #333;padding:12px 5px;text-decoration:none}.search-item b{font-size:12px;font-weight:400;display:block;color:#eee}.search-item small{display:block;color:#999;font-size:10px;line-height:1.7;margin-top:7px}.search-item mark{background:#eee;color:#111}dialog{border:1px solid #666;background:#0b0c0c;color:white;padding:25px;max-width:min(900px,94vw);max-height:94dvh}dialog::backdrop{background:rgba(0,0,0,.9)}dialog img{display:block;width:min(800px,82vw);height:auto;image-rendering:pixelated;margin-top:20px}dialog p{font:11px var(--mono);color:#aaa}.dialog-close{display:block;margin-left:auto;background:#eee;color:#111;border:0;padding:10px 16px;font:10px var(--mono)}.toc-toggle{background:#121414;color:#eee;border:0;border-bottom:1px solid #444;padding:16px 22px;font:10px var(--mono);text-align:left;justify-content:space-between}
@media(min-width:1600px){.manual-shell{max-width:1420px;grid-template-columns:255px minmax(0,900px);gap:95px}}@media(max-width:1000px){.manual-shell{grid-template-columns:200px minmax(0,1fr);gap:32px;padding:0 28px}.top nav{gap:16px}.wordmark span{display:none}.screen-pair{gap:10px}.screen{padding:12px}.screen-pair .screen{padding:8px}.manual-hero{padding-top:50px}}@media(max-width:760px){html{scroll-padding-top:130px}.top{padding:16px 20px;min-height:69px;flex-wrap:wrap;gap:12px}.wordmark{font-size:17px}.top nav{gap:14px;font-size:8px}.print{padding:5px 8px;font-size:8px}.manual-shell{display:block;padding:0 22px}.toc-toggle{display:flex;position:sticky;top:69px;width:calc(100% + 44px);margin-left:-22px;z-index:18}.contents{display:none;position:fixed;top:113px;left:0;width:100%;height:calc(100dvh - 113px);background:#101212;padding:25px;z-index:19;overflow:auto}.nav-open .contents{display:block}.nav-open{overflow:hidden}.contents nav a{font-size:13px;padding:11px}.contents label{font-size:9px}.manual-hero{padding:45px 0 36px}h1{font-size:54px;letter-spacing:-3px}.lead{font-size:21px}.lead span{white-space:normal}.manual-meta{gap:12px;font-size:7px}.chapter{padding:40px 0;scroll-margin-top:130px}.chapter h2{font-size:31px;letter-spacing:-1.2px}.chapter h3{font-size:21px}.chapter p,.chapter li{font-size:14px}.route{font-size:9px}.note{padding:17px 18px;font-size:12px}.screen-pair{grid-template-columns:1fr;gap:0}.screen-pair .screen,.screen{max-width:480px;margin:16px 0}.screen-pair figcaption{font-size:9px}.start-card{padding:23px}.start-card strong{font-size:26px}.roll-grid>div{padding:12px 4px}.roll-grid span{font-size:10px}.kit-list{grid-template-columns:1fr}.engine-cards{grid-template-columns:1fr}.engine-cards article{display:grid;grid-template-columns:1fr 1fr;align-items:center}.engine-cards article img{margin:0}.engine-cards article>div{border-top:0;border-left:1px solid #333;padding:12px}.engine-cards h3{font-size:22px}.engine-cards p{font-size:11px}.quickstart{padding:0 22px}.quickstart h1{font-size:54px}.tutorial-progress{padding:13px}.tutorial-progress button{font-size:8px}.table-wrap{margin:20px 0}th,td{padding:12px}td{font-size:12px}footer{padding:25px 22px;flex-direction:column;gap:15px}.top nav a:first-child{display:none}.attribution{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{html{color-scheme:light;scroll-padding:0}body{background:white;color:#111;font:10pt/1.5 Arial}.top,.contents,.toc-toggle,.print,.permalink,.back-link,.done,.tutorial-progress,.skip,dialog,footer>a{display:none!important}.manual-shell,.quickstart{display:block;padding:0;max-width:none}.manual-hero{padding:0 0 20px}.manual-meta{color:#555}h1,.quickstart h1{font-size:36pt;color:#111;letter-spacing:-2px}.lead{font-size:16pt}.chapter{padding:25px 0;break-before:auto;border-color:#aaa}.chapter h2{font-size:23pt;color:#111;break-after:avoid}.chapter h3{font-size:15pt;color:#111;break-after:avoid}.chapter p,.chapter li,.chapter b,.chapter strong,.attribution{color:#222}.screen,.screen-pair{break-inside:avoid}.screen{max-width:300px;background:white;border-color:#aaa}.screen-pair .screen{max-width:300px}.screen-pair{display:flex;gap:20px}.screen figcaption{color:#444}.table-wrap{overflow:visible;border-color:#aaa}table{font-size:9pt}thead{background:#eee;display:table-header-group}th,td,td:first-child{color:#111;border-color:#aaa}tr{break-inside:avoid}.note{color:#222;background:#f3f3f3;border-color:#777}.route{color:#111!important;border-color:#777}.start-card{background:#f5f5f5;color:#111}.start-card strong,.start-card>span:last-child,.mono,.eyebrow{color:#333}.roll-grid>div{background:#eee;color:#111}.roll-grid span{color:#111}.engine-cards{grid-template-columns:repeat(2,1fr)}.engine-cards article{break-inside:avoid;background:white}.engine-cards article>div{border-color:#aaa}.engine-cards article h3,.engine-cards article p{color:#111}.origin-links a{color:#111}details:not([open])>div{display:block}footer{font-size:8pt;color:#444;padding:20px 0}.kit-list span{color:#333}a{color:#111}code{color:#111}.chapter li{font-size:10pt}.chapter p{font-size:10pt}figure img{max-width:260px}}
/* Current engine sculptures: lazy, silent, pausable production UI examples. */
[hidden]{display:none!important}.motion-screen{position:relative;line-height:0;width:100%;aspect-ratio:4/3;background:#000;overflow:hidden}.motion-screen canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.screen .motion-screen img{width:100%;height:auto;margin:0}.motion-toggle,[data-motion-group-toggle]{border:1px solid #555;background:#121414;color:#ddd;padding:9px 12px;font:9px/1.4 var(--mono);letter-spacing:.5px}.motion-toggle{margin-top:14px}.motion-toggle:hover,[data-motion-group-toggle]:hover{border-color:white;color:white}.motion-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:25px 0 10px}.motion-toolbar span{font:8px/1.6 var(--mono);color:#999}.engine-cards article>.motion-screen{border:0;padding:0;max-width:320px;margin:15px auto}.engine-cards article .motion-screen img{margin:0;width:100%;height:auto}.motion-example{max-width:480px}.motion-example figcaption{margin-top:15px}@media(max-width:760px){.engine-cards article>.motion-screen{border:0;padding:0;margin:0}.motion-toolbar span{font-size:7px}}@media print{.motion-screen canvas,.motion-toggle,.motion-toolbar{display:none!important}.motion-screen img{display:block!important}.motion-screen{aspect-ratio:auto}}

.boot-screen{position:relative;aspect-ratio:4/3;background:#000}.boot-screen img,.boot-screen canvas{width:100%;height:100%;image-rendering:pixelated;object-fit:contain}.boot-screen canvas{position:absolute;inset:0}.boot-preview button{background:transparent;color:inherit;border:1px solid #444;font:10px monospace;padding:12px 16px;cursor:pointer}.boot-preview button:focus-visible{outline:2px solid currentColor;outline-offset:4px}@media print{.boot-screen canvas,.boot-preview button{display:none!important}}

footer{flex-wrap:wrap;gap:18px}footer>a{font:9px monospace;letter-spacing:.04em}

@media(min-width:1101px){.contents{top:95px}}@media(min-width:901px) and (max-width:1100px){.contents{top:135px}}

/* First-session navigation: explicit actions, one reading column on every screen. */
.start-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.start-links a{border:1px solid #777;padding:11px 14px;font:10px/1.5 var(--mono);color:#eee}.start-links a:first-child{background:#eee;color:#111}.workflow-start{border:1px solid #686b6b;padding:26px;margin:24px 0 32px;background:#111313}.workflow-start h2,.workflow-start h3{margin:10px 0 22px;font-size:26px;line-height:1.2;letter-spacing:-.6px}.workflow-start ol{padding-left:22px}.workflow-start li{margin:14px 0}.workflow-steps{list-style:none;counter-reset:route;padding:0!important}.workflow-steps li{counter-increment:route;display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;border-top:1px solid #333;padding-top:15px}.workflow-steps strong:before{content:counter(route,decimal-leading-zero) ' / ';color:#999}.workflow-steps strong{font:10px/1.6 var(--mono);letter-spacing:.05em}.workflow-steps span{font-size:14px;line-height:1.7}.workflow-alert{border-left:3px solid #eee;padding:10px 0 10px 16px!important;color:#eee!important}.beta-route{border-color:#eee}#track-basics,#track-type,#track-recovery{scroll-margin-top:160px}@media(max-width:760px){.workflow-start{padding:20px 17px}.workflow-steps li{grid-template-columns:1fr;gap:5px}.workflow-start h2,.workflow-start h3{font-size:23px}.start-links a{font-size:9px}}@media print{.workflow-start{background:white;border-color:#777;break-inside:auto}.workflow-start h2,.workflow-start h3,.workflow-alert{color:#111!important}.workflow-steps li{break-inside:avoid}.start-links a{color:#111;background:white!important}.workflow-alert{border-color:#111}}

/* First-session title and early manual invitation. */
.quickstart .manual-hero h1{font-size:clamp(44px,6.4vw,76px);line-height:1.04;letter-spacing:-3.4px}.groove-start-card{margin:28px 0 24px}.groove-start-card strong{font-size:clamp(27px,3vw,37px);line-height:1.12;letter-spacing:-1px}.groove-start-card>span:last-child{max-width:620px;line-height:1.65}@media(max-width:760px){.quickstart .manual-hero h1{font-size:43px;letter-spacing:-2px}.groove-start-card strong{font-size:29px}}@media print{.quickstart .manual-hero h1{font-size:30pt;letter-spacing:-1.5pt}}
@media(max-width:760px){.quickstart .manual-hero h1{font-size:clamp(31px,9vw,42px);letter-spacing:-1.7px}}
