/* ==========================================================================
   /watch: where to watch the game (Wave 2, 2026-10-07). Pages are written by tools/build-watch.py.
   Built on site.css tokens only. The Watch tab's own rules live in site.css (the panel is on every
   page); this file only adds the option tag for the page's combobox. Prefixes: ws- search bar and
   sheet, wb- browse, wr- results, wv- spot card, wm- map, wg- game strip, wc- countdown,
   wp- venue page, wa- hub area lists. No market prices on /watch. State switches stack layers in one grid cell and toggle
   [data-off]; never [hidden] (site.css:90), so nothing moves when a state changes.
   ========================================================================== */
[data-off]{visibility:hidden;pointer-events:none}
.h-l1,.h-l2{display:block;text-wrap:balance}
.h-l2{color:var(--ink-2)}
.display .h-l2{font-size:.52em;line-height:1.15;margin-top:.18em;letter-spacing:.005em}
.h2 .h-l2{color:var(--ink-2)}
.wsec{padding:56px 0}
.wsec+.wsec{padding-top:0}
.wsec .h2{margin-bottom:20px}
.wfine{font-size:12.5px;line-height:1.5;color:var(--ink-3)}
.wtick{display:inline-block;width:14px;height:14px;flex:none;color:var(--gain)}
.wtick svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* ---- 1. Combobox options (the panel itself is styled in site.css) ---- */
.ws-input::placeholder{color:var(--ink-3)}
.ws-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.ws-locate{position:absolute;right:2px;top:2px;display:grid;place-items:center;width:44px;height:44px;border-radius:8px;color:var(--brand-ink)}
.ws-locate svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ws-locate:hover{background:var(--brand-soft)}
.ws-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:3;max-height:min(360px,50vh);overflow-y:auto;background:var(--paper);border:1px solid var(--line-3);border-radius:var(--r);box-shadow:var(--shadow);padding:4px;list-style:none}
.ws-list[data-off]{display:none}
/* .mw-opt, .mw-pin, .mw-n and .mw-head live in site.css with the rest of the Watch tab */
.ws-list{width:100%}

/* ---- 2. Hero and search bar ---- */
.page-hero.wh{padding:32px 0 36px}
/* the place list drops below the hero; site.css clips .page-hero, so this hero lets it overflow and keeps its glow inside */
.page-hero.wh{overflow:visible;z-index:3}
.page-hero.wh::before{top:0;right:0;width:55%;height:100%}
.wh .crumbs{margin-bottom:16px}
.wh .crumbs li[aria-current]{color:var(--ink-2)}
.wh .display{margin:14px 0 14px}
.wh .lede{font-size:17px;max-width:40em}
.ws{margin-top:22px;display:grid;grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}
.ws .field{min-width:0}
.ws-field{position:relative}
.ws-input{padding-right:52px}
.ws-go{min-height:48px;padding:0 22px}
.ws-filters{display:none}
.ws-status{grid-column:1/-1;min-height:1.5em;font-size:12.5px;color:var(--ink-3)}
.ws-status[data-tone="warn"]{color:var(--warn-ink)}
.ws-rail{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;grid-column:1/-1}
.ws-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line-3);background:var(--paper);color:var(--ink-2);font:600 13px/1 var(--sans)}
.ws-chip[aria-pressed="true"]{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand)}
.ws-chip:hover{border-color:var(--ink-3)}
.ws-chip svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round}
.ws-chip:not([aria-pressed="true"]) svg{display:none}
.ws-fcount{display:inline-block;min-width:1ch}
@media (max-width:1279.98px){.ws{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.ws-where{grid-column:1/-1}}
@media (max-width:640px){
  .ws{grid-template-columns:1fr 1fr;gap:10px}
  .ws-where{grid-column:1/-1}
  .ws-sel,.ws-rail{display:none}
  .ws-filters{display:inline-flex}
  .ws-filters,.ws-go{min-height:48px}
  .ws.is-open .ws-sel{display:flex;grid-column:1/-1}
  .ws.is-open .ws-rail{display:flex}
  .ws-chip{min-height:44px}
}

/* ---- 3. Next big game strip ---- */
.wg{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px 18px;min-height:56px;padding:10px 16px;border-radius:var(--r);margin-top:20px;box-shadow:none}
.wg-t{font:600 14.5px/1.3 var(--sans);color:var(--ink);min-width:0}
.wg-t small{display:block;font:400 12.5px/1.4 var(--sans);color:var(--ink-3)}
.wg .wc-cd{font:700 20px/1 var(--cond);min-width:7.2ch;text-align:right;font-variant-numeric:tabular-nums}
.wg-go{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
@media (max-width:980px){.wg{grid-template-columns:auto minmax(0,1fr) auto}.wg .wg-go{grid-column:2/-1}}
@media (max-width:640px){.wg{grid-template-columns:minmax(0,1fr) auto;align-items:start}.wg .tag{grid-column:1/-1;justify-self:start}.wg-t{min-height:2.6em}.wg .wg-t,.wg .wstk,.wg .wg-go{grid-column:1/-1}}
.wg--note .wg-t{min-height:0}

/* countdown and price cells (shared) */
.wc-cd{display:inline-grid;font-variant-numeric:tabular-nums}
.wc-cd>*{grid-area:1/1}

/* ---- 4. Explorer (v2, 2026-10-07): area tree on the left, results beside it, map on the right.
   Clicking a row filters in place; nothing reloads. The main column is at least one screen tall, so a
   short result list never pulls the page up under the reader. ---- */
.wx{padding-top:28px}
.wx-grid{display:grid;grid-template-columns:272px minmax(0,1fr);gap:28px;align-items:start}
.wx-main{min-width:0;min-height:calc(100vh - var(--hd-h) - 32px)}
.wx-rail{position:sticky;top:calc(var(--hd-h) + 16px);max-height:calc(100vh - var(--hd-h) - 32px);overflow-y:auto;overscroll-behavior:contain;padding:8px;border-radius:var(--r);box-shadow:none}
.wx-rail-t{font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:12px 10px 10px}
.wx-rail-foot{padding:12px 10px 6px;border-top:1px solid var(--line);margin-top:8px;display:grid;gap:8px}
.wx-rail-foot .wmem{margin:0}
.wx-rail::-webkit-scrollbar{width:10px}
.wx-rail::-webkit-scrollbar-thumb{background:var(--line-3);border-radius:8px;border:3px solid var(--paper)}
.wx-rail::-webkit-scrollbar-track{background:transparent}
@supports not selector(::-webkit-scrollbar){.wx-rail{scrollbar-color:var(--line-3) transparent}}
.wt,.wt-sub{list-style:none;display:grid;gap:2px}
.wt-sub{margin:2px 0 4px 14px;padding-left:8px;border-left:1px solid var(--line-2)}
.wt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;padding:7px 10px;border-radius:var(--r-sm);font:600 14.5px/1.25 var(--sans);color:var(--ink)}
.wt-row:hover{background:var(--surface-2)}
.wt-row:focus-visible{outline:3px solid var(--focus);outline-offset:-1px}
.wt-l{display:flex;align-items:center;gap:6px;min-width:0}
.wt-l>span{min-width:0}
.wt-chev{width:14px;height:14px;flex:none;stroke:var(--ink-3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.wt-row[data-open="true"] .wt-chev{transform:rotate(90deg)}
.wt-row--all,.wt-row--county{font-weight:700}
.wt-root:not(:first-child){margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}   /* a second region (New York) starts its own block */
.wt-row--place{font-weight:500;padding-left:12px}
.wt-row .num{color:var(--ink-3);min-width:3ch;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.wt-row.is-zero{color:var(--ink-2)}
.wt-row.is-zero .num{color:var(--ink-3);opacity:.7}
.wt-row small{display:block;font:400 12px/1.3 var(--sans);color:var(--ink-3)}
.wt-row[aria-current="true"]{background:var(--brand-soft);color:var(--brand-ink);box-shadow:inset 3px 0 0 var(--brand)}
.wt-row[aria-current="true"] .num,.wt-row[aria-current="true"] .wt-chev{color:var(--brand-ink);stroke:var(--brand-ink);opacity:1}
@media (prefers-reduced-motion:reduce){.wt-chev{transition:none}}
.wb-open-sheet{display:none}
@media (max-width:979.98px){
  .wx-grid{grid-template-columns:1fr}
  html.js .wx-rail{display:none}
  html:not(.js) .wx-rail{position:static;max-height:none}
  html.js .wb-open-sheet{display:inline-flex}
  .wt-row{min-height:44px}
  .wx-main{min-height:0}
}

/* stepped sheet (phones) */
.wsh{position:fixed;inset:0;z-index:var(--z-drawer);background:var(--paper);display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .25s ease,visibility .25s}
.wsh.is-open{transform:none;visibility:visible;transition:transform .25s ease,visibility 0s}
.wsh-bar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;height:56px;padding:0 8px;border-bottom:1px solid var(--line);flex:none}
.wsh-bar h2{font:700 17px/1.2 var(--sans);text-align:center;color:var(--ink)}
.wsh-bar button{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;color:var(--ink)}
.wsh-bar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wsh-trail{display:flex;flex-wrap:wrap;gap:4px 8px;padding:10px 16px;font:500 13px/1.4 var(--sans);color:var(--ink-3);border-bottom:1px solid var(--line);flex:none;min-height:40px}
.wsh-trail span+span::before{content:"/";margin-right:8px;opacity:.5}
.wsh-list{flex:1;overflow-y:auto;list-style:none;padding:8px}
.wsh-list button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:52px;padding:0 12px;border-radius:10px;text-align:left;font:600 16px/1.25 var(--sans);color:var(--ink)}
.wsh-list button:hover{background:var(--surface-2)}
.wsh-list .num{color:var(--ink-3);font-weight:600}
.wsh-list svg{width:16px;height:16px;stroke:var(--ink-3);fill:none;stroke-width:2.2;stroke-linecap:round}
.wsh-list .wsh-all{color:var(--brand-ink)}
@media (prefers-reduced-motion:reduce){.wsh,.wsh.is-open{transition:none}}

/* ---- 5. Results bar, list and map. The map sits beside the list from 1280px; below that a List or Map
   switch shows one at a time in the same cell, so switching never moves the page. ---- */
.wr{margin-top:0}
.wr-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.wr-hd{min-width:0;display:grid;gap:6px}
.wr-count{font:700 21px/1.25 var(--sans);letter-spacing:-.01em;color:var(--ink);min-height:1.25em}
.wr-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wr-sort{display:flex;align-items:center;gap:8px}
.wr-sort .select{min-height:44px;padding-top:8px;padding-bottom:8px;font-size:15px;width:auto;min-width:13em}
.wr-seg{display:none;grid-template-columns:1fr 1fr;border:1px solid var(--line-3);border-radius:10px;overflow:hidden;min-width:150px}
.wr-seg button{min-height:44px;padding:0 14px;font:700 14px/1 var(--sans);color:var(--ink-2);background:var(--paper)}
.wr-seg button[aria-pressed="true"]{background:var(--brand);color:var(--on-brand)}
.wr-why{margin-top:16px}
.wr-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.wr-listwrap{position:relative;min-width:0;display:grid}
.wr-listwrap>*{grid-area:1/1;min-width:0}
.wr-load{position:absolute;left:0;right:0;top:-6px;height:2px;border-radius:2px;background:var(--brand);transform-origin:left;transform:scaleX(0);opacity:0}
.wr-listwrap[aria-busy="true"] .wr-load{opacity:1;animation:wr-load .6s ease-out forwards}
@keyframes wr-load{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.wr-listwrap[aria-busy="true"] .wr-load{animation:none;transform:none}}
.wr-list{list-style:none;display:grid;gap:12px;align-content:start}
.wm{position:sticky;top:calc(var(--hd-h) + 16px);height:min(680px,calc(100vh - var(--hd-h) - 32px));border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;background:var(--surface-2)}
.wm svg{display:block;width:100%;height:100%}
.wm-note{position:absolute;left:10px;bottom:8px;right:10px;font:500 11.5px/1.35 var(--sans);color:var(--ink-3);pointer-events:none}
.wm .wm-grid{stroke:var(--line);stroke-width:1}
.wm .wm-ring{fill:var(--brand-soft);stroke:var(--brand);stroke-width:1.5;stroke-dasharray:5 5;fill-opacity:.5}
.wm .wm-place{font:600 11.5px/1 var(--sans);fill:var(--ink-3)}
.wm .wm-place-dot{fill:var(--ink-3)}
.wm .wm-home{fill:var(--paper);stroke:var(--ink);stroke-width:2.5}
.wm .wm-home-t{font:700 12.5px/1 var(--sans);fill:var(--ink)}
.wm .wm-pin{cursor:pointer}
.wm .wm-pin circle{fill:var(--brand);stroke:#fff;stroke-width:2;transition:r .12s}
.wm .wm-pin text{font:700 12px/1 var(--sans);fill:#fff;pointer-events:none;text-anchor:middle;dominant-baseline:central}
.wm .wm-pin.is-sel circle{fill:var(--brand-d);r:18px;stroke:var(--focus);stroke-width:3}
.wm .wm-pin:focus{outline:none}
.wm .wm-pin:focus-visible circle{stroke:var(--focus);stroke-width:3}
@media (prefers-reduced-motion:reduce){.wm .wm-pin circle{transition:none}}
@media (max-width:1279.98px){
  .wr-seg{display:grid}
  .wr-body{grid-template-columns:1fr}
  .wr-body>*{grid-area:1/1;min-width:0}
  .wm{position:relative;top:0;height:min(640px,calc(100vh - var(--hd-h) - 140px))}
}
@media (max-width:640px){
  .wr-tools{width:100%}
  .wr-tools>*{flex:1 1 auto}
  .wr-sort{width:100%}
  .wr-sort .select{flex:1;min-width:0}
  .wm{height:70vh}
}

/* ---- 6. Spot card ---- */
.wv{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 14px;padding:16px 18px;border-radius:var(--r);transition:box-shadow .15s}
.wv.is-sel{box-shadow:0 0 0 2px var(--brand),var(--shadow)}
.wv-ico{grid-row:1/span 5;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--chip);color:var(--brand-ink)}
.wv-ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wv-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline}
.wv h3{font:700 18px/1.3 var(--sans);letter-spacing:-.01em;margin:0;color:var(--ink);min-width:0}
.wv h3 a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.wv h3 a:focus-visible{outline:none}
.wv h3 a:focus-visible::after{outline:3px solid var(--brand);outline-offset:3px}
.wv-kind{display:block;font:500 13px/1.4 var(--sans);color:var(--ink-3)}
.wv-dist{font:600 14.5px/1.3 var(--sans);color:var(--ink-2);min-width:5.7ch;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.wv-lg{display:flex;align-items:center;gap:6px;font:600 14.5px/1.4 var(--sans);color:var(--ink)}
.wv-lg--no{color:var(--ink-3);font-weight:500}
.wv-addr{font:400 14.5px/1.45 var(--sans);color:var(--ink-2);font-style:normal}
.wv-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:0}
.wv-chips:empty{display:none}
.wv-foot{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin-top:6px}
.wv-acts{display:flex;gap:8px;flex-wrap:wrap}
.wv-acts .btn{min-height:36px}
@media (max-width:1023.98px){.wv-acts .btn{min-height:44px}}
@media (max-width:400px){.wv{grid-template-columns:1fr}.wv-ico{display:none}}
.tag--yes{background:var(--gain-soft);color:var(--gain)}

/* ---- 7. Stats, empty states, related ---- */
.wst{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;font:500 13.5px/1.4 var(--sans);color:var(--ink-3);min-height:1.4em}
.wst li{white-space:nowrap}
.wst b{font:700 14px/1 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.wst li+li::before{content:"·";margin-right:16px;color:var(--line-3)}
@media (max-width:640px){.wst{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.wst li{white-space:normal}.wst li+li::before{content:none}}
.we{padding:24px;border-radius:var(--r);box-shadow:none}
.we .h3{margin-bottom:8px}
.we p{color:var(--ink-2);font-size:15px}
.we .wr-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.wrel{margin-top:8px}
.wrel ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px}
.wrel a{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:980px){.wrel ul{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.wrel ul{grid-template-columns:1fr}}
.wsug{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:center;padding:22px 24px;border-radius:var(--r);box-shadow:none;margin-top:28px}
.wsug p{color:var(--ink-2);font-size:15px;margin-top:4px}
@media (max-width:640px){.wsug{grid-template-columns:1fr}}

/* ---- 8. Venue page ---- */
.wp-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:start}
.wp-addr{font:400 16px/1.5 var(--sans);font-style:normal;color:var(--ink-2)}
.wp-part{display:inline-flex;align-items:center;min-height:32px;margin-top:4px}
.lede .wp-part{display:inline;min-height:0;margin:0;white-space:nowrap}
@media (min-width:980px){.wh .lede{min-height:3.1em}}   /* two lines held, so a swapped lede never moves the explorer */
.wp-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.wp-checked{margin-top:12px}
@media (max-width:1023.98px){.wp-hero{grid-template-columns:minmax(0,1fr);gap:24px}}
@media (max-width:640px){.wp-h1--long{font-size:clamp(28px,8.4vw,40px)}}   /* a long name tied in word pairs fits a phone (Bleachers, 2026-10-07) */
.wn{border:2px solid var(--brand);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow);background:var(--paper);display:grid;gap:10px}
.wn-t{font:800 28px/1.02 var(--cond);text-transform:uppercase;color:var(--ink);min-height:2.04em}
.wn-when{font:600 14.5px/1.35 var(--sans);color:var(--ink-2);min-width:20.5ch}
.wn-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:10px}
.wn .wc-cd{white-space:nowrap}
@media (max-width:400px){.wn .wc-cd{font-size:26px}}
.wn .wc-cd{font:700 32px/1 var(--cond);min-width:7.2ch;color:var(--ink);font-variant-numeric:tabular-nums}
.wn-lbl{font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.wn-fit{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.wn-fit--no{color:var(--ink-3)}
.wk{list-style:none;display:grid;border-top:1px solid var(--line)}
.wk li{display:grid;grid-template-columns:11ch minmax(0,1fr) auto;gap:4px 16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.wk time{font:600 14.5px/1.3 var(--sans);color:var(--ink-2);font-variant-numeric:tabular-nums}
.wk a{font:700 16px/1.3 var(--sans);color:var(--ink)}
.wk a:hover{color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px}
.wk small{display:block;font:400 13px/1.4 var(--sans);color:var(--ink-3)}
@media (max-width:640px){.wk li{grid-template-columns:11ch minmax(0,1fr)}.wk .tag{grid-column:2;justify-self:start}}
.wf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
.wf dl{display:grid;border-top:1px solid var(--line)}
.wf dl>div{display:grid;grid-template-columns:minmax(0,14em) minmax(0,1fr);gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--line)}
.wf dt{font:600 15px/1.4 var(--sans);color:var(--ink)}
.wf dd{font:400 15px/1.45 var(--sans);color:var(--ink-2)}
.wf dd .wfine{display:block;margin-top:4px}
.wf dd .wfine a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px}
.wf ul{list-style:none;display:grid;border-top:1px solid var(--line)}
.wf ul li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font:500 15px/1.4 var(--sans);color:var(--ink)}
.wf ul li span:last-child{color:var(--ink-3);font-weight:400;white-space:nowrap}
@media (max-width:980px){.wf{grid-template-columns:1fr}}
@media (max-width:640px){.wf dl>div{grid-template-columns:1fr}}
.wgt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start}
.wgt .wm{position:relative;top:0;height:280px}
@media (max-width:980px){.wgt{grid-template-columns:1fr}}
.wcl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:start}
.wcl-cell{display:grid}
.wcl-cell>*{grid-area:1/1}
.wcl form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wcl .field--full{grid-column:1/-1}
.wcl .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wcl-done{align-self:start;padding:20px;border-radius:var(--r);box-shadow:none}
@media (max-width:980px){.wcl{grid-template-columns:1fr}}
@media (max-width:640px){.wcl form{grid-template-columns:1fr}}
.wsrc{padding-top:28px;padding-bottom:56px}
.wsrc p+p{margin-top:6px}
.wup{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:16px}
.wup a{display:inline-flex;align-items:center;min-height:44px}

.wsug-f{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.wsug-f .form-msg{grid-column:1/-1}
.wsug-f .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wsug .wcl-cell{display:grid}.wsug .wcl-cell>*{grid-area:1/1}
@media (max-width:640px){.wsug-f{grid-template-columns:1fr}}
.wn-when .wfine{display:inline-block;margin-top:2px;font-weight:500}

.wstk{display:grid}.wstk>*{grid-area:1/1;min-width:0}
.wg .tag{justify-self:start}
.wg .wstk{justify-items:end}
@media (max-width:640px){.wg .wstk{justify-items:start}.page-hero.wh{padding:24px 0 28px}.wh .lede{font-size:16px}}

/* QA 2026-10-07: map leader from a nudged pin to its true spot */
.wm-lead{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:2 2;fill:none}
.wm-true{fill:var(--ink-3)}

/* ---- 9. Wave 2: hub, league pages, sources ---- */
.ws--hub{grid-template-columns:minmax(0,1fr) auto;max-width:760px}
.ws--hub .ws-status{min-height:1.5em}
@media (max-width:1279.98px){.ws.ws--hub{grid-template-columns:minmax(0,1fr) auto}.ws--hub .ws-where{grid-column:auto}}
@media (max-width:640px){.ws.ws--hub{grid-template-columns:1fr}.ws--hub .ws-go{width:100%}}
.wa{align-items:start}
.wa-col{padding:12px;border-radius:var(--r);box-shadow:none;min-width:0}
.wa-col h3{font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:6px 10px 8px}
.wa-col .wa-h2{margin-top:18px}
.wa-col--wide{grid-column:span 2}
.wa-col ul{list-style:none;display:grid;gap:2px}
.wa-2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.wa-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:6px 10px;border-radius:var(--r-sm);font:600 15px/1.25 var(--sans);color:var(--ink)}
.wa-row:hover{background:var(--surface-2)}
.wa-row small{display:block;font:400 12.5px/1.35 var(--sans);color:var(--ink-3);margin-top:2px}
.wa-row .num{color:var(--ink-2);font-weight:700;min-width:3ch;text-align:right}
.wa-none{font:500 12.5px/1.3 var(--sans);color:var(--ink-3);white-space:nowrap}
@media (max-width:980px){.wa-col--wide{grid-column:auto}.wa.g-3{grid-template-columns:1fr}}
@media (max-width:640px){.wa-2{grid-template-columns:1fr}}
.whow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:start}
.whow-body p{font-size:16px;line-height:1.6;color:var(--ink-2);max-width:38em}
.whow-body p+p{margin-top:12px}
@media (max-width:980px){.whow{grid-template-columns:1fr;gap:12px}}
.wq{display:block;margin-top:6px;font:italic 400 14px/1.5 var(--sans);color:var(--ink-2);quotes:"\201C" "\201D"}
.wq::before{content:open-quote}.wq::after{content:close-quote}
.wnote{font-size:15px;line-height:1.5;color:var(--ink-2);margin:-8px 0 18px;max-width:40em}
.wk-n{font:500 13px/1.3 var(--sans);color:var(--ink-3);white-space:nowrap}
@media (max-width:640px){.wk .wk-n{grid-column:2}}
.wk li:target{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand);padding-left:12px;scroll-margin-top:calc(var(--hd-h,64px) + 16px)}
.wmem{margin-top:12px;max-width:52em}
.wm-note{background:var(--surface-2);padding:2px 4px;border-radius:4px;color:var(--ink-2)}
.wv-dist:empty{min-width:0}
/* venue name and place sit on their own lines: "Buffalo Wild Wings" / "in City of Industry" */
.h-ph{display:block}
