.steam-layout{grid-template:"plant desk"minmax(0,1fr)"chart desk"218px/minmax(0,1fr) 348px}.plant-panel{grid-area:plant}.chart-panel{grid-area:chart}.desk-panel{grid-area:desk;overflow-y:auto}.log-head{z-index:1;background:var(--panel);border-top:1px solid var(--line);margin-top:auto;position:sticky;top:0}#plant,#trend{flex:1;width:100%;min-height:0;display:block}.output-block{border-bottom:1px solid var(--line);flex-shrink:0;padding:12px 14px 10px}.output-main{align-items:baseline;gap:7px;display:flex}.output-value{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--accent-bright);font-size:40px;font-weight:700;line-height:1;transition:color .2s}.output-value.on-target{color:var(--ok)}.output-value.off-target{color:var(--warn)}.output-value.offline{color:var(--danger)}.output-unit{font-size:var(--fs-body);color:var(--text-dim)}.output-target{font-size:var(--fs-small);color:var(--text-dim);margin-top:6px}.output-target strong{font-family:var(--mono);color:var(--text)}#output-gap.low,#output-gap.high{color:var(--warn)}#output-gap.good{color:var(--ok)}.controls{flex-direction:column;flex-shrink:0;gap:14px;padding:12px 14px 4px;display:flex}.lever-head{align-items:baseline;gap:10px;margin-bottom:5px;display:flex}.lever-label{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);font-weight:650}.lever-value{font-family:var(--mono);font-size:var(--fs-small);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.lever-track{align-items:center;gap:7px;display:flex}.lever-track input[type=range]{min-width:0;accent-color:var(--accent);cursor:pointer;flex:1;height:22px}.lever-track input[type=range]:disabled{cursor:default;opacity:.5}.btn.lever-step{font-size:var(--fs-body);flex-shrink:0;padding:2px 10px;line-height:1.3}.lever-note{font-size:var(--fs-micro);color:var(--text-dim);margin:5px 0 0;line-height:1.45}.btn.scram{border-color:var(--danger);width:100%;color:var(--danger);margin-top:2px;font-weight:600}.btn.scram:hover:not(:disabled){background:var(--danger);color:var(--accent-ink)}.btn.scram:disabled{opacity:.45;cursor:default}.meters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-shrink:0;grid-template-columns:1fr 1fr;gap:9px 12px;padding:11px 14px 12px}.meters dd{font-size:var(--fs-body)}.meters dd.warn{color:var(--warn)}.meters dd.danger{color:var(--danger)}.meters dd.ok{color:var(--ok)}.stat.nuke-only{display:none}.steam-layout[data-plant=nuclear] .stat.nuke-only{display:block}.coach-line{font-size:var(--fs-small);color:var(--text-dim);border-bottom:1px solid var(--line);margin:0;padding:11px 14px 13px;line-height:1.5}.coach-line strong{color:var(--text)}.coach-line.warn strong{color:var(--warn)}.coach-line.danger strong{color:var(--danger)}.desk-panel #log{font-size:var(--fs-small);flex-direction:column;gap:7px;margin:0;padding:9px 14px 14px;list-style:none;display:flex}.desk-panel #log li{border-bottom:1px solid var(--line-soft);gap:8px;padding-bottom:7px;line-height:1.45;display:flex}.desk-panel #log li:last-child{border-bottom:none}#log .t{font-family:var(--mono);color:var(--text-faint);font-size:var(--fs-micro);flex-shrink:0}#log .info{color:var(--text-dim)}#log .warn{color:var(--warn)}#log .critical{color:var(--danger);font-weight:600}.legend-swatch.sw-target{background:var(--ok)}.legend-swatch.sw-actual{background:var(--accent-bright)}.legend-swatch.sw-pressure{background:var(--warn)}.fuel-tag{font-size:var(--fs-micro);font-family:var(--mono);vertical-align:2px;color:var(--accent-ink);border-radius:999px;margin-left:9px;padding:1px 8px;font-weight:600}.fuel-coal{background:var(--coal)}.fuel-gas_cc{background:var(--gas-cc)}.fuel-nuclear{background:var(--nuclear)}.steam-headline{font-size:var(--fs-lead);margin:10px 0 0}.steam-footnote{margin-top:16px;line-height:1.5;font-size:var(--fs-micro)!important;color:var(--text-faint)!important}@media (max-width:1180px){.steam-layout{grid-template:"plant"380px"desk""chart"260px/minmax(0,1fr);overflow-y:auto}html,body{overflow:auto}#app{height:auto;min-height:100vh}.desk-panel{overflow:visible}.log-head{position:static}.topbar{flex-wrap:wrap;gap:12px}}
