/* HailDC betting charts (assets/bet.js), added 2026-10-04. Emphasis palette: gold = Washington or the main series,
   cream = the comparison, warm gray = context. Contrast checked against both card surfaces (dark #170a0b, light #fffaf2):
   gold 11.0:1 / light gold #a86f00 4.1:1, gray 4.8:1 / 4.5:1. Grid and axes are hairlines; marks are thin. */
.viz,.vz{--vz-acc:var(--gold);--vz-alt:var(--cream);--vz-ctx:var(--mute-2);--vz-surface:var(--card,#170a0b);position:relative}
:root[data-theme=light] .viz,:root[data-theme=light] .vz{--vz-acc:#a86f00}
.viz{margin:0 0 6px}
.vz-plot{position:relative}
.vz-svg{display:block;max-width:100%;height:auto;overflow:visible;touch-action:pan-y}
.vz-grid{stroke:var(--line);stroke-width:1}
.vz-base{stroke:var(--line-2);stroke-width:1}
.vz-ax{fill:var(--mute);font:600 11.5px var(--text);font-variant-numeric:tabular-nums}
.vz-ref{stroke:var(--mute-2);stroke-width:1}
.vz-ref.acc{stroke:var(--vz-acc);stroke-width:1.5}
.vz-ref.alt{stroke:var(--vz-alt);stroke-width:1.5;opacity:.75}
.vz-reft{font-weight:700;paint-order:stroke;stroke:var(--vz-surface);stroke-width:4px;stroke-linejoin:round}
.vz-l{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.vz-l.acc{stroke:var(--vz-acc)}.vz-l.alt{stroke:var(--vz-alt)}.vz-l.ctx{stroke:var(--vz-ctx);stroke-width:1;opacity:.85}
.vz-area{fill:var(--vz-acc);opacity:.1}
.vz-dot{stroke:var(--vz-surface);stroke-width:2}
.vz-dot.acc{fill:var(--vz-acc)}.vz-dot.alt{fill:var(--vz-alt)}.vz-dot.ctx{fill:var(--vz-ctx)}
.vz-end{fill:var(--cream);font:800 13.5px var(--led);font-variant-numeric:tabular-nums}
.vz-cur{stroke:var(--mute);stroke-width:1}
.vz-hit,.vz-bhit{fill:transparent;outline:none}
.vz-hit{cursor:crosshair}
.vz-hit:focus-visible,.vz-bhit:focus-visible{stroke:var(--gold);stroke-width:1.5}
.vz-bhit{cursor:pointer}
.vz-bhit:hover,.vz-bhit.on{fill:rgba(255,255,255,.045)}
:root[data-theme=light] .vz-bhit:hover,:root[data-theme=light] .vz-bhit.on{fill:rgba(0,0,0,.04)}
.vz-bar.acc{fill:var(--vz-acc)}.vz-bar.ctx{fill:var(--vz-ctx)}.vz-bar.alt{fill:var(--vz-alt)}
.vz-val{fill:var(--cream);font:700 12px var(--led);font-variant-numeric:tabular-nums}
.vz-mk line{stroke:var(--line-2);stroke-width:1}
.vz-mk rect{fill:var(--ink-3);stroke:var(--line-2)}
.vz-mk.w rect{fill:var(--vz-acc);stroke:none}
.vz-mk text{font:800 9.5px var(--text);fill:var(--cream);pointer-events:none}
.vz-mk.w text{fill:var(--gold-ink)}
:root[data-theme=light] .vz-mk.w text{fill:#fff}
.vz-mk{cursor:default}
.vz-ring{fill:var(--vz-surface);stroke:var(--vz-alt);stroke-width:2}
.vz-alt{stroke:var(--vz-ctx);stroke-width:2;stroke-linecap:round}
.vz-alt.demon{stroke:var(--mute)}
.vz-avg{fill:var(--vz-alt)}
.vz-rng{stroke:var(--vz-ctx);stroke-width:6;stroke-linecap:round;opacity:.5}
.vz-tip{position:absolute;z-index:6;min-width:150px;max-width:270px;background:#0b0405;border:1px solid var(--line-2);border-radius:8px;padding:9px 11px;pointer-events:none;font-size:12.5px;line-height:1.35;box-shadow:0 8px 24px rgba(0,0,0,.45)}
:root[data-theme=light] .vz-tip{background:#fffaf2;box-shadow:0 8px 24px rgba(60,20,10,.18)}
.vz-h{font:700 11.5px/1.3 var(--text);color:var(--mute);margin-bottom:6px}
.vz-r{display:flex;align-items:center;gap:8px;line-height:1.55}
.vz-r b{font:800 16px/1.2 var(--led);color:var(--cream);font-variant-numeric:tabular-nums}
.vz-r span{color:var(--mute);font-size:12px}
.vz-k{flex:none;width:14px;height:2.5px;border-radius:2px;background:var(--vz-ctx)}
.vz-k.acc{background:var(--vz-acc)}.vz-k.alt{background:var(--vz-alt)}
.vz-k.sq{width:11px;height:11px;border-radius:3px}
.vz-note{color:var(--mute);font-size:12px;margin-top:4px}
.vz-leg{display:flex;flex-wrap:wrap;gap:6px 18px;font:600 12.5px/1.3 var(--text);color:var(--mute);margin:0 0 10px}
.vz-leg span{display:inline-flex;align-items:center;gap:7px}
.vz-sub{color:var(--mute);font-size:13.5px;margin:0 0 10px}
.vz-chips,.vz-filters .chips{margin:0 0 12px}
.vz-filters{display:flex;flex-wrap:wrap;gap:0 18px}
.vz-tbl{margin-top:6px}
.vz-tbl summary{cursor:pointer;display:inline-block;color:var(--mute);font:700 12.5px var(--text);padding:6px 0}
.vz-tbl summary:hover{color:var(--cream)}
.vz-tbl .tw{max-height:320px;overflow:auto;margin-top:6px}
.vz-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px}
.vz-panel{background:var(--card,#170a0b);border:1px solid var(--line-2);border-radius:var(--r,12px);padding:14px 14px 6px;min-width:0}
.vz-ph{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.vz-ph h3{font:800 17px/1.2 var(--display);margin:0}
.vz-ph b{font:800 28px/1 var(--led);color:var(--cream)}
.vz-panel .vz-sub{margin:4px 0 6px;font-size:12.5px}
.viz + .viz{margin-top:16px}

/* horizontal bars (comparisons, gaps, results): bars stay thin, 4px rounded at the data end, square at zero */
.hb{display:grid;gap:2px}
.hb__axis{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.6fr) 104px;gap:12px;padding:0 8px 4px;font:700 11px/1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.hb__axis span{grid-row:1;grid-column:2}
.hb__axis span:first-child{justify-self:start}
.hb__axis span:last-child{justify-self:end}
.hb__r{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.6fr) 104px;gap:12px;align-items:center;padding:7px 8px;border-radius:8px;outline:none}
.hb__r:hover,.hb__r:focus-visible{background:rgba(255,255,255,.04)}
:root[data-theme=light] .hb__r:hover,:root[data-theme=light] .hb__r:focus-visible{background:rgba(0,0,0,.035)}
.hb__r:focus-visible{box-shadow:inset 0 0 0 1px var(--gold)}
.hb__l{min-width:0}
.hb__l b{display:block;font:700 14px/1.25 var(--text);overflow-wrap:anywhere}
.hb__l small{display:block;color:var(--mute);font-size:12px;margin-top:2px}
.hb__t{position:relative;height:14px}
.hb__t i{position:absolute;top:0;bottom:0;left:0;border-radius:0 4px 4px 0}
.hb__t i.acc{background:var(--vz-acc)}.hb__t i.ctx{background:var(--vz-ctx)}.hb__t i.alt{background:var(--vz-alt)}
.hb--div .hb__t::before{content:"";position:absolute;left:50%;top:-7px;bottom:-7px;width:1px;background:var(--line-2)}
.hb--div .hb__t i[style*="right:50%"]{left:auto;border-radius:4px 0 0 4px}
.hb__v{font:800 15px/1.2 var(--led);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:640px){
  .hb__r,.hb__axis{grid-template-columns:minmax(0,1fr) 92px;gap:6px 10px}
  .hb__t{grid-column:1/-1;grid-row:2}
  .hb__axis span{grid-column:1/-1}
}

/* share bars (betting splits) */
.sh{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:8px 32px}
.sh__g h3.sub{font-size:16px;margin:0 0 4px}
.sh__r{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;margin:8px 0}
.sh__l{font:700 11px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.sh__bar{display:flex;gap:2px;height:28px}
.sh__s{display:flex;align-items:center;justify-content:center;min-width:0;font:800 14px/1 var(--led);font-variant-numeric:tabular-nums;outline:none;cursor:default}
.sh__s:first-child{border-radius:4px 0 0 4px}.sh__s:last-child{border-radius:0 4px 4px 0}
.sh__s.acc{background:var(--vz-acc);color:var(--gold-ink)}.sh__s.ctx{background:var(--vz-ctx);color:#110607}
:root[data-theme=light] .sh__s.acc,:root[data-theme=light] .sh__s.ctx{color:#fff}
.sh__s:focus-visible{box-shadow:inset 0 0 0 2px var(--cream)}

/* the PrizePicks board */
.pp-board .tw{margin:0}
.ppb__bar{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}
.ppb__bar .chips{margin-bottom:8px}
.ppb__tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ppb__tools .search{flex:1 1 220px;max-width:340px}
.ppb__sort{display:flex;align-items:center;gap:8px;font:700 12px var(--text);color:var(--mute);letter-spacing:.06em;text-transform:uppercase}
.ppb__sort select{background:var(--ink-1);color:var(--cream);border:1px solid var(--line-2);border-radius:8px;padding:9px 10px;font:600 14px var(--text);text-transform:none;letter-spacing:0}
.ppb__meta{color:var(--mute);font-size:13px;margin:10px 0}
.ppb__clock{color:var(--cream)}
.ppb{border:1px solid var(--line-2);border-radius:var(--r,12px);background:var(--card,#170a0b);overflow:hidden}
.ppb__h,.ppb__main{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(110px,1.1fr) 82px minmax(120px,1.15fr) 146px 92px 88px;gap:12px;align-items:center;padding:10px 16px}
.ppb__h{font:700 10.5px/1.2 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);background:var(--ink-2);border-bottom:1px solid var(--line-2)}
.ppb__h .r,.ppb__main .r{text-align:right}
.ppb__row+.ppb__row{border-top:1px solid var(--line)}
.ppb__main{width:100%;text-align:left;cursor:pointer;color:inherit;transition:background .15s}
.ppb__main:hover{background:rgba(255,182,18,.045)}
.ppb__row.open>.ppb__main{background:rgba(255,182,18,.075)}
.ppb__who{display:flex;gap:10px;align-items:center;min-width:0}
.ppb__who img,.pp-mono{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--ink-3);flex:none}
.pp-mono{display:inline-grid;place-items:center;font:800 16px var(--display);color:var(--mute)}
.ppb__who>span{min-width:0}
.ppb__who b{display:block;font:700 14.5px/1.2 var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ppb__main small{display:block;color:var(--mute);font-size:12px;line-height:1.3;margin-top:2px}
.ppb__stat{font:600 14px/1.25 var(--text)}
.ppb__line b{font-size:27px;line-height:1;color:var(--cream)}
.ppb__alts{display:flex;flex-wrap:wrap;gap:4px}
.ppb__alts .alt{font:700 12px/1 var(--led);padding:4px 6px 3px;border-radius:5px;border:1px solid var(--line-2);color:var(--mute);white-space:nowrap}
.ppb__alts .alt.goblin{border-color:var(--mute-2)}
.ppb__alts .alt.demon{color:var(--cream)}
.ppb__dk b,.ppb__hit b,.ppb__tr b{font:800 18px/1 var(--led);font-variant-numeric:tabular-nums}
.ppb__lab{display:none}
.ppb .dim{color:var(--mute-2)}
.ppb .up::before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--vz-acc);margin-right:6px;vertical-align:2px}
.ppb__none{padding:18px 16px;margin:0}
.ppb__more{margin:14px 0 0}
.ppb__detail{padding:4px 16px 18px;border-top:1px solid var(--line)}
.ppd__words{color:var(--mute);margin:12px 0 6px;font-size:14px;max-width:90ch}
.ppd__words b{color:var(--cream)}
.ppd__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px 28px}
.ppd__grid h4{font:700 10.5px/1.2 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:14px 0 8px}
.ppd__key{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--mute);margin-top:2px}
@media (max-width:900px){
  .ppb__h{display:none}
  .ppb__main{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(70px,auto);grid-template-areas:"who who line" "stat stat line" "dk hit tr";row-gap:8px;padding:12px 14px}
  .ppb__who{grid-area:who}.ppb__stat{grid-area:stat;padding-left:50px}.ppb__line{grid-area:line;align-self:start}
  .ppb__alts{display:none}
  .ppb__dk{grid-area:dk}.ppb__hit{grid-area:hit}.ppb__tr{grid-area:tr}
  .ppb__main .ppb__dk,.ppb__main .ppb__hit{text-align:left}
  .ppb__lab{display:block;font:700 10px/1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:4px;font-style:normal}
  .ppd__grid{grid-template-columns:minmax(0,1fr)}
}
.pp-res__sum{font-size:16px;margin:0 0 12px}
.pp-legal{margin:6px 0 14px;padding-left:18px;color:var(--mute);font-size:14px;line-height:1.55}
.pp-legal li{margin:0 0 8px}
.pp-legal b{color:var(--cream)}
.pick-btns{margin-top:6px}

/* the hub's PrizePicks strip */
.pps__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:30px 0 12px}
.pps__head .sub{margin:0}
.pps{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px}
.pps__c{display:flex;flex-direction:column;gap:2px;padding:12px 14px;justify-content:flex-start;border:1px solid var(--line-2);border-radius:10px;background:var(--ink-1);transition:border-color .2s,transform .2s}
.pps__c:hover{border-color:var(--gold);transform:translateY(-2px)}
.pps__n{font:700 14px/1.2 var(--text)}
.pps__s{color:var(--mute);font-size:12.5px}
.pps__c b{font-size:30px;line-height:1.1;margin-top:auto;padding-top:6px}
.pps__x{color:var(--mute-2);font-size:12px}
.hub-viz{margin-top:30px}
.hub-viz h3.sub{margin:0 0 10px}
