:root{--bg:#0f0f0d;--panel:#1b1a16;--panel-strong:#242119;--line:#39352b;--text:#f3efe2;--muted:#b9b19f;--dim:#7e7769;--green:#58d98d;--green-soft:rgba(88,217,141,0.14);--amber:#f5b84b;--amber-soft:rgba(245,184,75,0.16);--red:#ff5b55;--red-soft:rgba(255,91,85,0.14);--blue:#60cfff;--blue-soft:rgba(96,207,255,0.13);--yellow:#f9db5b;--yellow-soft:rgba(249,219,91,0.15);--shadow:0 18px 60px rgba(0,0,0,0.34)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.18)),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{color:inherit}.shell{min-height:100vh;padding:18px;display:grid;grid-template-rows:auto minmax(0,1fr) 255px;grid-gap:14px;gap:14px}.panel,.terminalPanel,.topBar{border:1px solid var(--line);background:rgba(27,26,22,.94);box-shadow:var(--shadow)}.topBar{min-height:78px;border-radius:8px;padding:14px 18px;display:grid;grid-template-columns:1fr auto auto auto auto;align-items:center;grid-gap:16px;gap:16px}.topBar h1,.topBar p{margin:0}.topBar p{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:0}.topBar h1{margin-top:2px;font-size:clamp(1.7rem,2.5vw,2.65rem);line-height:1}.tutorialToggle{min-width:130px;height:38px;border:1px solid rgba(96,207,255,.45);border-radius:8px;background:var(--blue-soft);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.82rem;font-weight:800;cursor:pointer;white-space:nowrap}.tutorialToggle:hover{border-color:var(--blue);background:rgba(96,207,255,.2)}.timeControls{min-height:38px;border:1px solid var(--line);border-radius:8px;background:#171611;padding:4px;display:inline-grid;grid-template-columns:auto repeat(3,minmax(40px,auto));gap:4px}.timeControls button{min-width:40px;height:28px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-size:.76rem;font-weight:900;white-space:nowrap}.timeControls .active,.timeControls button:hover{border-color:rgba(245,184,75,.65);background:var(--amber-soft);color:var(--text)}.statusPill{min-width:170px;height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:.78rem;font-weight:800;color:var(--muted);white-space:nowrap}.statusPill span{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}.status-won span{background:var(--yellow);box-shadow:0 0 14px var(--yellow)}.status-lost span{background:var(--red);box-shadow:0 0 14px var(--red)}.status-paused span{background:var(--amber);box-shadow:0 0 14px var(--amber)}.clock{min-width:110px;text-align:right}.clock span{display:block;color:var(--muted);font-size:.75rem}.clock strong{font-size:1.35rem}.gameGrid{min-height:0;display:grid;grid-template-columns:minmax(270px,.95fr) minmax(420px,1.65fr) minmax(280px,.95fr);grid-gap:14px;gap:14px}.panel{min-height:0;border-radius:8px;padding:14px;overflow:hidden}.panelHeader{min-height:32px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.panelHeader h2,.sectionBlock h3{margin:0;font-size:.83rem;text-transform:uppercase;color:var(--text);letter-spacing:0}.panelHeader span{color:var(--muted);font-size:.78rem;white-space:nowrap}.metricsPanel,.opsPanel{overflow-y:auto}.metricGrid{display:grid;grid-template-columns:1fr;grid-gap:9px;gap:9px}.accountBox{border:1px solid rgba(96,207,255,.36);border-radius:8px;background:rgba(96,207,255,.08);padding:11px;margin-bottom:12px}.accountTitle{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px}.accountTitle>svg{color:var(--blue)}.accountField span,.accountTitle span,.personalScores>span{display:block;color:var(--muted);font-size:.74rem;text-transform:uppercase}.accountTitle strong{display:block;margin-top:2px;font-size:1rem;overflow-wrap:anywhere}.accountStats{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.accountStats div{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:8px}.accountStats span,.accountStats strong{display:block}.accountStats span{color:var(--muted);font-size:.68rem}.accountStats strong{margin-top:2px;font-size:.9rem;overflow-wrap:anywhere}.accountField{display:grid;grid-gap:6px;gap:6px;margin-top:10px}.accountCreate input,.accountField select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:7px;background:#171611;color:var(--text);padding:0 9px;outline:0}.accountCreate{margin-top:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:7px;gap:7px}.accountActions button,.accountCreate button,.endBanner button{min-height:36px;border:1px solid var(--line);border-radius:7px;background:#242119;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-size:.78rem;font-weight:800;white-space:nowrap}.accountActions{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.accountActions button:hover,.accountCreate button:hover,.endBanner button:hover{border-color:var(--amber);background:#302b20}.personalScores{border-top:1px solid var(--line);margin-top:10px;padding-top:9px}.personalScores p{margin:5px 0 0;color:var(--muted);font-size:.78rem}.financeBox{border:1px solid rgba(249,219,91,.38);border-radius:8px;background:var(--yellow-soft);padding:11px;margin-bottom:12px}.financeHeader{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px}.financeHeader>svg{color:var(--yellow)}.financeGrid span,.financeHeader span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase}.financeHeader strong{display:block;margin-top:2px;font-size:1.1rem;overflow-wrap:anywhere}.financeHeader .profit{color:var(--green)}.financeHeader .loss{color:var(--red)}.financeGrid{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.financeGrid div{min-height:50px;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.14);padding:8px}.financeGrid strong{display:block;margin-top:3px;font-size:.9rem;overflow-wrap:anywhere}.financeBox p{margin:9px 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}.metric{min-height:58px;border:1px solid var(--line);border-left-width:4px;background:var(--panel-strong);padding:10px;grid-template-columns:34px minmax(0,1fr);align-items:center;grid-gap:9px;gap:9px}.metric,.metricIcon{border-radius:8px;display:grid}.metricIcon{width:34px;height:34px;place-items:center;background:rgba(255,255,255,.05)}.metric span{display:block;color:var(--muted);font-size:.74rem}.metric strong{margin-top:2px;display:flex;align-items:baseline;gap:4px;min-width:0;font-size:clamp(1.02rem,1.5vw,1.3rem);line-height:1.05;overflow-wrap:anywhere}.metric small{color:var(--dim);font-size:.68rem}.metric-stable{border-left-color:var(--green)}.metric-warning{border-left-color:var(--amber)}.metric-danger{border-left-color:var(--red)}.plantPanel{display:grid;grid-template-rows:auto minmax(320px,1fr) auto}.schematic{position:relative;min-height:330px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 0),#14130f;background-size:34px 34px;display:grid;grid-template-columns:.75fr .22fr 1fr .22fr .85fr .22fr .8fr;align-items:center;grid-gap:0;gap:0;padding:26px;overflow:hidden}.schematicDanger{box-shadow:inset 0 0 0 2px rgba(255,91,85,.3)}.gridNode,.reactor,.turbineVisual{position:relative;z-index:1;min-height:142px;border:1px solid var(--line);border-radius:8px;background:#211f1a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}.gridNode span,.reactor span,.turbineVisual span{color:var(--muted);font-size:.78rem;text-transform:uppercase}.gridNode strong,.reactor strong,.turbineVisual strong{font-size:clamp(1.05rem,1.7vw,1.42rem);overflow-wrap:anywhere}.leftNode{border-color:rgba(96,207,255,.48);background:var(--blue-soft)}.rightNode{border-color:rgba(249,219,91,.52);background:var(--yellow-soft)}.pipe{height:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background-size:36px 12px;animation:pipeFlow 1s linear infinite}.pipeCool{background-image:repeating-linear-gradient(90deg,var(--blue) 0 12px,transparent 12px 36px)}.pipeSteam{background-image:repeating-linear-gradient(90deg,#d8d4c9 0 10px,transparent 10px 34px)}.pipePower{background-image:repeating-linear-gradient(90deg,var(--yellow) 0 11px,transparent 11px 34px)}.reactor{min-height:230px;overflow:hidden}.reactorGlow{position:absolute;inset:18px 31%;border-radius:999px;background:linear-gradient(180deg,var(--yellow),var(--red));filter:blur(4px)}.rodBank{position:absolute;top:0;left:24%;width:52%;max-height:100%;background:repeating-linear-gradient(90deg,#b8c0bd 0 7px,transparent 7px 15px);opacity:.82;transition:height .35s ease}.reactor span,.reactor strong{position:relative;z-index:2;text-shadow:0 2px 14px rgba(0,0,0,.75)}.turbineVisual{min-height:188px}.fan{position:relative;width:72px;height:72px;border:8px solid rgba(255,255,255,.08);border-radius:50%;animation:spin 1.4s linear infinite}.fan span{position:absolute;left:50%;top:50%;width:10px;height:34px;border-radius:999px;background:var(--yellow);transform-origin:50% 0}.fan span:first-child{transform:rotate(0deg) translate(-50%)}.fan span:nth-child(2){transform:rotate(120deg) translate(-50%)}.fan span:nth-child(3){transform:rotate(240deg) translate(-50%)}.controlStrip{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.quickCommand{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#26231b;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--text);font-size:.82rem;font-weight:800;cursor:pointer}.quickCommand:hover,.terminalHeader button:hover,.upgradeGrid button:hover{border-color:rgba(245,184,75,.85);background:#302b20}.sectionBlock{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.sectionBlock:first-of-type{margin-top:0}.alertList{grid-gap:8px;margin-top:10px}.alert,.alertList{display:grid;gap:8px}.alert{min-height:39px;border:1px solid var(--line);border-radius:8px;padding:9px;grid-template-columns:18px minmax(0,1fr);grid-gap:8px;align-items:center;color:var(--muted)}.alert span{overflow-wrap:anywhere}.alert-stable{border-color:rgba(88,217,141,.42);background:var(--green-soft)}.alert-warning{border-color:rgba(245,184,75,.48);background:var(--amber-soft)}.alert-danger{border-color:rgba(255,91,85,.48);background:var(--red-soft)}.objectiveList{margin:10px 0 0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:.88rem}.objectiveList li{min-height:34px;border:1px solid var(--line);border-radius:8px;padding:8px 9px;overflow-wrap:anywhere}.objectiveList .done{border-color:rgba(88,217,141,.45);color:var(--green);background:var(--green-soft)}.upgradeGrid{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.upgradeGrid button{min-height:48px;border:1px solid var(--line);border-radius:8px;background:#242119;cursor:pointer;text-align:left;padding:9px}.upgradeGrid span,.upgradeGrid strong{display:block}.upgradeGrid span{color:var(--muted);text-transform:capitalize;font-size:.8rem}.upgradeGrid strong{margin-top:2px;font-size:.92rem}.eventBox p{margin:10px 0 0;color:var(--muted);font-size:.88rem;line-height:1.45}.eventBox strong{display:block;margin-bottom:4px;color:var(--text)}.endBanner{border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:12px;font-weight:800;line-height:1.35;display:grid;grid-gap:8px;gap:8px}.endBanner span,.endBanner strong{display:block}.end-won{border-color:rgba(249,219,91,.55);background:var(--yellow-soft)}.end-lost{border-color:rgba(255,91,85,.55);background:var(--red-soft)}.leaderboard{margin-top:10px;display:grid;grid-gap:7px;gap:7px}.leaderboard p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.4}.leaderRow{min-height:38px;border:1px solid var(--line);border-radius:8px;background:#242119;padding:8px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.leaderRow span{display:inline-flex;align-items:center;gap:4px;color:var(--amber);font-size:.76rem}.leaderRow strong{overflow-wrap:anywhere;font-size:.84rem}.leaderRow em{color:var(--text);font-style:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.activeLeader{border-color:rgba(96,207,255,.55);background:var(--blue-soft)}.tutorialBox{border:1px solid rgba(96,207,255,.42);border-radius:8px;background:linear-gradient(180deg,rgba(96,207,255,.09),rgba(255,255,255,.02)),#181713;padding:12px;margin-bottom:13px}.tutorialTitle{display:flex;align-items:center;gap:8px;color:var(--blue)}.tutorialTitle h3{margin:0;font-size:.86rem;text-transform:uppercase}.tutorialBox p{margin:9px 0 0;color:var(--muted);font-size:.86rem;line-height:1.42}.phaseBox{margin-top:11px;border:1px solid rgba(88,217,141,.36);border-radius:8px;background:var(--green-soft);padding:10px}.phaseBox span,.phaseBox strong{display:block}.phaseBox span{color:var(--green);font-size:.76rem;font-weight:900;text-transform:uppercase}.phaseBox strong{margin-top:3px;font-size:.92rem}.phaseBox p{margin-top:7px;font-size:.78rem}.phaseTrack{margin-top:9px;height:8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08)}.phaseTrack span{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--amber),var(--red))}.onboardingProgress{margin-top:10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:6px;gap:6px}.onboardingProgress span{height:7px;border-radius:999px;background:rgba(255,255,255,.1)}.onboardingProgress .active{background:var(--blue)}.onboardingProgress .done{background:var(--green)}.tutorialRuleGrid{margin-top:11px;display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.tutorialRuleGrid div{min-height:66px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);padding:8px}.tutorialRuleGrid span,.tutorialRuleGrid strong{display:block}.tutorialRuleGrid strong{color:var(--text);font-size:.82rem}.tutorialRuleGrid span{margin-top:3px;color:var(--muted);font-size:.76rem;line-height:1.25}.nextMove{margin-top:11px;border:1px solid rgba(245,184,75,.45);border-radius:8px;background:var(--amber-soft);padding:10px;display:grid;grid-template-columns:20px minmax(0,1fr);grid-gap:8px;gap:8px}.nextMove>svg{color:var(--amber);margin-top:2px}.nextMove span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase}.nextMove button{margin-top:6px;min-height:32px;width:100%;border:1px solid rgba(245,184,75,.7);border-radius:7px;background:#2b2519;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900;cursor:pointer}.nextMove p{margin-top:7px;font-size:.78rem}.tutorialCommands{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.tutorialCommands button{min-height:34px;border:1px solid var(--line);border-radius:7px;background:#242119;color:var(--muted);cursor:pointer;font-size:.76rem;font-weight:800}.nextMove button:hover,.tutorialCommands button:hover{border-color:var(--amber);background:#332a1a}.tutorialChecklist{margin:11px 0 0;padding:0;list-style:none;display:grid;grid-gap:7px;gap:7px}.tutorialChecklist li{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;grid-gap:7px;gap:7px;min-height:30px;color:var(--muted);font-size:.78rem}.tutorialChecklist svg{color:var(--dim)}.tutorialChecklist .done,.tutorialChecklist .done svg{color:var(--green)}.terminalPanel{min-height:0;border-radius:8px;display:grid;grid-template-rows:42px minmax(0,1fr) 44px;overflow:hidden}.terminalHeader{border-bottom:1px solid var(--line);padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#171611}.terminalHeader span{color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;font-weight:900}.terminalHeader div{display:inline-flex;gap:7px}.terminalHeader button{height:28px;border:1px solid var(--line);border-radius:6px;background:#242119;color:var(--muted);cursor:pointer;font-size:.74rem}.terminalLog{padding:10px 12px;overflow-y:auto;background:#10100d;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;line-height:1.45}.terminalLog p{margin:0 0 4px;color:#d9d3bf;overflow-wrap:anywhere}.terminalInput{border-top:1px solid var(--line);display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;background:#171611}.terminalInput span{color:var(--green);text-align:center;font-weight:900}.terminalInput input,.terminalInput span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.terminalInput input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--text)}.terminalInput input::placeholder{color:var(--dim)}@keyframes pipeFlow{to{background-position-x:36px}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1180px){.shell{grid-template-rows:auto auto 270px}.gameGrid{grid-template-columns:1fr 1fr}.plantPanel{grid-column:1/-1;order:-1}.metricGrid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.shell{padding:10px;grid-template-rows:auto auto 300px}.topBar{grid-template-columns:1fr;gap:10px}.statusPill,.timeControls,.tutorialToggle{width:100%}.timeControls{grid-template-columns:1.35fr repeat(3,1fr)}.clock{text-align:left}.gameGrid,.metricGrid,.schematic{grid-template-columns:1fr}.schematic{min-height:580px;grid-template-rows:repeat(7,auto);padding:16px}.pipe{width:12px;height:38px;justify-self:center;background-size:12px 36px}.controlStrip{grid-template-columns:1fr 1fr}.tutorialCommands,.tutorialRuleGrid{grid-template-columns:1fr}.quickCommand{min-height:44px}.terminalHeader{align-items:stretch;padding:7px 10px;min-height:62px;flex-direction:column}.terminalHeader div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}