@import "https://fonts.googleapis.com/css2?family=Afacad+Flux:wght@400;500;600;700&family=Literata:opsz,wght@7..72,500;7..72,700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:oklch(94% .025 84);--paper-deep:oklch(88% .04 84);--ink:oklch(22% .025 66);--muted:oklch(45% .025 72);--quiet:oklch(61% .025 72);--line:oklch(80% .034 80);--bench:oklch(91% .02 84/.82);--brass:oklch(71% .105 82);--steel:oklch(73% .025 230);--ruby:oklch(47% .19 18);--blueprint:oklch(36% .07 211);--shadow:0 22px 70px oklch(32% .05 72/.16);--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--nav-h:52px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:oklch(13% .04 228);--paper-deep:oklch(17% .05 225);--ink:oklch(90% .018 200);--muted:oklch(62% .028 210);--quiet:oklch(48% .025 215);--line:oklch(26% .05 222);--bench:oklch(16% .04 225/.88);--brass:oklch(72% .108 82);--steel:oklch(68% .03 225);--ruby:oklch(52% .2 18);--blueprint:oklch(62% .14 205);--shadow:0 22px 70px oklch(4% .02 230/.6);background:linear-gradient(90deg, oklch(38% .07 220/.18) 1px, transparent 1px), linear-gradient(0deg, oklch(38% .07 220/.18) 1px, transparent 1px), var(--paper);background-size:28px 28px}*{box-sizing:border-box}html{background:linear-gradient(90deg, oklch(74% .012 82/.24) 1px, transparent 1px), linear-gradient(0deg, oklch(74% .012 82/.24) 1px, transparent 1px), var(--paper);background-size:28px 28px;min-width:320px}body{min-height:100vh;color:var(--ink);letter-spacing:0;margin:0;font-family:Afacad Flux,ui-sans-serif,system-ui,sans-serif;overflow-x:hidden}button,input{font:inherit}button{color:inherit}a{color:var(--blueprint);text-underline-offset:3px;text-decoration-thickness:1px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-family:Literata,ui-serif,Georgia,serif;font-size:clamp(2.2rem,5vw,5.8rem);font-weight:700;line-height:.96}h2{margin-bottom:var(--space-sm);letter-spacing:0;font-family:Literata,ui-serif,Georgia,serif;font-size:1.48rem;line-height:1.12}h3{margin-bottom:var(--space-md);letter-spacing:.06em;text-transform:uppercase;font-size:.86rem}.site-nav{z-index:100;height:var(--nav-h);justify-content:space-between;align-items:center;gap:var(--space-xl);border-bottom:1px solid var(--line);background:oklch(from var(--paper) l c h / .88);-webkit-backdrop-filter:blur(12px);padding:0 clamp(14px,2vw,32px);display:flex;position:sticky;top:0}.nav-back{align-items:center;gap:var(--space-sm);color:var(--muted);letter-spacing:.04em;font-size:.86rem;font-weight:700;text-decoration:none;transition:color .15s;display:inline-flex}.nav-back svg{stroke-width:2.2px;flex-shrink:0;width:15px;height:15px}.nav-back:hover{color:var(--ink)}.nav-actions{align-items:center;gap:var(--space-sm);display:flex}.nav-about{border:1px solid var(--line);color:var(--muted);letter-spacing:.04em;cursor:pointer;background:0 0;align-items:center;gap:5px;padding:6px 12px;font-size:.82rem;font-weight:700;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.nav-about:hover{color:var(--ink);border-color:var(--blueprint)}.nav-about svg{stroke-width:2.2px;width:13px;height:13px}.theme-toggle{border:1px solid var(--line);cursor:pointer;width:40px;height:40px;color:var(--muted);background:0 0;place-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-grid}.theme-toggle svg{stroke-width:1.8px;width:17px;height:17px}.theme-toggle:hover{color:var(--ink);border-color:var(--blueprint)}.workbench{width:min(1800px,100%);min-height:calc(100vh - var(--nav-h));grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(16px,2.4vw,36px);margin:0 auto;padding:clamp(14px,2vw,32px);display:grid}.viewer-shell{gap:var(--space-lg);grid-template-rows:auto minmax(480px,1fr) auto;min-width:0;display:grid}.viewer-header{justify-content:space-between;align-items:end;gap:var(--space-xl);min-height:82px;display:flex}.eyebrow{margin:0 0 var(--space-xs);color:var(--blueprint);letter-spacing:.08em;text-transform:uppercase;font-size:.77rem;font-weight:700}.spec-strip{gap:var(--space-sm);color:var(--ink);grid-template-columns:repeat(4,max-content);align-items:center;font-size:.88rem;font-weight:700;display:grid}.spec-strip span{border:1px solid var(--line);white-space:nowrap;background:oklch(95% .015 82/.78);padding:7px 10px}:root[data-theme=dark] .spec-strip span{background:oklch(18% .04 225/.78)}.scene-frame{border:1px solid var(--line);min-height:480px;box-shadow:var(--shadow);background-color:oklch(85% .022 218);background-image:linear-gradient(90deg,oklch(54% .032 222/.09) 1px,#0000 1px),linear-gradient(0deg,oklch(54% .032 222/.09) 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:relative;overflow:hidden}:root[data-theme=dark] .scene-frame{background-color:oklch(12% .04 228);background-image:linear-gradient(90deg,oklch(38% .07 220/.22) 1px,#0000 1px),linear-gradient(0deg,oklch(38% .07 220/.22) 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.scene-frame:before{content:"";pointer-events:none;z-index:1;border:1px solid oklch(50% .04 220/.18);position:absolute;inset:16px}:root[data-theme=dark] .scene-frame:before{border-color:oklch(44% .08 220/.28)}#movement-canvas{width:100%;height:100%;min-height:inherit;cursor:grab;display:block}#movement-canvas:active{cursor:grabbing}#label-layer{pointer-events:none;z-index:2;position:absolute;inset:0}.scene-label,.hover-target{max-width:170px;color:var(--ink);text-align:left;pointer-events:auto;background:oklch(96% .022 84/.9);border:1px solid oklch(39% .04 72/.22);font-size:.78rem;font-weight:700;line-height:1.05;position:absolute;transform:translate(0,0);box-shadow:0 10px 28px oklch(33% .04 70/.12)}:root[data-theme=dark] .scene-label,:root[data-theme=dark] .hover-target{background:oklch(17% .05 224/.92);border-color:oklch(40% .07 220/.4);box-shadow:0 10px 28px oklch(4% .02 230/.4)}.scene-label{padding:7px 9px;translate:10px -50%}.scene-label:before{content:"";border-top:1px solid oklch(39% .04 72/.34);width:24px;position:absolute;top:50%;right:100%}:root[data-theme=dark] .scene-label:before{border-top-color:oklch(50% .08 215/.4)}.scene-label.is-selected{border-color:var(--brass);background:oklch(93% .07 86/.96)}:root[data-theme=dark] .scene-label.is-selected{background:oklch(22% .07 84/.96)}.scene-label.is-muted{opacity:.32}.labels-hidden .scene-label{display:none}.hover-target{z-index:20;padding:8px 10px}.schematic-banner{left:var(--space-md);bottom:var(--space-md);max-width:min(340px,100% - 24px);color:var(--muted);pointer-events:none;z-index:3;background:oklch(96% .018 84/.78);border:1px solid oklch(39% .04 72/.18);margin:0;padding:8px 10px;font-size:.82rem;font-weight:700;line-height:1.1;position:absolute}:root[data-theme=dark] .schematic-banner{background:oklch(15% .05 225/.82);border-color:oklch(38% .07 220/.3)}.controls-panel{gap:var(--space-xl);border:1px solid var(--line);background:var(--bench);padding:var(--space-md);grid-template-columns:max-content minmax(260px,1fr);align-items:center;display:grid}.control-row{gap:var(--space-sm);display:flex}.icon-button{border:1px solid var(--line);cursor:pointer;background:oklch(96% .018 84);place-items:center;width:44px;height:44px;transition:background .15s,border-color .15s;display:inline-grid}:root[data-theme=dark] .icon-button{background:oklch(18% .04 225)}.icon-button svg{stroke-width:1.8px;width:19px;height:19px}.icon-button:hover,.icon-button:focus-visible{border-color:var(--blueprint);outline:none}.icon-button.is-active{background:var(--blueprint);color:oklch(96% .018 84);border-color:var(--blueprint)}.slider-wrap{align-items:center;gap:var(--space-md);color:var(--muted);grid-template-columns:max-content minmax(160px,1fr) max-content;font-size:.88rem;font-weight:700;display:grid}input[type=range]{width:100%;accent-color:var(--brass)}.inspector{gap:var(--space-lg);min-width:0;padding:var(--space-xl);border:1px solid var(--line);box-shadow:var(--shadow);background:oklch(95% .018 84/.9);flex-direction:column;display:flex}:root[data-theme=dark] .inspector{background:oklch(15% .04 226/.92)}.inspector-top p:last-child{color:var(--muted);margin-bottom:0}.fact-grid{gap:var(--space-md);margin:0;display:grid}.fact-grid div{gap:var(--space-xs);padding-block:var(--space-md);border-block-start:1px solid var(--line);display:grid}dt{color:var(--blueprint);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}dd{color:var(--muted);margin:0}.guided-tour{gap:var(--space-md);padding-block:var(--space-lg);border-block:1px solid var(--line);display:grid}.guided-tour p:last-child{color:var(--muted);margin-bottom:0}.preset-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.preset-button{border:1px solid var(--line);min-height:40px;color:var(--muted);cursor:pointer;background:oklch(97% .012 84/.58);padding:8px 10px;font-size:.86rem;font-weight:700;transition:color .15s,border-color .15s,background .15s}:root[data-theme=dark] .preset-button{background:oklch(18% .04 225/.58)}.preset-button:first-child{grid-column:1/-1}.preset-button:hover,.preset-button:focus-visible{color:var(--ink);border-color:var(--blueprint);outline:none}.preset-button.is-active{color:var(--ink);background:oklch(91% .065 84);border-color:oklch(54% .1 82)}:root[data-theme=dark] .preset-button.is-active{border-color:var(--brass);background:oklch(22% .07 84)}.subsystem-filter{gap:var(--space-sm);flex-wrap:wrap;display:flex}.chip{border:1px solid var(--line);min-height:36px;color:var(--muted);cursor:pointer;background:0 0;padding:7px 11px;font-size:.86rem;font-weight:700;transition:color .15s,border-color .15s,background .15s}.chip:hover,.chip:focus-visible{color:var(--ink);border-color:var(--blueprint);outline:none}.chip.is-active{color:oklch(96% .018 84);background:oklch(37% .07 211);border-color:#0000}:root[data-theme=dark] .chip.is-active{background:oklch(52% .12 210)}.part-list{gap:var(--space-sm);min-height:0;max-height:min(52vh,680px);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.part-list li[hidden]{display:none}.part-list button{gap:1px var(--space-sm);width:100%;min-height:58px;padding:var(--space-sm);border:1px solid var(--line);text-align:left;cursor:pointer;background:oklch(97% .012 84/.58);grid-template-columns:34px minmax(0,1fr);grid-template-areas:"n name""n meta";align-items:center;transition:border-color .15s,background .15s;display:grid}:root[data-theme=dark] .part-list button{background:oklch(18% .04 225/.58)}.part-list button:hover,.part-list button:focus-visible,.part-list li.is-selected button{border-color:var(--brass);background:oklch(94% .045 84);outline:none}:root[data-theme=dark] .part-list button:hover,:root[data-theme=dark] .part-list button:focus-visible,:root[data-theme=dark] .part-list li.is-selected button{background:oklch(22% .07 84)}.part-list span{color:var(--quiet);grid-area:n;font-size:.8rem;font-weight:700}.part-list strong{overflow-wrap:anywhere;grid-area:name;min-width:0}.part-list em{color:var(--muted);grid-area:meta;font-size:.8rem;font-style:normal}.source-card{gap:var(--space-sm);padding-top:var(--space-lg);border-top:1px solid var(--line);margin-top:auto;display:grid}.source-card a{font-size:.9rem;font-weight:700}.about-section{border-top:1px solid var(--line);width:min(1800px,100%);margin:0 auto;padding:clamp(32px,5vw,80px) clamp(14px,2vw,32px) clamp(48px,6vw,96px)}.about-inner{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.about-story{gap:var(--space-xl);display:grid}.about-story .eyebrow{margin-bottom:var(--space-md)}.about-story h2{margin-bottom:var(--space-xl);font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.06}.about-story p{color:var(--muted);margin-bottom:0;font-size:1.02rem;line-height:1.65}.about-story p+p{margin-top:var(--space-lg)}.about-highlight{padding:var(--space-lg) var(--space-xl);border-left:3px solid var(--brass);background:oklch(92% .03 84/.5)}:root[data-theme=dark] .about-highlight{background:oklch(18% .05 220/.5)}.about-highlight p{font-style:italic;color:var(--ink)!important;font-size:1.06rem!important}.about-sidebar{gap:var(--space-xl);top:calc(var(--nav-h) + var(--space-xl));display:grid;position:sticky}.about-sidebar h3{color:var(--blueprint);margin-bottom:var(--space-lg)}.watch-list{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.watch-list li{padding:var(--space-md) var(--space-lg);border:1px solid var(--line);gap:var(--space-xs);display:grid}.watch-list li:first-child{border-color:var(--brass);background:oklch(92% .04 84/.5)}:root[data-theme=dark] .watch-list li:first-child{background:oklch(20% .06 84/.5)}.watch-name{font-size:.92rem;font-weight:700}.watch-note{color:var(--muted);font-size:.82rem}.watch-tag{border:1px solid var(--brass);color:oklch(52% .09 78);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;padding:2px 7px;font-size:.72rem;font-weight:700;display:inline-block}:root[data-theme=dark] .watch-tag{color:var(--brass)}.about-byline{align-items:center;gap:var(--space-md);padding-top:var(--space-xl);border-top:1px solid var(--line);margin-top:var(--space-sm);display:flex}.about-byline a{font-size:.92rem;font-weight:700}.about-byline svg{stroke-width:2.2px;vertical-align:-2px;width:14px;height:14px}@media (width<=1100px){.workbench{grid-template-columns:1fr}.inspector{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);align-items:start;display:grid}.part-list,.source-card{grid-column:1/-1}.part-list{max-height:360px}.about-inner{grid-template-columns:1fr}.about-sidebar{position:static}}@media (width<=720px){.workbench{padding:var(--space-md)}.viewer-shell{grid-template-rows:auto minmax(420px,62vh) auto}.viewer-header{align-items:start;gap:var(--space-md);flex-direction:column}.spec-strip{grid-template-columns:repeat(2,minmax(0,max-content))}.controls-panel{grid-template-columns:1fr}.control-row{justify-content:space-between}.slider-wrap{gap:var(--space-sm);grid-template-columns:1fr}.inspector{padding:var(--space-lg);grid-template-columns:1fr}.scene-label{max-width:128px;padding:6px 7px;font-size:.72rem}.schematic-banner{font-size:.74rem}.nav-about span{display:none}}
