@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin-400-normal-C38fXH4l.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin-500-normal-Cerq10X2.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--phoenix-void:#040709;--phoenix-glass:#080d12b8;--phoenix-glass-strong:#0a1016db;--phoenix-border:#94b4cc2e;--phoenix-border-active:#dceefc7a;--frost-green:#3bff6e;--electric-cyan:#39dfff;--polar-silver:#eef6fc;--slate-secondary:#98aebf;--slate-muted:#5d7485;--font-display:"Space Grotesk", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--font-sans:"Inter", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--phoenix-void);width:100%;height:100%;color:var(--polar-silver);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overflow:hidden}.phoenix-stage{background:#040709;width:100vw;height:100dvh;position:relative;overflow:hidden}#forge-webgl-canvas{cursor:grab;touch-action:none;z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}#forge-webgl-canvas:active{cursor:grabbing}.phoenix-vignette-overlay{pointer-events:none;z-index:2;background:radial-gradient(circle at 50% 48%,#0000 56%,#0204068c 100%);position:absolute;inset:0}.phoenix-hud{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;padding:.9rem 1.25rem;display:flex;position:absolute;inset:0}.phoenix-topbar,.phoenix-dock,.phoenix-tech-panel,.phoenix-restore-ui-btn{pointer-events:auto;transition:opacity .28s,transform .28s}body.is-ui-hidden .phoenix-topbar,body.is-ui-hidden .phoenix-dock,body.is-ui-hidden .phoenix-tech-panel{opacity:0;pointer-events:none;transform:translateY(6px)}.phoenix-topbar{z-index:30;background:var(--phoenix-glass);border:1px solid var(--phoenix-border);-webkit-backdrop-filter:blur(16px);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.48rem;padding:.42rem .72rem;display:flex;position:relative}.phoenix-brand__link{color:var(--polar-silver);align-items:center;gap:.65rem;text-decoration:none;display:flex}.phoenix-brand__titles{flex-direction:column;gap:.05rem;display:flex}.phoenix-brand__name{font-family:var(--font-display);letter-spacing:.1em;color:#fff;font-size:.84rem;font-weight:700}.phoenix-brand__sub{font-family:var(--font-mono);letter-spacing:.09em;color:var(--slate-secondary);font-size:.58rem}.phoenix-direction-switch{background:#04070ac7;border:1px solid #94b4cc38;border-radius:8px;align-items:center;gap:.16rem;padding:.15rem;display:inline-flex}.phoenix-dir-btn{color:var(--slate-secondary);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.61rem;font-weight:600;transition:all .18s;display:inline-flex}.phoenix-dir-btn:hover{color:#fff;background:#ffffff0a}.phoenix-dir-btn.is-active{color:#fff;background:#e2f2ff1c;border-color:#dceefc6b;box-shadow:0 2px 12px #00000059}.phoenix-dir-btn__dot{border-radius:50%;width:7px;height:7px}.phoenix-dir-btn__dot--a{background:var(--frost-green);box-shadow:0 0 8px var(--frost-green)}.phoenix-dir-btn__dot--b{background:var(--electric-cyan);box-shadow:0 0 8px var(--electric-cyan)}.phoenix-dir-btn__dot--c{background:#fff;box-shadow:0 0 8px #c8eeff}.phoenix-dir-btn__dot--d{background:#58b8ff;box-shadow:0 0 8px #58b8ff}.phoenix-dir-btn__dot--e{background:#ffe8a8;box-shadow:0 0 8px #ffe8a8}.phoenix-utilities{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.phoenix-pill{border:1px solid var(--phoenix-border);color:var(--polar-silver);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:#060a0ec7;border-radius:6px;justify-content:center;align-items:center;padding:.28rem .5rem;font-size:.6rem;font-weight:500;text-decoration:none;transition:all .16s;display:inline-flex}.phoenix-pill:hover{border-color:var(--phoenix-border-active);color:#fff}.phoenix-pill.is-active{border-color:var(--frost-green);color:var(--frost-green);background:#3bff6e1a}.phoenix-pill--cta{color:#fff;background:linear-gradient(135deg,#3bff6e29,#39dfff24);border-color:#3bff6e7a;font-weight:700}.phoenix-pill--cta:hover{border-color:var(--frost-green);background:linear-gradient(135deg,#3bff6e42,#39dfff38)}.phoenix-audio-group{border:1px solid var(--phoenix-border);background:#04070acc;border-radius:6px;align-items:center;gap:.35rem;padding:.12rem .42rem .12rem .14rem;display:inline-flex}.phoenix-audio-group .phoenix-pill{background:0 0;border:none;padding:.24rem .45rem}.phoenix-volume-slider{appearance:none;cursor:pointer;background:#94b4cc47;border-radius:999px;outline:none;width:56px;height:4px}.phoenix-volume-slider::-webkit-slider-thumb{appearance:none;background:var(--polar-silver);cursor:pointer;border:1px solid #040709;border-radius:50%;width:11px;height:11px}.phoenix-volume-out{font-family:var(--font-mono);color:var(--slate-secondary);text-align:right;min-width:26px;font-size:.58rem}.phoenix-quality-group{border:1px solid var(--phoenix-border);background:#04070ad1;border-radius:6px;align-items:center;gap:.12rem;padding:.12rem;display:inline-flex}.phoenix-q-btn{color:var(--slate-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.22rem .42rem;font-size:.6rem}.phoenix-q-btn.is-active{color:#fff;background:#e2f2ff29;font-weight:700}.phoenix-restore-ui-btn{z-index:25;color:var(--slate-secondary);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05090da6;border:1px solid #94b4cc33;border-radius:5px;padding:.28rem .58rem;font-size:.58rem;position:fixed;top:4.85rem;right:1.25rem}.phoenix-restore-ui-btn:hover{color:#fff;border-color:var(--phoenix-border-active)}.phoenix-tech-panel{z-index:20;background:var(--phoenix-glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;border:1px solid #39dfff52;border-radius:9px;flex-direction:column;gap:.55rem;width:290px;padding:.7rem .85rem;display:flex;position:fixed;top:4.85rem;left:1.25rem}.phoenix-tech-panel[hidden]{display:none!important}.phoenix-tech-panel__head{border-bottom:1px solid #94b4cc29;justify-content:space-between;align-items:center;padding-bottom:.35rem;display:flex}.phoenix-tech-panel__title{font-family:var(--font-mono);letter-spacing:.08em;color:var(--electric-cyan);font-size:.62rem;font-weight:700}.phoenix-tech-panel__badge{font-family:var(--font-mono);color:var(--frost-green);background:#3bff6e24;border-radius:4px;padding:.1rem .38rem;font-size:.58rem}.phoenix-tech-grid{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.phoenix-tech-item{background:#030609b8;border:1px solid #94b4cc24;border-radius:5px;flex-direction:column;gap:.1rem;padding:.32rem .45rem;display:flex}.phoenix-tech-item--wide{grid-column:span 3}.phoenix-tech-item span{font-family:var(--font-mono);color:var(--slate-muted);letter-spacing:.06em;font-size:.54rem}.phoenix-tech-item strong{font-family:var(--font-mono);color:#fff;font-size:.68rem}.phoenix-dock{background:var(--phoenix-glass);border:1px solid var(--phoenix-border);-webkit-backdrop-filter:blur(16px);border-radius:12px;grid-template-columns:1.25fr 1.35fr 1.1fr;align-items:center;gap:1rem;padding:.68rem 1rem;display:grid}.phoenix-dock__narrative{flex-direction:column;gap:.22rem;min-width:0;display:flex}.phoenix-dock__eyebrow{font-family:var(--font-mono);letter-spacing:.08em;color:var(--frost-green);font-size:.62rem;font-weight:700}.phoenix-dock__desc{color:var(--slate-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;line-height:1.35;overflow:hidden}.phoenix-part-readout{font-family:var(--font-mono);color:var(--polar-silver);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;margin-top:.1rem;font-size:.61rem;display:flex;overflow:hidden}.phoenix-part-readout__dot{background:var(--electric-cyan);border-radius:50%;flex-shrink:0;width:6px;height:6px}.phoenix-part-readout__sep{color:var(--slate-muted)}#phoenix-part-spec{color:var(--slate-secondary);text-overflow:ellipsis;overflow:hidden}.phoenix-dock__camera{border-left:1px solid #94b4cc24;border-right:1px solid #94b4cc24;flex-direction:column;gap:.36rem;padding:0 .9rem;display:flex}.phoenix-dock__section-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.phoenix-dock__label{font-family:var(--font-mono);letter-spacing:.07em;color:var(--slate-secondary);font-size:.58rem}.phoenix-reset-btn{color:var(--electric-cyan);font-family:var(--font-mono);cursor:pointer;background:#39dfff14;border:1px solid #39dfff57;border-radius:4px;padding:.18rem .48rem;font-size:.58rem;font-weight:600;transition:all .15s}.phoenix-reset-btn:hover{color:#fff;background:#39dfff33}.phoenix-cam-presets{grid-template-columns:repeat(4,1fr);gap:.32rem;display:grid}.phoenix-cam-btn{color:var(--slate-secondary);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;text-align:center;background:#04080cc7;border:1px solid #94b4cc33;border-radius:5px;padding:.34rem .42rem;font-size:.6rem;transition:all .15s}.phoenix-cam-btn:hover{border-color:var(--phoenix-border-active);color:#fff}.phoenix-cam-btn.is-active{color:#fff;background:#e2f2ff24;border-color:#fff;font-weight:700}.phoenix-dock__sculpture{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.phoenix-disassembly-control{flex-direction:column;flex:1;gap:.28rem;display:flex}.phoenix-disassembly-head{font-family:var(--font-mono);color:var(--slate-secondary);justify-content:space-between;align-items:center;font-size:.6rem;display:flex}.phoenix-disassembly-head output{color:var(--electric-cyan);font-weight:700}.phoenix-disassembly-row{align-items:center;gap:.45rem;display:flex}#slider-disassembly{appearance:none;cursor:pointer;background:linear-gradient(90deg,#94b4cc4d,#3bff6ea6);border-radius:999px;outline:none;flex:1;height:5px}#slider-disassembly::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border:2px solid #040709;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #3bff6ecc}.phoenix-mini-btn{color:var(--polar-silver);font-family:var(--font-mono);cursor:pointer;background:#060b10d9;border:1px solid #94b4cc47;border-radius:4px;padding:.24rem .48rem;font-size:.58rem}.phoenix-mini-btn:hover{border-color:var(--frost-green);color:var(--frost-green)}.phoenix-pulse-group{flex-direction:column;align-items:stretch;gap:.2rem;display:flex}.phoenix-pulse-badge{font-family:var(--font-mono);letter-spacing:.08em;text-align:center;color:var(--electric-cyan);background:#060c12c7;border:1px solid #39dfff40;border-radius:4px;padding:.1rem .35rem;font-size:.54rem;font-weight:700}.phoenix-pulse-badge.is-active{color:#040709;background:var(--frost-green);border-color:#fff}.phoenix-impulsion-btn{color:#fff;font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#3bff6e38,#39dfff2e);border:1px solid #3bff6e8c;border-radius:7px;padding:.5rem .85rem;font-size:.65rem;font-weight:700;transition:all .18s;box-shadow:0 4px 18px #0006}.phoenix-impulsion-btn:hover{background:linear-gradient(135deg,#3bff6e57,#39dfff4d);border-color:#fff;transform:translateY(-1px)}.phoenix-modal-backdrop{z-index:45;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#03060abd;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.phoenix-modal-backdrop[hidden]{display:none!important}.phoenix-modal{background:#0a1118f0;border:1px solid #94b4cc52;border-radius:14px;flex-direction:column;gap:1rem;width:100%;max-width:560px;padding:1.35rem 1.5rem;display:flex;box-shadow:0 24px 64px #000000bf}.phoenix-modal__head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.phoenix-modal__head h2{font-family:var(--font-display);color:#fff;letter-spacing:.04em;font-size:1.05rem}.phoenix-modal__lead{color:var(--slate-secondary);font-size:.84rem;line-height:1.5}.phoenix-modal__worlds{font-family:var(--font-mono);color:var(--polar-silver);background:#04080cb8;border:1px solid #94b4cc29;border-radius:8px;flex-direction:column;gap:.42rem;padding:.75rem .9rem;font-size:.68rem;display:flex}.phoenix-modal__worlds strong{color:var(--frost-green)}.phoenix-modal__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.a11y-stage{z-index:50;color:var(--polar-silver);background:#040709;padding:1.5rem;position:fixed;inset:0;overflow-y:auto}.a11y-stage[hidden]{display:none!important}.a11y-stage__inner{flex-direction:column;gap:1.5rem;max-width:1080px;margin:0 auto;display:flex}.a11y-stage__banner{border:1px solid var(--phoenix-border);font-family:var(--font-mono);background:#0a1118e6;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.15rem;font-size:.74rem;display:flex}.a11y-stage__dot{background:var(--frost-green);border-radius:50%;width:9px;height:9px}.a11y-stage__grid{grid-template-columns:360px 1fr;align-items:center;gap:1.5rem;display:grid}.a11y-stage__visualizer{border:1px solid var(--phoenix-border);background:#080d12e6;border-radius:12px;padding:1rem}.a11y-svg{width:100%;height:auto;display:block}.a11y-stage__info{flex-direction:column;gap:1rem;display:flex}.a11y-stage__title{font-family:var(--font-display);color:#fff;font-size:1.6rem}.a11y-stage__subtitle{color:var(--slate-secondary);font-size:.92rem;line-height:1.5}.a11y-labs-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.a11y-lab-card{border:1px solid var(--phoenix-border);background:#090f15d9;border-radius:8px;flex-direction:column;gap:.35rem;padding:.9rem;display:flex}.a11y-lab-card__code{font-family:var(--font-mono);color:var(--frost-green);font-size:.65rem}.a11y-lab-card__desc{color:var(--slate-secondary);font-size:.78rem}@media (max-width:1120px){.phoenix-dock{grid-template-columns:1fr;gap:.55rem;padding:.55rem .75rem}.phoenix-dock__camera{border:1px solid #94b4cc24;border-left:none;border-right:none;padding:.42rem 0}.phoenix-dock__desc{display:none}}@media (max-width:768px){.phoenix-hud{padding:.3rem .4rem}.phoenix-topbar{gap:.24rem;padding:.24rem .4rem}.phoenix-brand__sub,#btn-a11y-toggle,#btn-lighting-mode,#btn-open-about,.phoenix-dock__narrative,.phoenix-pulse-badge{display:none}.phoenix-direction-switch{scrollbar-width:none;order:3;justify-content:space-between;width:100%;padding:.08rem;overflow-x:auto}.phoenix-direction-switch::-webkit-scrollbar{display:none}.phoenix-dir-btn{flex:1 0 auto;justify-content:center;gap:.22rem;padding:.2rem .24rem;font-size:.5rem}.phoenix-dir-btn__dot{width:5px;height:5px}.phoenix-pill{padding:.2rem .36rem;font-size:.54rem}.phoenix-volume-slider,.phoenix-volume-out,.phoenix-restore-ui-btn{display:none}.phoenix-dock{gap:.3rem;padding:.35rem .45rem}.phoenix-dock__camera{border-top:none;gap:.2rem;padding:0 0 .24rem}.phoenix-dock__label{font-size:.5rem}.phoenix-cam-presets{grid-template-columns:repeat(4,1fr);gap:.18rem}.phoenix-cam-btn{padding:.2rem .15rem;font-size:.5rem}.phoenix-impulsion-btn{padding:.34rem .5rem;font-size:.54rem}.a11y-stage__grid{grid-template-columns:1fr}}
