:root{--well:#071016;--plate:#12302c;--pipe:#2f6b62;--fluid:#5cffc8;--amber:#f0c35a;--lock:#ff6b4a;--paper:#e4fff4;--mute:#7aa396;--sa-t:env(safe-area-inset-top,0px);--sa-b:env(safe-area-inset-bottom,0px);--sa-l:env(safe-area-inset-left,0px);--sa-r:env(safe-area-inset-right,0px)}*{box-sizing:border-box;margin:0;padding:0}html{height:100dvh}html,body{background:var(--well);touch-action:manipulation;-webkit-user-select:none;user-select:none;min-height:100dvh;font-family:Avenir Next Condensed,PingFang SC,Hiragino Sans GB,system-ui,sans-serif;overflow:hidden}#c,#hits{display:none}#hud{left:calc(8px + var(--sa-l));bottom:calc(8px + var(--sa-b));pointer-events:none;z-index:2;position:fixed}#hint{display:none}#cta{text-align:center;color:var(--fluid);pointer-events:none;font-size:22px;position:fixed;inset:auto 0 24px}#cta[hidden]{display:none}#app{position:fixed;inset:0}#stage{background:radial-gradient(1200px 240px at 20% -10%, #5cffc814, transparent 50%), var(--well);width:100%;height:100dvh;max-height:100dvh;padding-left:var(--sa-l);padding-right:var(--sa-r);color:var(--paper);flex-direction:column;display:flex}#mast{background:var(--well);z-index:3;border-bottom:1px solid #1e3a36;flex:none;padding:6px 8px 4px}#title{color:var(--paper);letter-spacing:.14em;margin-bottom:4px;font-size:13px;font-weight:600;line-height:1.3}#progress{gap:4px;display:flex}#progress .step{flex:1;min-width:44px;min-height:44px;font-size:13px}#progress .step.did{border-color:#2f6b62}#progress .step.now{border-color:var(--amber);color:var(--amber)}#progress .step.viewing{border-color:var(--fluid);color:var(--fluid);background:#1d4a3c}#work{flex-direction:column;flex:1;gap:10px;min-height:0;padding:8px 8px 12px;scroll-padding-top:8px;scroll-padding-bottom:8px;display:flex;overflow:auto}#panels{flex-direction:column;gap:10px;display:flex;position:relative}#panels>section,#work>section{background:#0d1c1a;border:1px solid #1e3a36;padding:8px}#panels>section{scroll-margin-top:8px;scroll-margin-bottom:8px}#work h2{letter-spacing:.08em;color:var(--fluid);margin-bottom:4px;font-size:14px}.lede,#claim-links,#claim-eval,.cmp-note,.cmp-row{color:var(--mute);margin-bottom:8px;font-size:13px;line-height:1.35}#plant-col{background:0 0;border:0;flex-direction:column;gap:6px;min-height:0;padding:0;display:flex;overflow:auto}#plant{flex:none;max-width:360px;overflow:visible}#schematic{width:100%;height:auto;min-height:168px;display:block}.band{flex:none}#schematic .open rect{stroke:var(--fluid)}#schematic .stop circle{stroke:var(--mute)}#schematic .stop path{fill:var(--mute)}#schematic .open line{stroke:var(--fluid)}#schematic g.hl circle,#schematic g.hl rect{stroke:var(--amber);stroke-width:3px}#stage.hl-sync .band{border-color:var(--amber)}.band{background:#0d1c1a;border:1px solid #1e3a36;align-items:stretch;gap:6px;min-height:44px;padding:2px 4px;display:flex}.band-label{width:72px;color:var(--mute);flex:none;align-items:center;font-size:12px;line-height:1.1;display:flex}.ticks{flex:1;gap:2px;display:flex}.tick{min-width:44px;min-height:44px;color:var(--paper);background:#102422;border:1px solid #1e3a36;flex:1;padding:2px;font-size:12px;overflow:hidden}.tick b{color:var(--fluid);font-size:12px;display:block}.tick.hot{color:#ffd0c6;background:#3a1814}.tick.sel{border-color:var(--amber)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{min-width:88px;min-height:44px;color:var(--paper);letter-spacing:.02em;background:#102422;border:1px solid #2f6b62;font-size:13px}.chip .zh{pointer-events:none}.chip.got{border-color:var(--fluid);color:var(--fluid);background:#1a4a3c}.chip.sel{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}#detail{background:#102422;border:1px solid #2a4a46;margin-top:8px;padding:8px;font-size:13px;line-height:1.35}#detail .code{color:var(--amber);font-variant:tabular-nums}.row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}button{color:var(--paper);background:#152824;border:1px solid #2a4a46;min-width:44px;min-height:44px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.2}button.on{border-color:var(--fluid);color:var(--fluid);background:#1d4a3c}button[data-act=clock_only].on{border-color:var(--amber);color:var(--amber)}button:focus{outline:none}button:focus-visible,.chip:focus-visible,.tick:focus-visible,.step:focus-visible{outline:2px solid var(--fluid);outline-offset:2px}#replay,#align,#primary{letter-spacing:.06em;background:#1a3a28;width:100%}#dock{padding:8px 8px calc(8px + var(--sa-b));z-index:3;background:#0a1614;border-top:1px solid #1e3a36;flex-direction:column;flex:none;gap:6px;display:flex}#result{color:var(--mute);min-height:1.3em;font-size:13px;line-height:1.3}#result.fail{color:var(--lock)}#result.ok{color:var(--fluid)}#result.err{color:var(--amber)}.cmp-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.cmp-grid>div{border:1px solid #1e3a36;min-height:44px;padding:8px}.cmp-grid h3{color:var(--amber);margin-bottom:4px;font-size:13px}.mute{color:var(--mute)}@media (width>=800px){#work{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(280px,360px) 1fr;align-content:stretch;display:grid;overflow:hidden}#plant-col{min-height:0;overflow:auto}#panels{min-height:0;padding-bottom:8px;overflow:auto}#replay,#align{width:auto;min-width:200px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
