.station-dialog{color:#17211d;background:#edf5e9;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:clip}.station-dialog::backdrop{background:#071a15d6}.station-room{--station-accent:#f59e0b;--station-soft:#fff1c7;background:radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--station-accent), transparent 78%), transparent 30rem), linear-gradient(145deg, #fffaf0, #edf5e9 54%, #dcefeb);grid-template-rows:auto auto auto minmax(0,1fr) auto auto;width:100%;height:100%;display:grid;overflow:hidden}.gridkeeper[data-station-open=converter] .station-room{--station-accent:#38bdf8;--station-soft:#dff5fb}.gridkeeper[data-station-open=wind] .station-room{--station-accent:#4ca67a;--station-soft:#dff1e6}.gridkeeper[data-station-open=longline] .station-room{--station-accent:#d89024;--station-soft:#fff0cf}.gridkeeper[data-station-open=lantern] .station-room{--station-accent:#ee8f35;--station-soft:#ffead6}.gridkeeper[data-station-open=harbor] .station-room{--station-accent:#247a70;--station-soft:#d9efeb}.station-room-header{z-index:4;backdrop-filter:blur(18px);background:#fffaf0e6;border-bottom:1px solid #17211d29;justify-content:space-between;align-items:center;gap:1rem;min-height:70px;padding:.65rem clamp(.75rem,2vw,1.5rem);display:flex;position:relative}.station-room-identity,.station-room-tools{align-items:center;gap:.65rem;display:flex}.station-room-identity{flex:auto;min-width:0}.station-room-identity>div{min-width:0}.station-room-tools{flex:none}.station-room-number{border:3px solid var(--station-accent);border-radius:50%;place-items:center;width:44px;height:44px;font-size:.76rem;font-weight:950;display:grid}.station-room-header h2{letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(1.18rem,2vw,1.65rem);line-height:1;overflow:hidden}.station-hud{background:#fffaf0a8;border-bottom:1px solid #17211d1f;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);align-items:end;gap:clamp(.8rem,3vw,2rem);padding:.8rem clamp(.8rem,3vw,2rem);display:grid}.station-phase-copy h3{letter-spacing:-.055em;margin:0;font-size:clamp(1.45rem,3vw,2.65rem);line-height:.98}.station-phase-copy>p:last-child{color:#60706a;max-width:72ch;margin:.45rem 0 0;font-size:clamp(.74rem,1.2vw,.92rem);line-height:1.45}.station-phase-track{counter-reset:phase;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.station-phase-track li{color:#60706a;counter-increment:phase;background:#fffaf0b8;border:1px solid #17211d24;border-radius:13px;min-height:52px;padding:.55rem .55rem .55rem 2rem;font-size:.65rem;font-weight:800;line-height:1.25;position:relative}.station-phase-track li:before{content:counter(phase);border:1px solid;border-radius:50%;place-items:center;width:1.1rem;height:1.1rem;font-size:.58rem;display:grid;position:absolute;top:.55rem;left:.55rem}.station-phase-track li[data-current]{border-color:var(--station-accent);color:#17211d;background:var(--station-soft)}.station-phase-track li[data-complete]{color:#0d4637;background:#e3f1e6}.station-phase-track li[data-complete]:before{color:#fffaf0;content:"✓";background:#146c53}.station-flow-context{margin:.55rem clamp(.8rem,3vw,2rem) 0}.station-restored-card{text-align:center;background:#fffaf0f5;border:1px solid #146c534d;border-radius:30px;grid-row:2/-1;place-self:center;width:min(640px,100% - 2rem);padding:clamp(1.4rem,4vw,2.6rem);box-shadow:0 28px 80px #0d463733}.restoration-mark{color:#fffaf0;background:#146c53;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 1rem;font-size:2rem;font-weight:950;display:grid;box-shadow:0 0 0 12px #146c531f}.station-restored-card h3{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,5vw,3.7rem);line-height:.95}.station-restored-card>p:not(.gridkeeper-kicker){color:#60706a;max-width:54ch;margin:1rem auto;line-height:1.55}.restored-route{color:#0d4637;background:#e3f1e6;border-radius:999px;align-items:center;gap:.55rem;margin:.5rem auto 1.2rem;padding:.65rem .85rem;font-size:.78rem;display:inline-flex}.restoration-actions{justify-content:center;gap:.65rem;display:flex}.station-apparatus-shell{overscroll-behavior:contain;min-height:0;padding:clamp(.7rem,2vw,1.35rem);display:grid;overflow:auto}.gridkeeper-page .station-apparatus-shell{min-height:0}.challenge-apparatus{background:linear-gradient(#fffaf0eb,#fffaf0eb),repeating-linear-gradient(90deg,#0000 0 38px,#17211d0d 38px 39px);border:1px solid #17211d29;border-radius:28px;align-content:center;width:min(1160px,100%);min-height:100%;margin:auto;padding:clamp(.75rem,2vw,1.4rem);display:grid;position:relative;box-shadow:0 22px 58px #0d463724,inset 0 0 0 6px #ffffff73}.apparatus-stage-label,.rack-label{color:#146c53;letter-spacing:.09em;text-transform:uppercase;font-size:.65rem;font-weight:900}.station-piece,.station-socket,.scale-pan,.market-period{color:#17211d;min-height:48px;font:inherit;cursor:pointer;background:#fffaf0;border:1px solid #17211d38;border-radius:13px;padding:.6rem .72rem;font-size:.72rem;font-weight:850;line-height:1.25;transition:transform .13s,border-color .13s,box-shadow .13s;box-shadow:0 5px #17211d1a}.station-piece:hover:not(:disabled),.station-socket:hover:not(:disabled),.scale-pan:hover:not(:disabled),.market-period:hover:not(:disabled){border-color:var(--station-accent);box-shadow:0 7px 0 color-mix(in srgb, var(--station-accent), transparent 74%);transform:translateY(-2px)}.station-piece:focus-visible,.station-socket:focus-visible,.scale-pan:focus-visible,.market-period:focus-visible{outline-offset:3px;outline:3px solid #38bdf8}.station-piece[aria-pressed=true]{border-color:var(--station-accent);background:var(--station-soft);box-shadow:0 5px 0 color-mix(in srgb, var(--station-accent), transparent 60%)}.station-piece:disabled{cursor:not-allowed;opacity:.5}.station-piece strong,.station-piece small,.station-socket span,.scale-pan small,.scale-pan strong,.market-period span,.market-period strong{display:block}.station-piece small,.scale-pan small,.market-period small{color:#60706a;margin-top:.16rem;font-size:.6rem;font-weight:700}.station-tray,.piece-choice-row,.station-action-row,.crank-actions,.load-weight-rack,.route-cards,.line-voltage-choice{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.station-tray{background:#f7f3e8c7;border:1px dashed #17211d33;border-radius:18px;padding:.65rem}.station-drag-piece{cursor:grab}.station-room[data-dragging] [data-drop-action]{border-color:var(--station-accent);background:var(--station-soft);border-style:dashed}.station-touch-hint{color:#60706a;text-align:center;margin:.55rem 0 0;font-size:.62rem;font-weight:720}.station-lever{color:#fffaf0;background:#0d4637;border-color:#0d4637;box-shadow:0 6px #082e24}.station-feedback{background:#fffaf0eb;border-top:1px solid #17211d1f;border-bottom:1px solid #17211d1f;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;min-height:58px;padding:.55rem clamp(.8rem,3vw,2rem);display:grid}.station-feedback-mark{border:3px solid var(--station-accent);width:32px;height:32px;color:var(--station-accent);border-radius:50%;place-items:center;font-weight:950;display:grid}.station-feedback[data-effect=fault] .station-feedback-mark{color:#b84f3c;border-color:#b84f3c;border-radius:8px}.station-feedback[data-effect=fault] .station-feedback-mark:before{content:"!"}.station-feedback[data-effect=success] .station-feedback-mark:before,.station-feedback[data-effect=spark] .station-feedback-mark:before{content:"✓"}.station-feedback strong{font-size:.72rem}.station-feedback p{color:#60706a;margin:.16rem 0 0;font-size:.68rem;line-height:1.4}.station-room-footer{background:#fffaf0;justify-content:space-between;align-items:center;gap:1rem;min-height:66px;padding:.55rem clamp(.8rem,3vw,2rem);display:flex}.station-room-footer>p{color:#0d4637;max-width:78ch;margin:0;font-size:.7rem;font-weight:800;line-height:1.4}.station-footer-actions{flex:none;gap:.5rem;margin-left:auto;display:flex}.workshop-loop{grid-template-rows:auto minmax(260px,1fr) auto auto;gap:.7rem}.workshop-loop-track{aspect-ratio:1.72;background:radial-gradient(circle,#f7f1dc 0 54%,#e9d5ac 55% 59%,#f7f1dc 60%);border:13px solid #c58a43;border-radius:44%;width:min(520px,76vw);margin:auto;position:relative;box-shadow:inset 0 0 0 3px #17211d24}.workshop-loop-track:after{border-radius:inherit;content:"";border:3px dashed #146c5333;position:absolute;inset:16%}.station-socket{z-index:2;width:min(128px,24vw);min-height:58px;position:absolute;transform:translate(-50%,-50%)}.workshop-loop-track .socket-1{top:50%;left:4%}.workshop-loop-track .socket-2{top:4%;left:30%}.workshop-loop-track .socket-3{top:4%;left:70%}.workshop-loop-track .socket-4{top:50%;left:96%}.workshop-loop-track .socket-5{top:96%;left:50%}.station-socket.is-empty{color:#60706a;background:#fffaf0cc;border-style:dashed}.loop-energy-load{background:#eee8d8;border:2px solid #17211d33;border-radius:50%;place-items:center;width:86px;height:86px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workshop-loop.is-live .loop-energy-load{background:#ffd477;box-shadow:0 0 0 18px #f59e0b24,0 0 50px #f59e0b73}.loop-energy-load span{font-size:.65rem;font-weight:900}.loop-flow-token{z-index:1;opacity:0;background:#38bdf8;border-radius:50%;width:10px;height:10px;position:absolute}.workshop-loop.is-live .loop-flow-token{opacity:1;animation:3s linear infinite loop-token}.workshop-loop.is-live .token-b{animation-delay:-1s}.workshop-loop.is-live .token-c{animation-delay:-2s}@keyframes loop-token{0%{top:45%;left:4%}25%{top:4%;left:50%}50%{top:45%;left:96%}75%{top:96%;left:50%}to{top:45%;left:4%}}.piece-icon{color:#146c53;place-items:center;min-width:26px;margin-right:.35rem;font-size:1rem;display:inline-grid}.workshop-tuning{gap:.45rem;padding:1rem}.experiment-guide{background:#e8f2e8;border:1px solid #146c5342;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;padding:.48rem .65rem;display:grid}.experiment-rule{color:#fffaf0;letter-spacing:.06em;text-transform:uppercase;background:#146c53;border-radius:999px;padding:.4rem .55rem;font-size:.58rem;font-weight:950}.experiment-guide strong,.experiment-guide p{margin:0;display:block}.experiment-guide strong{font-size:.76rem}.experiment-guide p{color:#46615a;margin-top:.12rem;font-size:.65rem;line-height:1.35}.experiment-guide[data-complete=true]{border-color:#146c53}.tuning-bench{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.physical-rack,.pulse-window{background:#f5ead5;border:1px solid #17211d29;border-radius:20px;align-content:space-between;gap:.45rem;min-height:165px;padding:.6rem;display:grid;position:relative}.physical-rack[data-next-change=true]{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b29}.physical-rack[data-next-change=true]:after{content:"change this part next";color:#8c4e08;letter-spacing:.04em;text-transform:uppercase;font-size:.5rem;font-weight:950;position:absolute;top:.65rem;right:.65rem}.rack-step{color:#fffaf0;background:#146c53;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.62rem;font-weight:950;display:grid;position:absolute;top:.65rem;right:.65rem}.physical-rack[data-next-change=true] .rack-step{display:none}.rack-definition{color:#52675f;max-width:28ch;min-height:2em;margin:0;font-size:.61rem;line-height:1.35}.rack-definition strong{color:#17211d}.cell-stack{justify-content:center;align-items:center;min-height:50px;display:flex}.cell-stack i{background:linear-gradient(90deg,#f59e0b 0 72%,#fffaf0 72%);border:3px solid #17211d;border-radius:9px;width:38px;height:48px;display:block}.cell-stack[data-count="1"] i:last-child{display:none}.coil-spool{justify-content:center;align-items:center;min-height:50px;display:flex}.coil-spool i{border:7px solid #b86d24;border-radius:50%;width:27px;height:46px;margin-inline:-4px}.coil-medium i:nth-child(n+4){display:none}.current-race{--flow-duration:3s;background:linear-gradient(#fffaf0 47%,#c58a433d 48% 52%,#fffaf0 53%);border:4px solid #c58a43;border-radius:999px;height:50px;position:relative;overflow:hidden}.current-race span{width:12px;height:12px;animation:tuning-charge-travel var(--flow-duration) linear infinite;background:#38bdf8;border-radius:50%;position:absolute;top:50%;left:-12px;transform:translateY(-50%);box-shadow:0 0 0 3px #38bdf829}.current-race[data-flow=fast]{--flow-duration:1.5s}.current-race[data-flow=slow]{--flow-duration:4.5s}.current-race[data-flow=idle] span{opacity:.16;animation:none}.current-race span:nth-child(2){animation-delay:calc(var(--flow-duration) * -.25)}.current-race span:nth-child(3){animation-delay:calc(var(--flow-duration) * -.5)}.current-race span:nth-child(4){animation-delay:calc(var(--flow-duration) * -.75)}@keyframes tuning-charge-travel{0%{left:-12px}to{left:calc(100% + 12px)}}.current-result{color:#0d4637;text-transform:capitalize;font-size:.68rem}.observation-board{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.observation-card{color:#60706a;background:#f7f3e8;border:1px dashed #17211d38;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem .55rem;min-height:48px;padding:.3rem .45rem;font-size:.7rem;font-weight:850;display:grid}.observation-card[data-current=true]{background:#fff5d9;border-color:#f59e0b}.observation-card[data-pinned=true]{color:#0d4637;background:#e3f1e6;border-style:solid;border-color:#146c53}.observation-card small{margin-top:.1rem;font-size:.54rem;display:block}.observation-card>b{color:#46615a;grid-column:2/-1;font-size:.52rem}.comparison-number{border:2px solid;border-radius:50%;grid-row:1/3;place-items:center;width:25px;height:25px;display:grid}.comparison-trace{gap:.18rem;display:flex}.comparison-trace i{background:#cbd5d0;border-radius:999px;width:7px;height:16px}.comparison-trace i[data-on=true]{background:#38bdf8}.static-vane{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr);gap:.6rem;display:grid}.static-model-note{color:#46615a;background:#edf8fa;border:1px solid #38bdf84d;border-radius:14px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;padding:.5rem .65rem;font-size:.58rem;line-height:1.35;display:grid}.static-model-note strong{color:#0d4637;text-transform:uppercase;font-size:.62rem}.static-transfer-story{grid-row:2;grid-template-columns:minmax(0,1fr) minmax(92px,.55fr) minmax(0,1fr);align-items:stretch;gap:.55rem;display:grid}.charge-object-card{background:#f6eedf;border:1px solid #17211d29;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:.18rem .4rem;min-width:0;padding:.5rem;display:grid}.wool-model{cursor:grab}.object-kicker{color:#146c53;letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;font-size:.52rem;font-weight:950}.charge-object-card h4{align-self:center;margin:0;font-size:.7rem}.wool-fibers{background:#e8dfcf;border:2px dashed #8b7b62;border-radius:14px;justify-content:center;align-items:center;width:46px;height:36px;display:flex;overflow:hidden}.wool-fibers i{border:2px solid #8b7b62;border-radius:50%;width:18px;height:25px;margin-inline:-3px}.charge-ledger{background:#fffaf0db;border-radius:12px;grid-column:1/-1;grid-template-columns:minmax(88px,auto) minmax(0,1fr);align-items:center;gap:.18rem .35rem;padding:.3rem;display:grid}.charge-ledger>span:not(.charge-marker-row){color:#60706a;font-size:.51rem;font-weight:850}.charge-marker-row{flex-wrap:wrap;gap:.18rem;display:flex}.charge-marker-row i{color:#fffaf0;background:#60706a;border:1px solid #17211d3d;border-radius:50%;place-items:center;width:15px;height:15px;font-size:.61rem;font-style:normal;font-weight:950;transition:opacity .18s,transform .18s;display:grid}.charge-marker-row i[data-sign=\+]{background:#d47b18}.charge-marker-row i[data-sign=−]{background:#1687b7}.charge-marker-row i[data-on=false]{opacity:.12;transform:scale(.8)}.charge-marker-row i[data-extra=true]{outline-offset:2px;outline:1px dashed #1687b7}.net-charge{color:#0d4637;text-align:center;background:#dfefe5;border-radius:9px;grid-column:1/-1;padding:.24rem .4rem;font-size:.52rem}.net-charge[data-charge=positive]{color:#7b4304;background:#fff0c9}.net-charge[data-charge=negative]{color:#075a79;background:#dff4fb}.net-charge[data-charge=discharging]{color:#714105;background:#ffebb5}.electron-transfer{color:#60706a;text-align:center;align-content:center;place-items:center;gap:.35rem;display:grid}.electron-transfer span{max-width:16ch;font-size:.52rem;font-weight:850;line-height:1.3}.electron-transfer b{color:#1687b7;font-size:.65rem}.electron-transfer[data-active=true] b{animation:.7s ease-in-out infinite alternate electron-nudge}@keyframes electron-nudge{to{transform:translate(8px)}}@keyframes electron-nudge-mobile{to{transform:rotate(90deg)translate(8px)}}.storm-vane{background:#146c53;justify-self:center;width:10px;height:42px;position:relative}.storm-vane span{background:#146c53;width:48px;height:7px;position:absolute;top:0;left:50%;transform:translate(-50%)rotate(22deg)}.static-gap-model{background:#f8fbf7;border:1px solid #38bdf85c;border-radius:16px;grid-area:2/2;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.65rem;display:grid}.gap-copy span,.gap-copy strong,.gap-copy p{margin:0;display:block}.gap-copy span{color:#146c53;letter-spacing:.08em;text-transform:uppercase;font-size:.5rem;font-weight:950}.gap-copy strong{margin-top:.16rem;font-size:.64rem}.gap-copy p{color:#60706a;margin-top:.18rem;font-size:.51rem;line-height:1.35}.gap-diagram{color:#60706a;grid-template-columns:auto 18px auto 18px auto;align-items:center;display:grid}.gap-terminal{color:#fffaf0;text-align:center;background:#146c53;border-radius:8px;place-items:center;width:34px;min-height:52px;font-size:.43rem;font-weight:900;display:grid}.gap-terminal.receiver{background:#60706a}.gap-space{border-top:2px dotted #38bdf8}.spark-bolt{color:#8c4e08;font-size:.85rem}.static-vane.is-sparking .spark-bolt{color:#f59e0b;filter:drop-shadow(0 0 8px #38bdf8);animation:.44s steps(2,end) infinite spark-flash}@keyframes spark-flash{50%{opacity:.35;transform:scale(1.25)}}.static-process-steps{grid-area:3/1;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.static-process-steps li{color:#60706a;text-align:center;background:#f7f3e8;border:1px dashed #17211d38;border-radius:10px;gap:.08rem;padding:.3rem .22rem;display:grid}.static-process-steps li[data-state=current]{color:#714105;background:#fff1c7;border-style:solid;border-color:#f59e0b}.static-process-steps li[data-state=done]{color:#0d4637;background:#e3f1e6;border-style:solid;border-color:#146c53}.static-process-steps strong{font-size:.55rem}.static-process-steps span{font-size:.46rem}.static-vane .station-action-row{grid-area:3/2;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:.4rem;display:grid}.static-vane .station-action-row .station-piece{min-width:0;padding-inline:.45rem;font-size:.62rem}.static-vane .station-touch-hint{display:none}.station-dot-meter{grid-column:1/-1;justify-content:center;gap:.4rem;display:flex}.station-dot-meter span{border:2px solid var(--station-accent);border-radius:50%;width:12px;height:12px}.station-dot-meter span[data-on]{background:var(--station-accent)}@media (width>=821px){.station-room{position:relative;overflow:clip}.challenge-apparatus{box-sizing:border-box;align-content:start;height:100%;min-height:0;max-height:100%}.workshop-loop{grid-template-rows:auto minmax(250px,1fr) auto;grid-template-columns:minmax(0,1fr) 300px;align-items:center}.workshop-loop .apparatus-stage-label{grid-column:1/-1}.workshop-loop-track{aspect-ratio:2.15;grid-row:2/4;align-self:start;width:min(620px,100%);max-height:230px;margin-block:0}.workshop-loop .station-tray{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;align-self:stretch;display:grid}.workshop-loop .station-touch-hint{align-self:start;margin-top:0}}.converter-line,.adapter-bench,.negotiation-bench,.wind-bench,.longline-bench,.transformer-rail,.final-dispatch,.energy-workbench,.market-scheduler,.evening-replay,.path-layers,.protection-signal-bench,.neighborhood-feeder-bench{gap:.85rem}.converter-line,.adapter-bench,.negotiation-bench{gap:.55rem;padding:1rem}.converter-guide,.adapter-guide,.negotiation-guide{color:#46615a;background:#e7f5f8;border:1px solid #38bdf857;border-radius:14px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;padding:.48rem .65rem;display:grid}.converter-guide>span,.adapter-guide>span,.negotiation-guide>span{color:#fffaf0;letter-spacing:.07em;text-transform:uppercase;background:#146c53;border-radius:999px;padding:.36rem .5rem;font-size:.53rem;font-weight:950}.converter-guide strong,.converter-guide p,.adapter-guide strong,.adapter-guide p,.negotiation-guide strong,.negotiation-guide p{margin:0;display:block}.converter-guide strong,.adapter-guide strong,.negotiation-guide strong{color:#17211d;font-size:.7rem}.converter-guide p,.adapter-guide p,.negotiation-guide p{margin-top:.08rem;font-size:.56rem;line-height:1.35}.converter-wave{background:#102d35;border-radius:12px;width:100%;height:100%;min-height:46px;max-height:86px;overflow:visible}.converter-wave .wave-positive-zone{fill:#38bdf814}.converter-wave .wave-negative-zone{fill:#b84f3c14}.converter-wave line{stroke:#ffffff6b;stroke-width:1.5px;stroke-dasharray:5 5}.converter-wave path{fill:none;stroke:#38bdf8;stroke-width:5px;stroke-linecap:round;filter:drop-shadow(0 0 5px #38bdf8)}.converter-line[data-wave=blocked-reversal] .converter-output-wave .converter-wave path{stroke:#f29a79;filter:drop-shadow(0 0 5px #f29a79b3)}.distribution-chain{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.converter-stage-board{gap:.45rem;display:grid}.converter-stage-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:.42rem;display:grid}.converter-stage-card{color:#60706a;background:#f7f3e8;border:1px dashed #17211d38;border-radius:13px;grid-template-rows:auto 48px auto;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:.2rem .38rem;min-width:0;padding:.45rem;display:grid}.converter-stage-card[data-stage-state=current],.converter-stage-card[data-stage-state=ready]{color:#714105;background:#fff2cb;border-style:solid;border-color:#f59e0b}.converter-stage-card[data-stage-state=done]{color:#0d4637;background:#e3f1e6;border-style:solid;border-color:#146c53}.converter-stage-card[data-stage-state=fault]{color:#813122;background:#fff0e9;border-style:solid;border-color:#b84f3c}.converter-stage-card header{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.38rem;display:grid}.converter-stage-card header>span{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.52rem;font-weight:950;display:grid}.converter-stage-card header strong,.converter-stage-card header small{display:block}.converter-stage-card header strong{color:#17211d;font-size:.64rem}.converter-stage-card header small{margin-top:.06rem;font-size:.48rem;line-height:1.25}.converter-stage-card p{text-align:center;grid-column:1/-1;margin:0;font-size:.5rem;font-weight:900}.converter-mini-wave{min-height:40px;max-height:48px}.converter-part{place-items:center;width:40px;height:40px;margin:auto;display:grid;position:relative}.part-adjust{justify-content:center;display:flex}.part-adjust i{border:4px solid #b86d24;border-radius:50%;width:15px;height:34px;margin-inline:-2px}.part-adjust i:nth-child(n+3){display:none}.part-rectifier{border:3px solid #146c53;grid-template-rows:repeat(2,10px);grid-template-columns:repeat(2,10px);gap:5px;transform:rotate(45deg)scale(.72)}.part-rectifier i{border-bottom:3px solid #38bdf8;border-right:3px solid #38bdf8;width:8px;height:8px}.part-capacitor{gap:7px;display:flex}.part-capacitor i{background:#146c53;border-radius:4px;width:4px;height:32px}.part-capacitor i:nth-child(n+3){display:none}.converter-stage-card[data-stage-state=waiting] .part-capacitor{border:2px dashed #17211d42;border-radius:8px}.converter-stage-card[data-stage-state=waiting] .part-capacitor i{opacity:.12}.part-regulator{background:#17211d;border-radius:6px;grid-template-columns:repeat(2,8px);gap:18px;width:34px;height:30px}.part-regulator i{background:#60706a;width:10px;height:4px}.converter-output-inspector{background:#f8fbf7;border:1px solid #38bdf84d;border-radius:13px;grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr);align-items:center;gap:.55rem;min-height:66px;padding:.45rem .55rem;display:grid}.converter-output-inspector>div:first-child span,.converter-output-inspector>div:first-child strong,.converter-output-inspector>div:first-child p{margin:0;display:block}.converter-output-inspector>div:first-child span{color:#146c53;letter-spacing:.08em;text-transform:uppercase;font-size:.48rem;font-weight:950}.converter-output-inspector>div:first-child strong{margin-top:.08rem;font-size:.65rem}.converter-output-inspector>div:first-child p{color:#60706a;margin-top:.08rem;font-size:.5rem;line-height:1.3}.converter-output-wave{height:66px;padding-inline:58px;position:relative}.converter-output-wave .converter-wave{max-height:66px}.wave-direction-label{color:#60706a;text-align:right;width:54px;font-size:.42rem;font-weight:850;line-height:1.15;position:absolute;left:0}.wave-direction-label.positive{top:7px}.wave-direction-label.negative{bottom:7px}.converter-repair-actions{grid-template-columns:1.1fr 1fr 1fr;gap:.45rem;display:grid}.converter-repair-actions .station-piece{min-height:44px;padding-block:.45rem;font-size:.62rem}.grid-chain-slot{width:100%;min-height:72px;position:static;transform:none}.adapter-bench{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(265px,.72fr) minmax(480px,1.28fr);gap:.4rem;padding:.7rem}.adapter-guide{grid-row:1}.adapter-candidate-shelf,.adapter-inspection-board{background:#f5ead5;border:1px solid #17211d29;border-radius:15px;align-content:start;gap:.28rem;min-width:0;padding:.45rem;display:grid}.adapter-candidate-shelf header span,.adapter-candidate-shelf header strong{display:block}.adapter-candidate-shelf header span{color:#146c53;letter-spacing:.08em;text-transform:uppercase;font-size:.5rem;font-weight:950}.adapter-candidate-shelf header strong{margin-top:.08rem;font-size:.64rem}.fixed-cargo{background:#f3e7cf;border:2px solid #17211d;border-radius:18px;align-content:center;gap:.25rem;padding:1rem;display:grid}.fixed-cargo span{color:#60706a;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:900}.adapter-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem;display:grid}.adapter-card{text-align:left;min-height:48px;padding:.34rem .45rem;box-shadow:0 3px #17211d1a}.adapter-card>span{color:#146c53;letter-spacing:.08em;font-size:.56rem;display:block}.adapter-card strong{font-size:.65rem}.adapter-card small{font-size:.49rem}.adapter-label-headings{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.adapter-label-headings div{background:#fffaf0;border-radius:9px;padding:.25rem .4rem}.adapter-label-headings span,.adapter-label-headings strong{display:block}.adapter-label-headings span{color:#146c53;letter-spacing:.08em;text-transform:uppercase;font-size:.47rem;font-weight:950}.adapter-label-headings strong{margin-top:.04rem;font-size:.58rem}.adapter-check-rows{gap:.12rem;display:grid}.adapter-check-row{color:#46615a;background:#fffaf0db;border-left:3px solid #146c53;border-radius:7px;grid-template-columns:94px minmax(90px,1fr) 12px minmax(80px,1fr) auto;align-items:center;gap:.3rem;min-height:20px;padding:.14rem .3rem;font-size:.46rem;display:grid}.adapter-check-row[data-result=fail]{background:#fff0e9;border-left-color:#b84f3c}.adapter-check-row>strong{color:#17211d}.adapter-check-row>i{color:#60706a;text-align:center;font-style:normal}.adapter-check-row>b{color:#0d4637;text-align:center;background:#dff0e5;border-radius:999px;padding:.18rem .28rem;font-size:.45rem}.adapter-check-row[data-result=fail]>b{color:#813122;background:#ffdcd1}.adapter-capacity-note{color:#46615a;background:#e7f5f8;border:1px solid #38bdf847;border-radius:9px;margin:0;padding:.24rem .4rem;font-size:.46rem;line-height:1.25}.adapter-capacity-note strong{color:#0d4637}.protected-gate{color:#60706a;text-align:center;background:#f7f3e8;border:2px solid #60706a;border-radius:13px;grid-area:3/1;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:.32rem;min-height:44px;padding:.35rem .5rem;font-size:.52rem;font-weight:900;display:grid}.protected-gate[data-state=rejected]{color:#b84f3c;background:#fff0e9;border-color:#b84f3c}.protected-gate[data-open=true]{color:#146c53;background:#e3f1e6;border-color:#146c53}.protected-gate>i{opacity:.45;background:currentColor;height:3px}.adapter-plug{border:3px solid;border-radius:8px 3px 3px 8px;width:28px;height:15px}.adapter-radio{border:2px solid;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.adapter-bench>.station-lever{grid-area:3/2;min-height:44px;padding-block:.45rem;font-size:.64rem}.negotiation-bench{grid-template-columns:1fr}.negotiation-apparatus{grid-template-columns:180px minmax(0,1fr) 180px;align-items:stretch;gap:.55rem;display:grid}.negotiation-endpoint{background:#f3e7cf;border:1px solid #17211d33;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;gap:.12rem .45rem;padding:.55rem;display:grid}.negotiation-endpoint>span{color:#146c53;letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font-size:.48rem;font-weight:950}.endpoint-icon{color:#fffaf0;background:#146c53;border-radius:10px;grid-row:2/6;place-items:center;width:38px;height:38px;display:grid}.negotiation-endpoint h4,.negotiation-endpoint p{margin:0}.negotiation-endpoint h4{font-size:.7rem}.negotiation-endpoint p{color:#60706a;font-size:.46rem}.negotiation-endpoint strong{font-size:.54rem}.usb-c-bridge{background:#f8fbf7;border:1px solid #38bdf847;border-radius:14px;align-content:center;gap:.3rem;min-width:0;padding:.45rem .6rem;display:grid}.usb-c-power-line{color:#60706a;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;display:grid}.usb-c-power-line span{border:3px solid;border-radius:999px;height:16px}.usb-c-power-line b{text-align:center;border-block:4px solid;padding-block:.25rem;font-size:.58rem;position:relative}.usb-c-power-line[data-connected=true]{color:#1687b7}.usb-c-power-line[data-voltage="9"]{color:#d47b18}.protocol-message-stack{gap:.18rem;display:grid}.protocol-message-stack p{color:#60706a;border:1px dashed #17211d33;border-radius:7px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:.35rem;margin:0;padding:.2rem .35rem;font-size:.48rem;display:grid}.protocol-message-stack p[data-message-state=current]{color:#714105;background:#fff2cb;border-style:solid;border-color:#f59e0b}.protocol-message-stack p[data-message-state=done]{color:#0d4637;background:#e3f1e6;border-style:solid;border-color:#146c53}.protocol-message-stack p[data-message-state=current] b{animation:.7s ease-in-out infinite alternate protocol-message-nudge}.protocol-message-stack b{color:#1687b7;font-size:.68rem}.usb-c-bridge>small{color:#60706a;text-align:center;font-size:.45rem;font-weight:800}@keyframes protocol-message-nudge{to{transform:translate(6px)}}.negotiation-steps,.negotiation-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.38rem;display:grid}.negotiation-steps{margin:0;padding:0;list-style:none}.negotiation-steps li{color:#60706a;background:#f7f3e8;border:1px dashed #17211d38;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.35rem;padding:.32rem .42rem;display:grid}.negotiation-steps li[data-step-state=current]{color:#714105;background:#fff2cb;border-style:solid;border-color:#f59e0b}.negotiation-steps li[data-step-state=done]{color:#0d4637;background:#e3f1e6;border-style:solid;border-color:#146c53}.negotiation-steps li>span{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.5rem;font-weight:950;display:grid}.negotiation-steps strong,.negotiation-steps small{display:block}.negotiation-steps strong{font-size:.55rem}.negotiation-steps small{font-size:.44rem}.negotiation-actions .station-piece{min-height:44px;padding:.38rem .45rem;font-size:.55rem}.generator-rig{background:linear-gradient(#dff4f4,#f4ead4);border-radius:24px;grid-template-columns:160px 150px 180px minmax(140px,1fr);align-items:center;gap:1rem;min-height:190px;padding:1rem;display:grid;position:relative}.hand-crank{border:12px solid #146c53;border-radius:50%;width:100px;height:100px;margin:auto;position:relative}.hand-crank span{transform-origin:0;background:#146c53;width:78px;height:12px;position:absolute;top:38px;left:38px;transform:rotate(-28deg)}.hand-crank i{background:#f59e0b;border-radius:50%;width:28px;height:28px;position:absolute;top:-16px;left:34px}.moving-magnet{border:3px solid #17211d;border-radius:12px;grid-template-columns:1fr 1fr;min-height:64px;display:grid;overflow:hidden}.moving-magnet b{color:#fffaf0;background:#38bdf8;place-items:center;display:grid}.moving-magnet b:last-child{background:#b84f3c}.generator-coil{justify-content:center;display:flex}.generator-coil i{border:9px solid #b86d24;border-radius:50%;width:42px;height:120px;margin-inline:-7px}.terminal-lamp{place-items:center;gap:.4rem;display:grid}.terminal-lamp span{background:#d7d8cc;border:4px solid #17211d;border-radius:50%;width:70px;height:70px}.generator-rig[data-connected=true][data-powered=true] .terminal-lamp span{background:#ffd477;box-shadow:0 0 30px #f59e0b80}.terminal-lamp b{font-size:.62rem}.generator-rig[data-strain=heavy] .hand-crank{border-color:#b84f3c;transform:rotate(-12deg)}.generator-rig[data-strokes="1"] .hand-crank,.generator-rig[data-strokes="3"] .hand-crank{transform:rotate(-24deg)}.generator-rig[data-strokes="2"] .hand-crank,.generator-rig[data-strokes="4"] .hand-crank{transform:rotate(24deg)}.generator-rig[data-strokes="1"] .moving-magnet,.generator-rig[data-strokes="3"] .moving-magnet{transform:translate(-14px)}.generator-rig[data-strokes="2"] .moving-magnet,.generator-rig[data-strokes="4"] .moving-magnet{transform:translate(14px)}.generator-rig[data-strokes]:not([data-strokes="0"]) .generator-coil{filter:drop-shadow(0 0 8px #38bdf899)}.voltage-current-bench{align-content:start;gap:.42rem;padding:.7rem}.wind-run-guide,.wind-comparison-guide{color:#46615a;background:#e5f2e7;border:1px solid #4ca67a57;border-radius:13px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;display:grid}.wind-run-guide{padding:.4rem .55rem}.wind-run-guide>span,.wind-comparison-guide>span{color:#fffaf0;letter-spacing:.07em;text-transform:uppercase;background:#146c53;border-radius:999px;padding:.32rem .46rem;font-size:.49rem;font-weight:950}.wind-run-guide strong,.wind-run-guide p,.wind-comparison-guide strong,.wind-comparison-guide p{margin:0;display:block}.wind-run-guide strong,.wind-comparison-guide strong{color:#17211d;font-size:.66rem}.wind-run-guide p,.wind-comparison-guide p{margin-top:.05rem;font-size:.51rem;line-height:1.3}.voltage-current-model{background:#f5ead5;border:1px solid #17211d29;border-radius:16px;grid-template-rows:auto minmax(100px,1fr);grid-template-columns:minmax(0,1fr) 250px;gap:.35rem .5rem;min-width:0;padding:.4rem;display:grid}.wind-comparison-guide{background:#e7f5f8;border-color:#38bdf847;grid-column:1/-1;gap:.45rem;padding:.26rem .38rem}.wind-comparison-guide>span{background:#1687b7;padding-block:.24rem}.voltage-current-diagram{background:linear-gradient(#def2f2,#f8f1df);border-radius:12px;width:100%;height:118px;display:block;overflow:visible}.wind-crank-wheel,.wind-crank-arm{fill:none;stroke:#146c53;stroke-width:11px}.wind-crank-arm{stroke-width:9px}.wind-crank-handle{fill:#f59e0b}.wind-motion-arrow{fill:none;stroke:#146c53;stroke-width:4px;marker-end:url(#windMotionArrow)}#windMotionArrow path{fill:#146c53}#windVoltageArrow path{fill:#1687b7}.wind-bar-magnet rect:first-child{fill:#38bdf8}.wind-bar-magnet rect:nth-child(2){fill:#b84f3c}.wind-bar-magnet rect{stroke:#17211d;stroke-width:3px}.wind-bar-magnet text{fill:#fffaf0;text-anchor:middle;font-size:20px;font-weight:950}.wind-coil-drawing ellipse{fill:none;stroke:#b86d24;stroke-width:9px}.wind-wire,.wind-bridge{fill:none;stroke:#60706a;stroke-linecap:round;stroke-width:7px}.wind-terminal{fill:#fffaf0;stroke:#17211d;stroke-width:4px}.wind-bridge{opacity:0;stroke:#146c53;stroke-width:9px}.voltage-current-diagram[data-bridge=true] .wind-bridge{opacity:1}.voltage-current-diagram[data-bridge=true] .wind-gap-label{fill:#146c53}.wind-gap-label{fill:#b84f3c;letter-spacing:.06em;text-anchor:middle;font-size:11px;font-weight:950}.wind-voltage-span{fill:none;stroke:#60706a;stroke-dasharray:5 5;stroke-width:3px;marker-start:url(#windVoltageArrow);marker-end:url(#windVoltageArrow)}.wind-voltage-symbol{fill:#60706a;font-size:28px;font-weight:950}.wind-voltage-copy,.wind-svg-label{fill:#60706a;font-size:11px;font-weight:850}.voltage-current-diagram[data-voltage=true] .wind-voltage-span{stroke:#1687b7;stroke-dasharray:none;filter:drop-shadow(0 0 5px #38bdf8b8)}.voltage-current-diagram[data-voltage=true] .wind-voltage-symbol,.voltage-current-diagram[data-voltage=true] .wind-voltage-copy{fill:#1687b7}.wind-lamp-bulb{fill:#d7d8cc;stroke:#17211d;stroke-width:5px}.wind-lamp-filament{fill:none;stroke:#60706a;stroke-width:4px}.voltage-current-diagram[data-current=true] .wind-lamp-bulb{fill:#ffd477;filter:drop-shadow(0 0 11px #f59e0bb8)}.voltage-current-diagram[data-current=true] .wind-lamp-filament{stroke:#b86d24}.wind-current-token{fill:#146c53;opacity:0;transform-box:fill-box;transform-origin:50%}.voltage-current-diagram[data-current=true] .wind-current-token{opacity:1;animation:.62s ease-in-out infinite alternate wind-current-pulse}.voltage-current-diagram[data-current=true] .token-two{animation-delay:.14s}.voltage-current-diagram[data-current=true] .token-three{animation-delay:.28s}.voltage-current-diagram[data-current=true] .token-four{animation-delay:.42s}@keyframes wind-current-pulse{to{opacity:.45;transform:scale(.72)}}.voltage-current-readouts{align-content:stretch;gap:.3rem;display:grid}.voltage-current-readouts>span{background:#fffaf0;border-left:4px solid #60706a;border-radius:9px;align-content:center;gap:.08rem;padding:.34rem .45rem;display:grid}.voltage-current-readouts>span[data-reading-state=active]{color:#0d4637;background:#e3f1e6;border-left-color:#146c53}.voltage-current-readouts>span[data-reading-state=recorded],.voltage-current-readouts>span[data-reading-state=recorded-zero]{color:#165c77;background:#e7f5f8;border-left-color:#1687b7}.voltage-current-readouts small{color:#60706a;font-size:.47rem;font-weight:850}.voltage-current-readouts strong{font-size:.58rem}.wind-run-evidence{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.wind-run-evidence article{color:#60706a;background:#f7f3e8;border:1px dashed #17211d38;border-radius:11px;gap:.22rem;padding:.35rem .45rem;display:grid}.wind-run-evidence article[data-recorded=true]{color:#0d4637;background:#e3f1e6;border-style:solid;border-color:#146c53}.wind-run-evidence header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.32rem;display:grid}.wind-run-evidence header>span{color:#fffaf0;text-transform:uppercase;background:#146c53;border-radius:999px;padding:.14rem .28rem;font-size:.43rem;font-weight:950}.wind-run-evidence header strong{color:#17211d;font-size:.57rem}.wind-run-evidence header b{font-size:.45rem}.wind-run-evidence p{grid-template-columns:repeat(6,auto);justify-content:space-between;gap:.25rem;margin:0;font-size:.45rem;display:grid}.wind-run-evidence p span{color:#60706a}.wind-test-actions{grid-template-columns:2fr 1fr;gap:.42rem;display:grid}.wind-test-actions .crank-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;display:grid}.wind-test-actions .station-piece{min-height:44px;padding-block:.4rem;font-size:.59rem}.fixed-cargo{text-align:center;justify-self:center;min-width:210px}.transmission-line,.town-route,.normal-path-demo{background:#e6f6fa;border-radius:18px;grid-template-columns:auto repeat(3,minmax(50px,1fr)) auto;align-items:center;gap:.4rem;min-height:72px;padding:.75rem;display:grid}.transmission-line i,.town-route i,.normal-path-demo i{background:#38bdf8;border-radius:999px;height:8px}.longline-bench[data-line-heat=hot] .transmission-line i,.final-dispatch:not([data-town-lit=true]) .town-route i{background:#b84f3c;box-shadow:0 0 14px #b84f3c8c}.line-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.line-comparison section{color:#60706a;background:#f7f3e8;border:1px dashed #17211d40;border-radius:14px;grid-template-columns:1fr auto;align-items:baseline;gap:.2rem .75rem;padding:.65rem .8rem;display:grid}.line-comparison section[data-recorded=true]{color:#17211d;background:#e3f1e6;border-style:solid;border-color:#146c5373}.line-comparison span{grid-column:1/-1;font-size:.66rem;font-weight:900}.line-comparison small{font-size:.6rem}.line-comparison strong{font-size:.8rem}.transformer-chain{grid-template-columns:1fr 1.2fr minmax(120px,1fr) 1.2fr;align-items:stretch;gap:.6rem;display:grid}.transformer-chain section{background:#f3e7cf;border:1px solid #17211d29;border-radius:16px;align-content:start;gap:.45rem;padding:.7rem;display:grid}.transformer-chain section>span{color:#60706a;font-size:.62rem;font-weight:900}.rail-span{color:#60706a;border-block:7px double #17211d;place-items:center;min-height:90px;font-size:.66rem;font-weight:900;display:grid}.flux-core{justify-content:center;align-items:center;gap:.3rem;min-height:58px;display:flex}.flux-core i{border:7px solid #b86d24;border-radius:50%;width:34px;height:54px;margin-inline:-6px}.flux-core span{color:#60706a;margin-left:.8rem;font-size:.62rem}.lantern-concept-guide{background:#fff2d7;border:1px solid #ee8f356b;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;padding:.48rem .65rem;display:grid}.lantern-concept-guide>span{color:#fffaf0;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;background:#a75418;border-radius:999px;padding:.36rem .52rem;font-size:.54rem;font-weight:950}.lantern-concept-guide p{color:#52675f;margin:0;font-size:.6rem;line-height:1.35}.lantern-concept-guide strong{color:#17211d}.energy-workbench,.market-scheduler,.evening-replay{gap:.55rem;padding:.75rem}.energy-machines{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.energy-machine{background:#f8f3e7;border:1px solid #17211d2e;border-radius:18px;gap:.45rem;min-width:0;padding:.65rem;display:grid}.energy-machine header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.energy-machine header>span{color:#fffaf0;background:#146c53;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.68rem;font-weight:950;display:grid}.energy-machine header strong,.energy-machine header small{display:block}.energy-machine header strong{font-size:.75rem}.energy-machine header small{color:#60706a;margin-top:.05rem;font-size:.5rem}.energy-machine-controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.45rem;display:grid}.energy-factor{gap:.28rem;display:grid}.energy-factor>span{color:#52675f;letter-spacing:.05em;text-transform:uppercase;font-size:.53rem;font-weight:950}.energy-factor>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.24rem;display:grid}.energy-factor .station-piece{min-height:36px;padding:.3rem .2rem;font-size:.56rem}.energy-multiply{color:#a75418;font-size:1.1rem;font-weight:950}.energy-flow-machine{color:#52675f;background:#e5f3f6;border-radius:12px;grid-template-columns:minmax(70px,1fr) auto auto 42px;align-items:center;gap:.35rem;min-height:46px;padding:.35rem .5rem;font-size:.48rem;font-weight:900;display:grid}.rate-pipe{background:#38bdf833;border-radius:999px;height:10px;position:relative;overflow:hidden}.rate-pipe:before{width:var(--rate);border-radius:inherit;content:"";background:#38bdf857;position:absolute;inset:0 auto 0 0}.rate-pipe:after{border-radius:inherit;content:"";background:#38bdf8;width:20px;animation:1.8s linear infinite lantern-rate-flow;position:absolute;top:1px;bottom:1px;left:-24px}.energy-tank{background:#fffaf0;border:2px solid #146c53;border-radius:5px 5px 10px 10px;align-self:stretch;position:relative;overflow:hidden}.energy-tank:after{height:var(--energy-fill);content:"";background:#4ca67a;transition:height .18s;position:absolute;bottom:0;left:0;right:0}@keyframes lantern-rate-flow{0%{left:-24px}to{left:calc(100% + 24px)}}.energy-equation{grid-template-columns:1fr auto 1fr auto 1.25fr;align-items:center;gap:.28rem;display:grid}.energy-equation>span{text-align:center;background:#e5f3f6;border-radius:10px;gap:.08rem;padding:.35rem;display:grid}.energy-equation>span:nth-of-type(2){background:#fff2d7}.energy-equation .energy-answer{color:#0d4637;background:#e3f1e6}.energy-equation small{color:#52675f;font-size:.45rem;font-weight:850}.energy-equation strong{font-size:.66rem}.energy-equation>b{color:#a75418;font-size:.8rem}.energy-machine>p{color:#0d4637;text-align:center;margin:0;font-size:.58rem;font-weight:950}.energy-match-result{background:#fff0e9;border:1px solid #b84f3c59;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem;padding:.5rem .65rem;display:grid}.energy-match-result>span{color:#b84f3c;border:2px solid;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:950;display:grid}.energy-match-result strong,.energy-match-result small{display:block}.energy-match-result strong{font-size:.68rem}.energy-match-result small{color:#60706a;margin-top:.08rem;font-size:.53rem}.energy-workbench[data-balanced=true] .energy-match-result{background:#e3f1e6;border-color:#146c53}.energy-workbench[data-balanced=true] .energy-match-result>span{color:#146c53}.market-plan-rack{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.market-plan-choice{text-align:left;min-height:58px}.market-plan-choice strong,.market-plan-choice small,.market-plan-choice small span{display:block}.market-plan-choice strong{font-size:.62rem}.market-plan-choice small{color:#60706a;margin-top:.16rem;font-size:.49rem}.market-plan-choice small span+span{color:#146c53;margin-top:.05rem;font-weight:950}.market-plan-choice:disabled{cursor:not-allowed;opacity:.52}.market-period-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.market-period-card{background:#f8f3e7;border:1px solid #17211d2e;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;gap:.32rem .45rem;min-width:0;padding:.5rem;display:grid}.market-period-card header{grid-column:1/-1;justify-content:space-between;gap:.4rem;font-size:.54rem;display:flex}.market-period-card header span{color:#146c53;font-weight:950}.market-period-card header strong{font-size:.5rem}.lantern-brightness{align-items:end;gap:.18rem;min-height:48px;display:flex}.lantern-brightness i{background:#ebe5d8;border:1px dashed #17211d42;border-radius:999px 999px 5px 5px;width:16px;height:28px}.lantern-brightness i[data-needed=true]{border-color:#a75418}.lantern-brightness i[data-on=true]{background:#ffd477;border-style:solid;border-color:#f59e0b;box-shadow:0 0 10px #f59e0b61}.period-plan{align-content:center;min-width:0;display:grid}.period-plan small,.period-plan strong,.period-plan span{display:block}.period-plan small{color:#60706a;font-size:.45rem}.period-plan strong{text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.period-plan span{color:#52675f;margin-top:.08rem;font-size:.46rem}.period-equation{color:#52675f;background:#e5f3f6;border-radius:9px;grid-column:1/-1;justify-content:center;align-items:center;gap:.24rem;padding:.3rem;font-size:.52rem;display:flex}.period-equation strong{color:#0d4637}.market-period-card .station-piece{grid-column:1/-1;min-height:34px;padding:.28rem;font-size:.5rem}.market-period-card>p{color:#60706a;text-align:center;grid-column:1/-1;margin:0;font-size:.46rem;font-weight:850}.market-period-card[data-observed=true][data-meets-need=false]{background:#fff0e9;border-color:#b84f3c}.market-period-card[data-observed=true][data-meets-need=true]{border-color:#146c5385}.market-budget{background:#f7f3e8;border-radius:13px;grid-template-columns:minmax(165px,auto) minmax(120px,.8fr) minmax(180px,1fr) minmax(190px,.9fr);align-items:center;gap:.6rem;padding:.45rem .6rem;display:grid}.market-budget span,.market-budget strong,.market-budget small{display:block}.market-budget>div>span{color:#52675f;font-size:.48rem;font-weight:900}.market-budget strong{font-size:.66rem}.market-budget strong small{color:#60706a;font-size:.48rem;display:inline}.market-budget p{color:#52675f;margin:0;font-size:.5rem;line-height:1.3}.market-budget .station-lever{min-height:38px;padding:.35rem .45rem;font-size:.58rem}.market-budget-track{background:#dfe7dd;border-radius:999px;height:13px;position:relative;overflow:hidden}.market-budget-track i{width:var(--energy);border-radius:inherit;background:#4ca67a;height:100%;transition:width .18s;display:block}.market-budget-track b{background:#17211d;width:2px;position:absolute;top:0;bottom:0;right:0}.night-period-strip,.energy-receipt-ledger{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.night-period-strip section,.energy-receipt-ledger section{color:#60706a;background:#f8f3e7;border:1px dashed #17211d38;border-radius:13px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.18rem .4rem;min-width:0;padding:.42rem .5rem;display:grid}.night-period-strip section>span,.energy-receipt-ledger section>span{border:1px solid;border-radius:50%;grid-row:1/3;place-items:center;width:23px;height:23px;font-size:.52rem;font-weight:950;display:grid}.night-period-strip strong,.night-period-strip small,.energy-receipt-ledger strong,.energy-receipt-ledger small{display:block}.night-period-strip strong,.energy-receipt-ledger strong{color:#17211d;font-size:.56rem}.night-period-strip small,.energy-receipt-ledger small{margin-top:.05rem;font-size:.45rem}.night-period-strip section>b,.energy-receipt-ledger section>b{grid-column:2;font-size:.48rem}.night-period-strip section[data-state=next]{color:#a75418;background:#fff2d7;border-style:solid;border-color:#ee8f35}.night-period-strip section[data-state=done],.energy-receipt-ledger section[data-filled=true]{color:#0d4637;background:#e3f1e6;border-style:solid;border-color:#146c53}.evening-causal-board{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:.55rem;display:grid}.power-rate-meter,.energy-accumulator{background:#e5f3f6;border:1px solid #17211d2e;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.28rem .55rem;min-width:0;padding:.5rem .65rem;display:grid}.power-rate-meter>span,.energy-accumulator>span{color:#52675f;text-transform:uppercase;font-size:.5rem;font-weight:950}.power-rate-meter>strong,.energy-accumulator>strong{font-size:.82rem}.power-rate-meter>div{gap:.25rem;display:flex}.power-rate-meter i{background:#cbd5d0;border-radius:999px;width:12px;height:26px}.power-rate-meter i[data-on=true]{background:#38bdf8;box-shadow:0 0 7px #38bdf87a}.power-rate-meter p,.energy-accumulator p{color:#52675f;grid-column:1/-1;margin:0;font-size:.48rem}.receipt-arrow{color:#a75418;text-align:center;align-self:center;font-size:.48rem;font-weight:950;line-height:1.35}.energy-accumulator{background:#fff2d7}.accumulator-vessel{background:#fffaf0;border:2px solid #146c53;border-radius:6px 6px 13px 13px;grid-area:1/2/3;width:42px;height:54px;position:relative;overflow:hidden}.accumulator-vessel i{height:var(--energy);background:#4ca67a;transition:height .22s;position:absolute;bottom:0;left:0;right:0}.energy-conversion-chain{grid-template-columns:1fr auto 1fr auto 1fr minmax(190px,.9fr);align-items:center;gap:.35rem;display:grid}.energy-conversion-chain section{text-align:center;background:#f7f3e8;border:1px solid #17211d29;border-radius:11px;gap:.12rem;padding:.42rem;display:grid}.energy-conversion-chain span{color:#52675f;font-size:.45rem}.energy-conversion-chain strong{font-size:.64rem}.energy-conversion-chain>b{color:#a75418;font-size:.56rem}.energy-conversion-chain .station-lever{min-height:42px;padding:.38rem .5rem;font-size:.58rem}.timeline-stops,.observed-faults{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.timeline-stops span,.observed-faults span{color:#60706a;text-align:center;border:1px solid #17211d2e;border-radius:999px;padding:.5rem;font-size:.62rem;font-weight:850}.timeline-stops span[data-done=true],.observed-faults span[data-done=true]{color:#0d4637;background:#e3f1e6}.layer-cutaway{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.layer-cutaway section{background:#f3e7cf;border:1px solid #17211d29;border-radius:16px;gap:.45rem;padding:.7rem;display:grid}.layer-cutaway section>span{color:#60706a;font-size:.62rem;font-weight:900}.normal-path-demo{grid-template-columns:auto 1fr auto 1fr auto auto}.normal-path-demo em{color:#146c53;font-size:.62rem;font-weight:850}.harbor-concept-guide{background:#e2f2ee;border:1px solid #247a7057;border-radius:13px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.44rem .62rem;display:grid}.harbor-concept-guide>span{color:#fffaf0;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;background:#247a70;border-radius:999px;padding:.34rem .5rem;font-size:.52rem;font-weight:950}.harbor-concept-guide p{color:#46615a;margin:0;font-size:.57rem;line-height:1.35}.harbor-concept-guide strong{color:#17211d}.protection-signal-bench,.neighborhood-feeder-bench{gap:.45rem;padding:.65rem .75rem}.protection-scenario-rack{grid-template-columns:repeat(4,minmax(0,1fr));gap:.38rem;display:grid}.protection-scenario-card{text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:.08rem .4rem;min-height:56px;padding:.38rem .5rem;display:grid}.protection-scenario-card strong,.protection-scenario-card small{display:block}.protection-scenario-card strong{font-size:.61rem}.protection-scenario-card small{color:#60706a;grid-column:1;font-size:.46rem;line-height:1.25}.protection-scenario-card b{color:#247a70;text-align:right;grid-area:1/2/3;align-self:center;font-size:.49rem}.protection-scenario-card:disabled{cursor:not-allowed;opacity:.48}.protection-signal-board{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:.45rem;min-height:128px;display:grid}.current-comparator,.protection-watcher{background:#f7f3e8;border:1px solid #17211d29;border-radius:14px;min-width:0}.current-comparator{grid-template-rows:auto 1fr auto 1fr auto;gap:.2rem;padding:.45rem .55rem;display:grid;position:relative;overflow:hidden}.current-comparator>header,.handoff-workbench>header,.home-demand-workbench>header{color:#46615a;justify-content:space-between;align-items:center;gap:.5rem;font-size:.49rem;font-weight:900;display:flex}.current-comparator>header strong,.handoff-workbench>header strong,.home-demand-workbench>header strong{color:#17211d;font-size:.54rem}.current-lane{grid-template-columns:104px minmax(0,1fr) 22px;align-items:center;gap:.4rem;font-size:.48rem;font-weight:900;display:grid}.current-lane>div{background:#dcefeb;border-radius:999px;justify-content:space-between;align-items:center;gap:.14rem;min-width:0;height:16px;padding-inline:.18rem;display:flex}.current-lane i{background:#cbd5d0;border:1px solid #17211d29;border-radius:50%;flex:none;width:8px;height:8px}.current-lane i[data-on=true][data-kind=live]{background:#38bdf8;border-color:#1499c4;animation:1.5s ease-in-out infinite alternate harbor-current-pulse}.current-lane i[data-on=true][data-kind=neutral]{background:#f0a54b;border-color:#b86d24;animation:1.5s ease-in-out .12s infinite alternate harbor-current-pulse}.current-lane>strong{font-size:.68rem}@keyframes harbor-current-pulse{0%{transform:scale(.82)}to{transform:scale(1)}}.modeled-load-path{color:#60706a;grid-template-columns:auto 1fr;align-items:center;gap:.38rem;padding-inline:.15rem;font-size:.43rem;font-weight:850;display:grid;position:relative}.modeled-load-path i{background:#247a70;border-radius:999px;height:5px}.modeled-load-path b,.modeled-load-path em{color:#fffaf0;opacity:0;background:#b84f3c;border-radius:5px;padding:.08rem .2rem;font-size:.4rem;font-style:normal;position:absolute;right:14%}.modeled-load-path b{top:-8px}.modeled-load-path em{bottom:-9px;transform:rotate(12deg)}.modeled-load-path b[data-active=true],.modeled-load-path em[data-active=true]{opacity:1}.current-comparator>p{color:#46615a;text-align:center;margin:0;font-size:.46rem;font-weight:800}.protection-watchers{grid-template-rows:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.protection-watcher{grid-template-columns:minmax(0,1.1fr) minmax(100px,.8fr);align-items:center;gap:.18rem .45rem;padding:.38rem .48rem;display:grid}.protection-watcher header{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.35rem;display:grid}.protection-watcher header>span{color:#fffaf0;background:#247a70;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.48rem;font-weight:950;display:grid}.protection-watcher header strong,.protection-watcher header small{display:block}.protection-watcher header strong{font-size:.56rem}.protection-watcher header small{color:#60706a;margin-top:.02rem;font-size:.41rem}.amount-gauge{background:#dce5e1;border-radius:999px;height:10px;position:relative;overflow:visible}.amount-gauge i{width:var(--amount);border-radius:inherit;background:#38bdf8;height:100%;transition:width .18s;display:block}.amount-gauge b{color:#b84f3c;white-space:nowrap;background:#b84f3c;width:2px;font-size:.38rem;position:absolute;top:-4px;bottom:-4px;left:55.55%}.amount-gauge b:after{content:"limit 5";position:absolute;top:-2px;left:4px}.amount-gauge b{font-size:0}.balance-equation{color:#46615a;background:#e5f3f6;border-radius:8px;justify-content:center;align-items:center;gap:.18rem;padding:.24rem;font-size:.44rem;display:flex}.balance-equation strong{color:#17211d}.protection-watcher>p{color:#60706a;justify-content:space-between;align-items:center;gap:.3rem;margin:0;font-size:.43rem;display:flex}.protection-watcher>p strong{color:#17211d;font-size:.55rem}.protection-watcher>em{color:#46615a;text-align:center;background:#e3ebe7;border-radius:7px;padding:.2rem .3rem;font-size:.44rem;font-style:normal;font-weight:950}.protection-watcher[data-open=true]{background:#fff0e9;border-color:#b84f3c}.protection-watcher[data-open=true]>em{color:#fffaf0;background:#b84f3c}.protection-observation-ledger{grid-template-columns:repeat(4,minmax(0,1fr));gap:.32rem;display:grid}.protection-observation-ledger section{color:#60706a;background:#f7f3e8;border:1px dashed #17211d33;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.08rem .35rem;min-width:0;padding:.3rem .4rem;display:grid}.protection-observation-ledger section>span{border:1px solid;border-radius:50%;grid-row:1/3;place-items:center;width:20px;height:20px;font-size:.48rem;font-weight:950;display:grid}.protection-observation-ledger strong,.protection-observation-ledger small{display:block}.protection-observation-ledger strong{color:#17211d;font-size:.5rem}.protection-observation-ledger small{margin-top:.04rem;font-size:.41rem}.protection-observation-ledger section>b{grid-column:2;font-size:.4rem}.protection-observation-ledger section[data-observed=true]{color:#8a4b14;background:#fff2d7;border-style:solid;border-color:#b86d24}.protection-observation-ledger section[data-cleared=true],.protection-observation-ledger section[data-observed=true]:first-child{color:#0d5e56;background:#e2f2ee;border-color:#247a70}.protection-action-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.4rem;display:grid}.protection-action-row .station-piece{min-height:38px;padding:.35rem;font-size:.57rem}.distribution-rebuild{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:.5rem;min-height:0;display:grid}.handoff-workbench,.home-demand-workbench{background:#f7f3e8;border:1px solid #17211d29;border-radius:14px;align-content:start;gap:.35rem;min-width:0;padding:.45rem .5rem;display:grid}.distribution-handoff-chain{grid-template-columns:repeat(4,minmax(0,1fr));gap:.28rem;display:grid}.distribution-handoff{color:#60706a;min-width:0;min-height:62px;font:inherit;text-align:left;cursor:pointer;background:#fffaf0;border:1px dashed #17211d3d;border-radius:10px;align-content:start;gap:.08rem;padding:.3rem;display:grid}.distribution-handoff>span{color:#247a70;text-transform:uppercase;font-size:.42rem;font-weight:950}.distribution-handoff>small{min-height:2.35em;font-size:.39rem;line-height:1.15}.distribution-handoff>strong{color:#17211d;text-overflow:ellipsis;margin-top:auto;font-size:.47rem;overflow:hidden}.distribution-handoff.is-filled{background:#e2f2ee;border-style:solid;border-color:#247a70}.distribution-handoff:disabled{cursor:default}.distribution-piece-shelf{grid-template-columns:repeat(4,minmax(0,1fr));gap:.28rem;display:grid}.distribution-piece{text-align:left;grid-template-columns:auto minmax(0,1fr);gap:.02rem .3rem;min-height:48px;padding:.3rem .4rem;display:grid}.distribution-piece>span{color:#fffaf0;background:#247a70;border-radius:50%;grid-row:1/3;place-items:center;width:23px;height:23px;font-size:.55rem;display:grid}.distribution-piece strong,.distribution-piece small{display:block}.distribution-piece strong{font-size:.5rem}.distribution-piece small{color:#60706a;font-size:.39rem;line-height:1.15}.home-demand-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;display:grid}.home-demand-card{background:#f3e7cf;border:1px solid #17211d29;border-radius:11px;gap:.26rem;min-width:0;padding:.4rem;display:grid}.home-demand-card>header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.3rem;display:grid}.home-demand-card>header>span{color:#fffaf0;background:#247a70;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.45rem;font-weight:950;display:grid}.home-demand-card header strong,.home-demand-card header small{display:block}.home-demand-card header strong{font-size:.5rem}.home-demand-card header small{color:#60706a;font-size:.38rem}.home-load-bars{justify-content:center;align-items:end;gap:.16rem;min-height:25px;display:flex}.home-load-bars i{background:#d5dcd8;border:1px solid #17211d26;border-radius:5px 5px 2px 2px;width:9px;height:20px}.home-load-bars i[data-on=true]{background:#38bdf8;border-color:#1499c4}.home-demand-card>p{color:#60706a;justify-content:space-between;gap:.3rem;margin:0;font-size:.4rem;display:flex}.home-demand-card>p strong{color:#17211d;font-size:.5rem}.home-demand-card .station-piece{min-height:35px;padding:.3rem;font-size:.44rem}.home-demand-card[data-active=true]{background:#fff2d7;border-color:#b86d24}.shared-feeder-panel{background:#f3e7cf;border:1px solid #17211d29;border-radius:13px;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(190px,.8fr);align-items:center;gap:.55rem;padding:.44rem .55rem;display:grid}.branch-sum>span,.branch-sum>strong,.fixed-feeder-capacity>span,.fixed-feeder-capacity>strong,.fixed-feeder-capacity>small{display:block}.branch-sum>span,.fixed-feeder-capacity>span{color:#46615a;font-size:.43rem;font-weight:900}.branch-sum>strong{margin-top:.05rem;font-size:.61rem}.branch-sum>div{gap:.18rem;height:7px;margin-top:.2rem;display:flex}.branch-sum>div i{width:var(--branch);background:#38bdf8;border-radius:999px;max-width:33.33%}.branch-sum>div i:nth-child(2){background:#f0a54b}.branch-sum>div i:nth-child(3){background:#247a70}.fixed-feeder-capacity{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.13rem .4rem;display:grid}.feeder-capacity-track{background:#dce5e1;border-radius:999px;grid-column:1/-1;height:11px;position:relative;overflow:hidden}.feeder-capacity-track i{width:var(--demand);border-radius:inherit;background:#247a70;height:100%;transition:width .18s;display:block}.feeder-capacity-track b{background:#17211d;width:2px;position:absolute;inset:0 0 0 auto}.fixed-feeder-capacity>strong{font-size:.54rem}.fixed-feeder-capacity>small{color:#46615a;grid-column:1/-1;font-size:.4rem;font-weight:900}.shared-feeder-panel .station-lever{min-height:40px;padding:.35rem;font-size:.55rem}.neighborhood-feeder-bench[data-overload=true] .shared-feeder-panel{background:#fff0e9;border-color:#b84f3c}.neighborhood-feeder-bench[data-overload=true] .feeder-capacity-track i{background:#b84f3c}.neighborhood-feeder-bench[data-tripped=true] .fixed-feeder-capacity>small{color:#b84f3c}.gridkeeper[data-effects=reduced] :where(.loop-energy-load,.static-gap b,.converter-wave path,.generator-rig,.generator-coil,.terminal-lamp span,.transmission-line i,.town-route i,.lantern-brightness i,.power-rate-meter i){box-shadow:none!important;filter:none!important}.gridkeeper[data-effects=reduced] .rate-pipe:after{animation:none;left:50%}@media (width<=820px){.station-room{grid-template-rows:auto;overflow-y:auto}.station-room-header{position:sticky;top:0}.station-hud{grid-template-columns:1fr;gap:.7rem}.station-restored-card{grid-row:auto;margin:1rem auto}.station-apparatus-shell{min-height:auto;overflow:visible}.gridkeeper-page .station-apparatus-shell{min-height:auto}.challenge-apparatus{align-content:start;min-height:max-content;margin-block:0}.tuning-bench,.generator-rig,.adapter-bench,.negotiation-bench,.transformer-chain,.layer-cutaway{grid-template-columns:1fr}.generator-rig{grid-template-columns:repeat(2,1fr)}.converter-stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.adapter-bench{grid-template-rows:auto}.adapter-bench>*,.adapter-bench .protected-gate,.adapter-bench>.station-lever{grid-area:auto/1}.voltage-current-model{grid-template-rows:auto;grid-template-columns:1fr}.voltage-current-diagram{height:150px}.voltage-current-readouts{grid-template-columns:repeat(3,minmax(0,1fr))}.rail-span{min-height:44px}.static-vane{grid-template-rows:auto;grid-template-columns:1fr}.static-model-note,.static-transfer-story,.static-gap-model,.static-process-steps,.static-vane .station-action-row,.static-vane .station-touch-hint{grid-area:auto/1}.static-vane .station-touch-hint{display:block}.station-room-footer{flex-direction:column;align-items:stretch}.station-footer-actions{width:100%}.station-footer-actions .game-button{flex:1}}@media (width<=560px){.station-room-header{gap:.4rem;padding-inline:.65rem 6.8rem}.station-room-identity{gap:.4rem;overflow:hidden}.station-room-tools{z-index:8;grid-template-columns:repeat(2,48px);gap:.3rem;width:101px;display:grid;position:fixed;top:.65rem;left:calc(100vw - 111px);right:auto}.station-room-header h2{font-size:1.05rem}.station-room-tools .game-button:not(.game-button-icon){white-space:nowrap;width:48px;padding-inline:.5rem;overflow:hidden}.station-room-tools .station-tool-label{display:none}.station-room-number{width:38px;height:38px}.station-phase-copy h3{font-size:1.55rem}.station-phase-track li{min-height:42px;padding:.45rem .4rem .45rem 1.65rem;font-size:.56rem}.station-phase-track li:before{top:.45rem;left:.4rem}.station-apparatus-shell{padding:.5rem}.challenge-apparatus{border-radius:20px;min-height:max-content;padding:.65rem}.station-feedback{align-items:start}.station-room-footer>p{font-size:.62rem}.station-footer-actions{flex-direction:column-reverse}.station-footer-actions .game-button{width:100%}.station-flow-context{margin-inline:.5rem}.station-restored-card{border-radius:22px;width:calc(100% - 1rem);padding:1.2rem}.restoration-actions{flex-direction:column}.restoration-actions .game-button{width:100%}.workshop-loop-track{aspect-ratio:1.15;border-width:10px;width:84vw}.workshop-loop-track .station-socket{width:30vw;min-height:52px;padding:.4rem;font-size:.61rem}.workshop-loop-track .socket-1{left:7%}.workshop-loop-track .socket-4{left:93%}.converter-guide,.adapter-guide,.negotiation-guide,.wind-run-guide,.wind-comparison-guide{grid-template-columns:1fr;gap:.35rem}.converter-guide>span,.adapter-guide>span,.negotiation-guide>span,.wind-run-guide>span,.wind-comparison-guide>span{justify-self:start}.converter-stage-strip,.converter-output-inspector,.converter-repair-actions,.adapter-label-headings,.negotiation-apparatus,.negotiation-actions{grid-template-columns:1fr}.converter-output-wave{padding-inline:48px 0}.wave-direction-label{width:44px}.adapter-check-row{grid-template-columns:80px minmax(0,1fr) auto;gap:.25rem}.adapter-check-row>i{display:none}.adapter-check-row>b{grid-area:1/3/3}.adapter-check-row>span:first-of-type,.adapter-check-row>span:last-of-type{grid-column:2}.adapter-check-row>span:before{color:#60706a;content:attr(data-side) ":";letter-spacing:.04em;text-transform:uppercase;margin-right:.25rem;font-size:.4rem;font-weight:950}.adapter-label-headings,.negotiation-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.voltage-current-diagram{height:142px}.voltage-current-readouts,.wind-run-evidence,.wind-test-actions{grid-template-columns:1fr}.wind-run-evidence p{grid-template-columns:repeat(6,auto)}.station-tray{grid-template-columns:repeat(2,1fr);display:grid}.tuning-bench,.observation-board,.adapter-card-grid,.distribution-chain,.lantern-concept-guide,.harbor-concept-guide,.energy-machines,.market-period-grid,.night-period-strip,.energy-receipt-ledger,.evening-causal-board,.market-budget,.protection-signal-board,.protection-watchers,.protection-observation-ledger,.protection-action-row,.distribution-rebuild,.home-demand-grid,.shared-feeder-panel{grid-template-columns:1fr}.lantern-concept-guide>span,.harbor-concept-guide>span{white-space:normal;justify-self:start}.market-plan-rack,.protection-scenario-rack,.distribution-piece-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.distribution-handoff-chain{grid-template-columns:1fr}.distribution-handoff{min-height:56px}.protection-watcher{grid-template-columns:1fr}.protection-watcher>em{grid-column:1}.current-lane{grid-template-columns:96px minmax(0,1fr) 22px}.receipt-arrow{font-size:0;transform:none}.receipt-arrow:after{content:"power × time makes Wh ↓";font-size:.54rem}.energy-conversion-chain{grid-template-columns:1fr}.energy-conversion-chain>b{text-align:center}.static-vane,.static-model-note,.static-transfer-story{grid-template-columns:1fr}.electron-transfer{min-height:52px}.electron-transfer b{transform:rotate(90deg)}.electron-transfer[data-active=true] b{animation-name:electron-nudge-mobile}.static-gap-model{grid-template-columns:1fr}.gap-diagram{justify-content:center}.generator-rig{grid-template-columns:1fr 1fr;padding:.6rem}.generator-coil i{height:86px}.transformer-chain{grid-template-columns:1fr}.timeline-stops,.observed-faults{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.workshop-loop.is-live .loop-flow-token,.current-race span,.electron-transfer b,.protocol-message-stack p[data-message-state=current] b,.voltage-current-diagram[data-current=true] .wind-current-token,.static-vane.is-sparking .spark-bolt,.current-lane i{animation:none}.rate-pipe:after{animation:none;left:50%}.energy-tank:after,.market-budget-track i,.accumulator-vessel i,.amount-gauge i,.feeder-capacity-track i{transition:none}.current-race:not([data-flow=idle]) span:first-child{left:14%}.current-race:not([data-flow=idle]) span:nth-child(2){left:38%}.current-race:not([data-flow=idle]) span:nth-child(3){left:62%}.current-race:not([data-flow=idle]) span:nth-child(4){left:86%}.station-piece,.station-socket,.scale-pan,.market-period{transition:none}}.gridkeeper[data-motion=reduced] .current-race span,.gridkeeper[data-motion=reduced] .electron-transfer b,.gridkeeper[data-motion=reduced] .protocol-message-stack p[data-message-state=current] b,.gridkeeper[data-motion=reduced] .voltage-current-diagram[data-current=true] .wind-current-token,.gridkeeper[data-motion=reduced] .static-vane.is-sparking .spark-bolt,.gridkeeper[data-motion=reduced] .current-lane i{animation:none!important}.gridkeeper[data-motion=reduced] .amount-gauge i,.gridkeeper[data-motion=reduced] .feeder-capacity-track i{transition:none}.gridkeeper[data-motion=reduced] .current-race:not([data-flow=idle]) span:first-child{left:14%}.gridkeeper[data-motion=reduced] .current-race:not([data-flow=idle]) span:nth-child(2){left:38%}.gridkeeper[data-motion=reduced] .current-race:not([data-flow=idle]) span:nth-child(3){left:62%}.gridkeeper[data-motion=reduced] .current-race:not([data-flow=idle]) span:nth-child(4){left:86%}.gridkeeper-page{background:#eef6ed;min-width:320px;min-height:100svh;overflow-x:hidden}.gridkeeper-page main{min-height:100svh}.gridkeeper{--game-ink:#17211d;--game-muted:#60706a;--game-paper:#fffaf0;--game-paper-deep:#f1ead9;--game-green:#146c53;--game-green-dark:#0d4637;--game-sky:#38bdf8;--game-amber:#f59e0b;--game-danger:#b84f3c;--game-line:#17211d29;--game-shadow:0 22px 58px #0d463729;height:100svh;min-height:100svh;color:var(--game-ink);background:radial-gradient(circle at 14% 8%,#38bdf833,#0000 25rem),linear-gradient(145deg,#f9f4e8 0%,#edf5e9 54%,#dcefeb 100%);grid-template-rows:auto minmax(0,1fr);display:grid}.gridkeeper :where(button,input,select){font:inherit}.gridkeeper :where(button,select,input[type=range]):focus-visible,.gridkeeper .phaser-mount:focus-visible,.gridkeeper a:focus-visible{outline:3px solid color-mix(in srgb, var(--game-sky), white 18%);outline-offset:3px}.gridkeeper [hidden]{display:none!important}.gridkeeper-topbar{z-index:20;border-bottom:1px solid var(--game-line);backdrop-filter:blur(18px);background:#fffaf0e0;grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:1rem;min-height:76px;padding:.72rem clamp(.8rem,2vw,1.5rem);display:grid;position:relative}.gridkeeper-brand{min-height:48px;color:var(--game-ink);align-items:center;gap:.55rem;font-weight:900;text-decoration:none;display:inline-flex}.gridkeeper-brand img{border:1px solid var(--game-line);background:var(--game-paper);border-radius:14px;width:42px;height:42px;box-shadow:0 8px 20px #0d46371f}.gridkeeper-title-block{min-width:0}.gridkeeper-kicker{color:var(--game-green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .2rem;font-size:.68rem;font-weight:900}.gridkeeper-title-block h1{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;max-width:none;margin:0;font-size:clamp(1.12rem,2vw,1.45rem);line-height:1.1;overflow:hidden}.gridkeeper-status{border:1px solid var(--game-line);min-height:44px;color:var(--game-muted);white-space:nowrap;background:#fffaf0c2;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .8rem;font-size:.78rem;font-weight:850;display:inline-flex}.gridkeeper-status-mark{border:2px solid var(--game-green);background:0 0;border-radius:50%;width:.6rem;height:.6rem}.gridkeeper[data-sandbox] .gridkeeper-status-mark{background:var(--game-amber);box-shadow:0 0 0 5px #f59e0b29}.gridkeeper-actions{align-items:center;gap:.45rem;display:flex}.game-button{border:1px solid var(--game-line);min-width:48px;min-height:48px;color:var(--game-ink);cursor:pointer;background:#fffaf0e6;border-radius:14px;justify-content:center;align-items:center;padding:.68rem .9rem;font-weight:850;line-height:1.1;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}.game-button:not(:disabled):hover{border-color:#146c537a;transform:translateY(-1px)}.game-button:disabled{cursor:not-allowed;opacity:.48}.game-button-primary{border-color:var(--game-green-dark);color:var(--game-paper);background:var(--game-green-dark);box-shadow:0 12px 24px #0d463733}.game-button-tool{gap:.48rem}.game-button-tool[aria-pressed=true]{border-color:var(--game-sky);background:color-mix(in srgb, var(--game-sky), white 76%)}.game-button-icon{padding:.5rem;font-size:1.1rem}.gridkeeper-layout{grid-template-columns:158px minmax(0,1fr) minmax(320px,390px);min-height:0;display:grid;overflow:hidden}.district-rail{z-index:10;border-right:1px solid var(--game-line);background:#f7f3e8db;flex-direction:column;gap:.5rem;padding:1rem .7rem;display:flex;position:relative;overflow-y:auto}.district-tab{min-height:64px;color:var(--game-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:16px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:.6rem;padding:.5rem;display:grid}.district-tab[aria-disabled=true]{cursor:not-allowed;opacity:.58}.district-tab[data-active]{color:var(--game-ink);background:var(--game-paper);border-color:#146c533d;box-shadow:0 10px 26px #0d46371a}.district-tab[data-destination]{border-color:color-mix(in srgb, var(--game-sky), var(--game-green) 24%);color:var(--game-ink);background:color-mix(in srgb, var(--game-sky), white 86%);box-shadow:inset 0 0 0 1px #38bdf833}.district-tab[data-operating]{color:var(--game-green-dark);background:#e6f3e9;border-color:#146c5380;box-shadow:0 10px 26px #0d463724}.district-tab[data-destination] .district-tab-number{color:var(--game-green-dark);background:#fffaf0b8;border-style:dashed}.district-tab[data-operating] .district-tab-number{color:var(--game-paper);background:var(--game-green)}.district-tab[data-restored]{color:var(--game-green-dark)}.district-tab-number{border:2px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.76rem;font-weight:900;display:grid}.district-tab[data-restored] .district-tab-number{color:var(--game-paper);background:var(--game-green)}.district-tab strong,.district-tab small{display:block}.district-tab strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.district-tab small{margin-top:.18rem;font-size:.67rem;font-weight:750}.island-stage{background:#bde5e2;min-width:0;min-height:420px;position:relative;overflow:hidden}.phaser-mount{touch-action:manipulation;place-items:center;display:grid;position:absolute;inset:0}.phaser-mount canvas{max-width:100%;max-height:100%;display:block}.movement-guide{z-index:11;max-width:260px;min-height:48px;color:var(--game-green-dark);pointer-events:none;background:#fffaf0e6;border:1px solid #0d46373d;border-radius:15px;align-items:center;gap:.58rem;padding:.48rem .62rem;transition:max-width .18s,padding .18s;display:flex;position:absolute;bottom:1rem;left:1rem;box-shadow:0 10px 28px #0d463724}.movement-guide>span:last-child,.movement-guide strong,.movement-guide small{display:block}.movement-guide strong{font-size:.7rem;line-height:1.2}.movement-guide small{color:var(--game-muted);white-space:nowrap;margin-top:.1rem;font-size:.58rem;font-weight:750}.movement-keys{gap:.24rem;display:flex}.movement-keys kbd{min-width:40px;min-height:29px;color:var(--game-green-dark);background:var(--game-paper);border:1px solid #0d46374d;border-bottom-width:3px;border-radius:8px;place-items:center;padding:.22rem .36rem;font:850 .58rem/1 Inter,system-ui,sans-serif;display:grid}.gridkeeper:not([data-movement-guide-expanded]) .movement-keys kbd:first-child{display:none}.gridkeeper:not([data-movement-guide-expanded]) .movement-guide{padding-inline:.48rem}.game-start-card,.pause-card{z-index:15;background:#fffaf0f5;border:1px solid #17211d2e;border-radius:26px;width:min(500px,100% - 32px);padding:clamp(1.25rem,3vw,2rem);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 30px 90px #0d46373d}.game-start-card:before{z-index:-1;content:"";border:1px dashed #146c5347;border-radius:34px;position:absolute;inset:-12px}.game-start-card h2,.pause-card h2{letter-spacing:-.055em;max-width:14ch;margin-bottom:.7rem;font-size:clamp(1.8rem,4vw,3rem);line-height:.98}.game-start-card>p:not(.gridkeeper-kicker,.start-safety){max-width:48ch;color:var(--game-muted);line-height:1.55}.start-instructions{color:var(--game-ink);gap:.45rem;margin:1rem 0 1.25rem;padding:0;font-size:.88rem;font-weight:750;list-style:none;display:grid}.start-instructions span{width:1.7rem;height:1.7rem;color:var(--game-green-dark);background:#ddefdf;border-radius:50%;place-items:center;margin-right:.4rem;display:inline-grid}.start-safety{color:var(--game-muted);margin:.85rem 0 0;font-size:.69rem;line-height:1.45}.pause-card{text-align:center;width:min(360px,100% - 32px)}.pause-card h2{max-width:none}.world-caption{z-index:14;color:var(--game-paper);opacity:0;pointer-events:none;background:#0d4637e6;border-radius:999px;padding:.6rem .9rem;font-size:.78rem;font-weight:900;position:absolute;bottom:1rem;left:50%;transform:translate(-50%,12px)}.gridkeeper[data-celebrate] .world-caption{animation:.85s both caption-rise}.control-dock{z-index:10;border-left:1px solid var(--game-line);background:#fffaf0f0;min-width:0;padding:clamp(1rem,2vw,1.35rem);position:relative;overflow-y:auto}.mission-panel{flex-direction:column;align-self:stretch;gap:.85rem;display:flex}.mission-heading{align-items:center}.mission-heading h2{font-size:clamp(1.65rem,2.6vw,2.25rem)}.mission-status{background:#f7f3e8c7;border:1px solid #60706a3d;border-radius:16px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:.68rem;min-height:62px;padding:.68rem .75rem;display:grid}.mission-status strong,.mission-status small{display:block}.mission-status strong{font-size:.8rem;line-height:1.25}.mission-status small{color:var(--game-muted);margin-top:.18rem;font-size:.66rem;font-weight:720;line-height:1.35}.mission-status[data-phase=near]{background:#fff6dd;border-color:#f59e0b61}.mission-status[data-phase=near] .proximity-signal{border-color:var(--game-amber)}.mission-status[data-phase=near] .proximity-signal:after{background:var(--game-amber)}.mission-status[data-phase=in-range]{background:#e6f3e9;border-color:#146c5361}.mission-status[data-phase=in-range] .proximity-signal{border-style:solid;border-color:var(--game-green);box-shadow:0 0 0 5px #146c531a}.mission-status[data-phase=in-range] .proximity-signal:after{background:var(--game-green)}.mission-progress{color:var(--game-muted);grid-template-columns:1fr auto;align-items:center;gap:.45rem .8rem;font-size:.7rem;font-weight:850;display:grid}.mission-progress .objective-meter{grid-column:1/-1}.mission-task{margin:0;font-size:.94rem;font-weight:760;line-height:1.45}.mission-action{width:100%}.contextual-flow,.station-flow-context{background:#e8f7fa;border:1px solid #38bdf861;border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:.7rem;padding:.75rem;display:grid}.contextual-flow>span,.station-flow-context>span{border:2px solid var(--game-sky);width:34px;height:34px;color:var(--game-green-dark);border-radius:50%;place-items:center;font-weight:950;display:grid}.contextual-flow strong,.station-flow-context strong{font-size:.78rem}.contextual-flow p,.station-flow-context p{color:var(--game-muted);margin:.22rem 0 0;font-size:.68rem;line-height:1.4}.contextual-flow ul,.station-flow-context ul{flex-wrap:wrap;gap:.35rem;margin:.55rem 0 0;padding:0;list-style:none;display:flex}.contextual-flow li,.station-flow-context li{color:var(--game-green-dark);background:#fffaf0e0;border-radius:999px;padding:.28rem .45rem;font-size:.61rem;font-weight:820}.mission-details{border-top:1px solid var(--game-line);color:var(--game-muted);margin-top:auto}.mission-details summary{min-height:48px;color:var(--game-green-dark);cursor:pointer;padding:.85rem 0;font-size:.72rem;font-weight:850}.mission-details>p{margin:0 0 .75rem;font-size:.72rem;line-height:1.5}.mission-replay-goal{border-top:1px dashed var(--game-line);justify-content:space-between;align-items:center;gap:.5rem;padding-top:.65rem;display:flex}.mission-replay-goal strong{color:var(--game-green-dark);white-space:nowrap}.gridkeeper[data-presentation=onboarding] .gridkeeper-layout{grid-template-columns:minmax(0,1fr)}.gridkeeper[data-presentation=onboarding] :is(.district-rail,.mission-panel,.movement-guide){display:none}.district-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.district-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(1.6rem,2.8vw,2.35rem);line-height:.98}.district-badge{border:2px solid var(--game-green);width:48px;height:48px;color:var(--game-green-dark);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:950;display:grid}.proximity-signal{border:2px dashed var(--game-muted);border-radius:50%;width:28px;height:28px;display:block;position:relative}.proximity-signal:after{background:var(--game-muted);content:"";border-radius:50%;position:absolute;inset:8px}.objective-meter{background:#17211d1a;border-radius:999px;height:8px;overflow:hidden}.objective-meter span{border-radius:inherit;background:linear-gradient(90deg, var(--game-green), var(--game-amber));width:0;height:100%;transition:width .22s;display:block}.objective-steps{counter-reset:objective;gap:.36rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.objective-steps li{color:var(--game-muted);grid-template-columns:19px 1fr;align-items:center;gap:.42rem;font-size:.7rem;font-weight:730;display:grid}.objective-steps li:before{content:"";border:1px solid;border-radius:50%;place-items:center;width:17px;height:17px;display:grid}.objective-steps li[data-done]{color:var(--game-green-dark)}.objective-steps li[data-done]:before{color:var(--game-paper);background:var(--game-green);content:"✓";font-size:.65rem}.game-dialog{border:1px solid var(--game-line);width:min(520px,100% - 32px);max-height:min(760px,100svh - 32px);color:var(--game-ink);background:var(--game-paper);border-radius:24px;padding:0;overflow:auto;box-shadow:0 38px 100px #0d463752}.game-dialog::backdrop{backdrop-filter:blur(5px);background:#0d201c9e}.game-dialog form{gap:.65rem;padding:1.2rem;display:grid}.island-finale{width:min(680px,100% - 32px)}.island-finale-card{text-align:center;padding:clamp(1.4rem,5vw,2.8rem)}.finale-mark{border:3px solid var(--game-sky);width:78px;height:78px;color:var(--game-green-dark);background:#e8f7fa;border-radius:50%;place-items:center;margin:0 auto 1rem;font-size:2rem;font-weight:950;display:grid;box-shadow:0 0 0 12px #38bdf81f}.island-finale-card h2{letter-spacing:-.065em;margin:0;font-size:clamp(2.4rem,7vw,4.8rem);line-height:.92}.island-finale-card>p:not(.gridkeeper-kicker){max-width:54ch;color:var(--game-muted);margin:1rem auto;line-height:1.55}.island-finale-card ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:1.35rem 0;padding:0;list-style:none;display:grid}.island-finale-card li{min-height:44px;color:var(--game-green-dark);background:#e3f1e6;border-radius:13px;align-items:center;gap:.45rem;padding:.55rem .65rem;font-size:.72rem;font-weight:850;display:flex}.island-finale-card li span{width:20px;height:20px;color:var(--game-paper);background:var(--game-green);border-radius:50%;place-items:center;display:grid}.finale-actions{justify-content:center;gap:.65rem;display:flex}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.35rem;display:flex}.dialog-heading h2{letter-spacing:-.05em;margin:0;font-size:2rem}.setting-row{border:1px solid var(--game-line);cursor:pointer;border-radius:15px;justify-content:space-between;align-items:center;gap:1rem;min-height:66px;padding:.72rem;display:flex}.setting-row strong,.setting-row small{display:block}.setting-row strong{font-size:.84rem}.setting-row small{color:var(--game-muted);margin-top:.16rem;font-size:.68rem;line-height:1.35}.setting-row input{width:28px;height:28px;accent-color:var(--game-green);flex:none}.keyboard-card{background:#e6f0ea;border-radius:15px;padding:.8rem}.keyboard-card strong{font-size:.8rem}.keyboard-card p{color:var(--game-muted);margin:.25rem 0 0;font-size:.7rem;line-height:1.45}.danger-button{color:var(--game-danger);background:#fff4ef;border-color:#b84f3c4d;justify-self:start;margin-top:.2rem}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.gridkeeper[data-effects=reduced] :where(.world-caption,.game-start-card){box-shadow:0 10px 24px #0d46371f}.gridkeeper[data-motion=reduced] *,.gridkeeper[data-motion=reduced] :before,.gridkeeper[data-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@keyframes caption-rise{0%{opacity:0;transform:translate(-50%,12px)}20%,72%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}@media (width<=1100px){.gridkeeper-layout{grid-template-columns:118px minmax(0,1fr) minmax(300px,350px)}.district-tab{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:72px}.district-tab small,.game-button-tool span:last-child{display:none}}@media (width<=820px){.gridkeeper{height:auto;display:block}.gridkeeper-topbar{grid-template-columns:auto minmax(0,1fr) auto;min-height:66px;padding-block:.5rem;position:sticky;top:0}.gridkeeper-brand span,.gridkeeper-status,.gridkeeper-title-block .gridkeeper-kicker{display:none}.gridkeeper-actions{gap:.28rem}.game-button-tool,.game-button-icon{width:48px;padding-inline:.4rem}.gridkeeper-layout{flex-direction:column;min-height:auto;display:flex;overflow:visible}.district-rail{border-top:1px solid var(--game-line);border-right:0;border-bottom:1px solid var(--game-line);scroll-snap-type:x proximity;flex-direction:row;order:2;gap:.38rem;padding:.55rem .65rem;overflow-x:auto}.district-tab{scroll-snap-align:start;text-align:left;flex:none;grid-template-columns:32px auto;justify-items:stretch;min-width:112px;min-height:52px}.district-tab-number{width:32px;height:32px}.island-stage{order:1;height:clamp(310px,46svh,440px);min-height:310px}.control-dock{border-left:0;order:3;overflow:visible}.mission-panel{border:1px solid var(--game-line);background:#fffaf0f7;border-radius:22px;align-self:auto;margin:.7rem;box-shadow:0 18px 44px #0d46371f}.gridkeeper[data-presentation=onboarding] .island-stage{height:calc(100svh - 66px);max-height:none}}@media (width<=560px){.gridkeeper-topbar{gap:.5rem;padding-inline:.55rem}.gridkeeper-brand img{width:40px;height:40px}.gridkeeper-title-block h1{font-size:.98rem}.game-start-card{border-radius:21px;width:calc(100% - 24px);max-height:calc(100% - 24px);padding:1rem;overflow-y:auto}.game-start-card:before{display:none}.game-start-card h2{font-size:1.72rem}.game-start-card>p:not(.gridkeeper-kicker,.start-safety){font-size:.82rem}.start-instructions{font-size:.74rem}.movement-guide{max-width:calc(100% - 1.1rem);min-height:44px;padding-block:.38rem;bottom:.55rem;left:.55rem}.movement-keys kbd{min-width:36px;min-height:27px}.control-dock{padding:.85rem .7rem 1.4rem}.mission-panel{padding:.9rem}.island-finale-card ol{grid-template-columns:repeat(2,minmax(0,1fr))}.finale-actions{flex-direction:column}.finale-actions .game-button{width:100%}.island-stage{height:46svh;min-height:330px;max-height:400px}}@media (width<=390px){.gridkeeper-actions .game-button{width:48px;min-width:48px;min-height:48px}.gridkeeper-actions{gap:.12rem}.district-heading h2{font-size:1.7rem}}@media (prefers-reduced-motion:reduce){.gridkeeper *,.gridkeeper :before,.gridkeeper :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
