:root{color-scheme:light!important;--ground:#f8fafc;--surface:#fff;--surface-2:#f1f5f9;--sunken:#e2e8f0;--line:#e2e8f0;--line-soft:#f1f5f9;--ink:#0f172a;--ink-2:#475569;--ink-3:#94a3b8;--pitch:#10b981;--pitch-ink:#fff;--pitch-soft:rgba(16,185,129,.1);--plate:#f1f5f9;--plate-line:#fff;--map-empty:#cbd5e1;--map-stroke:#fff;--shadow-1:0 1px 2px rgba(15,23,42,.07);--shadow-2:0 2px 4px rgba(15,23,42,.05),0 12px 32px rgba(15,23,42,.09);--tip-bg:#0f172a;--tip-ink:#f8fafc;--radius:14px}*{box-sizing:border-box}body,html{color-scheme:light!important;margin:0;background:var(--ground)!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Saira Condensed,Arial Narrow,system-ui,sans-serif;font-weight:800;text-wrap:balance;margin:0;letter-spacing:.01em}.mono{font-family:IBM Plex Mono,ui-monospace,SF Mono,Menlo,monospace;font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--pitch);outline-offset:2px;border-radius:6px}.app{max-width:1180px;margin:0 auto;padding:0 20px 72px;display:flex;flex-direction:column;gap:34px}.topbar{justify-content:space-between;gap:14px;padding:18px 0;flex-wrap:wrap}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px}.brand-mark{flex:none}.brand-name{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:27px;letter-spacing:.01em}.badge{font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px}.badge,.theme-btn{color:var(--ink-2);border:1px solid var(--line);border-radius:999px;background:var(--surface)}.theme-btn{font:inherit;font-size:13px;padding:6px 13px;cursor:pointer}.theme-btn:hover{color:var(--ink);border-color:var(--ink-3)}.topbar-right{display:flex;align-items:center;gap:9px}.hero{display:flex;flex-direction:column;gap:14px;max-width:100%}.eyebrow{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--pitch);font-weight:600}h1{font-size:clamp(32px,6vw,60px);line-height:1.1;letter-spacing:-.01em;text-wrap:unset}.lede{margin:0;font-size:clamp(16px,2.4vw,18.5px);max-width:68ch}.lede,.notice{color:var(--ink-2)}.notice{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--pitch);border-radius:10px;padding:12px 15px;font-size:14px}.notice strong{color:var(--ink);font-weight:600}.explain{padding:13px 17px 0;margin:0;font-size:13px;color:var(--ink-2);line-height:1.5}.explain strong{color:var(--ink);font-weight:600}.stage{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:20px;align-items:start}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.card-head h2{font-size:21px;letter-spacing:.02em}.hint{font-size:12.5px;color:var(--ink-3)}.prov-select{font:inherit;font-size:13.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px 11px;cursor:pointer;max-width:100%}.prov-select:hover{border-color:var(--ink-3)}.map-wrap{position:relative;padding:12px 10px 4px;background:var(--surface);border-radius:0 0 var(--radius) var(--radius);border-top:1px solid var(--line)}.prov-path{transition:fill .3s ease}#map{display:block;width:100%;height:auto;overflow:visible}#map path{stroke:rgba(0,0,0,.15);stroke-width:1;stroke-linejoin:round;cursor:pointer;transition:filter .16s ease,stroke .16s ease}#map path:hover{filter:brightness(1.18) saturate(1.05);stroke:var(--ink);stroke-width:1.4}#map path.is-selected{stroke:var(--ink);stroke-width:2.2;filter:brightness(1.12)}#map path.is-flash{animation:flash .9s ease}@keyframes flash{0%{filter:brightness(2)}to{filter:brightness(1)}}#map path:focus-visible{outline:none;stroke:var(--pitch);stroke-width:2.4}.tip{position:absolute;pointer-events:none;opacity:0;transform:translate(-50%,-118%);background:var(--tip-bg);color:var(--tip-ink);padding:7px 10px;border-radius:8px;font-size:13px;white-space:nowrap;transition:opacity .12s ease;z-index:5;box-shadow:var(--shadow-2);line-height:1.35}.tip strong{font-weight:600}.tip .tip-sub{display:block;font-size:11.5px;opacity:.72}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:9px 17px 15px}.legend-head{padding:13px 17px 0;margin:0;font-size:13px;color:var(--ink-2);border-top:1px solid var(--line-soft);line-height:1.5}.legend-head strong{color:var(--ink);font-weight:600}.legend li{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2)}.scarf{border-radius:4px;flex:none;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.16)}.scarf:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,hsla(0,0%,100%,.13) 0 1px,transparent 1px 3px)}.panel{position:sticky;top:18px;display:flex;flex-direction:column}.panel-body{padding:17px}.panel-empty{display:flex;flex-direction:column;gap:11px}.panel-empty p{margin:0;color:var(--ink-2);font-size:14.5px}.prov-head{display:flex;align-items:baseline;gap:9px;margin-bottom:3px}.plaka{font-family:IBM Plex Mono,monospace;font-weight:600;font-size:12px;color:var(--ink-2);border:1px solid var(--line);border-radius:4px;padding:2px 6px;background:var(--surface-2);letter-spacing:.04em}.prov-head h3{font-size:27px;line-height:1}.prov-meta{font-size:13px;color:var(--ink-3);margin:0 0 15px}.bars{list-style:none;margin:0 0 17px;padding:0;gap:9px}.bar-row,.bars{display:flex;flex-direction:column}.bar-row{gap:5px}.bar-top{display:flex;align-items:center;gap:8px;font-size:13.5px}.bar-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-pct{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--ink-2)}.bar-track{height:7px;border-radius:99px;background:var(--line-soft);overflow:hidden}.bar-fill{height:100%;border-radius:99px;transition:width .5s cubic-bezier(.4,0,.2,1);filter:saturate(1.2) brightness(1.1)}.vote-label{font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:0 0 9px}.team-grid{display:flex;flex-direction:column;gap:5px;max-height:236px;overflow-y:auto;margin:0 -4px 14px;padding:0 4px}.team-opt{display:flex;align-items:center;gap:9px;width:100%;text-align:left;font:inherit;font-size:13.5px;background:transparent;border:1px solid transparent;border-radius:9px;padding:6px 8px;cursor:pointer;color:var(--ink)}.team-opt:hover{background:var(--surface-2)}.team-opt.is-picked{border-color:var(--pitch);background:var(--pitch-soft)}.team-opt .t-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-opt .t-nick{font-size:11.5px;color:var(--ink-3)}.team-opt .t-rank{font-size:11.5px;width:18px;text-align:right;font-variant-numeric:tabular-nums}.team-opt .t-rank,.team-opt .t-votes{font-family:IBM Plex Mono,monospace;color:var(--ink-3);flex:none}.team-opt .t-votes{font-size:12px;font-variant-numeric:tabular-nums}.team-opt.is-picked .t-rank,.team-opt.is-picked .t-votes{color:var(--ink-2)}.vote-sub{text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink-3)}.btn{font:inherit;font-weight:600;font-size:15px;border-radius:10px;padding:12px 16px;cursor:pointer;border:1px solid transparent;width:100%;transition:filter .15s ease}.btn-primary{background:var(--pitch);color:var(--pitch-ink)}.btn-primary:hover:not(:disabled){filter:brightness(1.07)}.btn:disabled{opacity:.45;cursor:not-allowed}.voted-note{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-2);background:var(--pitch-soft);border:1px solid var(--line);border-radius:10px;padding:11px 13px}.rank-list{list-style:none;margin:0;padding:7px 0 9px;display:flex;flex-direction:column}.rank-row{display:grid;grid-template-columns:30px 34px minmax(0,1fr) auto;align-items:center;gap:13px;padding:12px 17px;border-bottom:1px solid var(--line-soft)}.rank-row:last-child{border-bottom:0}.rank-row.is-mine{background:var(--pitch-soft)}.rank-pos{font-family:Saira Condensed,sans-serif;font-weight:700;font-size:21px;color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.rank-row:nth-child(-n+3) .rank-pos{color:var(--ink)}.rank-main{min-width:0;display:flex;flex-direction:column;gap:6px}.rank-name{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-name span{color:var(--ink-3);font-weight:400;font-size:13px;margin-left:5px}.rank-num{text-align:right;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.rank-num small{display:block;color:var(--ink-3);font-size:11.5px;font-weight:400}.boost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:17px}.pack{border:1px solid var(--line);border-radius:11px;padding:14px;display:flex;flex-direction:column;gap:3px;background:var(--surface)}.pack.is-best{border-color:var(--pitch);box-shadow:0 0 0 1px var(--pitch)}.pack-size{font-family:Saira Condensed,sans-serif;font-weight:800;font-size:29px;line-height:1}.pack-unit{font-size:12px;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase}.pack-price{margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600}.boost-note{padding:0 17px 17px;margin:0;font-size:13px;color:var(--ink-3)}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,140%);z-index:50;background:var(--tip-bg);color:var(--tip-ink);padding:12px 18px;border-radius:11px;font-size:14px;box-shadow:var(--shadow-2);transition:transform .3s cubic-bezier(.2,.8,.3,1);max-width:calc(100vw - 32px)}.toast.is-on{transform:translate(-50%)}footer{border-top:1px solid var(--line);padding-top:20px;color:var(--ink-3);font-size:13px;display:flex;flex-direction:column;gap:7px}footer strong{color:var(--ink-2);font-weight:600}@media (max-width:920px){.stage{grid-template-columns:minmax(0,1fr)}.board{margin-left:-14px;margin-right:-14px;border-radius:0;border-left:0;border-right:0}.board .card-head{padding-left:14px;padding-right:14px}.map-wrap{padding:6px 4px 2px}.legend,.legend-head{padding-left:14px;padding-right:14px}.panel{position:static}.boost-grid,.stats,.steps{grid-template-columns:1fr}.app{padding:0 14px 56px;gap:26px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(72,196,130,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(72,196,130,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(72,196,130,0)}}