:root{color:#172d32;font-synthesis:none;text-rendering:optimizelegibility;--ink:#172d32;--teal:#185e62;--sage:#e4efeb;--amber:#b36522;--line:#bdccc6;--paper:#fffdf8;background:#f6f5f0;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;line-height:1.55}button,select,input{font:inherit}button,select,a{min-height:44px}button{border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer;border-radius:.65rem;padding:.65rem 1rem;font-weight:700}button:hover{background:#104c50}.secondary{color:var(--teal);background:0 0}a{color:var(--teal);text-underline-offset:.22em}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline-offset:3px;outline:3px solid #d58a39}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.container,.header-inner,footer{width:min(100% - 2.5rem,1280px);margin-inline:auto}.site-header{z-index:5;border-bottom:1px solid var(--line);background:#f6f5f0}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:78px;display:flex}.brand{color:var(--ink);align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-mark{width:42px;height:42px;color:var(--teal)}.brand span{flex-direction:column;line-height:1.15;display:flex}.brand strong{letter-spacing:.08em;font-size:1.05rem}.brand small{color:#496064;font-size:.83rem}.site-header nav{align-items:center;gap:1rem;display:flex}.site-header nav>a{place-items:center;display:grid}.site-header label{align-items:center;gap:.5rem;font-weight:700;display:flex}.site-header select{border:1px solid var(--line);background:#fff;border-radius:.55rem;max-width:260px;padding:.45rem}.badge{color:#3c5559;background:#edf1ed;border:1px solid #b6c8c2;border-radius:99px;align-items:center;min-height:32px;padding:.25rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge.ready{color:#144d4f;background:#dcece6;border-color:#8eb9ad}.hero{grid-template-columns:1.25fr .75fr;align-items:center;gap:clamp(2rem,7vw,7rem);padding-block:clamp(4rem,9vw,8rem);display:grid}.eyebrow{color:var(--teal);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-size:.76rem;font-weight:800}.hero h1,.module-hero h1{max-width:11ch;color:var(--ink);letter-spacing:-.055em;margin:0;font-size:clamp(3rem,7vw,6.8rem);font-weight:700;line-height:.95}.lede{color:#455a5d;max-width:66ch;margin:1.6rem 0;font-size:clamp(1.05rem,1.6vw,1.28rem)}.badge-row{flex-wrap:wrap;gap:.65rem;display:flex}.hero-art{position:relative}.hero-art svg{filter:drop-shadow(0 24px 24px #172d3221);width:100%}.hero-art>span{border:1px solid var(--line);background:var(--paper);border-radius:.6rem;padding:.6rem .8rem;font-size:.82rem;font-weight:700;position:absolute;bottom:-.65rem;right:1rem}.modules-section{padding-block:2rem 7rem}.section-heading{max-width:640px;margin-bottom:2rem}.section-heading h2,.share-panel h2{letter-spacing:-.035em;margin:.15rem 0;font-size:clamp(2rem,4vw,3.4rem)}.module-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}.module-card{border:1px solid var(--line);background:var(--paper);border-radius:1.1rem;transition:transform .18s,box-shadow .18s;overflow:hidden}.module-card:hover{transform:translateY(-3px);box-shadow:0 18px 35px #172d3217}.card-image{aspect-ratio:1.65;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.card-image svg{width:100%;height:100%;display:block}.card-index{background:#fffdf8e6;border-radius:99px;padding:.3rem .55rem;font-weight:800;position:absolute;top:.8rem;right:.8rem}.card-body{padding:1.35rem}.card-body h3{margin:.15rem 0 .5rem;font-size:1.35rem}.card-body p:not(.eyebrow){color:#536366;min-height:3.2em}.card-link{align-items:center;gap:.5rem;font-weight:800;display:inline-flex}.share-panel{background:var(--sage);border:1px solid #92b1aa;border-radius:1.25rem;grid-template-columns:1fr auto;align-items:center;gap:3rem;margin-bottom:7rem;padding:clamp(1.5rem,5vw,4rem);display:grid}.share-actions{flex-wrap:wrap;gap:.75rem;display:flex}.qr{border:1px solid var(--line);background:#f6f5f0;border-radius:1rem;width:230px;padding:1rem}.qr svg{width:100%;height:auto;display:block}footer{border-top:1px solid var(--line);color:#536366;justify-content:space-between;gap:2rem;padding-block:2.5rem;display:flex}footer p{margin:.25rem 0}.build{text-align:right;font-family:ui-monospace,Consolas,monospace;font-size:.84rem}.module-hero{justify-content:space-between;align-items:end;gap:2rem;padding-block:4rem 2.5rem;display:flex}.module-hero h1{max-width:15ch;font-size:clamp(2.7rem,6vw,5.5rem)}.module-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);align-items:start;gap:1.5rem;display:grid}.model-panel,.teaching-panel,.still-fallback,.error,.loading{border:1px solid var(--line);background:var(--paper);border-radius:1rem;padding:1rem}.model-panel{flex-direction:column;display:flex}.canvas-wrap{background:#f0f4f0;border-radius:.75rem;order:-1;width:100%;height:clamp(340px,50vw,590px);position:relative;overflow:hidden}.canvas-wrap canvas{touch-action:none;width:100%;height:100%;display:block}.context-lost:after{content:"3D context lost — use the readable text and still below.";background:var(--paper);border:1px solid var(--amber);padding:.8rem;position:absolute;inset:auto 1rem 1rem}.control-row,.step-controls,.camera-controls,.hotspots{flex-wrap:wrap;align-items:end;gap:.7rem;margin:1rem 0;display:flex}.control-row label,.step-controls label{gap:.3rem;font-size:.88rem;font-weight:700;display:grid}.control-row label:has(input[type=range]){flex:1;min-width:180px}.check{align-items:center;gap:.5rem;min-height:44px;display:flex!important}.check input{width:20px;height:20px}.camera-controls button{min-width:44px;padding:.55rem}.readout,.selection,.fiction-banner{background:var(--sage);border-radius:.6rem;padding:.75rem;font-weight:700}.fiction-banner{color:#713c0d;letter-spacing:.08em;text-align:center;background:#f3dfc7}.teaching-panel{padding:clamp(1.2rem,3vw,2rem);position:sticky;top:1rem}.teaching-panel h2{margin-top:0;font-size:1.8rem;line-height:1.1}.notice{border-left:4px solid var(--amber);background:#fbf0df;padding:.8rem 1rem}.legend{padding:0;list-style:none}.key{vertical-align:-.12rem;border:1px solid #738487;border-radius:.2rem;width:1rem;height:1rem;display:inline-block}.key.teal{background:var(--teal)}.key.amber{background:var(--amber)}.key.ink{background:#44595c}.key.light{background:#fff}.key.timber{background:#c99255}.sequence{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}progress{width:100%;height:12px;accent-color:var(--teal)}.split-headings{text-align:center;grid-template-columns:1fr 1fr;gap:1rem;display:grid}.split-headings h3{margin:.5rem;font-size:1rem}.still-fallback{grid-template-columns:auto 180px 1fr;align-items:center;gap:1.25rem;margin-block:1.5rem 5rem;display:grid}.still-fallback h2{font-size:1.1rem}.still-fallback svg{width:180px;display:block}.loading,.error{text-align:center;padding:4rem}.webgl-fallback{padding:2rem}.copy-status{min-height:1.5rem}.error{background:#fff5e8;border-color:#c88757}@media (max-width:920px){.module-grid{grid-template-columns:repeat(2,1fr)}.module-layout{grid-template-columns:1fr}.teaching-panel{position:static}.site-header nav .badge{display:none}.hero{grid-template-columns:1fr}.hero-art{max-width:560px}.module-hero{flex-direction:column;align-items:start}.share-panel{grid-template-columns:1fr}.qr{width:210px}}@media (max-width:640px){.container,.header-inner,footer{width:min(100% - 1.5rem,1280px)}.header-inner{align-items:flex-start;padding-block:.75rem}.site-header nav{flex-direction:column;align-items:flex-end}.site-header nav>a{display:none}.site-header label{font-size:0}.site-header select{max-width:180px;font-size:.85rem}.module-grid{grid-template-columns:1fr}.hero{padding-block:3.5rem}.hero h1{font-size:3.4rem}.share-panel{margin-bottom:4rem}.module-hero{padding-block:2.5rem 1.5rem}.canvas-wrap{height:390px}.still-fallback{grid-template-columns:1fr}.still-fallback svg{width:100%;max-width:260px}footer{flex-direction:column}.build{text-align:left}}.motion-control{align-items:center;gap:.35rem;font-size:.78rem!important;display:flex!important}.motion-control input{width:18px;height:18px}.reduce-motion *{scroll-behavior:auto!important;transition:none!important}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.site-header,.control-row,.step-controls,.camera-controls,.hotspots,button,.share-panel,.canvas-wrap{display:none!important}.module-layout{display:block}.teaching-panel{border:0;padding:0}.still-fallback{display:grid}.module-hero{padding:1rem 0}footer{break-before:page}}.orbit-panes{display:flex;position:absolute;inset:0}.orbit-pane{touch-action:none;cursor:grab;width:50%;min-width:0;height:100%;position:relative}.orbit-pane+.orbit-pane{border-left:1px solid #aebeb9}.orbit-pane:focus-visible{outline-offset:-5px;outline:3px solid #185e62}.orbit-pane>span{pointer-events:none;background:#fffdf8e6;border-radius:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:700;position:absolute;top:.6rem;left:.6rem}.orbit-pane[hidden],[hidden]{display:none!important}.context-lost:after{content:none}.context-message{background:#fffdf8;border:1px solid #b36522;padding:1rem;position:absolute;inset:auto 1rem 1rem}.camera-help{color:#455a5d;font-size:.85rem}button:disabled{opacity:.5;cursor:default}.secondary:hover{color:#fff}select{color:#172d32;background:#fffdf8;border:1px solid #a8bcb5;border-radius:.5rem;min-width:0;max-width:100%;padding:.5rem}h1:focus,main:focus{outline:none}.qr svg{width:100%;height:auto}.control-row>label,.step-controls>label{max-width:100%}.module-hero{align-items:center;padding-block:2rem 1.3rem}.module-hero h1{max-width:none;font-size:clamp(2rem,4vw,3.6rem);line-height:1.08}.module-hero .lede{margin:.7rem 0 0;font-size:1.05rem}.module-hero>div:last-child:not(:first-child){flex-shrink:0;align-items:center;gap:.6rem;display:flex}.canvas-wrap{height:clamp(320px,36vw,450px)}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline-color:#185e62}.card-status{align-self:flex-start;margin:.5rem 0}.hero-art{overflow:hidden}body{min-width:0}.module-hero>div:last-child:not(:first-child){flex-wrap:wrap;flex-shrink:1}.module-hero>div{min-width:0}summary{cursor:pointer;min-height:44px;padding-block:.5rem}progress{min-width:0}.build{overflow-wrap:anywhere;max-width:100%}@media (max-width:360px){.header-inner{flex-wrap:wrap}.site-header nav{flex-flow:wrap;gap:.5rem;width:100%;max-width:100%}.site-header nav>label:not(.motion-control){flex:1}.site-header select{width:100%;max-width:none}.site-header .motion-control{flex-basis:100%;justify-content:flex-end}.module-hero{align-items:flex-start}}@media (max-width:640px){.header-inner{gap:.5rem}.site-header nav{max-width:62%}.site-header nav>a{display:grid}.site-header label.motion-control{font-size:.75rem!important}.site-header nav{gap:.3rem}.split-headings h3{font-size:.85rem}.control-row label:has(input[type=range]){min-width:130px}.canvas-wrap{height:360px}}
