:root{--ui-bg: rgba(12, 15, 20, .88);--ui-border: rgba(255, 255, 255, .12);--ui-text: #e8ecf2;--ui-muted: #9aa5b4;--ui-accent: #6fd3ff;--ui-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--ui-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#05070a;color:var(--ui-text);font-family:var(--ui-sans);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.prototype-menu{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}:root[data-pointer=fine] .debug-overlay{user-select:text;-webkit-user-select:text}#render-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#ui-root{position:fixed;inset:0;pointer-events:none}.prototype-menu{position:absolute;inset:0;overflow-y:auto;background:linear-gradient(160deg,#06090ef7,#0a101af7);pointer-events:auto}.menu-panel{max-width:1100px;margin:0 auto;padding:calc(48px + var(--safe-top)) calc(24px + var(--safe-right)) calc(64px + var(--safe-bottom)) calc(24px + var(--safe-left))}.menu-panel header h1{margin:0;font-size:30px;letter-spacing:-.02em}.menu-panel .subtitle{margin:6px 0 28px;color:var(--ui-muted);font-size:14px}.quality-row{display:flex;align-items:center;gap:12px;margin-bottom:28px;font-size:14px}.quality-row select{background:#ffffff0f;color:var(--ui-text);border:1px solid var(--ui-border);border-radius:6px;padding:6px 10px;font-family:var(--ui-mono);text-transform:capitalize}.prototype-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:16px}.prototype-card{background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:10px}.prototype-card.status-planned{opacity:.55}.prototype-card.status-active{border-color:#6fd3ff8c;box-shadow:0 0 0 1px #6fd3ff33}.prototype-card.status-next{border-color:#6fd3ff47}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.card-head h2{margin:0;font-size:15px;font-weight:600}.status-badge{font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:999px;border:1px solid var(--ui-border);color:var(--ui-muted);white-space:nowrap}.status-built .status-badge{color:var(--ui-accent);border-color:#6fd3ff66}.status-active .status-badge{color:#0d1117;background:var(--ui-accent);border-color:var(--ui-accent);font-weight:700}.status-next .status-badge{color:var(--ui-accent);border-color:#6fd3ff66}.prototype-card .summary{margin:0;font-size:13px;line-height:1.5;color:#c6cedb}.prototype-card .risk{margin:0;font-size:12px;color:var(--ui-muted);line-height:1.5}.prototype-card details{font-size:12px;color:var(--ui-muted)}.prototype-card details summary{cursor:pointer;padding:4px 0;color:var(--ui-accent)}.prototype-card details ul{margin:6px 0 0;padding-left:18px;line-height:1.6}.prototype-card details dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0}.prototype-card details dd{margin:0}.prototype-card button{margin-top:auto;background:var(--ui-accent);color:#05121b;border:none;border-radius:6px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer}.prototype-card button:disabled{background:#ffffff14;color:var(--ui-muted);cursor:not-allowed}.menu-panel footer{margin-top:32px;font-size:12px;color:var(--ui-muted)}kbd{font-family:var(--ui-mono);font-size:11px;background:#ffffff14;border:1px solid var(--ui-border);border-radius:4px;padding:1px 5px}.debug-drawer{position:absolute;top:calc(12px + var(--safe-top));left:calc(12px + var(--safe-left));display:flex;align-items:flex-start;gap:6px;pointer-events:none}.debug-overlay{min-width:260px;max-width:min(320px,calc(100vw - 24px - var(--safe-left) - var(--safe-right)));max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:8px;padding:10px 12px;font-family:var(--ui-mono);font-size:11px;line-height:1.55;pointer-events:none;transition:transform .22s ease,opacity .22s ease}.debug-drawer[data-open=false] .debug-overlay{position:absolute;top:0;left:0;transform:translate(calc(-100% - 24px));opacity:0;visibility:hidden}.debug-drawer__handle{display:none;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-bg);color:var(--ui-accent);font-size:15px;line-height:1;cursor:pointer;pointer-events:auto;touch-action:none;transition:transform .22s ease}.debug-drawer[data-open=true] .debug-drawer__handle{transform:rotate(180deg)}@media(max-width:899px){.debug-drawer__handle{display:flex}.debug-overlay{pointer-events:auto}}:root[data-pointer=coarse] .debug-drawer__handle{display:flex}:root[data-pointer=coarse] .debug-overlay{pointer-events:auto}.debug-section+.debug-section{margin-top:10px;padding-top:8px;border-top:1px solid var(--ui-border)}.debug-section h4{margin:0 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--ui-accent);font-weight:600}.debug-row{display:flex;justify-content:space-between;gap:16px}.debug-row span{color:var(--ui-muted)}.debug-row b{font-weight:500;text-align:right}.crosshair{position:absolute;top:50%;left:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;background:#ffffffd9;box-shadow:0 0 3px #000000e6;pointer-events:none}.board-summary{margin:0 0 1.6rem;padding:.9rem 1.1rem;border:1px solid rgba(120,160,200,.25);border-radius:6px;background:#141e2c99;font-size:.95rem}.bar{height:6px;border-radius:3px;background:#78a0c82e;overflow:hidden;flex:1}.bar.wide{margin-top:.6rem}.bar>span{display:block;height:100%;background:linear-gradient(90deg,#4fd1a5,#59a6ff)}.track{margin-bottom:1.8rem}.track-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(120,160,200,.2);padding-bottom:.35rem}.track-head h2{margin:0;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:#8fb8e0}.track-count{font-size:.8rem;color:#7f93aa}.track-blurb{margin:.4rem 0 .9rem;font-size:.85rem;color:#8b9cb0}.capability-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.capability{border:1px solid rgba(120,160,200,.2);border-left:3px solid rgba(120,160,200,.35);border-radius:5px;padding:.75rem .9rem;background:#1018248c}.capability-built{border-left-color:#4fd1a5}.capability-partial{border-left-color:#e2c05a}.capability-next{border-left-color:#59a6ff}.capability-planned{border-left-color:#78a0c840}.capability-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.capability-head h3{margin:0;font-size:.98rem}.capability-status{font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:#8b9cb0;white-space:nowrap}.capability-built .capability-status{color:#4fd1a5}.capability-partial .capability-status{color:#e2c05a}.capability-next .capability-status{color:#59a6ff}.capability-summary{margin:.4rem 0 .6rem;font-size:.85rem;color:#a9b8c9}.capability-progress{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.capability-progress .count{font-size:.75rem;color:#7f93aa;font-variant-numeric:tabular-nums}.capability-try{margin:0 0 .5rem;font-size:.82rem;color:#a9b8c9}.try-button{margin-left:.5rem;padding:.2rem .7rem;font-size:.78rem;border-radius:4px;border:1px solid rgba(89,166,255,.5);background:#59a6ff1f;color:#cfe3ff;cursor:pointer}.try-button:hover{background:#59a6ff40}.capability details summary{font-size:.78rem;color:#7f93aa;cursor:pointer}.steps{list-style:none;margin:.5rem 0 0;padding:0}.step{display:grid;grid-template-columns:1.1rem 1fr;gap:.35rem;font-size:.82rem;padding:.15rem 0}.step-done .tick{color:#4fd1a5}.step-todo .tick{color:#6b7f95}.step-todo .step-label{color:#8b9cb0}.step-evidence{grid-column:2;font-size:.74rem;color:#6f8299;font-style:italic}.provenance{margin:.6rem 0 0;font-size:.74rem;color:#6f8299}.scene-list{margin-top:2rem;border-top:1px solid rgba(120,160,200,.2);padding-top:.8rem}.scene-list>summary{cursor:pointer;font-size:.9rem;color:#8fb8e0}.scene-note{font-size:.82rem;color:#8b9cb0;margin:.6rem 0 1rem}.inspector-panel{position:absolute;top:1rem;right:1rem;width:280px;max-height:calc(100vh - 2rem - var(--inventory-height));overflow-y:auto;padding:.8rem .9rem;border:1px solid rgba(120,160,200,.25);border-radius:6px;background:#0c121ce0;font-size:.85rem;pointer-events:auto}.inspector-panel header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.inspector-panel h2{margin:0;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:#8fb8e0}.inspector-panel .turntable{font-size:.75rem;color:#8b9cb0;white-space:nowrap}.panel-subject{margin:0 0 .6rem;font-family:var(--ui-mono);font-size:.82rem;color:#cfe0f0;word-break:break-all}.lod-row{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}.lod-row button{flex:1 1 auto;padding:.3rem .4rem;border:1px solid rgba(120,160,200,.3);border-radius:4px;background:#182230b3;color:#cfe0f0;font-size:.75rem;cursor:pointer}.lod-row button small{display:block;color:#7f93aa;font-size:.66rem}.lod-row button.selected{border-color:#4fd1a5;background:#4fd1a526}.lod-single{font-size:.75rem;color:#7f93aa}.asset-hint{margin:0;font-size:.72rem;color:#6f8299}:root{--inventory-height: 186px}.inventory-bar{position:absolute;left:1rem;right:1rem;bottom:1rem;height:var(--inventory-height);display:flex;flex-direction:column;padding:.55rem .7rem .65rem;border:1px solid rgba(120,160,200,.25);border-radius:6px;background:#0c121ce6;pointer-events:auto}.inventory-bar h2{margin:0 0 .4rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#8fb8e0}.inventory-tabs{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.inventory-tabs button{display:flex;align-items:center;gap:.3rem;padding:.22rem .55rem;border:1px solid rgba(120,160,200,.3);border-radius:999px;background:#182230b3;color:#b9cbdd;font-size:.74rem;cursor:pointer}.inventory-tabs button:hover{background:#283a50d9}.inventory-tabs button.selected{border-color:#59a6ff99;background:#59a6ff2e;color:#e8f2ff}.tab-count{font-size:.66rem;color:#7f93aa}.inventory-items{display:flex;align-items:stretch;gap:.45rem;flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:hidden;padding-bottom:.2rem}.inventory-item{flex:0 0 auto;display:flex;flex-direction:column;width:96px;padding:.3rem .25rem .35rem;border:1px solid transparent;border-radius:5px;background:#182230b3;color:#cfe0f0;text-align:center;cursor:pointer}.inventory-item:hover{background:#283a50d9}.inventory-item.selected{border-color:#59a6ff99;background:#59a6ff29}.item-preview{display:block;width:100%;flex:1 1 auto;min-height:0;border-radius:4px;background:#171c26;overflow:hidden}.item-preview img{display:block;width:100%;height:100%;object-fit:contain}.item-preview img.pending{background:repeating-linear-gradient(-45deg,#78a0c812 0 6px,#78a0c805 6px 12px)}.item-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;flex:0 0 auto;margin-top:.25rem;font-size:.68rem;line-height:1.15;word-break:break-word}.item-detail{display:block;flex:0 0 auto;font-size:.6rem;color:#7f93aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-empty{margin:.4rem 0;font-size:.75rem;color:#6f8299}.view-gizmo{position:absolute;top:1rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.3rem;pointer-events:auto;user-select:none}.view-gizmo svg{display:block;cursor:pointer}.gizmo-face{fill:#0e141e8c;stroke:#78a0c838;stroke-width:1}.gizmo-marker{cursor:pointer}.gizmo-marker:hover{stroke-width:2.5}.gizmo-label{font-size:9px;font-weight:600;text-anchor:middle;fill:#0e1420;pointer-events:none}.gizmo-zoom{display:flex;gap:.25rem}.gizmo-zoom button{width:26px;height:26px;border:1px solid rgba(120,160,200,.3);border-radius:4px;background:#0e141ecc;color:#cfe0f0;font-size:.95rem;line-height:1;cursor:pointer}.gizmo-zoom button:hover{background:#283a50e6}.build-toolbar{position:absolute;left:1rem;bottom:calc(var(--inventory-height) + 1.6rem);display:flex;flex-direction:column;gap:.35rem;padding:.5rem .6rem;border:1px solid rgba(120,160,200,.25);border-radius:6px;background:#0c121ce6;font-size:.78rem;pointer-events:auto}.build-toolbar__modes{display:flex;gap:.35rem}.build-toolbar__mode{display:flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border:1px solid rgba(120,160,200,.3);border-radius:4px;background:#16202ee6;color:#cfe0f0;font:inherit;cursor:pointer}.build-toolbar__mode:hover{border-color:#96c8f08c}.build-toolbar__mode--active{border-color:#78d2ffe6;background:#28506ef2;color:#eaf6ff}.build-toolbar__key{padding:0 .28rem;border-radius:3px;background:#00000059;color:#8fb4d4;font-size:.72em}.build-toolbar__hint{margin:0;color:#8fa8be;font-size:.72rem}.touch-controls{position:absolute;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-stick-zone{position:absolute;left:var(--safe-left);bottom:var(--safe-bottom);width:min(46%,300px);height:min(52%,300px);pointer-events:auto;touch-action:none}.touch-stick{position:absolute;width:132px;height:132px;margin:-66px 0 0 -66px;border-radius:50%;border:1px solid rgba(150,200,240,.35);background:#0c121c59;opacity:0;transition:opacity .12s ease}.touch-stick[data-active=true]{opacity:1}.touch-stick__knob{position:absolute;top:50%;left:50%;width:58px;height:58px;border-radius:50%;border:1px solid rgba(150,200,240,.5);background:#6fd3ff3d;transform:translate(-50%,-50%)}.touch-buttons{position:absolute;right:calc(.9rem + var(--safe-right));bottom:calc(1.1rem + var(--safe-bottom));display:grid;grid-template-columns:repeat(2,auto);grid-template-areas:"fly    ." "mode   up" "sprint down";gap:.55rem;justify-items:end;pointer-events:none}.touch-button[data-button=up]{grid-area:up}.touch-button[data-button=down]{grid-area:down}.touch-button[data-button=sprint]{grid-area:sprint}.touch-button[data-button=mode]{grid-area:mode}.touch-button[data-button=fly]{grid-area:fly}.touch-utility{position:absolute;top:calc(.8rem + var(--safe-top));right:calc(.8rem + var(--safe-right));display:flex;gap:.5rem;pointer-events:none}.touch-button{width:60px;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid rgba(150,200,240,.32);border-radius:50%;background:#0c121c8c;color:#cfe0f0;font-family:var(--ui-sans);line-height:1;pointer-events:auto;touch-action:none;cursor:pointer;text-shadow:0 1px 3px rgba(0,0,0,.8)}.touch-button__glyph{font-size:19px;line-height:1}.touch-button__caption{font-size:8.5px;font-weight:700;letter-spacing:.08em;line-height:1;color:#a9c2d8}.touch-button:not(:has(.touch-button__caption)) .touch-button__glyph{font-size:21px}.touch-button[data-on=true]{border-color:#6fd3ffd9;background:#28506ed9;color:#eaf6ff}.touch-button[data-flash=true]{animation:touch-button-flash .45s ease-out}@keyframes touch-button-flash{0%,55%{border-color:#6fd3fff2;background:#3c78a0f2;color:#eaf6ff}to{border-color:#96c8f052;background:#0c121c8c;color:#cfe0f0}}@media(prefers-reduced-motion:reduce){.touch-button[data-flash=true]{animation:none;border-color:#6fd3fff2;background:#3c78a0f2}}.touch-button--small{width:44px;height:44px;border-radius:10px;font-size:15px}@media(max-height:460px){.touch-button{width:50px;height:50px}.touch-button__glyph,.touch-button:not(:has(.touch-button__caption)) .touch-button__glyph{font-size:16px}.touch-button__caption{font-size:7.5px}.touch-stick{width:108px;height:108px;margin:-54px 0 0 -54px}.touch-stick__knob{width:48px;height:48px}}@media(max-width:720px),(max-height:560px){.menu-panel{padding:calc(20px + var(--safe-top)) calc(14px + var(--safe-right)) calc(32px + var(--safe-bottom)) calc(14px + var(--safe-left))}.menu-panel header h1{font-size:23px}.quality-row{flex-wrap:wrap}.quality-row select{font-size:16px;padding:8px 10px}.prototype-card button,.try-button{min-height:44px}.inspector-panel{top:calc(.6rem + var(--safe-top));right:calc(.6rem + var(--safe-right));width:min(240px,62vw);max-height:calc(100dvh - 1.2rem - var(--inventory-height) - var(--safe-top))}:root{--inventory-height: 148px}.inventory-bar{left:calc(.5rem + var(--safe-left));right:calc(.5rem + var(--safe-right));bottom:calc(.5rem + var(--safe-bottom))}.inventory-item{width:74px}.inventory-bar h2{font-size:.7rem;margin-bottom:.25rem}.inventory-tabs{margin-bottom:.35rem}.item-label{-webkit-line-clamp:1;line-clamp:1;margin-top:.15rem;font-size:.62rem}.item-detail{font-size:.55rem}.build-toolbar{left:calc(.5rem + var(--safe-left));bottom:calc(var(--inventory-height) + 1rem + var(--safe-bottom))}}
