@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eef4f7;background:#050709;--panel: rgba(10, 13, 17, .85);--text: #eef4f7;--muted: #8f9ba5;--border: #222b33;--surface: #11161b;--accent: #cfef2e;--accent-ink: #101507}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{color:var(--text);background:#050709}button,a,input,textarea{font:inherit}.app-shell{position:relative;height:100%;min-height:680px;overflow:hidden;background:radial-gradient(circle at 74% 30%,rgba(207,239,46,.04),transparent 45%),#050709}.panel{position:absolute;inset:20px auto 20px 20px;z-index:2;display:flex;flex-direction:column;width:420px;overflow:auto;padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 80px #00000080;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);transition:transform .32s cubic-bezier(.22,.8,.3,1),opacity .22s ease}.panel.closed{transform:translate(calc(-100% - 32px));opacity:0;pointer-events:none}.panel-toggle{position:absolute;top:50%;z-index:4;display:flex;align-items:center;gap:5px;min-width:42px;min-height:72px;padding:8px 7px;color:#dce5e9;background:#0f151bf0;border:1px solid #33414a;border-radius:0 10px 10px 0;box-shadow:8px 10px 28px #00000047;transform:translateY(-50%);cursor:pointer;writing-mode:vertical-rl;transition:left .32s cubic-bezier(.22,.8,.3,1),color .15s ease,background .15s ease}.panel-toggle.open{left:440px}.panel-toggle.closed{left:0}.panel-toggle:hover{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.panel-toggle span{font-size:25px;line-height:.7;writing-mode:horizontal-tb}.panel-toggle strong{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.font-mono{font-family:JetBrains Mono,monospace}.text-accent{color:var(--accent)}.brand-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.brand-logo{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:800;letter-spacing:.15em;color:var(--text)}.brand-logo span{color:var(--accent)}.brand-tag{font-size:9px;letter-spacing:.1em;color:var(--muted);border:1px solid var(--border);padding:3px 6px;border-radius:4px;text-transform:uppercase}.model-selector{display:flex;gap:8px;margin-bottom:24px}.model-btn{flex:1;background:var(--surface);border:1px solid var(--border);color:var(--muted);padding:10px 0;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease}.model-btn:hover{background:#1a2228;color:#fff}.model-btn.active{background:#cfef2e1a;border-color:var(--accent);color:var(--accent);box-shadow:0 0 12px #cfef2e1a}.model-summary{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.model-summary .font-mono{font-size:12px;font-weight:800;letter-spacing:.05em;margin:0 0 8px}.model-summary .desc{font-size:13px;color:#aab5bc;line-height:1.5;margin:0}.animation-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.animation-controls button{min-height:40px;padding:8px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s ease}.animation-controls button:hover{background:#1a2228;border-color:#2a353e}.animation-controls button.active{color:var(--accent);background:#cfef2e14;border-color:#cfef2e4d}.animation-controls .tour{grid-column:1 / -1;color:var(--accent);background:transparent;border:1px solid var(--accent)}.animation-controls .tour:hover{background:#cfef2e1a}.animation-controls .tour:disabled{opacity:.5;cursor:wait}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 16px;padding:4px;background:#0a0d10;border:1px solid var(--border);border-radius:8px}.tabs button{padding:10px;color:var(--muted);background:transparent;border:0;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s}.tabs button.active{color:var(--text);background:var(--surface);box-shadow:0 2px 8px #0006}.legend{display:flex;flex-direction:column;gap:4px}.legend-row{display:grid;grid-template-columns:12px 1fr;gap:14px;align-items:start;width:100%;padding:10px 12px;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.legend-row:hover{background:#161c22;border-color:#2e3943}.legend-row.off{background:#0a0d10;opacity:.5}.swatch{width:12px;height:12px;margin-top:2px;border-radius:3px;box-shadow:0 0 10px currentColor}.legend-row strong{display:block;font-size:13px;line-height:1.2}.legend-row small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4}.spec-grid{display:grid;gap:0;margin:0;background:#0d1115;border:1px solid var(--border);border-radius:8px;overflow:hidden}.spec-grid div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.spec-grid div:last-child{border-bottom:none}.spec-grid dt{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0}.spec-grid dd{color:var(--text);text-align:right;font-family:JetBrains Mono,monospace;font-size:11px;margin:0}.actions{display:flex;flex-direction:column;gap:10px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.primary{display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-ink);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:14px;border-radius:8px;border:none;cursor:pointer;transition:all .2s;text-decoration:none}.primary:hover{background:#e2fc4f;box-shadow:0 0 20px #cfef2e40;transform:translateY(-1px)}.secondary{display:flex;align-items:center;justify-content:center;background:#0d1115;border:1px solid var(--border);color:var(--text);font-size:12px;font-weight:600;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s;text-decoration:none}.secondary:hover{background:#161c22;border-color:#2e3943}.text-link{display:block;text-align:center;padding:8px 2px;color:#95a3ac;font-size:11px;text-decoration:none;font-family:JetBrains Mono,monospace;transition:color .2s}.text-link:hover{color:#fff}.text-link.disabled{color:#596873;cursor:not-allowed}.text-link.disabled:hover{color:#596873}.disclaimer{margin:16px 0 0;color:#596873;font-size:9px;line-height:1.42}.stage{position:absolute;inset:0;overflow:hidden}.fallback-view{display:grid;width:100%;height:100%;place-items:center;padding:70px 60px 50px 460px}.fallback-view img{width:min(920px,88%);max-height:78vh;object-fit:contain;filter:drop-shadow(0 28px 50px rgba(0,0,0,.45))}.fallback-view p{margin:-45px 0 0;color:#65747e;font-size:10px;font-family:JetBrains Mono,monospace}.fallback-cabinet{--cabinet-ratio: 2.4;position:relative;width:min(calc(24vh * var(--cabinet-ratio)),58vw);min-width:360px;aspect-ratio:var(--cabinet-ratio);padding:4.6% 3% 3.4%;background:linear-gradient(145deg,#232b30,#101619 72%);border:2px solid #48545b;border-radius:5px;box-shadow:0 36px 80px #000,inset 0 0 0 1px #0b0f11}.fallback-cabinet:before{position:absolute;inset:2.6%;content:"";border:1px solid #39434a;pointer-events:none}.fallback-brand{position:relative;z-index:1;display:flex;gap:12px;align-items:baseline;margin-bottom:3%;color:#eef3f4;font-family:JetBrains Mono,monospace;font-size:clamp(14px,1.3vw,22px);font-weight:800;letter-spacing:.17em}.fallback-brand small{color:var(--accent);font-size:.48em;letter-spacing:.12em}.fallback-doors{display:flex;height:72%;gap:1.2%}.fallback-doors>span{position:relative;flex:1;background:linear-gradient(100deg,#171e22,#283238 48%,#13191d);border:1px solid #4b575e;box-shadow:inset 0 0 18px #000000b3}.fallback-doors>span:before,.fallback-doors>span:after{position:absolute;left:14%;width:42%;height:1px;content:"";background:#526067;box-shadow:0 7px #526067,0 14px #526067,0 21px #526067}.fallback-doors>span:before{bottom:28%}.fallback-doors>span:after{bottom:12%}.fallback-doors i{position:absolute;top:46%;right:8%;width:4px;height:18%;background:var(--accent);border-radius:2px;box-shadow:0 0 12px #cfef2e66}.fallback-roof{position:absolute;left:32%;bottom:100%;display:flex;width:48%;height:14%;gap:4%}.fallback-roof span{flex:1;background:repeating-linear-gradient(90deg,#303a40 0 5px,#12181b 5px 9px);border:1px solid #526067}.fallback-skid{position:absolute;right:-2%;bottom:-5%;left:-2%;height:6%;background:#1a2226;border:1px solid #48545b}.stage-label{position:absolute;top:34px;right:34px;display:grid;justify-items:end;pointer-events:none}.stage-label span{color:#5a6b78;font-size:10px;font-weight:800;letter-spacing:.15em;font-family:JetBrains Mono,monospace}.stage-label strong{margin-top:4px;color:var(--accent);font-size:14px;font-family:JetBrains Mono,monospace;letter-spacing:.05em;text-shadow:0 0 10px rgba(207,239,46,.3)}.controls-hint{position:absolute;right:34px;bottom:25px;margin:0;padding:8px 12px;color:#7b8e9b;background:#0a0d11b8;border:1px solid var(--border);border-radius:999px;font-size:11px;font-family:JetBrains Mono,monospace;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}.dialog-backdrop{position:fixed;inset:0;z-index:100;background:#040608d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;animation:fadeIn .2s ease}.dialog-content{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px;width:100%;max-width:440px;box-shadow:0 24px 60px #00000080;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.dialog-content h2{font-family:JetBrains Mono,monospace;font-size:20px;margin:0 0 8px;color:var(--text)}.dialog-content p{font-size:13px;color:var(--muted);margin:0 0 24px;line-height:1.5}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:11px;font-weight:600;color:#aab5bc;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea{background:#0d1115;border:1px solid var(--border);border-radius:6px;padding:10px 12px;color:var(--text);font-family:Inter,sans-serif;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group textarea{resize:vertical;min-height:80px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.dialog-btn-cancel{background:transparent;color:var(--muted);border:1px solid var(--border);padding:10px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.dialog-btn-cancel:hover{color:var(--text);border-color:#3a454d}.dialog-btn-submit{background:var(--accent);color:var(--accent-ink);border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;transition:all .2s}.dialog-btn-submit:hover{background:#e2fc4f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.app-shell{min-height:760px;overflow:auto}.panel{inset:12px 12px auto;width:auto;max-height:53vh;padding:20px}.panel.closed{transform:translateY(calc(-100% - 24px))}.panel-toggle{top:12px;min-width:82px;min-height:34px;writing-mode:horizontal-tb;transform:none}.panel-toggle.open{left:auto;right:22px}.panel-toggle.closed{left:12px;right:auto}.panel-toggle strong{font-size:9px}.panel-toggle span{font-size:20px;transform:rotate(90deg)}.stage{position:fixed;inset:0}.stage-label{display:none}.fallback-view{padding:54vh 18px 70px}.controls-hint{right:12px;bottom:12px}}
