:root{--canvas:#F4F5F7;--card:#FFFFFF;--ink:#0E1116;--ink-fg:#FFFFFF;--ink-muted:rgba(255,255,255,.62);--fg:#0E1116;--fg-2:#5B6472;--fg-3:#8A93A1;--hairline:#D9DFE7;--accent:#2E63F6;--accent-fg:#FFFFFF;--accent-soft:rgba(46,99,246,.12);--win:#1E9E5A;--loss:#D8433B;--map-water:#E9EDF2;--map-land:#FBFBFC;--map-border:#C9D1DC;--font-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;--font-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;--radius:18px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:#000000;--card:#141418;--ink:#1E1F25;--ink-fg:#FFFFFF;--ink-muted:rgba(255,255,255,.6);--fg:#F2F3F5;--fg-2:#A3AAB6;--fg-3:#6F7682;--hairline:#26272E;--accent:#5B86FF;--accent-fg:#0B0B0E;--accent-soft:rgba(91,134,255,.18);--win:#3DBD78;--loss:#E8615A;--map-water:#0B0B0E;--map-land:#1C1D23;--map-border:#33353E;color-scheme:dark}}:root[data-theme=dark]{--canvas:#000000;--card:#141418;--ink:#1E1F25;--ink-fg:#FFFFFF;--ink-muted:rgba(255,255,255,.6);--fg:#F2F3F5;--fg-2:#A3AAB6;--fg-3:#6F7682;--hairline:#26272E;--accent:#5B86FF;--accent-fg:#0B0B0E;--accent-soft:rgba(91,134,255,.18);--win:#3DBD78;--loss:#E8615A;--map-water:#0B0B0E;--map-land:#1C1D23;--map-border:#33353E;color-scheme:dark}html,body{height:100%}body{margin:0;background:var(--canvas);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.35;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overflow:hidden;font-variant-numeric:tabular-nums}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.views{height:100%;position:relative;overflow:hidden}.view{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--canvas);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));transition:transform .26s cubic-bezier(.32,.72,0,1),opacity .26s ease}.view.home.pushed{transform:translate(-28%);opacity:.6;pointer-events:none}.view.app{transform:translate(100%);box-shadow:-12px 0 32px #00000014}.view.app.shown{transform:translate(0)}.home{gap:12px}.brand{text-align:center;padding:14px 0 6px;display:flex;flex-direction:column;gap:6px;flex:0 0 auto}.wordmark{font-family:var(--font-display);font-weight:700;font-size:clamp(68px,21vw,84px);line-height:.85;letter-spacing:-.01em}.tag{font-size:15px;color:var(--fg-2);font-weight:500}.pills{display:flex;flex-direction:column;gap:12px;flex:0 0 auto}.pill{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:76px;padding-block:12px;padding:0 20px;border-radius:999px;background:var(--ink);color:var(--ink-fg);text-align:left;width:100%;transition:transform .12s ease}.pill:active{transform:scale(.98)}.pill b{display:block;font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1}.pill small{display:block;font-size:13px;color:var(--ink-muted);margin-top:3px}.pill .cta{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-weight:600;font-size:14px;white-space:nowrap}.pill.done{background:var(--card);color:var(--fg);border:1px solid var(--hairline)}.pill.done small{color:var(--fg-2)}.pill.jug{background:#b3261e;color:#fff}.pill.jug small{color:#ffffffbf}.pill.jug .cta{background:#fff;color:#b3261e}.pill.locked{background:var(--card);color:var(--fg-3);border:1px solid var(--hairline);cursor:default}.pill.locked b{color:#b3261e;opacity:.55}.pill.locked small{color:var(--fg-3)}.pill .mini{display:flex;gap:4px}.pill .mini i{display:block;width:18px;height:18px;border-radius:5px}.pill.done .mini{margin-top:6px}.pill.done .mini i{width:14px;height:14px;border-radius:4px}.pill .jugcta{background:#b3261e;color:#fff}.pill .jugdone{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pill .jugdone small{color:#b3261e;font-weight:600;margin:0}.pill .jugdone .mini{margin:0}.home .label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--fg-3);text-align:left;padding:4px 2px 0}.home .rows{flex:0 0 auto}.home .spacer{flex:1 1 auto}.home .foot{display:flex;justify-content:space-between;font-size:13px;color:var(--fg-2);padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.hrow{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 14px;border-top:1px solid var(--hairline);text-align:left}.hrow:first-child{border-top:0}.hrow .t b{display:block;font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1}.hrow .t b.jug{color:#b3261e}.hrow .t small{display:block;color:var(--fg-2);font-size:13px;margin-top:3px}.hrow .play{height:38px;padding:0 16px;border-radius:11px;border:1px solid var(--hairline);background:var(--card);color:var(--fg);font-weight:600;font-size:14px;transition:transform .12s ease}.hrow .play:active{transform:scale(.97)}.hrow .play.jug{background:#b3261e;color:#fff;border-color:#b3261e}.hrow .play.muted{color:var(--fg-3)}.hrow .mini{display:flex;gap:4px}.hrow .mini i{display:block;width:16px;height:16px;border-radius:4px}.backbtn{display:inline-flex;align-items:center;gap:2px;height:44px;margin-left:-8px;padding:0 6px 0 2px;color:var(--accent);font-weight:600;font-size:15px;border-radius:10px;transition:transform .12s ease}.backbtn:active{transform:scale(.96)}.hdr{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:48px;flex:0 0 auto}.hdr .date{font-size:13px;color:var(--fg-2);font-weight:500}.hdr .mark{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:.02em;line-height:1}.hdr .right{display:flex;justify-content:flex-end}.iconbtn{width:44px;height:44px;margin-right:-10px;display:grid;place-items:center;border-radius:50%;color:var(--fg-2);transition:transform .12s ease}.iconbtn:active{transform:scale(.94)}.hero{background:var(--ink);color:var(--ink-fg);border-radius:var(--radius);padding:14px 16px 12px;flex:0 0 auto;display:flex;flex-direction:column;gap:6px;text-align:center}.hero .row{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ink-muted)}.hero .mult{background:#ffffff24;padding:3px 8px;border-radius:999px;color:var(--ink-fg);font-weight:700;letter-spacing:.04em}.hero .mult[hidden]{display:none}.hero .name{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,8.5vw,40px);line-height:1;letter-spacing:.005em;text-wrap:balance;margin-top:2px}.hero .sub{font-size:14px;color:var(--ink-muted);font-weight:500}.dots{display:flex;gap:6px;justify-content:center;margin-top:4px}.dots i{width:22px;height:4px;border-radius:2px;background:#ffffff2e}.dots i.done{background:var(--ink-fg)}.dots i.cur{background:var(--accent)}.mapwrap{flex:1 1 auto;min-height:0;position:relative;margin:10px -4px 0;border-radius:var(--radius);overflow:hidden;background:var(--map-water);border:1px solid var(--hairline);touch-action:none}.mapwrap svg{display:block;width:100%;height:100%;cursor:crosshair}.state{fill:var(--map-land);stroke:var(--map-border);stroke-width:.7;vector-effect:non-scaling-stroke}.hint{position:absolute;left:50%;top:12px;transform:translate(-50%);background:var(--card);color:var(--fg-2);font-size:13px;font-weight:500;padding:7px 12px;border-radius:999px;box-shadow:0 1px 2px #00000014;border:1px solid var(--hairline);pointer-events:none;white-space:nowrap;transition:opacity .2s ease}.hint.off{opacity:0}.zoomctl{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:6px}.zoomctl button{width:40px;height:40px;border-radius:12px;background:var(--card);border:1px solid var(--hairline);color:var(--fg);font-size:20px;font-weight:500;display:grid;place-items:center;transition:transform .12s ease}.zoomctl button:active{transform:scale(.94)}.pin-guess{fill:var(--accent);stroke:var(--card);stroke-width:2}.lbl.off,.citydot.off{display:none}.pin-ans{fill:var(--card);stroke:var(--fg);stroke-width:2.5}.pin-ans-core{fill:var(--fg)}.link{stroke:var(--fg);stroke-width:1.5;stroke-dasharray:4 4;fill:none;opacity:.7;vector-effect:non-scaling-stroke}.bar{flex:0 0 auto;padding:12px 0 calc(10px + env(safe-area-inset-bottom,0px))}.btn{width:100%;height:52px;border-radius:14px;font-weight:600;font-size:17px;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,background .2s ease,color .2s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:disabled{background:var(--card);color:var(--fg-3);border:1px solid var(--hairline);cursor:default}.btn-secondary{background:var(--card);color:var(--fg);border:1px solid var(--hairline)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--card);border-radius:22px 22px 0 0;box-shadow:0 -8px 32px #00000024;transform:translateY(105%);transition:transform .28s cubic-bezier(.32,.72,0,1);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.sheet.open{transform:translateY(0)}.handle{width:36px;height:4px;border-radius:2px;background:var(--hairline);margin:0 auto 12px}.res-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.res-school{font-family:var(--font-display);font-weight:700;font-size:28px;line-height:1;text-align:left}.res-sport{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:600;margin-bottom:4px;text-align:left}.strip{display:grid;grid-template-columns:1fr 1fr 1fr;margin:14px 0;border:1px solid var(--hairline);border-radius:14px}.strip>div{padding:10px 8px;text-align:center;border-left:1px solid var(--hairline)}.strip>div:first-child{border-left:0}.strip b{display:block;font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1.05}.strip span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:600;margin-top:4px}.strip .pts b{color:var(--accent)}.scrim{position:fixed;inset:0;z-index:15;background:#0000;display:none}.scrim.on{display:block}.scrim.dim{background:#0000;display:block;pointer-events:none;transition:background .26s ease;z-index:25}.scrim.dim.on{background:#00000061;pointer-events:auto}.summary{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-top:10px;display:flex;flex-direction:column;gap:10px}.total{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);padding:18px 16px;text-align:center}.total .big{font-family:var(--font-display);font-weight:700;font-size:56px;line-height:1}.total .big small{font-size:22px;color:var(--fg-3);font-weight:600}.total .line{color:var(--fg-2);font-size:14px;margin-top:4px}.rows{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}.rowr{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid var(--hairline);text-align:left}.rowr:first-child{border-top:0}.rowr .n{color:var(--fg-3);font-weight:600;font-size:13px}.rowr .who{font-weight:600;line-height:1.2}.rowr .who small{display:block;color:var(--fg-2);font-weight:400;font-size:13px}.rowr .pts{font-family:var(--font-display);font-weight:700;font-size:22px;text-align:right;line-height:1}.rowr .pts small{display:block;font-family:var(--font-body);font-weight:500;font-size:12px;color:var(--fg-3);margin-top:2px}.rowr .mult{color:var(--accent);font-size:13px;font-weight:600;margin-left:4px}.twobtn{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));transform:translate(-50%,8px);background:var(--ink);color:var(--ink-fg);padding:9px 14px;border-radius:999px;font-size:14px;font-weight:500;opacity:0;transition:all .2s ease;pointer-events:none;z-index:30}.toast.on{opacity:1;transform:translate(-50%)}.help{position:fixed;inset:0;z-index:40;background:var(--canvas);display:flex;flex-direction:column;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}.help .hdr{grid-template-columns:1fr auto 1fr}.help h2{font-family:var(--font-display);font-size:28px;margin:8px 0 4px;text-align:left}.help p{margin:0 0 10px;color:var(--fg-2);max-width:62ch;text-align:left}.help .card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);padding:14px 16px}.help .stat{display:grid;grid-template-columns:1fr 1fr 1fr;text-align:center}.help .stat b{font-family:var(--font-display);font-size:28px;display:block;line-height:1}.help .stat span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:600}.seg{display:grid;grid-template-columns:1fr 1fr 1fr;background:#0e11160d;border:1px solid rgba(14,17,22,.1);border-radius:12px;padding:3px;margin:0 0 10px;flex:0 0 auto}:root[data-theme=dark] .seg{background:#ffffff0d;border-color:#ffffff1a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .seg{background:#ffffff0d;border-color:#ffffff1a}}.seg button{height:34px;border-radius:9px;font-weight:600;font-size:14px;color:var(--fg-3);transition:transform .12s ease,background .15s ease,color .15s ease}.seg button:active{transform:scale(.97)}.seg button.on{background:var(--card);color:var(--fg);box-shadow:0 1px 2px #00000014}:root[data-theme=dark] .seg button.on{background:#ffffff29;box-shadow:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .seg button.on{background:#ffffff29;box-shadow:none}}.lbl{font-family:var(--font-body);font-size:11px;font-weight:500;fill:var(--fg-2);paint-order:stroke;stroke:var(--map-land);stroke-width:3px;stroke-linejoin:round;pointer-events:none}.lbl.state{font-size:11px;font-weight:600;fill:var(--fg-3);letter-spacing:.06em}.lbl.city{fill:var(--fg-2)}.citydot{fill:var(--fg-3);stroke:var(--map-land);stroke-width:1.5px;pointer-events:none}.nation{fill:none;stroke:var(--map-border);stroke-width:1.2;vector-effect:non-scaling-stroke}.app.jug{--accent:#B3261E;--accent-fg:#FFFFFF;--accent-soft:rgba(179,38,30,.12)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .app.jug{--accent:#E0524A;--accent-fg:#0B0B0E}}:root[data-theme=dark] .app.jug{--accent:#E0524A;--accent-fg:#0B0B0E}.jugbar{display:flex;align-items:center;justify-content:space-between;height:40px;margin:0 0 10px;padding:0 4px 0 12px;border-radius:12px;background:var(--card);border:1px solid var(--hairline);flex:0 0 auto}.jugbar b{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--accent);letter-spacing:.01em}.jugbar span{font-size:13px;color:var(--fg-2);margin-left:8px}.jugbar button{height:32px;padding:0 12px;border-radius:9px;font-weight:600;font-size:14px;color:var(--fg-2)}.hero .mult{background:var(--accent);color:var(--accent-fg)}.hero .nohint{color:#f28b82}.badge{display:inline-flex;align-items:center;gap:5px;background:#1e9e5a1f;color:#15763f;font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 10px;border-radius:999px;white-space:nowrap}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .badge{background:#3dbd7829;color:#5bd48f}}:root[data-theme=dark] .badge{background:#3dbd7829;color:#5bd48f}.res-top{align-items:flex-end}.sumhero{background:var(--ink);color:var(--ink-fg);border-radius:var(--radius);padding:18px 16px 16px;text-align:center;display:flex;flex-direction:column;gap:10px}.sumhero .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ink-muted)}.sumhero .big{font-family:var(--font-display);font-weight:700;font-size:60px;line-height:1}.sumhero .big small{font-size:22px;color:#ffffff80;font-weight:600}.sumhero .pct{font-size:15px;font-weight:600}.sumhero .pct.muted{color:var(--ink-muted);font-weight:500}.squares{display:flex;gap:6px;justify-content:center;margin-top:2px}.squares div{display:flex;flex-direction:column;align-items:center;gap:4px}.squares i{display:block;width:40px;height:40px;border-radius:10px}.squares span{font-size:11px;color:var(--ink-muted);font-weight:600}.sq0{background:#1e9e5a}.sq1{background:#e8b931}.sq2{background:#e8762b}.sq3{background:#d8433b}.stats{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--card);border:1px solid var(--hairline);border-radius:14px}.stats>div{padding:10px 8px;text-align:center;border-left:1px solid var(--hairline)}.stats>div:first-child{border-left:0}.stats b{display:block;font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1.05}.stats span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-weight:600;margin-top:4px}.jugcard{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:14px}.jugcard .t{flex:1 1 auto;min-width:0;text-align:left}.jugcard .t b{font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1;color:#b3261e}.jugcard .t small{display:block;font-size:13px;color:var(--fg-2);margin-top:4px}.jugcard button{height:44px;padding:0 18px;border-radius:12px;background:#b3261e;color:#fff;font-weight:600;font-size:15px;white-space:nowrap;transition:transform .12s ease}.jugcard button:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.field{display:flex;flex-direction:column;gap:6px}.field .fh{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--fg-3);text-align:left;padding:2px 2px 0}.rowr .who small.fg{color:var(--fg-3);font-size:12px;margin-top:1px}.rowr .who small.fg:empty{display:none}.sheet.pick{z-index:26;padding-top:0}.pick .grab{height:28px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.pick .grab .handle{margin:0}.pickhead{text-align:left;padding:2px 2px 14px}.picktitle{font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1}.picksub{font-size:14px;color:var(--fg-2);margin-top:4px}.opts{display:flex;flex-direction:column;gap:10px;padding-bottom:6px}.opt{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;width:100%;text-align:left;padding:16px 16px 16px 18px;border-radius:20px;background:var(--ink);color:var(--ink-fg);transition:transform .12s ease}.opt:active{transform:scale(.98)}.opt .ot b{display:block;font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1}.opt .ot small{display:block;font-size:13px;color:var(--ink-muted);margin-top:4px;line-height:1.3}.opt .ot em{display:block;font-style:normal;font-size:13px;font-weight:600;margin-top:8px;color:var(--ink-fg)}.opt .cta{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-weight:600;font-size:14px;white-space:nowrap}.opt.jug{background:#b3261e}.opt.jug .ot small{color:#ffffffc7}.opt.jug .cta{background:#fff;color:#b3261e}.opt.done{background:var(--card);color:var(--fg);border:1px solid var(--hairline)}.opt.done .ot small{color:var(--fg-2)}.opt.done .ot em{color:var(--fg)}.opt.jug.done .ot b{color:#b3261e}.opt .mini{display:flex;gap:4px}.opt .mini i{display:block;width:14px;height:14px;border-radius:4px}.remind{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:12px;text-align:left}.remind b{display:block;font-weight:600}.remind small{display:block;color:var(--fg-2);font-size:13px;margin-top:2px}.remind .acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.remind button{height:44px;border-radius:12px;font-weight:600;font-size:15px;transition:transform .12s ease}.remind button:active{transform:scale(.97)}.remind .no{background:var(--canvas);color:var(--fg);border:1px solid var(--hairline)}.remind .yes{background:var(--accent);color:var(--accent-fg)}.help .remindrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;text-align:left}.help .remindrow b{display:block;font-weight:600}.help .remindrow small{display:block;color:var(--fg-2);font-size:13px;margin-top:2px}.switch{position:relative;width:51px;height:31px;border-radius:999px;background:var(--hairline);flex:0 0 auto;transition:background .2s ease}.switch i{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s cubic-bezier(.32,.72,0,1)}.switch[aria-checked=true]{background:var(--win)}.switch[aria-checked=true] i{transform:translate(20px)}
