:root{--bg:#0b0c0c;--panel:#121414;--panel2:#191b1b;--ink:#f2f0e8;--muted:#969a96;--line:#2a2d2c;--accent:#ff5a2f;--green:#95e7c4;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{width:100%;height:100%;overflow:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);overscroll-behavior:none}
button,a{font:inherit;color:inherit}button{cursor:pointer}.skip{position:fixed;top:-5rem;left:1rem;z-index:100;background:var(--ink);color:var(--bg);padding:.75rem 1rem}.skip:focus{top:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.app-shell{height:100dvh;min-height:0;display:grid;grid-template-rows:58px minmax(0,1fr);padding:max(env(safe-area-inset-top),0px) max(env(safe-area-inset-right),0px) max(env(safe-area-inset-bottom),0px) max(env(safe-area-inset-left),0px)}
.topbar{height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(16px,2.5vw,38px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 90%,transparent);z-index:20}.brand{text-decoration:none;font-weight:900;font-size:1.12rem;letter-spacing:-.06em}.brand span{color:var(--accent)}.build-state{display:flex;align-items:center;gap:.55rem;color:var(--muted);font:700 .63rem var(--mono);letter-spacing:.1em}.build-state i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.text-action{justify-self:end;border:0;background:transparent;padding:.5rem 0;color:var(--ink);font:700 .68rem var(--mono);letter-spacing:.1em}
.workspace{min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) clamp(275px,22vw,340px);gap:0}.model-pane{position:relative;min-width:0;min-height:0;overflow:hidden;border-right:1px solid var(--line);background:radial-gradient(circle at 52% 46%,#1b2020 0,#0f1111 42%,#090a0a 75%)}.model-pane:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,#000,transparent 72%)}.model-heading{position:absolute;z-index:5;left:clamp(16px,2.5vw,38px);top:clamp(16px,3vh,32px);pointer-events:none}.model-heading p,.eyebrow{margin:0 0 .55rem;color:var(--accent);font:700 .62rem/1.2 var(--mono);letter-spacing:.11em}.model-heading h1{margin:0;font-size:clamp(1.85rem,3.6vw,4.8rem);line-height:.9;letter-spacing:-.065em}
#stage{position:absolute;inset:0;touch-action:none;outline:none}#model-canvas{display:block;width:100%;height:100%}#loading{position:absolute;z-index:6;left:50%;top:50%;display:flex;align-items:center;gap:.75rem;transform:translate(-50%,-50%);font:700 .63rem var(--mono);letter-spacing:.1em;color:var(--muted)}#loading span{width:18px;height:18px;border:1px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}#model-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}#model-fallback strong{display:block;margin-bottom:.6rem}#model-fallback a{color:var(--accent);font:700 .68rem var(--mono)}#hover-label{position:absolute;z-index:8;max-width:260px;padding:.35rem .5rem;pointer-events:none;opacity:0;background:var(--ink);color:var(--bg);font:700 .6rem var(--mono);transform:translate(10px,10px)}
.model-controls{position:absolute;z-index:7;left:clamp(16px,2.5vw,38px);right:clamp(16px,2.5vw,38px);bottom:clamp(14px,2.5vh,28px);display:flex;align-items:center;gap:6px}.model-controls button{height:38px;border:1px solid var(--line);background:#101212cc;padding:0 .9rem;font:700 .61rem var(--mono);letter-spacing:.07em}.model-controls button.active,.model-controls button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--bg)}.interaction-hint{margin-left:auto;color:var(--muted);font:600 .58rem var(--mono);letter-spacing:.08em}
.inspector{min-height:0;background:var(--panel);padding:clamp(20px,3vw,42px) clamp(18px,2.3vw,32px);display:flex;flex-direction:column;justify-content:center}.inspector-handle{display:none}.inspector-content{min-height:0;display:flex;flex-direction:column;gap:clamp(18px,3vh,30px)}.inspector h2{margin:0;font-size:clamp(2rem,3vw,3.25rem);line-height:.88;letter-spacing:-.06em;overflow-wrap:anywhere}.inspector #part-status{margin:1rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}.inspector ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.inspector li{position:relative;padding:.8rem 0 .8rem 1rem;border-bottom:1px solid var(--line);color:#c8cbc7;font-size:.74rem;line-height:1.45}.inspector li:before{content:"";position:absolute;left:0;top:1.08rem;width:4px;height:4px;background:var(--accent)}.quick-facts{margin:0;display:grid;grid-template-columns:1fr;border:1px solid var(--line)}.quick-facts div{display:grid;grid-template-columns:90px 1fr;padding:.58rem .7rem;border-bottom:1px solid var(--line)}.quick-facts div:last-child{border:0}.quick-facts dt,.quick-facts dd{margin:0;font:700 .61rem var(--mono)}.quick-facts dt{color:var(--muted)}.quick-facts dd{text-align:right}.primary-action{height:44px;border:0;background:var(--accent);color:#0a0a0a;font:900 .65rem var(--mono);letter-spacing:.08em}
.overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#050606d9;backdrop-filter:blur(14px)}.dialog{width:min(720px,100%);background:var(--panel2);border:1px solid #3b3e3d;padding:clamp(22px,4vw,48px);box-shadow:0 30px 100px #000}.dialog header{display:flex;align-items:center;justify-content:space-between}.dialog header p{margin:0;color:var(--accent);font:700 .63rem var(--mono);letter-spacing:.1em}.dialog header button{border:0;background:none;font:700 .63rem var(--mono);letter-spacing:.08em}.dialog h2{margin:clamp(26px,5vh,54px) 0 1rem;font-size:clamp(2.2rem,6vw,5rem);line-height:.86;letter-spacing:-.065em}.dialog>p{max-width:600px;color:#b8bbb7;font-size:.86rem;line-height:1.55}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:2rem 0;border:1px solid var(--line)}.evidence-grid a{padding:1rem;text-decoration:none;border-right:1px solid var(--line)}.evidence-grid a:last-child{border:0}.evidence-grid b{display:block;font-size:1.5rem}.evidence-grid span{display:block;margin-top:.35rem;color:var(--muted);font:.58rem/1.35 var(--mono)}.docs-link{font:800 .65rem var(--mono);letter-spacing:.08em;color:var(--accent)}
@media(max-width:760px){.app-shell{grid-template-rows:52px minmax(0,1fr)}.topbar{height:52px;grid-template-columns:1fr auto}.build-state{display:none}.workspace{display:block;position:relative}.model-pane{height:100%;border:0}.model-heading{top:16px}.model-heading p{font-size:.54rem}.model-heading h1{font-size:clamp(1.75rem,10vw,2.8rem)}.interaction-hint{display:none}.model-controls{bottom:14px;right:auto}.model-controls button{height:36px;padding:0 .7rem;font-size:.56rem}.inspector{position:absolute;z-index:15;left:12px;right:12px;bottom:62px;height:58px;min-height:0;max-height:none;padding:0;overflow:hidden;justify-content:flex-start;background:#151717ed;border:1px solid #363938;backdrop-filter:blur(18px);transition:height .24s ease}.inspector.open{height:min(360px,calc(100% - 100px))}.inspector-handle{height:58px;width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;border:0;background:transparent;padding:0 14px;text-align:left}.inspector-handle span{color:var(--accent);font:700 .54rem var(--mono);letter-spacing:.08em}.inspector-handle b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.inspector-handle i{width:8px;height:8px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(225deg);transition:transform .2s}.inspector.open .inspector-handle i{transform:rotate(45deg)}.inspector-content{display:none;padding:2px 16px 16px;gap:12px;overflow:auto}.inspector.open .inspector-content{display:flex}.inspector h2{font-size:1.75rem}.inspector #part-status{font-size:.72rem;margin-top:.6rem}.inspector li{font-size:.66rem;padding:.55rem 0 .55rem .8rem}.quick-facts{display:none}.primary-action{height:38px}.evidence-grid{grid-template-columns:1fr}.evidence-grid a{display:grid;grid-template-columns:70px 1fr;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:.7rem}.evidence-grid a:last-child{border-bottom:0}.evidence-grid span{margin:0}.dialog{max-height:calc(100dvh - 32px);overflow:auto}.dialog h2{margin:2rem 0 1rem}.dialog>p{font-size:.76rem}.overlay{padding:16px}}
@media(max-height:620px){.model-heading p,.interaction-hint,.inspector ul{display:none}.inspector-content{gap:10px}.dialog h2{font-size:2.4rem;margin:1.2rem 0 .7rem}.evidence-grid{margin:1rem 0}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
