:root{color-scheme:dark;--ink:#061018;--panel:#0a1a24;--panel-2:#102630;--panel-3:#18343d;--cream:#f2e8c9;--cream-dim:#b9b093;--cyan:#6ee7e0;--cyan-strong:#a3fff7;--amber:#ffbd47;--amber-strong:#ffe096;--coral:#ff6b5f;--coral-strong:#ffaaa1;--green:#7ddc96;--steel:#66828c;--line:rgba(177,220,225,0.19);--shadow:rgba(0,0,0,0.48);--radius:8px;font-family:"IBM Plex Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-synthesis:none}*{box-sizing:border-box}html,body{min-height:100%;margin:0;background:radial-gradient(circle at 50% -10%,rgba(69,158,166,0.18),transparent 48rem),linear-gradient(180deg,#0a1a22 0%,#03090d 72%);color:var(--cream)}body{min-width:320px;overflow-x:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid var(--amber-strong);outline-offset:3px}button:disabled{opacity:0.38;cursor:not-allowed}.console-shell{min-height:100vh;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;position:relative;isolation:isolate}.console-shell::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:0.45;background-image:linear-gradient(rgba(255,255,255,0.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.015) 1px,transparent 1px);background-size:5px 5px;mask-image:linear-gradient(to bottom,black,transparent 80%)}.console-header{min-height:70px;padding:10px clamp(12px,2vw,28px);display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(230px,1fr);align-items:center;gap:16px;background:linear-gradient(180deg,#173039,#0b1a22);border-bottom:1px solid rgba(206,238,238,0.2);box-shadow:0 8px 30px var(--shadow),inset 0 -1px rgba(0,0,0,0.65)}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--cream);text-decoration:none;width:max-content}.brand img{filter:drop-shadow(0 0 12px rgba(110,231,224,0.3))}.brand span{display:grid;gap:2px}.brand strong{font-size:clamp(1rem,1.8vw,1.32rem);letter-spacing:0.14em}.brand small{color:var(--cream-dim);font-size:0.64rem;letter-spacing:0.17em}.header-status{min-width:176px;display:flex;justify-content:center;align-items:center;gap:10px;color:var(--cream-dim);font-size:0.72rem;letter-spacing:0.12em}.status-lamp{width:11px;height:11px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px #071119,0 0 14px var(--amber)}.status-lamp.live{background:var(--green);box-shadow:0 0 0 3px #071119,0 0 14px var(--green)}.status-lamp.danger{background:var(--coral);box-shadow:0 0 0 3px #071119,0 0 18px var(--coral)}.header-actions{justify-self:end;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.text-button,.icon-button,.secondary-button,.primary-button,.dialog-close{border:1px solid rgba(191,229,231,0.24);border-radius:5px;background:linear-gradient(180deg,rgba(32,67,77,0.95),rgba(12,31,39,0.98));box-shadow:inset 0 1px rgba(255,255,255,0.07),0 3px 10px rgba(0,0,0,0.22);cursor:pointer}.text-button,.icon-button{min-height:34px;padding:7px 10px;font-size:0.66rem;letter-spacing:0.09em}.text-button:hover,.icon-button:hover,.secondary-button:hover{border-color:var(--cyan);color:var(--cyan-strong)}.console-main{display:grid;grid-template-columns:minmax(210px,250px) minmax(480px,1fr) minmax(220px,280px);gap:clamp(10px,1.25vw,18px);align-items:start;width:min(1700px,100%);margin:0 auto;padding:clamp(12px,1.6vw,24px)}.readout-column,.log-column{display:grid;gap:10px}.reactor-column{min-width:0;display:grid;gap:12px}.mission-card,.meter-card,.heat-card,.fault-monitor,.event-monitor,.control-stack{background:linear-gradient(135deg,rgba(255,255,255,0.035),transparent 30%),linear-gradient(180deg,rgba(18,43,53,0.98),rgba(7,20,27,0.98));border:1px solid rgba(190,228,230,0.16);border-radius:var(--radius);box-shadow:inset 0 1px rgba(255,255,255,0.05),0 8px 22px rgba(0,0,0,0.22)}.mission-card{padding:18px;position:relative;overflow:hidden}.mission-card::after{content:"";position:absolute;width:80px;height:80px;right:-24px;bottom:-28px;border:10px double rgba(110,231,224,0.08);border-radius:50%}.eyebrow{margin:0 0 7px;color:var(--amber);font-size:0.63rem;font-weight:700;letter-spacing:0.14em}.mission-card h1{margin:0;font-size:clamp(1.45rem,2.2vw,2rem);letter-spacing:-0.04em}.mission-card p:not(.eyebrow){margin:9px 0 0;color:#c8d4cf;font-family:system-ui,sans-serif;font-size:0.88rem;line-height:1.48}.edition-chip{margin-top:16px;width:max-content;max-width:100%;padding:6px 8px;border:1px solid rgba(255,189,71,0.34);color:var(--amber-strong);font-size:0.6rem;letter-spacing:0.1em}.meter-card,.heat-card{padding:14px}.readout-heading,.readout-row,.panel-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.readout-heading span,.readout-row span,.panel-heading span{color:var(--cream-dim);font-size:0.62rem;letter-spacing:0.1em}.readout-heading strong{color:var(--cyan-strong);font-size:0.78rem}.readout-row{padding:8px 0;border-bottom:1px solid rgba(190,228,230,0.09)}.readout-row:last-child{border-bottom:0}.readout-row strong{font-size:0.78rem;letter-spacing:0.04em}.meter-track{height:13px;margin:10px 0 7px;padding:2px;background:#02080c;border:1px solid #33505a;border-radius:3px;overflow:hidden}.meter-fill{height:100%;width:0%;background:repeating-linear-gradient(90deg,var(--cyan),var(--cyan) 7px,#2e8c8b 7px,#2e8c8b 10px);box-shadow:0 0 10px rgba(110,231,224,0.5);transition:width 180ms linear}.heat-card{border-color:rgba(255,189,71,0.2)}.heat-card.danger{border-color:rgba(255,107,95,0.6);box-shadow:inset 0 0 30px rgba(255,107,95,0.08),0 8px 22px rgba(0,0,0,0.22)}.heat-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin:10px 0 8px}.heat-scale span{height:7px;background:#203740;border-radius:2px}.heat-card[data-band="1"] .heat-scale span:nth-child(-n+2),.heat-card[data-band="2"] .heat-scale span:nth-child(-n+3),.heat-card[data-band="3"] .heat-scale span:nth-child(-n+4),.heat-card[data-band="4"] .heat-scale span{background:var(--amber);box-shadow:0 0 8px rgba(255,189,71,0.45)}.heat-card[data-band="4"] .heat-scale span:nth-child(n+4){background:var(--coral)}.heat-card p{margin:0;color:#aebeb9;font-family:system-ui,sans-serif;font-size:0.78rem;line-height:1.4}.reactor-frame{position:relative;min-height:clamp(390px,62vh,720px);overflow:hidden;border-radius:12px;border:2px solid #36505a;background:radial-gradient(circle at 50% 48%,rgba(74,144,147,0.12),transparent 46%),linear-gradient(155deg,#0c1d25,#030a0f 72%);box-shadow:inset 0 0 0 7px #071118,inset 0 0 0 8px rgba(192,224,224,0.15),inset 0 0 70px rgba(0,0,0,0.52),0 18px 45px rgba(0,0,0,0.4)}.reactor-frame::before,.reactor-frame::after{content:"";position:absolute;z-index:3;pointer-events:none;width:10px;height:10px;border-radius:50%;top:12px;background:radial-gradient(circle at 35% 35%,#b9c7c4,#43545a 38%,#061015 70%);box-shadow:0 calc(clamp(390px,62vh,720px) - 26px) 0 #46575c}.reactor-frame::before{left:13px}.reactor-frame::after{right:13px}.frame-label{position:absolute;z-index:4;top:16px;color:rgba(211,225,217,0.48);font-size:0.58rem;letter-spacing:0.13em;pointer-events:none}.frame-label.top-left{left:34px}.frame-label.top-right{right:34px}#reactorCanvas{display:block;width:100%;height:100%;min-height:inherit;touch-action:none;cursor:crosshair}.canvas-callout{position:absolute;left:50%;bottom:23px;z-index:6;translate:-50% 8px;padding:8px 12px;border:1px solid rgba(110,231,224,0.45);border-radius:4px;background:rgba(5,16,22,0.92);color:var(--cyan-strong);font-size:0.68rem;letter-spacing:0.08em;opacity:0;pointer-events:none;transition:opacity 120ms,translate 120ms}.canvas-callout.show{opacity:1;translate:-50% 0}.canvas-callout.danger{color:var(--coral-strong);border-color:rgba(255,107,95,0.6)}.paused-plate{position:absolute;z-index:8;left:50%;top:50%;translate:-50% -50%;width:min(360px,calc(100% - 40px));padding:20px;display:grid;gap:8px;text-align:center;background:rgba(5,15,21,0.94);border:1px solid rgba(255,189,71,0.55);box-shadow:0 14px 45px rgba(0,0,0,0.5),inset 0 0 35px rgba(255,189,71,0.05);border-radius:7px}.paused-plate[hidden]{display:none}.paused-plate strong{color:var(--amber-strong);letter-spacing:0.11em}.paused-plate span{color:#bbc9c4;font-family:system-ui,sans-serif;font-size:0.85rem}.primary-button,.secondary-button{min-height:42px;padding:10px 14px;font-size:0.71rem;font-weight:800;letter-spacing:0.09em}.primary-button{border-color:#81ece5;background:linear-gradient(180deg,#4ca8a5,#226967);color:#031010;box-shadow:inset 0 1px rgba(255,255,255,0.32),0 0 18px rgba(110,231,224,0.15)}.primary-button:hover{filter:brightness(1.12)}.tool-rack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(190px,1.05fr);gap:8px}.tool-button,.emergency-button{min-height:74px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;padding:9px;text-align:left;border:1px solid rgba(190,228,230,0.16);border-radius:7px;background:linear-gradient(180deg,#142c35,#091820);cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,0.05),0 5px 16px rgba(0,0,0,0.2)}.tool-button:hover{border-color:rgba(110,231,224,0.62)}.tool-button.selected{border-color:var(--cyan);background:linear-gradient(180deg,#1d4650,#0a2028);box-shadow:inset 0 0 18px rgba(110,231,224,0.08),0 0 16px rgba(110,231,224,0.08)}.tool-key{align-self:start;padding:3px 5px;border:1px solid rgba(232,238,222,0.24);color:var(--cream-dim);font-size:0.55rem;border-radius:3px}.tool-symbol{width:28px;height:28px;display:block;position:relative}.cable-symbol::before{content:"";position:absolute;left:2px;right:2px;top:13px;height:4px;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.cable-symbol::after{content:"";position:absolute;inset:6px;border:3px solid var(--cream);border-radius:50%}.capacitor-symbol{border:3px solid var(--amber);border-radius:50%;box-shadow:inset 0 0 0 4px #0c2028,inset 0 0 0 7px var(--amber)}.insulator-symbol::before{content:"";position:absolute;inset:3px 7px;border:3px solid var(--cream);transform:skew(-12deg);background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(255,189,71,0.8) 4px 7px)}.tool-button strong,.emergency-button strong{display:block;margin-bottom:4px;font-size:0.68rem;letter-spacing:0.08em}.tool-button small,.emergency-button small{display:block;color:#aebdb8;font-family:system-ui,sans-serif;font-size:0.69rem;line-height:1.28}.emergency-button{grid-template-columns:auto 1fr;border-color:rgba(255,107,95,0.58);background:linear-gradient(180deg,#4b2426,#211216)}.emergency-button:hover{border-color:var(--coral-strong);box-shadow:inset 0 0 20px rgba(255,107,95,0.12),0 0 20px rgba(255,107,95,0.12)}.emergency-button .tool-key{color:var(--coral-strong);border-color:rgba(255,107,95,0.45)}.fault-monitor,.event-monitor{overflow:hidden}.panel-heading{padding:11px 12px;background:rgba(0,0,0,0.16);border-bottom:1px solid rgba(190,228,230,0.1)}.panel-heading strong{color:var(--cyan);font-size:0.65rem}.fault-list{min-height:108px;padding:9px;display:grid;gap:7px;align-content:start}.empty-state{margin:0;padding:18px 7px;color:#7f9594;text-align:center;font-family:system-ui,sans-serif;font-size:0.75rem}.fault-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px;background:#0a171d;border:1px solid rgba(255,107,95,0.24);border-radius:5px}.fault-glyph{width:24px;height:24px;display:grid;place-items:center;color:var(--coral-strong);border:1px solid var(--coral);transform:rotate(45deg)}.fault-glyph span{transform:rotate(-45deg);font-size:0.58rem}.fault-card strong{display:block;color:var(--coral-strong);font-size:0.65rem}.fault-card small{display:block;margin-top:3px;color:#aebdb8;font-size:0.6rem}.fault-card output{color:var(--amber-strong);font-size:0.62rem}.event-monitor{min-height:250px}.event-log{margin:0;padding:8px;list-style:none;display:grid;gap:3px;max-height:300px;overflow:auto}.event-log li{display:grid;grid-template-columns:34px 1fr;gap:7px;padding:6px;border-bottom:1px solid rgba(190,228,230,0.06);color:#aebdb8;font-size:0.61rem;line-height:1.35}.event-log time{color:#607b82}.event-log li.danger span,.event-log li.fault span{color:var(--coral-strong)}.event-log li.success span{color:var(--green)}.event-log li.cut span,.event-log li.tool span{color:var(--amber-strong)}.event-log li.connect span{color:var(--cyan-strong)}.control-stack{padding:8px;gap:7px}.control-stack .secondary-button{width:100%}.console-footer{min-height:34px;padding:8px clamp(12px,2vw,28px);display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(12px,3vw,34px);color:#809497;background:#050d12;border-top:1px solid rgba(190,228,230,0.12);font-size:0.55rem;letter-spacing:0.08em}#saveStatus{color:var(--green)}.panel-dialog,.result-dialog{width:min(930px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0;color:var(--cream);border:1px solid #41606a;border-radius:10px;background:#07141b;box-shadow:0 30px 100px rgba(0,0,0,0.72),inset 0 0 60px rgba(47,107,112,0.07)}.panel-dialog::backdrop,.result-dialog::backdrop{background:rgba(1,6,9,0.82);backdrop-filter:blur(5px)}.compact-dialog{width:min(620px,calc(100vw - 24px))}.dialog-shell,.result-shell{padding:clamp(16px,3vw,28px)}.dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:18px}.dialog-header h2,.result-shell h2{margin:0;font-size:clamp(1.4rem,3vw,2rem)}.dialog-close{width:38px;height:38px;font-size:1.4rem}.level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.level-card{min-height:108px;padding:12px;text-align:left;color:inherit;border:1px solid rgba(190,228,230,0.16);border-radius:6px;background:linear-gradient(180deg,#122934,#08161d);cursor:pointer}.level-card:hover:not(:disabled),.level-card.current{border-color:var(--cyan)}.level-card.locked{filter:saturate(0.2)}.level-card small{display:block;color:var(--amber);margin-bottom:7px;font-size:0.58rem;letter-spacing:0.1em}.level-card strong{display:block;margin-bottom:6px;font-size:0.8rem}.level-card span{color:#aebdb8;font-family:system-ui,sans-serif;font-size:0.68rem;line-height:1.3}.level-card .medal-mini{margin-top:8px;color:var(--amber-strong)}.endless-panel{margin-top:16px;padding:15px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.5fr) minmax(160px,.6fr) auto;gap:12px;align-items:end;border:1px solid rgba(255,189,71,0.25);background:rgba(255,189,71,0.035);border-radius:7px}.endless-panel p{margin:6px 0 0;color:#aebdb8;font-family:system-ui,sans-serif;font-size:.74rem;line-height:1.35}.endless-panel label{display:grid;gap:6px;color:var(--cream-dim);font-size:.62rem;letter-spacing:.08em}.endless-panel input[type="text"],.endless-panel input:not([type]){width:100%}.endless-panel input{padding:9px;color:var(--cream);background:#030a0e;border:1px solid #36525c;border-radius:4px}.endless-panel output{color:var(--amber-strong)}.toggle-row{min-height:68px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(190,228,230,0.1)}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{margin-bottom:5px;font-size:.78rem}.toggle-row small{color:#aebdb8;font-family:system-ui,sans-serif;font-size:.75rem;line-height:1.35}.toggle-row input{width:22px;height:22px;accent-color:var(--cyan)}.compact-dialog .primary-button{width:100%;margin-top:18px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guide-grid article{position:relative;min-height:140px;padding:16px;overflow:hidden;border:1px solid rgba(190,228,230,0.13);background:linear-gradient(145deg,#112832,#07141a);border-radius:7px}.guide-grid h3{margin:0 0 8px;font-size:.88rem}.guide-grid p{margin:0;color:#b8c7c1;font-family:system-ui,sans-serif;font-size:.78rem;line-height:1.45}.guide-number{position:absolute;right:10px;top:5px;color:rgba(110,231,224,.13);font-size:2.8rem;font-weight:900}.legend{margin:14px 0;display:flex;flex-wrap:wrap;gap:14px;padding:12px;border:1px solid rgba(190,228,230,.1)}.legend span{display:flex;align-items:center;gap:7px;color:#aebdb8;font-size:.65rem}.legend-node{width:15px;height:15px;display:block;border:2px solid var(--cream)}.legend-node.core{transform:rotate(45deg);background:var(--cyan)}.legend-node.source{border-radius:50%;background:var(--cyan)}.legend-node.amp{transform:rotate(45deg);background:var(--amber)}.legend-node.stabilizer{border-radius:50%;background:var(--green);box-shadow:inset 0 0 0 3px #07141b}.legend-line{width:24px;height:4px;display:block}.legend-line.powered{background:var(--cyan);box-shadow:0 0 7px var(--cyan)}.legend-line.danger{background:repeating-linear-gradient(90deg,var(--coral) 0 5px,transparent 5px 8px)}.guide-shell>.primary-button{width:100%}.result-dialog{width:min(520px,calc(100vw - 24px));text-align:center}.medal-emblem{width:94px;height:94px;margin:8px auto 16px;display:grid;place-items:center;border:3px double var(--amber);border-radius:50%;color:var(--amber-strong);font-size:2.4rem;background:radial-gradient(circle,rgba(255,189,71,.12),transparent 65%);box-shadow:0 0 28px rgba(255,189,71,.15)}.medal-emblem.failure{border-color:var(--coral);color:var(--coral-strong);background:radial-gradient(circle,rgba(255,107,95,.12),transparent 65%)}.result-shell>p:not(.eyebrow){color:#b8c7c1;font-family:system-ui,sans-serif;line-height:1.5}.result-stats{margin:18px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-stat{padding:11px;border:1px solid rgba(190,228,230,.12);background:#091920;border-radius:5px}.result-stat strong,.result-stat small{display:block}.result-stat strong{margin-bottom:5px;color:var(--cyan-strong);font-size:1rem}.result-stat small{color:#82999a;font-size:.57rem;letter-spacing:.08em}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}body.high-contrast{--cyan:#a8fff8;--amber:#ffd36f;--coral:#ff8278}body.high-contrast .reactor-frame{border-color:#8baab0}body.reduced-motion *,body.reduced-motion *::before,body.reduced-motion *::after{animation-duration:0.001ms !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}@media (max-width:1180px){.console-header{grid-template-columns:1fr auto}.header-status{display:none}.console-main{grid-template-columns:minmax(200px,230px) minmax(430px,1fr)}.log-column{grid-column:1 / -1;grid-template-columns:1fr 1.2fr minmax(190px,.55fr)}.event-monitor{min-height:0}.event-log{max-height:190px}.tool-rack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.console-header{grid-template-columns:1fr;gap:8px}.header-actions{justify-self:stretch;justify-content:stretch}.header-actions button{flex:1}.console-main{grid-template-columns:1fr;padding:8px}.readout-column{grid-template-columns:1fr 1fr}.mission-card{grid-column:1 / -1}.heat-card{grid-column:1 / -1}.reactor-frame{min-height:58vh}.log-column{grid-column:auto;grid-template-columns:1fr}.tool-rack{grid-template-columns:1fr 1fr}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.endless-panel{grid-template-columns:1fr 1fr}.endless-panel>div,.endless-panel .primary-button{grid-column:1 / -1}}@media (max-width:520px){.brand small{display:none}.readout-column{grid-template-columns:1fr}.mission-card,.heat-card{grid-column:auto}.reactor-frame{min-height:480px}.frame-label{display:none}.tool-rack{grid-template-columns:1fr}.tool-button,.emergency-button{min-height:66px}.level-grid,.guide-grid{grid-template-columns:1fr}.endless-panel{grid-template-columns:1fr}.endless-panel>*{grid-column:auto !important}.result-stats{grid-template-columns:1fr}.console-footer{justify-content:flex-start}}