.page-sim{position:relative;z-index:2;max-width:1140px;margin:0 auto;padding:56px 24px 100px}.sim-intro{text-align:center;padding:16px 0 40px}.sim-intro h1{font-family:var(--mono);font-size:clamp(1.9rem,4vw,2.8rem);font-weight:600;letter-spacing:-.03em;color:var(--ink);text-shadow:0 0 40px rgba(200,160,60,.2)}.sim-intro p{margin-top:12px;font-size:.85rem;color:var(--dim);max-width:62ch;margin-left:auto;margin-right:auto;line-height:1.65}.scenario-picker{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.scenario-card{flex:1;min-width:270px;max-width:420px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:26px 24px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:border-color .2s,transform .2s,background .2s;text-align:left}.scenario-card:hover{transform:translateY(-2px)}.scenario-card.fission{border-top:3px solid var(--chem-gold)}.scenario-card.fission:hover{border-color:#ffb02e80}.scenario-card.fusion{border-top:3px solid var(--chem-radio)}.scenario-card.fusion:hover{border-color:#00e06a80}.scenario-icon{width:52px;height:52px}.scenario-name{font-family:var(--mono);font-size:1.15rem;font-weight:600;color:var(--ink)}.scenario-sub{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.scenario-desc{font-size:.8rem;color:var(--dim);line-height:1.6}.scenario-meta{font-family:var(--mono);font-size:.6rem;color:var(--ink-dim);display:flex;gap:16px;margin-top:2px;flex-wrap:wrap}.scenario-start{margin-top:6px;align-self:flex-start;font-family:var(--mono);font-size:.68rem;padding:8px 16px;border-radius:6px;border:1px solid;background:none;cursor:pointer;transition:background .15s}.scenario-card.fission .scenario-start{color:var(--chem-gold);border-color:#ffb02e66}.scenario-card.fission .scenario-start:hover{background:#ffb02e1f}.scenario-card.fusion .scenario-start{color:var(--chem-radio);border-color:#00e06a66}.scenario-card.fusion .scenario-start:hover{background:#00e06a1f}.hidden{display:none!important}.sim-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.sim-title-wrap{display:flex;flex-direction:column;gap:2px}.sim-title{font-family:var(--mono);font-size:1.3rem;font-weight:600;color:var(--ink)}.sim-sub{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.sim-goal{font-family:var(--mono);font-size:.7rem;color:var(--dim);flex:1;min-width:180px}.btn-switch{font-family:var(--mono);font-size:.62rem;color:var(--ink-dim);border:1px solid var(--line);background:none;padding:7px 13px;border-radius:5px;cursor:pointer;transition:color .15s,border-color .15s}.btn-switch:hover{color:var(--ink);border-color:var(--ink-dim)}.sim-progress-wrap{display:flex;align-items:center;gap:12px;margin-bottom:24px}.sim-progress-track{flex:1;height:8px;border-radius:4px;background:var(--panel);border:1px solid var(--line);overflow:hidden}.sim-progress-fill{height:100%;width:0%;background:var(--sim-accent,var(--chem-gold));transition:width .3s linear}.sim-progress-label{font-family:var(--mono);font-size:.6rem;color:var(--ink-dim);white-space:nowrap;min-width:80px;text-align:right}.sim-layout{display:grid;grid-template-columns:300px 1fr 280px;gap:20px;align-items:start;margin-bottom:24px}.reactor-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:16px}#reactor-canvas{border-radius:8px;max-width:100%;height:auto}.stability-bar-wrap{width:100%}.stability-label{font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:5px;display:flex;justify-content:space-between}.stability-track{height:8px;border-radius:4px;background:var(--panel);border:1px solid var(--line);overflow:hidden}.stability-fill{height:100%;width:100%;background:var(--chem-radio);transition:width .3s,background .3s}.gauge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:start}.gauge-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.gauge-key{font-family:var(--mono);font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}.gauge-val{font-family:var(--mono);font-size:1.15rem;font-weight:600;color:var(--ink);white-space:nowrap}.gauge-bar{height:5px;border-radius:3px;background:var(--panel);margin-top:8px;overflow:hidden}.gauge-bar-fill{height:100%;width:0%;transition:width .25s,background .25s;background:var(--chem-gold)}.controls-panel{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:16px}.controls-title{font-family:var(--mono);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:-6px}.control-row{display:flex;flex-direction:column;gap:5px}.control-head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.66rem;color:var(--ink);gap:8px}.control-head span:last-child{color:var(--ink-dim);flex-shrink:0}.control-hint{font-size:.6rem;color:var(--ink-dim);line-height:1.4}input[type=range].control-slider{-webkit-appearance:none;width:100%;height:4px;border-radius:2px;background:var(--panel);accent-color:var(--sim-accent,var(--chem-gold));cursor:pointer}.control-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.ctrl-btn{font-family:var(--mono);font-size:.62rem;padding:8px 12px;border-radius:6px;border:1px solid;cursor:pointer;background:none;transition:background .15s;flex:1;min-width:110px}.ctrl-btn.fuel{color:var(--ink);border-color:var(--line)}.ctrl-btn.fuel:hover:not(:disabled){border-color:var(--ink-dim);background:var(--panel)}.ctrl-btn.emergency{color:var(--chem-decay);border-color:#f576}.ctrl-btn.emergency:hover:not(:disabled){background:#ff55771f}.ctrl-btn:disabled{opacity:.35;cursor:default}.city-wrap{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:18px}#city-canvas{width:100%;height:120px;display:block;border-radius:6px}#chart-canvas{width:100%;height:100px;display:block;margin-top:10px}.city-caption{font-family:var(--mono);font-size:.6rem;color:var(--ink-dim);margin-top:10px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.city-caption b{color:var(--ink);font-weight:600}.log-wrap{font-family:var(--mono);font-size:.64rem;color:var(--ink-dim);display:flex;flex-direction:column-reverse;gap:0;max-height:120px;overflow-y:auto;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:4px 14px}.log-entry{padding:6px 0;border-bottom:1px solid var(--line)}.log-entry:first-child{border-bottom:none}.log-entry.warn{color:var(--chem-decay)}.log-entry.good{color:var(--chem-radio)}.log-entry .log-t{color:var(--ink-dim);margin-right:8px}.end-overlay{position:fixed;inset:0;z-index:50;background:#050402c7;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.end-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:36px 32px;max-width:440px;width:100%;text-align:center}.end-title{font-family:var(--mono);font-size:1.4rem;font-weight:600;margin-bottom:12px}.end-title.success{color:var(--chem-radio)}.end-title.fail{color:var(--chem-decay)}.end-body{font-size:.82rem;color:var(--dim);line-height:1.65;margin-bottom:22px}.end-stats{display:flex;justify-content:center;gap:22px;margin-bottom:24px;flex-wrap:wrap}.end-stat-val{font-family:var(--mono);font-size:1.15rem;font-weight:600;color:var(--ink)}.end-stat-key{font-family:var(--mono);font-size:.52rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.end-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.end-btn{font-family:var(--mono);font-size:.68rem;padding:9px 18px;border-radius:6px;border:1px solid;cursor:pointer;background:none;transition:background .15s}.end-btn.primary{color:#fff;background:var(--sim-accent,var(--chem-gold));border-color:transparent}.end-btn.ghost{color:var(--ink-dim);border-color:var(--ink-dim)}.end-btn.ghost:hover{color:var(--ink)}@media (max-width:960px){.sim-layout{grid-template-columns:1fr 1fr}.reactor-wrap{grid-column:1/-1}}@media (max-width:640px){.sim-layout{grid-template-columns:1fr}}
