@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2")}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}img,svg,canvas{max-width:100%;display:block}button,input,select{font:inherit}:root{--color-bg-void:#05070c;--color-bg-base:#070b14;--color-bg-elevated:#0c1220;--color-bg-overlay:#10182a;--color-star-white:#f5f7ff;--color-star-cyan-pale:#b9e3ff;--color-star-cyan-dim:#6fa8c9;--color-tech-gold:#e8b34d;--color-tech-gold-bright:#ffd37a;--color-signal-violet:#9b7ef0;--color-signal-violet-bright:#c4afff;--color-danger-red-fill:#c4463b;--color-danger-red-text:#e2685c;--color-text-primary:#e7ecf7;--color-text-secondary:#9aa7c2;--color-text-tertiary:#5c6785;--color-text-inverse:#0b0f1a;--color-focus-ring:#7fd1ff;--type-xs:.64rem;--type-sm:.8rem;--type-base:1rem;--type-md:1.25rem;--type-lg:1.563rem;--type-xl:1.953rem;--type-display:2.441rem;--font-interface:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-data:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--motion-birth:.9s;--motion-detect:1.4s;--motion-extinct:2.6s;--motion-ui:.18s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}body{background:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-interface);font-size:var(--type-base);line-height:1.5}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.opening{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100%;padding:2rem;display:flex}.opening-title{font-family:var(--font-display);font-size:var(--type-display);letter-spacing:.18em;color:var(--color-star-white);font-weight:300}.opening-line{font-size:var(--type-md);color:var(--color-text-secondary);max-width:34rem}.opening-tone{font-size:var(--type-sm);color:var(--color-text-secondary);max-width:34rem}.opening-footer{font-family:var(--font-data);font-size:var(--type-xs);color:var(--color-text-secondary);position:fixed;bottom:1rem}.app-shell{flex-direction:column;min-height:100%;display:flex}.skip-link{background:var(--color-bg-elevated);color:var(--color-text-primary);z-index:100;padding:.5rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:.5rem;left:.5rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.opening-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.button-primary{background:var(--color-tech-gold);color:var(--color-text-inverse);cursor:pointer;border:none;border-radius:6px;min-height:48px;padding:0 1.5rem;font-weight:600}.button-primary:hover{background:var(--color-tech-gold-bright)}.button-outline{color:var(--color-text-primary);border:1px solid var(--color-text-tertiary);cursor:pointer;background:0 0;border-radius:6px;min-height:48px;padding:0 1.5rem}.config-layout{flex:1;grid-template-columns:minmax(320px,440px) 1fr;min-height:0;display:grid}.config-canvas{background:var(--color-bg-base)}.control-rail{background:var(--color-bg-elevated);flex-direction:column;height:100%;min-height:0;padding:clamp(.75rem,1.6vh,1.25rem) 1.25rem;display:flex}.control-rail-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:clamp(.4rem,1.2vh,.9rem);display:flex}.control-rail-title{font-family:var(--font-display);font-size:var(--type-md);color:var(--color-star-white);font-weight:400}.control-scroll{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.control-list{flex-direction:column;flex:1 0 auto;justify-content:space-between;gap:clamp(.35rem,1.1vh,.85rem);display:flex}.control{flex-direction:column;gap:.2rem;display:flex}.control-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.control-label{font-weight:500;font-size:var(--type-base)}.control-value{font-family:var(--font-data);color:var(--color-tech-gold);font-size:var(--type-xs)}.control-explanation{font-size:var(--type-xs);color:var(--color-text-secondary);line-height:1.35}.control-effect{font-size:var(--type-xs);color:var(--color-text-tertiary);line-height:1.3}.control-slider-row{grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;display:grid}.control-rung{color:var(--color-text-tertiary);white-space:nowrap;font-size:.6rem}.control-rung-hi{text-align:right}.control-detail{font-size:var(--type-xs);color:var(--color-text-secondary);background:var(--color-bg-overlay);border-radius:4px;padding:.6rem;line-height:1.4}.detail-toggle,.control-advanced-toggle{color:var(--color-star-cyan-pale);cursor:pointer;font-size:var(--type-xs);background:0 0;border:none;padding:0;text-decoration:underline}.control input[type=range]{width:100%;accent-color:var(--color-tech-gold);margin:0}.control-footer{border-top:1px solid var(--color-bg-overlay);flex-direction:column;gap:.5rem;margin-top:clamp(.4rem,1.2vh,.9rem);padding-top:clamp(.4rem,1.2vh,.9rem);display:flex}.start-button{width:100%}.preset-label{font-size:var(--type-xs);color:var(--color-star-cyan-pale)}.sim-layout{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.status-bar{background:var(--color-bg-elevated);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.status-time{font-family:var(--font-data);font-size:var(--type-sm);color:var(--color-text-secondary)}.status-actions{flex-wrap:wrap;gap:.5rem;display:flex}.status-actions button,.transport button{background:var(--color-bg-overlay);color:var(--color-text-primary);cursor:pointer;border:1px solid #0000;border-radius:4px;min-height:40px;padding:.4rem .8rem}.status-actions button[aria-pressed=true],.speed-active{border-color:var(--color-tech-gold)!important;color:var(--color-tech-gold)!important}.galaxy-viewport{outline-offset:-2px;flex:1;min-height:300px;position:relative}.galaxy-viewport canvas{width:100%;height:100%}.transport{background:var(--color-bg-elevated);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.transport-playback,.transport-run,.speed-steps{flex-wrap:wrap;gap:.4rem;display:flex}.drawer{background:var(--color-bg-elevated);z-index:20;border-left:1px solid var(--color-bg-overlay);width:min(480px,92vw);padding:1.25rem;position:absolute;top:3rem;bottom:3.5rem;right:0;overflow-y:auto}.drawer-head{justify-content:space-between;align-items:center;display:flex}.ledger-list{font-size:var(--type-sm);color:var(--color-text-secondary);flex-direction:column;gap:.4rem;padding-left:1.25rem;display:flex}.ledger-year{font-family:var(--font-data);color:var(--color-text-secondary)}.report-headline{font-family:var(--font-display);font-size:var(--type-xl);margin:1.5rem 0}.report-group{border-top:1px solid var(--color-bg-overlay);margin-bottom:1.25rem;padding-top:.75rem}.report-group h3{font-size:var(--type-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em}.metric-row{justify-content:space-between;gap:1rem;padding:.3rem 0;display:flex}.metric-row dt{color:var(--color-text-secondary);font-size:var(--type-sm)}.metric-row dd{font-family:var(--font-data)}.report-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.report-actions button{background:var(--color-bg-overlay);color:var(--color-text-primary);cursor:pointer;border:none;border-radius:4px;min-height:44px;padding:.5rem 1rem}.dialog-scrim{z-index:50;background:#05070cbf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog{background:var(--color-bg-elevated);border-radius:8px;flex-direction:column;gap:1rem;width:100%;max-width:560px;max-height:85vh;padding:1.5rem;display:flex;overflow-y:auto}.dialog input[type=text]{background:var(--color-bg-base);width:100%;color:var(--color-text-primary);border:1px solid var(--color-bg-overlay);font-family:var(--font-data);font-size:var(--type-sm);border-radius:4px;padding:.6rem}.dialog button{background:var(--color-bg-overlay);color:var(--color-text-primary);cursor:pointer;border:none;border-radius:4px;min-height:44px;padding:.5rem 1rem}.preset-list{gap:.5rem;padding:0;list-style:none;display:grid}.preset-card{text-align:left;background:var(--color-bg-overlay);width:100%;color:var(--color-text-primary);cursor:pointer;border:1px solid #0000;border-radius:6px;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.preset-card:hover{border-color:var(--color-tech-gold)}.preset-name{font-family:var(--font-display);font-size:var(--type-md)}.preset-description{font-size:var(--type-sm);color:var(--color-text-secondary)}.ledger-empty{color:var(--color-text-secondary);font-size:var(--type-sm)}.app-footer{font-size:var(--type-xs);font-family:var(--font-data);color:var(--color-text-secondary);background:var(--color-bg-base);flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;padding:.5rem;display:flex}.app-footer a{color:var(--color-star-cyan-pale)}@media (max-width:720px){.config-layout{grid-template-columns:1fr}.config-canvas{display:none}.drawer{border-left:none;border-top:1px solid var(--color-bg-overlay);width:100%;max-height:70vh;inset:auto 0 0}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.footer-link{color:var(--color-star-cyan-pale);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.education-sections section,.about-versions{border-top:1px solid var(--color-bg-overlay);margin-top:.5rem;padding-top:.5rem}.education-toggle{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--type-md);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:.25rem 0}.education-paragraph,.about-line{font-size:var(--type-sm);color:var(--color-text-secondary);margin:.5rem 0;line-height:1.6}.degraded-note{font-size:var(--type-xs);color:var(--color-text-secondary);background:#0c1220cc;border-radius:4px;max-width:90%;padding:.3rem .6rem;position:absolute;bottom:.5rem;left:.5rem}.button-primary,.button-outline,.preset-card,.status-actions button,.transport button{transition:background var(--motion-ui) var(--ease-out), border-color var(--motion-ui) var(--ease-out), color var(--motion-ui) var(--ease-out)}.drawer{animation:drawer-in var(--motion-detect) var(--ease-out)}@keyframes drawer-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.about-toggles{flex-direction:column;gap:.75rem;margin:1rem 0;display:flex}.toggle-row{font-size:var(--type-sm);color:var(--color-text-secondary);cursor:pointer;align-items:flex-start;gap:.6rem;line-height:1.5;display:flex}.toggle-row input{accent-color:var(--color-tech-gold);min-width:18px;min-height:18px;margin-top:.2rem}.keymap dt{color:var(--color-text-primary)}.keymap dd{font-family:var(--font-data);color:var(--color-tech-gold)}.keyboard-help h3{font-size:var(--type-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-top:.5rem}.contact-flash{z-index:30;text-align:center;pointer-events:none;animation:contact-rise 3.2s var(--ease-out) forwards;position:absolute;top:22%;left:50%;transform:translate(-50%)}.contact-flash-glow{width:320px;height:320px;animation:contact-pulse 3.2s var(--ease-out) forwards;background:radial-gradient(circle,#c4afff80 0%,#9b7ef040 35%,#9b7ef000 70%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-flash-title{font-family:var(--font-display);font-size:var(--type-xl);letter-spacing:.14em;color:var(--color-signal-violet-bright);text-transform:uppercase;position:relative}.contact-flash-sub{font-size:var(--type-sm);color:var(--color-text-primary);margin-top:.25rem;position:relative}@keyframes contact-rise{0%{opacity:0;transform:translate(-50%)translateY(16px)}15%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-10px)}}@keyframes contact-pulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}30%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}.button-startover{border-color:var(--color-tech-gold)!important;color:var(--color-tech-gold)!important}.opening-hero{background:radial-gradient(at 68% 45%,#0b1424 0%,#060912 55%,#04060d 100%);flex:1;min-height:0;position:relative;overflow:hidden}.hero-galaxy{z-index:0;position:absolute;inset:0}.hero-galaxy canvas{width:100%;height:100%}.opening-scrim{z-index:1;pointer-events:none;background:linear-gradient(100deg,#04060deb 0%,#04060db8 34%,#04060d26 58%,#04060d00 78%);position:absolute;inset:0}.opening-content{z-index:2;flex-direction:column;justify-content:center;gap:.6rem;max-width:40rem;height:100%;padding:clamp(1.25rem,4vw,3.5rem);display:flex;position:relative;overflow-y:auto}.opening-eyebrow{font-family:var(--font-data);font-size:var(--type-xs);letter-spacing:.28em;text-transform:uppercase;color:var(--color-signal-violet-bright)}.opening-hero .opening-title{font-family:var(--font-display);letter-spacing:.12em;color:var(--color-star-white);text-align:left;margin-bottom:.1rem;font-size:clamp(2rem,5vw,3.1rem);font-weight:300;line-height:1.02}.opening-hero .opening-line{font-size:var(--type-md);color:var(--color-text-primary);max-width:32rem}.opening-explainer{font-size:var(--type-base);color:var(--color-text-secondary);max-width:34rem;line-height:1.6}.opening-explainer-2{color:var(--color-text-tertiary)}@media (max-height:780px){.opening-explainer-2{display:none}.opening-content{gap:.5rem}}.opening-steps{gap:.4rem;max-width:34rem;margin:.4rem 0;padding:0;list-style:none;display:grid}.opening-step{background:#0c122066;border-left:2px solid #9b7ef066;border-radius:0 6px 6px 0;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:baseline;column-gap:.9rem;padding:.4rem .75rem;display:grid}.opening-step-n{font-family:var(--font-data);font-size:var(--type-md);color:var(--color-tech-gold);grid-row:1/3;align-self:center}.opening-step-title{color:var(--color-text-primary);font-weight:600}.opening-step-body{font-size:var(--type-sm);color:var(--color-text-secondary)}.opening-hero .opening-actions{justify-content:flex-start;margin-top:.4rem}.opening-hero .opening-tone{font-size:var(--type-sm);color:var(--color-text-tertiary);text-align:left;max-width:32rem}.anim-in{opacity:0;animation:slide-in .8s var(--ease-out) forwards;transform:translateY(18px)}@keyframes slide-in{to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.opening-scrim{background:linear-gradient(#04060d8c 0%,#04060ddb 45%,#04060df2 100%)}.opening-content{justify-content:flex-end;padding-bottom:2rem}}@media (prefers-reduced-motion:reduce){.anim-in{opacity:1;animation:none;transform:none}}.config-canvas{background:radial-gradient(at 50% 45%,#0b1424 0%,#060912 60%,#04060d 100%);position:relative;overflow:hidden}.config-canvas-hint{text-align:center;font-family:var(--font-data);font-size:var(--type-xs);letter-spacing:.12em;color:var(--color-text-tertiary);z-index:2;position:absolute;bottom:1.25rem;left:0;right:0}.advanced-section{border-top:1px solid var(--color-bg-overlay);flex-shrink:0;margin-top:.6rem;padding-top:.6rem}.control-advanced-toggle{align-items:center;gap:.4rem;display:inline-flex}.adv-badge{font-family:var(--font-data);background:var(--color-tech-gold);color:var(--color-text-inverse);border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;font-size:.6rem;text-decoration:none;display:inline-flex}.advanced-controls{flex-direction:column;gap:.7rem;margin-top:.7rem;display:flex}.adv-control{flex-direction:column;gap:.25rem;display:flex}.adv-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.adv-label{font-size:var(--type-sm);color:var(--color-text-primary)}.adv-value{font-family:var(--font-data);font-size:var(--type-xs);color:var(--color-tech-gold)}.adv-control input[type=range]{width:100%;accent-color:var(--color-signal-violet);margin:0}.adv-segment{grid-template-columns:repeat(4,1fr);gap:.3rem;display:grid}.adv-segment button{background:var(--color-bg-overlay);color:var(--color-text-secondary);font-family:var(--font-data);font-size:var(--type-xs);cursor:pointer;border:1px solid #0000;border-radius:4px;min-height:34px;padding:.35rem 0}.adv-seg-active{border-color:var(--color-signal-violet)!important;color:var(--color-signal-violet-bright)!important}.adv-reset{align-self:flex-start;margin-top:.2rem}
