:root{--night: #120c14;--stone: #1c1418;--panel: rgba(18, 12, 20, .92);--bone: #f2e7d5;--bone-dim: #b9a98f;--brass: #e0a44e;--water: #5fb9bf;--warn: #ff6a4a;--edge: rgba(242, 231, 213, .16);--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--serif: ui-serif, Georgia, "Iowan Old Style", "Times New Roman", serif;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--night);color:var(--bone);font-family:var(--serif);overflow:hidden;-webkit-text-size-adjust:100%}#app{position:relative;width:100%;height:100%;overflow:hidden}#chamber{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.eyebrow{margin:0;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}.hud{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));pointer-events:none}.hud[hidden]{display:none}.hud>*{pointer-events:auto;min-height:0}.bar{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.stat{flex:0 1 auto;min-width:108px;padding:8px 12px;background:var(--panel);border:1px solid var(--edge);border-radius:10px}.stat--grow{flex:1 1 220px}.stat-value{margin:3px 0 0;font-family:var(--mono);font-size:18px;line-height:1.1}.stat-note{margin:4px 0 0;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--bone-dim)}.figure{font-family:var(--mono);color:var(--bone);letter-spacing:.04em}.track{position:relative;height:8px;margin-top:7px;border-radius:4px;background:#f2e7d521;overflow:hidden}.track--slim{max-width:130px}.fill{height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,#3d8f96,var(--water));transition:width .35s var(--ease)}.fill--warm{background:linear-gradient(90deg,#8a5a2c,var(--brass))}.drought{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--warn)}.mid{display:grid;grid-template-columns:296px 1fr 322px;align-items:center;gap:16px;min-height:0}.mid-gap{min-height:0}.panel{padding:10px 12px 12px;background:var(--panel);border:1px solid var(--edge);border-radius:12px;box-shadow:0 14px 34px #00000080}.panel-title{margin:0;font-size:15px;letter-spacing:.02em}.panel-sub{margin:3px 0 8px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--bone-dim)}.claims{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.claim{display:flex;flex-direction:column;gap:1px;width:88px;padding:5px 7px;text-align:left;font-family:var(--mono);color:var(--bone);background:#f2e7d50f;border:1px solid var(--edge);border-left:3px solid var(--brass);border-radius:7px;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}.claim:hover{background:#f2e7d51f}.claim .who{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-dim)}.claim .num{font-size:15px;line-height:1.1}.claim .what{font-size:9px;letter-spacing:.04em;color:var(--bone-dim)}.claim .state{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.claim[data-state=true]{border-left-color:var(--water)}.claim[data-state=true] .state{color:var(--water)}.claim[data-state=false]{border-left-color:var(--warn)}.claim[data-state=false] .state{color:var(--warn)}.claim[data-state=contested] .state{color:var(--brass)}.claim[data-selected="1"]{background:#e0a44e33;border-color:var(--brass)}.wards{display:flex;flex-direction:column;gap:5px;margin:0;padding:0;list-style:none}.ward{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:4px 6px;border:1px solid transparent;border-radius:8px;background:#f2e7d50d}.ward[data-selected="1"]{border-color:var(--brass);background:#e0a44e29}.ward[data-short="1"] .ward-name{color:var(--warn)}.flag{width:26px;height:26px;font-family:var(--mono);font-size:13px;color:var(--bone-dim);background:#f2e7d514;border:1px solid var(--edge);border-radius:6px;cursor:pointer}.flag[data-on="1"]{color:#1a0f0c;background:var(--warn);border-color:var(--warn)}.ward-name{display:block;font-size:13px;line-height:1.15}.ward-ask{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--bone-dim)}.alloc{display:flex;align-items:center;gap:4px}.step{width:24px;height:24px;font-family:var(--mono);font-size:14px;color:var(--bone);background:#f2e7d514;border:1px solid var(--edge);border-radius:6px;cursor:pointer}.step:hover:not(:disabled){background:#f2e7d529}.step:disabled{opacity:.35;cursor:default}.alloc-value{min-width:22px;text-align:center;font-family:var(--mono);font-size:15px}.foot{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.foot-group{display:flex;gap:6px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--bone);background:var(--panel);border:1px solid var(--edge);border-radius:8px;padding:10px 12px;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}.btn:hover:not(:disabled){background:#f2e7d529}.btn:disabled{opacity:.4;cursor:default}.btn--go{color:#1c1208;background:var(--brass);border-color:var(--brass)}.btn--go:hover:not(:disabled){background:#f0b968}.btn--big{padding:12px 18px;font-size:12px}.tag{padding:1px 6px;font-size:10px;color:var(--bone);background:#f2e7d529;border-radius:5px}.coach{position:absolute;left:50%;bottom:84px;transform:translate(-50%);margin:0;max-width:min(560px,90vw);padding:8px 14px;text-align:center;font-family:var(--mono);font-size:11px;line-height:1.6;letter-spacing:.05em;color:var(--bone);background:var(--panel);border:1px solid var(--edge);border-radius:8px;opacity:0;transition:opacity .25s var(--ease);pointer-events:none}.coach[data-show="1"]{opacity:1}.scrim{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 50% 42%,#180e1675,#08050ae0);overflow-y:auto}.scrim[hidden]{display:none}.card{width:min(520px,100%);padding:24px;background:#120c14f0;border:1px solid var(--edge);border-radius:14px;box-shadow:0 20px 50px #0009}.card--wide{width:min(660px,100%)}h1{margin:8px 0 10px;font-size:clamp(30px,6vw,44px);letter-spacing:.01em;line-height:1.05}h2{margin:8px 0 10px;font-size:clamp(20px,3.6vw,27px);line-height:1.15}.lede{margin:0 0 12px;font-size:15px;line-height:1.6;color:var(--bone)}.legend{margin:0 0 14px;padding:0 0 0 18px;font-family:var(--mono);font-size:11px;line-height:1.85;letter-spacing:.04em;color:var(--bone-dim)}.legend b{color:var(--bone)}.fineprint,.brief-meta{margin:10px 0 0;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-dim)}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.ledger{display:flex;flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none}.ledger li{display:flex;gap:10px;align-items:baseline;justify-content:space-between;padding:6px 8px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--bone-dim);background:#f2e7d50d;border-left:3px solid var(--bone-dim);border-radius:6px}.ledger li[data-state=erupted]{border-left-color:var(--warn);color:var(--warn)}.ledger li[data-state=held]{border-left-color:var(--brass)}.ledger li[data-state=caught]{border-left-color:var(--water)}.ledger li span:last-child{color:var(--bone);text-align:right}@media(max-width:1000px){.mid{grid-template-columns:1fr;align-content:center;gap:8px}.mid-gap{display:none}.stat{flex:1 1 130px}.panel-sub{display:none}.panel-title{font-size:13px}.claims{display:grid;grid-template-columns:1fr 1fr;gap:4px}.claim{width:auto;flex-direction:row;align-items:baseline;gap:5px;padding:4px 6px}.claim .num{font-size:13px}.claim .state{margin-left:auto}.coach{position:static;left:auto;bottom:auto;transform:none;width:100%;max-width:none;margin:0;padding:5px 9px;font-size:10px;line-height:1.45}}@media(max-width:560px){.hud{gap:7px;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}.bar{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stat{min-width:0;padding:6px 8px}.stat-value{font-size:15px}.panel{padding:7px 9px 8px}.ward{grid-template-columns:24px 1fr auto;gap:6px;padding:2px 4px}.ward-name{font-size:12px}.btn{padding:9px 8px;font-size:10px}.foot{gap:6px}.foot-group{gap:5px}}@media(pointer:coarse){.step,.flag{width:44px;height:44px}.btn{min-height:44px;padding:11px 12px}.claim{min-height:44px;padding:8px 10px}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
