:root{--bg:#f3f4f1;--paper:#fbfbf9;--ink:#1f2622;--muted:#5e6a63;--road:#ffffff;--road-edge:#c9cec8;--line:#dfe3df;--park:#dcebd5;--pitch:#cfe3c6;--water:#9cc3dc;--block:#eeefeb;--z76:#c0392b;--z77:#6d7f0e;--z78:#0f7d6e;--z79:#c26f00;--z80:#6a3fbf;--on-zone:#ffffff;--done:#8d9792;--chip:#eef0ec;--chip-on:#1f2622;--chip-on-ink:#ffffff;--ok:#2f8a4a;--warn:#a85f00;--me:#1a73e8;--me-ring:#ffffff;--display:"Barlow Condensed","Arial Narrow",sans-serif;--body:"Barlow",system-ui,-apple-system,sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151a18;--paper:#1b2220;--ink:#e7ece9;--muted:#9aa6a0;--road:#38423e;--road-edge:#2a322f;--line:#2c3531;--park:#1f3327;--pitch:#24392b;--water:#2f5469;--block:#1f2724;--z76:#f2836f;--z77:#bcd04a;--z78:#3cc4b0;--z79:#f2a93b;--z80:#ab89f2;--on-zone:#151a18;--done:#5f6a65;--chip:#26302c;--chip-on:#e7ece9;--chip-on-ink:#151a18;--ok:#5cc47a;--warn:#f2a93b;--me:#5aa2ff;--me-ring:#151a18;color-scheme:dark}}:root[data-theme=dark]{--bg:#151a18;--paper:#1b2220;--ink:#e7ece9;--muted:#9aa6a0;--road:#38423e;--road-edge:#2a322f;--line:#2c3531;--park:#1f3327;--pitch:#24392b;--water:#2f5469;--block:#1f2724;--z76:#f2836f;--z77:#bcd04a;--z78:#3cc4b0;--z79:#f2a93b;--z80:#ab89f2;--on-zone:#151a18;--done:#5f6a65;--chip:#26302c;--chip-on:#e7ece9;--chip-on-ink:#151a18;--ok:#5cc47a;--warn:#f2a93b;--me:#5aa2ff;--me-ring:#151a18;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5}.wrap{max-width:1040px;margin:0 auto;padding-block:24px 96px;padding-inline:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}h1{font-family:var(--display);font-weight:700;font-size:clamp(28px,6vw,40px);line-height:1;margin:0;text-wrap:balance}.sub{color:var(--muted);margin:6px 0 0}.tally{display:grid;grid-template-columns:auto auto 1fr;gap:6px 28px;align-items:end;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:14px 16px}.tally .n{font-family:var(--display);font-weight:700;font-size:38px;line-height:1;font-variant-numeric:tabular-nums}.tally .k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.tally .bars{display:grid;gap:6px;align-self:center;min-width:0}.zbar{display:grid;grid-template-columns:52px 1fr 44px;gap:8px;align-items:center;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.zbar b{font-family:var(--display);font-size:15px;color:var(--ink)}.track{height:8px;border-radius:4px;background:var(--chip);overflow:hidden}.track i{display:block;height:100%;background:var(--c);width:0;transition:width .3s}.status{grid-column:1/-1;font-size:13px;color:var(--muted);margin:0}.status.warn{color:var(--warn)}@media(max-width:560px){.tally{grid-template-columns:1fr 1fr}.tally .bars{grid-column:1/-1}}.legend{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:var(--muted);align-items:center}.legend span{display:inline-flex;align-items:center;gap:8px}.legend svg{width:54px;height:22px}.locbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.locmsg{margin:0;font-size:14px;color:var(--muted);flex:1 1 200px}.locmsg:empty{display:none}.act.loc{--c:var(--me);min-height:40px}.act.loc[aria-pressed=true]{background:var(--me);color:var(--me-ring);border-color:var(--me)}.map{background:var(--block);border:1px solid var(--line);border-radius:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}#map{display:block;width:100%;min-width:680px;height:auto}.lbl{font-family:var(--body);font-size:15px;font-weight:500;fill:var(--muted);paint-order:stroke;stroke:var(--block);stroke-width:4px;stroke-linejoin:round;text-anchor:middle;pointer-events:none}.lbl.major{font-weight:600;fill:var(--ink);font-size:16px}.lbl.poi{font-style:italic;font-size:13px}.badge{pointer-events:none}.badge text{font-family:var(--display);font-weight:700;fill:var(--on-zone);text-anchor:middle}.hit{fill:none;stroke:transparent;pointer-events:stroke;stroke-width:28;cursor:pointer;stroke-linecap:round}.dl{transition:stroke .2s,opacity .2s}.me-accuracy{fill:var(--me);fill-opacity:.14;stroke:var(--me);stroke-opacity:.5;stroke-width:1.5}.me-dot{fill:var(--me);stroke:var(--me-ring);stroke-width:4}.me-arrow{fill:var(--me);stroke:var(--me-ring);stroke-width:3;stroke-linejoin:round}.note{font-size:13px;color:var(--muted);margin:0}.zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px;align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:14px 16px;display:grid;gap:10px;border-top:5px solid var(--c);min-width:0}.card h2{font-family:var(--display);font-size:22px;margin:0;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.card>p{margin:0;color:var(--muted);font-size:14px}.card>p.zc{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums;margin-top:-6px}.street{border-top:1px solid var(--line);scroll-margin-top:12px}.street summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 2px;align-items:center;min-height:44px}.street summary::-webkit-details-marker{display:none}.street summary:focus-visible{outline:2px solid var(--c);outline-offset:2px;border-radius:4px}.street .nm{font-weight:600}.street .nm:before{content:"▸";display:inline-block;width:14px;color:var(--muted);transition:transform .15s}.street[open] .nm:before{transform:rotate(90deg)}.street .ct{font-variant-numeric:tabular-nums;font-size:14px;color:var(--muted)}.street.full .ct{color:var(--ok);font-weight:600}.street.full .ct:before{content:"✓ "}.street .meta{grid-column:1/-1;font-size:13px;color:var(--muted);padding-left:14px}.street .track{grid-column:1/-1;height:4px;margin-left:14px}.street.flash{animation:flash 1.2s}@keyframes flash{0%{background:color-mix(in srgb,var(--c) 22%,transparent)}to{background:transparent}}.houses{display:grid;gap:10px;padding:4px 0 14px 14px}.side{display:grid;gap:6px}.side .k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font:600 14px/1 var(--body);font-variant-numeric:tabular-nums;min-width:40px;height:36px;padding:0 6px;border-radius:6px;border:1px solid var(--line);background:var(--chip);color:var(--ink);cursor:pointer;touch-action:manipulation}.chip[aria-pressed=true]{background:var(--chip-on);color:var(--chip-on-ink);border-color:var(--chip-on)}.chip:focus-visible,.act:focus-visible,.undo:focus-visible{outline:2px solid var(--c,var(--ink));outline-offset:2px}.acts{display:flex;flex-wrap:wrap;gap:8px}.act{font:600 14px var(--body);padding:8px 12px;min-height:36px;border-radius:6px;border:1px solid var(--c);background:transparent;color:var(--ink);cursor:pointer;touch-action:manipulation}.act.primary{background:var(--c);border-color:var(--c);color:var(--on-zone)}[hidden]{display:none!important}.floaters{position:fixed;inset-inline:16px;bottom:calc(16px + env(safe-area-inset-bottom));display:grid;justify-items:center;gap:8px;pointer-events:none;z-index:10}.toast,.pill{pointer-events:auto;background:var(--ink);color:var(--bg);border-radius:6px;font-size:14px;font-weight:500;box-shadow:0 2px 10px #00000040;max-width:100%}.toast{display:flex;align-items:center;gap:12px;padding:6px 6px 6px 14px}.pill{padding:6px 14px;font-variant-numeric:tabular-nums}.undo{font:600 14px var(--body);min-height:36px;padding:0 12px;border:1px solid var(--bg);border-radius:6px;background:transparent;color:var(--bg);cursor:pointer}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
