: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}*{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)}#render-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;touch-action: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:48px 24px 64px}.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(330px,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-overlay{position:absolute;top:12px;left:12px;min-width:260px;max-height:calc(100vh - 24px);overflow-y:auto;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}.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(320px,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;margin-top:.25rem;font-size:.68rem;line-height:1.15;word-break:break-word}.item-detail{display:block;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}
