*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{background:var(--bg);color-scheme:dark}
:root{
  --bg:#0a0c0f;--bg2:#0f1115;
  
  --brd:rgba(255,255,255,0.07);--brd2:rgba(255,255,255,0.13);
  --r:6px;
  
  
  
  --result-win:var(--v-correct-strong,#3dd68c);--result-win-bg:var(--v-correct-bg,rgba(61,214,140,.12));
  --result-loss:var(--v-mistake-strong,#f87171);--result-loss-bg:var(--v-mistake-bg,rgba(248,113,113,.13));
  
  --ss-disclosure-size:16px;--ss-disclosure-radius:3px;
  --ss-disclosure-color:var(--ss-brand-bright,#82d9f0);
  --ss-disclosure-border:var(--ss-brand-border,#32788d);
  --ss-disclosure-open-bg:var(--ss-brand,#59c7e8);
  --ss-disclosure-open-mark:#071117;--ss-disclosure-speed:.18s;
  
  --ss-filter-surface-bg:#0d1117;--ss-filter-surface-radius:8px;
  --ss-filter-surface-border:0;
  
  --ss-list-group-bg:linear-gradient(90deg,#122934 0%,#0e1d25 100%);
  --ss-list-group-border:rgba(89,199,232,.28);
  
  --suit-heart:var(--result-loss,#e34948);--suit-diamond:#378add;--suit-club:var(--result-win,#1baf7a);
--txt:var(--text-strong);--txt2:var(--text-body);--txt3:var(--text-meta);--abg:var(--ss-brand-soft);--atxt:var(--ss-brand-bright);--abrd:var(--ss-brand-border);}

body{background:var(--bg);font-family:system-ui,-apple-system,sans-serif;color:var(--text-strong);max-width:1440px;margin:0 auto;display:flex;flex-direction:column;height:100vh;scrollbar-gutter:stable}
/* The popped-out Review window (body.review-popup, see tree-view.js's
   REVIEW_POPUP_MODE block) is its own small window, not a column inside the
   main layout -- the 1440px cap + auto-centering above exists so the main
   app doesn't stretch edge-to-edge on an ultrawide monitor, but for a review
   popup it instead means any window wider (or, since height:100vh recomputes
   live, sometimes just differently-proportioned) than that leaves a gutter
   the popup's own background never gets to paint, and the browser's own
   canvas paints through -- black rather than the app's near-black --bg. The
   popup already forces html/body's background-color dark for the OS
   light-mode case (see the same JS block); this makes that dark background
   actually cover the whole window at any size FM resizes it to, same as the
   main window. */
body.review-popup{max-width:none;margin:0;min-height:100vh}


button{font:inherit;color:inherit;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;forced-color-adjust:none}


button:active{background-color:var(--bg2)}
html,body,#dashboard,.sec-wrap,.sec-body,.bottom,#hands-grid,.list-panel,
.matrix-panel,.tl-wrap,.tl-canvas{background-color:#0a0c0f}


button:focus,button:focus-visible,[role="button"]:focus,[role="button"]:focus-visible,
.pill:focus,.tv-pill:focus,.hi:focus,.hmc:focus,.ps:focus,canvas:focus,select:focus{
  outline:none!important;box-shadow:none!important
}
#tlchart:focus,.hi:focus{outline:none!important}


button,[role="button"],.pill,.tv-pill,.hi,.hmc,.ps,
.bslot,.tree-street-header,.sec-hdr,.chev,#tlchart{
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
  -webkit-tap-highlight-color:transparent
}
button::selection,[role="button"]::selection,.pill::selection,.tv-pill::selection,
.hi::selection,.hmc::selection,.ps::selection,
.bslot::selection,.tree-street-header::selection,.sec-hdr::selection,.chev::selection{
  background:transparent;color:inherit
}

#dashboard{display:none;flex-direction:column;flex:1;min-height:0}


#main-hdr{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:4px;width:100%;min-height:58px;padding:5px 12px 6px;background:var(--bg);border-bottom:1px solid #131820}
.main-hdr-title-row,.main-hdr-actions-row{display:flex;align-items:center;min-width:0}
.main-hdr-title-row{gap:10px;min-height:23px;overflow-x:clip;overflow-y:visible}
.main-hdr-title-row>span{flex:0 0 auto;white-space:nowrap;margin:0!important}
.main-hdr-title-row #hdr-cur-tourn{min-width:0;overflow:hidden;text-overflow:ellipsis}
.main-hdr-divider{width:1px;height:14px;background:var(--neutral-panel)}
.main-hdr-spacer{flex:1 1 auto!important;min-width:8px}
.main-hdr-actions-row{justify-content:flex-end;gap:8px;min-height:23px}
#change-btn{min-height:23px;margin:0!important;padding:3px 11px!important;border:1px solid var(--ss-brand-border,#32788d)!important;border-radius:6px!important;background:var(--ss-brand-soft,rgba(89,199,232,.13))!important;color:var(--ss-brand-bright,#82d9f0)!important}
.main-hdr-zoom{display:inline-flex;align-items:center;flex:0 0 auto}
.main-hdr-zoom button,.main-hdr-zoom #zoom-label{display:inline-flex;align-items:center;justify-content:center;height:23px;min-width:23px;padding:0 6px;background:var(--bg2);border:1px solid #263448;color:var(--text-meta);line-height:1;cursor:pointer}
.main-hdr-zoom button:first-child{border-radius:5px 0 0 5px}.main-hdr-zoom button:last-child{border-radius:0 5px 5px 0}
.main-hdr-zoom #zoom-label{min-width:42px;border-left:0;border-right:0;cursor:default}
/* Bumped again to match the header's hand-count numbers (#hdr-bb100/
   #hdr-count, --type-heading -- see brand.css) rather than the
   design system's general "prominent text" tier (--type-title) it
   briefly used -- FM: "make the breadcrumb and baseline ice blue
   and same size as hand number fonts". Color was already ice blue
   (--ss-brand-bright) both here and in brand.css's own #hdr-type
   rule; only the size needed to catch up. */
#hdr-type{color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-heading);font-weight:700}
.hdr-crumb{cursor:pointer}
.hdr-crumb:hover{opacity:.72}
.hdr-crumb-sep{opacity:.7;padding:0 5px}
/* &rarr; (a real arrow, not the small › chevron) is the crumb-to-
   crumb separator drawn by _renderHdrTypeBreadcrumb -- FM asked for
   clearer "arrow signage between the steps". */
#hdr-bb100,#hdr-count{font-size:var(--type-body);font-weight:700;color:var(--ss-brand,#59c7e8);white-space:nowrap}

.hdr{padding:.6rem 1rem .4rem;display:flex;align-items:baseline;gap:12px;border-bottom:.5px solid var(--brd2);flex-shrink:0}
/* Timeline's header row also surfaces the current tournament count, its
   date/details line, and the site badge (FM's call -- these read like live
   "data" about what's loaded, so they sit with the chart). Identity (hero
   name, view label), result (place/prize), and the bb/100 + hand-count +
   zoom controls stay in the page-top #main-hdr bar, which is visible again. */
#sec-timeline>.sec-hdr{flex-wrap:wrap;row-gap:6px}
.th-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.th-info>*{flex:0 0 auto}
.th-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}
.hdr h1{font-size:var(--type-title);font-weight:500}
.hdr .sub{font-size:var(--type-label);color:var(--text-meta)}
.hdr-buyin-detail{font-size:var(--type-label);font-weight:400;color:var(--text-meta)}


.phase-bar{display:flex;height:22px;flex-shrink:0;margin:0 12px;position:relative}
.phase-bar,.tl-wrap,.sec-wrap{width:calc(100% - 24px);margin-left:12px;margin-right:12px}
/* Phase Bar segments: muted tint at rest, full color on hover or when
   selected (buildPhaseBar in analyzer.js sets the actual background per
   segment -- .ps.active no longer carries its own color/line, the fill
   itself is the "selected" signal now). The old inset box-shadow line this
   replaced needed a top/bottom flip depending on phase (see the removed
   [data-ph="pre"/"mb"/"it"] override) because the ps-level-segments overlay
   could cover a bottom-edge line -- full-fill swap doesn't have that
   problem since the overlay just sits on top of whichever color is there. */
.ps{display:flex;align-items:center;justify-content:center;font-size:var(--type-small);font-weight:500;color:var(--text-strong);cursor:pointer;overflow:hidden;white-space:nowrap;transition:background-color .15s ease;user-select:none}
.ps-level-block{position:relative;background:var(--neutral-text-muted-strong)}
.ps-untracked-strip{position:absolute;left:0;right:0;bottom:0;height:33.3333%}


.filter-area{background:var(--bg2);border-radius:8px;margin:4px 12px 6px;padding:4px 0;flex-shrink:0}
.filter-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:.28rem .9rem}
.filter-row + .filter-row{border-top:1px solid rgba(52,66,88,.42)}
.toolbar-menu{position:relative;flex:0 0 auto}.toolbar-menu summary{list-style:none;min-height:26px;box-sizing:border-box;padding:4px 10px;border:1px solid var(--brd2);border-radius:20px;color:var(--text-label);background:transparent;font-size:var(--type-body);font-weight:600;cursor:pointer}.toolbar-menu summary::-webkit-details-marker{display:none}.toolbar-menu summary::after{content:' ⌄';color:var(--text-meta)}.toolbar-menu[open] summary{border-color:#3b715e;color:var(--v-correct);background:#0d1916}.toolbar-menu-popover{position:absolute;z-index:4000;top:calc(100% + 6px);left:0;display:grid;gap:5px;width:190px;padding:8px;border:1px solid #344258;border-radius:9px;background:var(--bg2);box-shadow:0 14px 38px rgba(0,0,0,.55)}.toolbar-menu-popover.align-right{left:auto;right:0}.toolbar-menu-popover .pill{width:100%;min-height:31px!important;text-align:left;border-radius:6px!important}.toolbar-menu-popover .pill.on-reviewed,.toolbar-menu-popover .pill.on{border-color:#4974aa!important;color:#c9ddfb!important;background:#122238!important}
#hdr-type>summary{border:0;border-radius:0;padding:0;min-height:auto;background:transparent;color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-heading);font-weight:700}#hdr-type[open]>summary{background:transparent}
.sync-conflict-card{width:760px;max-height:82vh;overflow:auto}.sync-conflict-row{padding:14px;border:1px solid var(--brd);border-radius:8px;background:var(--bg2)}.sync-conflict-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.sync-conflict-row small{color:var(--text-meta)}.sync-conflict-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sync-conflict-choices section{padding:10px;border:1px solid var(--brd2);border-radius:7px;background:var(--bg)}.sync-conflict-choices p{min-height:32px;margin:6px 0 10px;color:var(--text-body)}
@media(max-width:700px){.sync-conflict-choices{grid-template-columns:1fr}}
.flbl{font-size:var(--type-small);color:var(--neutral-text-muted-strong);width:82px;flex-shrink:0;font-weight:500}


.ff-lbl{width:104px}
.ff-w1{min-width:46px;box-sizing:border-box;text-align:center}
.ff-w2{min-width:56px;box-sizing:border-box;text-align:center}
.ff-w3{min-width:76px;box-sizing:border-box;text-align:center}
.ff-w4{min-width:96px;box-sizing:border-box;text-align:center}
.ff-w-icon{min-width:26px;box-sizing:border-box;text-align:center}
.group-start{margin-top:0}
.not-btn{width:22px;height:22px;flex-shrink:0;padding:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:.5px solid #3a4150;background:transparent;color:#5b6472;cursor:pointer;transition:background .12s,color .12s,border-color .12s;-webkit-appearance:none;appearance:none}
.not-btn:hover{border-color:#5b6472;color:#8590a1}
.not-btn.on{color:var(--result-loss);border-color:var(--v-mistake-border);background:var(--v-mistake-bg)}





#sec-filters select.f-range-sel{
  border-radius:22px!important;
  background-color:transparent!important;
  color:var(--text-label)!important;
  border-color:#344153!important;
  height:28px!important;min-height:28px!important;
  padding:3px 19px 3px 8px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' stroke='%238795a8' stroke-width='1.3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 7px center!important;
}
#sec-filters select.f-range-sel:hover{border-color:#586a82!important;color:#edf2f7!important}

#sec-filters #f-fmt{min-width:70px!important}
#sec-filters #f-seats{min-width:62px!important}
#sec-filters #f-start-time{min-width:52px!important}
#sec-filters #f-orbit{min-width:48px!important}
#sec-filters #f-bi-min,#sec-filters #f-bi-max{min-width:50px!important}
#sec-filters #f-field-min,#sec-filters #f-field-max{min-width:50px!important}
#sec-filters select.f-range-sel:focus,#sec-filters select.f-range-sel:focus-visible{
  outline:none!important;box-shadow:none!important;
}
#sec-filters .f-range-sel-clr{color:var(--neutral-text-muted)!important}
#sec-filters .f-range-sel-clr:hover{color:#9ca3af!important}
#sec-filters #f-fmt-wrap,#sec-filters #f-seats-wrap,#sec-filters #f-start-wrap,#sec-filters #f-orbit-wrap{
  outline:none!important;
}

#pos-pills .pill,#posv-pills .pill{min-width:46px;box-sizing:border-box;text-align:center}


.pill{font-size:var(--type-label);padding:2px 8px;border:.5px solid var(--neutral-border-subtle);border-radius:22px;background:transparent;color:var(--neutral-text-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s;-webkit-appearance:none;appearance:none}
.pill.pill-compact{font-size:var(--type-small)}
.hd-nav-btn{font-size:var(--type-subtitle);font-weight:500;color:var(--neutral-text-muted);background:none;border:1px solid var(--neutral-border-subtle);border-radius:5px;cursor:pointer;padding:1px 8px;line-height:1.4;transition:color .12s,border-color .12s}
.hd-nav-btn:hover{color:var(--text-body);border-color:#374151}
.pill:hover{background:var(--bg2);color:var(--v-seen-strong);border-color:#2d3748}
.pill:active{background:rgba(61,214,140,0.06);color:var(--v-correct-strong);border-color:#1a4a2e}
.pill.on{background:rgba(61,214,140,0.12);color:var(--v-correct-strong);border-color:#1a4a2e}
/* "Clear all" flips several .pill buttons from .on back to off in one go.
   .pill's own transition:background .12s,color .12s,border-color .12s (see
   above) is exactly right for a single click -- but during a bulk clear it
   made every affected pill visibly fade through a "half lit" state before
   landing unlit (FM: "the buttons which gets cleared -- somehow still go
   half lit and then completely unlit in some sort of two step way ... I
   just want them to be cleared right away"). _clrTournFilters() toggles
   this class on for the single synchronous burst of classList changes,
   then off again next frame, so a bulk clear snaps instantly while a
   normal single click still gets its transition. */
#sec-tournament-filters.tourn-clearing .pill{transition:none!important}

.tv-pill{font-size:var(--type-label);padding:2px 9px;border:.5px solid var(--neutral-border-subtle);border-radius:22px;background:transparent;color:var(--neutral-text-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s;}
.tv-pill:hover{background:var(--bg2);color:var(--text-body);}
.tv-pill.on{background:rgba(61,214,140,0.12);color:var(--v-correct-strong);border-color:#1a4a2e;}

#tv-layout{display:grid;grid-template-columns:230px 1fr 290px;gap:12px;align-items:start;}
#tv-left{display:flex;flex-direction:column;gap:7px;}
#tv-right{display:flex;flex-direction:column;gap:7px;}
.tv-blk{background:var(--bg2);border:1px solid #131820;border-radius:8px;padding:12px;}
.tv-sec-hdr{font-size:var(--type-micro);color:var(--neutral-text-muted-strong);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;}
.tv-node-hdr{font-size:var(--type-micro);letter-spacing:.1em;color:var(--neutral-text-muted-strong);font-weight:700;text-transform:uppercase;margin-bottom:8px;}
.tv-pill-row{display:flex;flex-wrap:wrap;gap:4px;}
.tv-act-sep{height:1px;background:#131820;margin:2px 0;}
.bslot{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 5px;border:1px solid var(--neutral-border-subtle);border-radius:5px;font-size:var(--type-small);font-weight:700;letter-spacing:.5px;background:var(--bg2);color:var(--neutral-text-muted);cursor:pointer;transition:border-color .12s,color .12s}
.bs-sel{font-size:var(--type-label);padding:2px 2px;background:var(--bg2);color:var(--text-body);border:.5px solid var(--neutral-border-subtle);border-radius:4px;cursor:pointer;width:38px;height:22px;appearance:none;text-align:center}
.bs-sel.active{border-color:var(--v-correct-strong);color:#3dd68c}
.bs-slot-group{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border:.5px solid var(--neutral-border-subtle);border-radius:5px;background:#141820}
.bs-slot-group.set{border-color:var(--v-correct-strong);background:rgba(61,214,140,.08)}
.bs-custom-row{gap:8px;flex-wrap:wrap}
/* Hidden for now (FM: "remove this custom ones for now -- we'll see if
   I want this back -- keep the code but don't show them for now"). All
   markup/JS stays wired -- delete this one rule to bring the row back. */
.bs-custom-row{display:none}
.bs-custom-row .flt-sel{width:92px;flex:0 0 92px}
.bs-custom-sliders{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bs-slider-wrap{display:flex;align-items:center;gap:6px}
.bs-range-dash{color:var(--txt3);font-size:10px}
.bs-range-val{font-size:var(--type-label);color:var(--text-body);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}
.bs-range{-webkit-appearance:none;appearance:none;width:120px;height:4px;border-radius:2px;background:var(--neutral-border-subtle);outline:none;cursor:pointer;vertical-align:middle}
.bs-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--ss-brand-bright,#82d9f0);border:1px solid var(--ss-brand-border,#32788d);cursor:pointer}
.bs-range::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--ss-brand-bright,#82d9f0);border:1px solid var(--ss-brand-border,#32788d);cursor:pointer}
.bs-range::-moz-range-track{height:4px;border-radius:2px;background:var(--neutral-border-subtle)}
.bslot:hover{border-color:var(--neutral-text-muted)}
.bslot.bslot-active{border-color:var(--acc,#5b8def);color:var(--acc,#5b8def);background:rgba(91,141,239,.08)}
.bslot.bslot-set{border-color:var(--acc,#5b8def);color:var(--text-strong);background:rgba(91,141,239,.14)}
.brank-row{display:flex;align-items:center;gap:3px;padding:.12rem .9rem .18rem;border-top:none}
.brank-row.hidden{display:none}
.clear-btn{font-size:var(--type-label);padding:2px 8px;border:.5px solid var(--neutral-border-subtle);border-radius:22px;background:transparent;color:var(--neutral-text-muted-strong);cursor:pointer;margin-left:auto;transition:color .12s,border-color .12s}
.clear-btn:hover{color:var(--text-body);border-color:var(--neutral-border)}
.filter-count{font-size:var(--type-small);color:var(--neutral-text-muted-strong);margin-left:auto}


.tl-wrap{padding:.3rem .75rem .15rem;border-bottom:none;flex-shrink:0}
.tl-canvas{position:relative;height:108px}
#tlchart{width:100%;height:100%;background:#0a0c0f}


.hd-bar{background:var(--bg2);padding:.35rem .85rem;position:relative;max-height:340px;overflow-y:auto;flex-shrink:0}
.hd-bar::-webkit-scrollbar{width:6px}
.hd-bar::-webkit-scrollbar-thumb{background:var(--neutral-border-subtle);border-radius:3px}
.hd-bar{scrollbar-width:thin}
.hd-close{position:absolute;right:.5rem;top:.25rem;border:none;background:none;color:var(--text-meta);cursor:pointer;font-size:var(--type-subtitle);padding:2px 4px;z-index:1}
.hd-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-meta);font-size:var(--type-body)}
.hd-wrap{display:flex;gap:10px;align-items:flex-start}
.hd-cards{font-size:var(--type-display-sm);font-weight:500;flex-shrink:0;margin-top:2px}

.hd-main{flex:1 1 0;min-width:0;max-width:760px}
.hd-meta{font-size:var(--type-small);color:var(--text-meta);display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-bottom:3px}
.hd-ph{font-size:var(--type-small);font-weight:700;padding:2px 8px;border-radius:4px;color:var(--text-strong);letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,0.4)}
.hd-res{font-size:var(--type-small);font-weight:500;padding:1px 6px;border-radius:3px}
.hd-vs{display:inline-flex;align-items:center;gap:2px;font-size:var(--type-small);font-weight:500;color:var(--text-body)}
.hd-vs-lbl{font-size:7.5px;font-weight:700;border-radius:3px;padding:0 3px}.hd-vs-lbl.hero{color:var(--ss-hero-position-color);background:var(--ss-hero-position-bg);border:1px solid #c9911a}.hd-vs-lbl.vill{color:var(--ss-brand-bright);background:var(--ss-brand-soft);border:1px solid var(--ss-brand-border)}
.hd-streets{display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden}
.hd-st{background:var(--bg2);border-radius:var(--r);padding:3px 6px;min-width:0;flex-shrink:1}
.hd-stlbl{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.05em;color:var(--text-meta);margin-bottom:2px;font-weight:500}
.hd-st-board{display:flex;gap:4px;margin-bottom:4px;flex-wrap:wrap}
.hd-board{display:flex;gap:4px;margin-bottom:4px;flex-wrap:wrap}

.hd-card{background:var(--bg);border:.5px solid var(--brd2);border-radius:4px;padding:1.5px 5px;font-size:var(--type-title);font-weight:500}
.ha{font-size:var(--type-small);display:flex;gap:7px;margin:0;padding:1px 0}
.ha .an{color:var(--text-body);font-size:var(--type-small);min-width:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}
.ha .ap{color:var(--ss-brand-bright);background:var(--ss-brand-soft);font-size:var(--type-micro);font-weight:500;border-radius:3px;padding:0 4px;flex-shrink:0;min-width:20px;text-align:center}
.ha .av{color:var(--text-body);min-width:30px;flex-shrink:0}
.ha .aa{color:var(--text-strong)}
.ha.me .an{color:var(--ss-brand-bright);font-weight:500}
.hd-sd{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px;border-top:.5px solid var(--brd);margin-top:3px}
.sd-item{display:flex;align-items:center;gap:4px;font-size:var(--type-label)}
.sd-name{color:var(--text-meta);font-size:var(--type-small)}
.sd-pos{color:var(--ss-brand-bright);background:var(--ss-brand-soft);font-size:var(--type-micro);font-weight:500;border-radius:3px;padding:0 4px}
.hd-bust{background:var(--v-mistake-bg);color:var(--v-mistake);border-radius:3px;padding:1px 6px;font-size:var(--type-small);font-weight:500}

.hd-crown{background:#4d3c00;color:var(--ss-hero-position-color);border-radius:3px;padding:1px 6px;font-size:var(--type-small);font-weight:500}
.rfi-tag{background:var(--v-mixed-bg-strong);color:var(--v-mixed-strong);border-radius:3px;padding:1px 6px;font-size:var(--type-small);font-weight:500}


.rv-panel{border-top:.5px solid #131820;padding:10px 0 6px;margin-top:8px}

.rv-card{padding:8px 12px;margin-bottom:6px}
.rv-panel #rv-spots-area,
.rv-panel #rv-hand-assessment-card,
.rv-panel .rv-destinations-card{border-top:.5px solid #1e2633;padding-top:14px}

.rv-edit-note-card,#rv-hand-note-card{min-height:116px!important;box-sizing:border-box}
.rv-note-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;min-height:28px}.rv-note-editor-head .rv-lbl{margin:0}
.rv-notes-overview{min-height:116px!important;box-sizing:border-box}
.rv-resource-tabs{margin-left:-9px}

#review-panel{--rv-assessment-min-height:152px}
#review-panel #rv-spots-area,
#review-panel #rv-hand-assessment-card{min-height:var(--rv-assessment-min-height);box-sizing:border-box}
.rv-overall-spot-list{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;white-space:nowrap}.rv-overall-spot-tag{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto}.rv-overall-spot-tag small{color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-micro);font-weight:800;text-transform:uppercase}.rv-overall-spot-placeholder{visibility:hidden}.rv-spot-slot{min-height:25px;box-sizing:border-box}
.rv-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.rv-row+.rv-row{margin-top:6px}
.rv-lbl{font-size:var(--type-micro);color:var(--neutral-text-muted-strong);text-transform:uppercase;letter-spacing:.08em;min-width:56px;flex-shrink:0;font-weight:700}
.rv-pill{font-size:var(--type-label);padding:2px 8px;border:.5px solid var(--neutral-border-subtle);border-radius:22px;background:transparent;color:var(--neutral-text-muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}
.rv-pill:hover{background:var(--bg2);color:var(--text-body)}
.rv-pill.on-seen{background:#1e2a38;color:var(--v-seen-strong);border-color:var(--neutral-text-muted-strong)}

.rv-pill.on-correct{background:var(--v-correct-bg);color:var(--v-correct-strong);border-color:var(--v-correct-border)}
.rv-pill.on-mistake{background:var(--v-mistake-bg);color:var(--v-mistake-strong);border-color:var(--v-mistake-border)}
.rv-pill.on-missed{background:var(--v-mistake-bg);color:var(--v-mistake-strong);border-color:var(--v-mistake-border)}
.rv-pill.on-undecided{background:var(--v-unsure-bg);color:var(--v-unsure-strong);border-color:var(--v-unsure-border)}
.rv-pill.on-discuss{background:#4a2006;color:#fbbf7c;border-color:#d97706}
.rv-pill.on-feedback{background:var(--v-mixed-bg-strong);color:var(--v-mixed-strong);border-color:var(--v-mixed-strong)}
.rv-pill.on-solver{background:var(--v-correct-bg);color:var(--v-correct-strong);border-color:var(--v-correct-border)}
.rv-pill.on-solver-lookup{background:var(--v-unsure-bg);color:var(--v-unsure-strong);border-color:var(--v-unsure-border)}
.rv-pill.on-punt{background:var(--v-punt-bg);color:var(--v-punt-strong);border-color:var(--v-punt-border)}
.rv-pill.on-mixed{background:var(--v-mixed-bg);color:var(--v-mixed-strong);border-color:var(--v-mixed-border)}
.rv-pill.on-street,.rv-pill.on-tag{background:rgba(61,214,140,0.12);color:var(--v-correct-strong);border-color:#1a4a2e}
.rv-pill.has-tags{border-color:#1a4a2e;color:#3dd68c}

.rv-note{width:100%;box-sizing:border-box;background:var(--bg2);border:1px solid #1e2633;border-radius:8px;color:var(--text-strong);font-size:var(--type-body);padding:10px 12px;resize:none;overflow-y:hidden;min-height:60px;font-family:inherit;outline:none;margin-top:4px;transition:border-color .15s,background .15s}

.rv-note-done:active{color:var(--ss-brand-bright,#82d9f0)!important;border-color:var(--ss-brand-border,#32788d)!important;background:var(--ss-brand-soft,rgba(89,199,232,.13))!important}
.rv-note::placeholder{color:var(--neutral-border);font-style:italic}
.rv-note:focus{border-color:var(--v-correct-strong);background:#0a0c0f}
.rv-note-status-space{height:14px;margin-top:3px}
.rv-panel [data-rv-stab]::before{content:'';display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:transparent;vertical-align:1px}

.rv-panel [data-rv-stab]::after{content:'';display:inline-block;width:6px;margin-left:7px}
.rv-verdict-line{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap}
.rv-overall-assessment-line{display:flex}
.rv-verdict-primary,.rv-verdict-extra{flex:0 0 auto;margin:0!important}
.rv-auto-spot{display:inline-flex;align-items:center;min-height:25px;padding:2px 9px;border:1px solid #25473b;border-radius:999px;color:#80cdb0;background:#0d211a;font-size:var(--type-label);font-weight:650}
.rv-save-btn{font-size:var(--type-label);padding:0 14px;height:26px;line-height:26px;border:.5px solid #1a4a2e;border-radius:6px;background:rgba(61,214,140,0.12);color:var(--v-correct-strong);cursor:pointer;font-weight:600;display:inline-flex;align-items:center}
.rv-save-btn:hover{filter:brightness(1.15)}
.rv-clear-btn{font-size:var(--type-label);padding:0 10px;height:26px;line-height:26px;border:.5px solid var(--neutral-border-subtle);border-radius:6px;background:transparent;color:var(--neutral-text-muted-strong);cursor:pointer;margin-left:auto;transition:color .12s;display:inline-flex;align-items:center}
.rv-status{font-size:var(--type-small);color:var(--neutral-text-muted-strong);margin-left:6px;transition:opacity .3s}

.hi-rv-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;margin-right:1px;vertical-align:middle}
.hi-rv-dot.rv-m{background:#e24b4a}
.hi-rv-dot.rv-c{background:#1d9e75}
.hi-rv-dot.rv-n{background:var(--v-mixed-strong)}
.hi-rv-dot.rv-f{background:#d97706}

.pill.on-reviewed{background:var(--v-mixed-bg-strong);color:var(--v-mixed-strong);border-color:var(--v-mixed-strong)}
[data-review-solver].on-solver,[data-review-solver].on-solver-lookup{color:var(--ss-brand-bright,#82d9f0)!important;background:var(--ss-brand-soft,rgba(89,199,232,.13))!important;border-color:var(--ss-brand-border,#32788d)!important}
.pill.on-recording{background:#501313;color:var(--v-mistake);border-color:#e24b4a}


.hd-side{width:268px;flex-shrink:0;border-right:.5px solid var(--brd2);padding-right:10px;display:flex;flex-direction:column;gap:2px}
.hd-side-title{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.05em;color:var(--text-meta);font-weight:500;margin-top:4px}
.hd-side-title:first-child{margin-top:0}
.hd-hand-row{display:flex;gap:8px;flex-wrap:wrap}
.hd-hand-box{flex:0 1 auto;min-width:108px}

.hd-cards-row{display:flex;align-items:center;gap:5px}
.hd-pos{display:inline-flex;align-items:center;justify-content:center;min-width:25px;color:var(--ss-brand-bright);background:var(--ss-brand-soft);border:1px solid var(--ss-brand-border);font-size:var(--type-small);font-weight:700;line-height:1.25;border-radius:3px;padding:1px 5px;flex-shrink:0}
.hd-effpos{font-size:var(--type-micro);font-weight:700;opacity:0.8}
.hd-hero-cards{font-size:var(--type-display-sm);font-weight:600;line-height:1.1;white-space:nowrap}
.hd-hero-stack{font-size:var(--type-body);color:var(--text-strong);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-vrow{display:flex;align-items:center;gap:5px;font-size:var(--type-label);padding:1px 0;border-bottom:.5px solid var(--brd);white-space:nowrap}
.hd-vrow .vn{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong)}
.hd-vrow .vp{display:inline-flex;align-items:center;justify-content:center;min-width:25px;color:var(--ss-brand-bright);background:var(--ss-brand-soft);border:1px solid var(--ss-brand-border);font-size:var(--type-small);font-weight:700;line-height:1.25;border-radius:3px;padding:1px 5px;flex-shrink:0}
.hd-vrow .vs{color:var(--text-strong);font-size:var(--type-label);font-weight:700;flex-shrink:0;min-width:64px;text-align:right;white-space:nowrap}
.hd-vrow .vc{flex-shrink:0;font-size:var(--type-body);font-weight:500}
.hd-winner{font-size:var(--type-label);font-weight:600;padding:3px 7px;border-radius:5px;background:#085041;color:var(--v-correct);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-slbl2 small{font-size:var(--type-micro);font-weight:650;color:var(--text-meta);text-transform:none;letter-spacing:0}.hd-final-pot{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #2a3544;border-radius:5px;color:var(--text-label);font-size:var(--type-small);font-weight:650;white-space:nowrap}
.hd-player-name{flex:0 1 105px;min-width:38px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-label);font-size:var(--type-small);font-weight:550;-webkit-user-select:text;user-select:text}
.hd-result-strip{display:flex;align-items:center;gap:13px;min-height:44px;margin:8px 0 3px;padding:7px 11px;background:rgba(24,72,59,.24);border-left:3px solid #4bc49a;color:var(--text-label)}.hd-result-label{font-size:var(--type-label);font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#71d4b3;flex-shrink:0}.hd-result-winners{display:flex;align-items:center;gap:10px;flex:0 1 auto;min-width:0}.hd-result-pos{display:inline-flex;align-items:center;justify-content:center;min-width:25px;padding:1px 5px;border:1px solid var(--ss-brand-border,#32788d);border-radius:3px;background:var(--ss-brand-soft,rgba(89,199,232,.13));color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-small);font-weight:750}.hd-result-hand.is-hero .hd-result-pos{background:var(--ss-hero-position-bg);color:var(--ss-hero-position-color);border-color:#c9911a}.hd-result-hero{margin-left:auto;padding-left:12px;border-left:1px solid rgba(125,145,160,.25);color:#8e9aa9;font-size:var(--type-micro);white-space:nowrap}.hd-result-hero b{font-size:var(--type-subtitle)}.hd-result-hero.is-positive b,.hd-result-hero-inline.is-positive b{color:var(--result-win)}.hd-result-hero.is-negative b,.hd-result-hero-inline.is-negative b{color:var(--result-loss)}.hd-result-hands{display:flex;align-items:center;gap:14px;min-width:0;flex-wrap:wrap}.hd-result-hand{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.hd-result-hand+.hd-result-hand{padding-left:13px;border-left:1px solid rgba(125,145,160,.22)}.hd-result-hand strong{max-width:160px;overflow:hidden;text-overflow:ellipsis;color:#d5dde6;font-size:var(--type-label);font-weight:650;-webkit-user-select:text;user-select:text}.hd-result-cards{font-size:17px;font-weight:650;line-height:1}.hd-result-hand>b{font-size:var(--type-body)}.hd-result-won{color:var(--text-meta);font-size:var(--type-label)}.hd-result-won b{color:var(--result-win);font-size:var(--type-subtitle)}.hd-result-hero-inline{margin-left:6px;padding-left:9px;border-left:1px solid rgba(125,145,160,.22);color:var(--text-meta);font-size:var(--type-micro)}.hd-result-hero-inline b{font-size:var(--type-subtitle)}.hd-result-strip.is-empty{background:rgba(70,78,90,.12);border-left-color:#596575;color:#8491a1}
.hd-result-strip.is-hero-win{background:rgba(24,72,59,.24);border-left-color:#4bc49a}.hd-result-strip.is-hero-win .hd-result-label{color:var(--result-win)}.hd-result-strip.is-hero-loss{background:rgba(112,42,52,.22);border-left-color:#c86472}.hd-result-strip.is-hero-loss .hd-result-label{color:var(--result-loss)}.hd-result-strip.is-hero-neutral{background:var(--ss-brand-soft,rgba(89,199,232,.13));border-left-color:var(--ss-brand,#59c7e8)}.hd-result-strip.is-hero-neutral .hd-result-label{color:var(--ss-brand-bright,#82d9f0)}
#player-names-toggle{margin-right:4px}#player-names-toggle.on{color:var(--ss-brand-bright,#82d9f0)!important;border-color:var(--ss-brand-border,#32788d)!important;background:var(--ss-brand-soft,rgba(89,199,232,.13))!important}
.hd-result-hand.is-busted{background:rgba(112,42,52,.34);border-radius:4px;padding:2px 5px;margin:-2px 0;color:#d5dde6}.hd-result-bust-icon{display:inline-flex;align-items:center;justify-content:center;font-size:var(--type-heading);line-height:1}.hd-result-hand.is-busted .hd-result-pos{border-color:#7d8997!important;background:rgba(89,199,232,.13)!important;color:#c5ced9!important}.hd-result-hand.is-busted strong,.hd-result-hand.is-busted .hd-result-bust-info{color:#d5dde6}.hd-result-bust-info{font-size:var(--type-label);font-weight:650;white-space:nowrap}


.sec-wrap{border-bottom:none;background:#0a0c0f}
.sec-wrap+.sec-wrap{border-top:none}
.sec-body{background:#0a0c0f}
.sec-hdr{display:flex;align-items:center;gap:8px;padding:.3rem .85rem;cursor:pointer;user-select:none;background:transparent;transition:background .1s;min-height:30px;border-radius:0}
.sec-hdr:hover{background:var(--bg2)}
.sec-title{font-size:var(--type-small);font-weight:600;color:var(--neutral-text-muted);flex-shrink:0;letter-spacing:.04em;text-transform:uppercase}
.sec-meta{font-size:var(--type-small);color:var(--neutral-text-muted-strong);flex:1;margin-left:4px}

.list-hdr{display:flex;flex-direction:column;gap:6px;padding:.4rem .6rem;flex-shrink:0;height:76px;box-sizing:border-box;justify-content:space-between}
.list-hdr-title{display:flex;flex-direction:column;gap:3px;min-width:0}
.list-hdr-title .selection-summary{max-width:none}
.list-hdr-sort{display:flex;justify-content:space-between;align-items:center;gap:8px}
.list-hdr .hand-sort-wrap{margin-left:0}
.hand-sort-wrap{display:inline-flex;align-items:center;gap:6px;margin-left:8px;color:#647082;font-size:var(--type-micro);font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:default}
.hand-sort-wrap select{height:24px;min-width:142px;padding:0 24px 0 8px;border:1px solid #2a3544;border-radius:6px;background-color:var(--bg2);color:#a7b2c1;color-scheme:dark;-webkit-appearance:none;appearance:none;font:500 10px/1 system-ui,sans-serif;outline:none;cursor:pointer;text-transform:none;letter-spacing:0;background-image:linear-gradient(45deg,transparent 50%,#718096 50%),linear-gradient(135deg,#718096 50%,transparent 50%);background-position:calc(100% - 11px) 9px,calc(100% - 7px) 9px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}
.hand-sort-wrap select:hover,.hand-sort-wrap select:focus{color:#e1e7ef;border-color:#46556a;background-color:#111925}
.hand-sort-wrap select option{background:var(--bg2);color:#d5dde8}
.sec-chev{display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--ss-disclosure-size);width:var(--ss-disclosure-size);height:var(--ss-disclosure-size);margin-right:5px;border:1px solid var(--ss-disclosure-border);border-radius:var(--ss-disclosure-radius);background:transparent;color:var(--ss-disclosure-color);font-size:var(--type-small);line-height:1;transform:rotate(0);transition:transform var(--ss-disclosure-speed) ease,background-color var(--ss-disclosure-speed) ease,color var(--ss-disclosure-speed) ease,border-color var(--ss-disclosure-speed) ease}
.sec-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ss-brand-bright,#82d9f0);margin-left:6px;flex-shrink:0;visibility:hidden;opacity:0;transition:opacity .15s ease}
.sec-dot.on{visibility:visible;opacity:1}
.sec-hdr:has(>.sec-dot.on) .sec-title,.filter-tool-tab:has(.sec-dot.on) .sec-title{color:var(--ss-brand-bright,#82d9f0)!important}
.sec-chev:hover{border-color:var(--ss-disclosure-color)}
.sec-wrap.collapsed>.sec-body{display:none}
#sec-timeline.collapsed>.sec-hdr>.th-info,#sec-timeline.collapsed>.sec-hdr>.th-right{display:none}
.sec-wrap.collapsed>.sec-hdr>.sec-chev{transform:rotate(-90deg)}
.sec-wrap:not(.collapsed)>.sec-hdr>.sec-chev{background:var(--ss-disclosure-open-bg);border-color:var(--ss-disclosure-open-bg);color:var(--ss-disclosure-open-mark)}
@media(prefers-reduced-motion:reduce){.sec-chev{transition:none}}

/* ── Sessions & Tournaments + Filters: one shared tab row, only one body open at a time ── */
.scope-filters-tabhdr{width:calc(100% - 24px);margin-left:12px;margin-right:12px;background:#0a0c0f}
.sec-tab{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
/* .sec-chev's base rule carries its own margin-right:5px (still needed for
   plain, non-tab .sec-hdr chevrons elsewhere). Inside a .sec-tab that
   stacked on top of the flex gap above, so Filters/Year/Month/Session/
   Single/Hall of Fame/All hands/Stats all rendered a ~13px chevron-to-title
   gap instead of 8px -- .filter-tool-tab already zeroes this out for
   Decision Tree/Board/Stack Sizes/etc (see its >.sec-chev{margin:0} rule
   above); give .sec-tab the same treatment so every header lands on one
   consistent gap. FM: "the distance of the icon to the text (header) is
   not aligned across all sections ... put all in the same distance all of
   them ... Hall of fame -- study stats all of them". */
.sec-tab>.sec-chev{margin-right:0}
/* Timeline's own section header (#sec-timeline-hdr) is a bare .sec-hdr --
   its chevron is never wrapped in a .sec-tab or promoted to a
   .filter-tool-tab the way Decision Tree/Board/etc are, so it kept the
   base .sec-chev margin-right:5px on top of .sec-hdr's own gap:8px (13px
   total) while Filters/Decision Tree above and below it dropped to 8px.
   FM: "Timeline text is now not aligned anymore" -- same fix, scoped to
   just this header so no other plain, non-tab .sec-hdr in the app (still
   relying on that 5px margin) is affected. */
#sec-timeline-hdr>.sec-chev{margin-right:0}
/* Removed per FM: the per-tab chevron-to-title gap is now consistent
   everywhere (see .sec-tab>.sec-chev / .filter-tool-tab>.sec-chev above),
   so the tab groups already read as visually separate without a literal
   divider line -- and that line couldn't track a tab pushed sideways by
   _alignStatsTab()'s cross-row chevron alignment anyway (FM: "the line
   before year is also in front of year"). display:none rather than
   deleting the element/its creation code in three separate places
   (the static Filters/Year/.../Hall of Fame row, the static All hands/
   Stats row, and _buildFilterToolsRow()'s _appendTab() helper) -- one
   rule covers all of them, present or future. */
.scope-tab-sep{display:none}
.sec-tab:has(>.sec-dot.on) .sec-title{color:var(--ss-brand-bright,#82d9f0)!important}
.sec-chev.tab-closed{transform:rotate(-90deg)}
.sec-chev.tab-open{background:var(--ss-disclosure-open-bg);border-color:var(--ss-disclosure-open-bg);color:var(--ss-disclosure-open-mark)}
/* All hands/Stats' own chevrons sit one level deeper than the structural
   .sec-wrap.collapsed>.sec-hdr>.sec-chev rule can reach (they're nested
   inside a .sec-tab span for the two-tab row), so collapsing #sec-hands
   via toggleSec() -- which only knows to toggle .collapsed on the wrap,
   nothing about the tab-open/tab-closed system -- never reset whichever
   tab was showing back to its closed look. All hands, which is the only
   one ever showing (tab-open) at the moment you collapse the section,
   stayed permanently filled ice-blue even with the whole section (and its
   content) collapsed away, instead of going hollow-with-dot like every
   other section's own chevron does once closed (FM: "if for whatever
   reason I collapse all -- all icons should look the same"). Forcing the
   tab-open look back to transparent once the wrapping section collapses
   fixes that without touching the tab-open/tab-closed toggle logic itself
   -- diagnosed instead of guessed, and matches the compact screenshot FM
   sent showing every chevron collapsed to the same look. */
.sec-wrap.collapsed .sec-chev.tab-open{background:transparent;transform:rotate(-90deg)}
/* Stats tab (private/analyzer-template.html #stats-btn) toggles its own
   'on' class directly (see analyzer.js toggleStatsPanel), rather than via
   the sec-dot .on used by the Filters/Scope Bar tabs -- Stats has no dot,
   it's a plain second tab next to All hands. */
.sec-tab.on .sec-title{color:var(--ss-brand-bright,#82d9f0)!important}
/* -- Scope Bar body (Sessions & Tournaments quick jump) + Hall of Fame's
   own mini body (same markup/class) -- */
/* min-height pinned to Filters' own measured open-body height (269px,
   #sec-filters .filter-area in production, stable across normal desktop
   widths) so switching between Filters/Year/Month/Session/Single/Hall of
   Fame never resizes the section. Re-measure and update this value if
   Filters' own row count changes again. */
.scope-body{padding:12px 16px 14px;display:flex;flex-direction:column;gap:12px;min-height:269px;box-sizing:border-box;background:var(--ss-filter-surface-bg);border-radius:var(--ss-filter-surface-radius)}
.scope-rail{display:flex;flex-direction:column;gap:6px}
.scope-rail-hdr{font-size:var(--type-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-body)}
.scope-rail-row-wrap{position:relative;display:flex;align-items:stretch;min-height:180px}
.scope-rail-empty{display:flex;align-items:center;min-width:176px;height:100%}
.scope-itmft-row{min-height:14px}
.scope-rail-row{display:flex;gap:10px;overflow-x:auto;padding:0 26px 2px;flex:1;min-width:0;scrollbar-width:thin;scrollbar-color:var(--neutral-border-subtle) transparent}
.scope-rail-row::-webkit-scrollbar{height:5px}
.scope-rail-row::-webkit-scrollbar-track{background:transparent}
.scope-rail-row::-webkit-scrollbar-thumb{background:var(--neutral-border-subtle);border-radius:3px}
.scope-rail-row::-webkit-scrollbar-thumb:hover{background:var(--neutral-text-muted)}
/* Just the glyph, no box -- ice-blue, larger, matching the brand accent. */
.scope-rail-nav{position:absolute;top:0;bottom:0;width:28px;border:0;padding:0;color:var(--ss-brand-bright,#82d9f0);cursor:pointer;display:flex;align-items:center;font-size:24px;font-weight:700;line-height:1;transition:color .12s;z-index:2}
.scope-rail-nav-left{left:0;justify-content:flex-start;padding-left:1px;background:linear-gradient(to right, rgba(13,17,23,.88) 30%, rgba(13,17,23,0) 100%)}
.scope-rail-nav-right{right:0;justify-content:flex-end;padding-right:1px;background:linear-gradient(to left, rgba(13,17,23,.88) 30%, rgba(13,17,23,0) 100%)}
.scope-rail-nav:hover{color:var(--ss-brand,#59c7e8)}
.scope-chip{display:flex;flex-direction:column;gap:12px;min-width:192px;flex-shrink:0;padding:16px 14px;background:var(--ss-filter-surface-bg,#0d1117);border:1px solid var(--neutral-border-subtle);border-radius:var(--ss-filter-surface-radius,8px);cursor:pointer;transition:border-color .12s,background .12s}
.scope-chip:hover{border-color:var(--ss-brand-border,#32788d)}
.scope-chip.selected{border-color:var(--ss-brand-bright,#82d9f0);background:var(--ss-brand-soft,rgba(89,199,232,.13))}
.scope-chip .scope-d1{font-size:var(--type-subtitle);font-weight:700;color:#d8e0ea;white-space:nowrap}
.scope-chip .scope-d2{font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.scope-chip .scope-d2.scope-win{color:var(--result-win)}
.scope-chip .scope-d2.scope-loss{color:var(--result-loss)}
.scope-chip.scope-chip-loading{cursor:default;opacity:.65}
.scope-empty{font-size:var(--type-label);color:var(--text-body)}
.scope-d1-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.scope-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:1px 6px;border-radius:20px;background:rgba(130,217,240,.12);color:var(--ss-brand-bright,#82d9f0);font-size:10px;font-weight:700}
.scope-money-row{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding-top:8px;border-top:1px solid var(--neutral-border-subtle)}
.scope-money-line{display:flex;justify-content:space-between;gap:10px;font-size:var(--type-subtitle)}
.scope-money-line .k{color:#d8e0ea}
.scope-money-line .v{color:#d8e0ea;font-weight:700;white-space:nowrap}
.scope-money-line .v.scope-win{color:var(--result-win)}
.scope-money-line .v.scope-loss{color:var(--result-loss)}
.scope-money-line.net{padding-top:1px}
/* Type filter (MTT/Satellites/All), moved distinctly away from the period
   tabs (margin-left:auto pushes it to the row's other end) and de-pilled
   entirely per FM's request -- plain text, only the active one colored. */
.scope-filter-tabs{display:flex;gap:14px;margin-left:auto}
.scope-filter-btn{border:none;background:transparent;color:var(--text-label,#a6b2c1);font-size:var(--type-label);font-weight:700;padding:4px 2px;cursor:pointer;transition:color .12s}
.scope-filter-btn:hover{color:var(--text-body)}
.scope-filter-btn.on{color:var(--ss-brand-bright,#82d9f0)}
.scope-loading-badge{display:none;align-items:center;gap:6px;padding:2px 9px;margin-left:8px;border-radius:20px;background:rgba(130,217,240,.12);color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-label);font-weight:700}
.scope-loading-spinner{width:9px;height:9px;border:1.5px solid rgba(130,217,240,.35);border-top-color:var(--ss-brand-bright,#82d9f0);border-radius:50%;display:inline-block;animation:scope-spin .8s linear infinite}
@keyframes scope-spin{to{transform:rotate(360deg)}}
/* Tournaments (replaces the old chip rail, then the old day-only list):
   a disclosure header, collapsed by default, holding the full sortable,
   searchable, checkbox-multi-select table that used to live on the Custom
   tab (FM: "clean up Custom and move it to Sessions & Tournaments" --
   Custom stays a pure What-to-load filter/Load builder, this is now the
   one place to browse and hand-pick specific tournaments). Selecting a
   session day above still narrows it to that day; a search reaches the
   whole Type/Year/Month-scoped library regardless of day. */
.scope-tourn-list{display:flex;flex-direction:column}
.scope-tourn-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-bottom:1px solid var(--neutral-border-subtle);cursor:pointer;transition:background .1s}
.scope-tourn-row:last-child{border-bottom:none}
.scope-tourn-row:hover{background:rgba(255,255,255,.03)}
.scope-tourn-row.selected{background:var(--ss-brand-soft,rgba(89,199,232,.1));box-shadow:inset 2px 0 0 var(--ss-brand-bright,#82d9f0)}
.scope-tourn-row.active{position:relative;background:rgba(89,199,232,.12)}
.scope-tourn-row.active:hover{background:rgba(89,199,232,.16)}
.scope-tourn-row.active::after{content:"";display:block;position:absolute;top:2px;right:0;bottom:2px;left:auto;width:3px;border-radius:3px 0 0 3px;background:#59c7e8;box-shadow:0 0 8px rgba(89,199,232,.32);pointer-events:none}
.scope-tourn-row.scope-tourn-row-loading{cursor:default;opacity:.6}
.scope-tourn-row.scope-tourn-row-placeholder{cursor:default}
.scope-tourn-hdr{display:flex;align-items:center;gap:10px;padding:4px 8px;border-bottom:1px solid var(--neutral-border-subtle);font-size:var(--type-label);color:var(--text-label,#a6b2c1);letter-spacing:.04em}
.scope-tourn-col-buyin{width:90px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);font-weight:700;color:#d8e0ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scope-tourn-badge{display:inline-flex;align-items:center;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:800;letter-spacing:.02em}
.scope-tourn-badge-sat{background:rgba(45,212,191,.16);color:var(--action-walk,#2dd4bf)}
.scope-tourn-badge-ko{background:rgba(109,40,217,.18);color:var(--v-mixed-strong,#b79bf0)}
.scope-tourn-badge-mtt{background:var(--ss-brand-soft,rgba(89,199,232,.13));color:var(--ss-brand-bright,#82d9f0)}
.scope-tourn-badge-itm{background:#052e1a;color:#34d399}
.scope-tourn-badge-zoom{background:var(--v-unsure-bg,rgba(34,211,238,.12));color:var(--v-unsure-strong,#22d3ee)}
.scope-tourn-badge-free{background:rgba(156,163,175,.14);color:var(--v-seen-strong,#9ca3af)}
.scope-tourn-badge-multiday{background:rgba(245,158,11,.14);color:#f59e0b}
.scope-tourn-badge-ft{background:#1e0d47;color:var(--v-mixed-strong,#b79bf0)}
/* Filters, Timeline, the Decision Tree/Board/... tab row and All hands/
   Stats are the top-level closed sections stacked in #dashboard (a flex
   column -- flex-item margins never collapse the way block margins do, so
   the gap between two sections is the sum of the FIRST one's margin-bottom
   and the SECOND one's margin-top). .sec-wrap itself carries no vertical
   margin and .filter-tools-row had its own margin-top:10px/margin-bottom:
   8px, so the three gaps were 0 (Filters-Timeline, both margin-less) / 10px
   (Timeline-Decision Tree row) / 8px (Decision Tree row-All hands) -- three
   different values. FM: "when closed it should be the same distance
   between filters and timeline and timeline and decision tree and decision
   tree and all hands...? no need to have different spacing?" Giving each
   section ONLY a margin-bottom (never a margin-top) and using the same
   value everywhere makes every gap in the stack equal by construction. */
#sec-filters,#sec-timeline{margin-bottom:8px}
.filter-tools-row{position:relative;z-index:30;margin-bottom:8px;overflow:visible}

.filter-tools-controls{display:flex;align-items:center;min-height:34px;overflow:visible}
.filter-tool-tab{position:relative;display:flex;align-items:center;gap:8px;flex:0 0 auto;height:34px;box-sizing:border-box;padding:0 13px;cursor:pointer;background:transparent;user-select:none}
.filter-tool-tab:first-child{padding-left:0}
.filter-tool-tab:hover{background:var(--bg2)}
.filter-tool-tab.open{background:var(--ss-brand-soft,rgba(89,199,232,.1));box-shadow:inset 0 -1px 0 var(--ss-brand-border,#32788d)}
.filter-tool-tab.open .sec-title{color:var(--ss-brand-bright,#82d9f0)}
.filter-tool-tab>.sec-chev{margin:0;transform:rotate(-90deg)}
.filter-tool-tab.open>.sec-chev{transform:rotate(0);background:var(--ss-disclosure-open-bg);border-color:var(--ss-disclosure-open-bg);color:var(--ss-disclosure-open-mark)}
.filter-tool-tab .sec-meta{flex:0 1 auto;max-width:190px;margin-left:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0}
.filter-tool-tab.has-filter .sec-title,.filter-tool-tab.has-filter .sec-meta{color:var(--ss-brand-bright,#82d9f0)!important}
.filter-tool-record{flex:0 0 auto;margin:0 6px 0 0!important;font-size:var(--type-small)!important}
.filter-tool-lessons{position:relative;flex:0 0 auto;margin:0;border:0;border-radius:0}.filter-tool-lessons>summary{display:flex;align-items:center;gap:6px;height:34px;box-sizing:border-box;padding:0 13px;border:0;border-radius:0;color:#a9b5c4;background:transparent;font-size:var(--type-small);font-weight:750;letter-spacing:.055em;text-transform:uppercase}.filter-tool-lessons>summary::after{content:''}.filter-tool-lessons[open]>summary{color:var(--ss-brand-bright,#82d9f0);background:var(--ss-brand-soft,rgba(89,199,232,.1));box-shadow:inset 0 -1px 0 var(--ss-brand-border,#32788d)}
.filter-tool-lessons>summary:hover{background:var(--bg2)}.filter-tool-lessons .toolbar-menu-popover{left:0;right:auto}
.filter-tool-lessons>summary>.sec-chev{margin:0;transform:rotate(-90deg)}
.filter-tool-lessons[open]>summary>.sec-chev{transform:rotate(0);background:var(--ss-disclosure-open-bg);border-color:var(--ss-disclosure-open-bg);color:var(--ss-disclosure-open-mark)}
.filter-tool-popover-wrap{position:absolute!important;z-index:4100;top:calc(100% + 6px);left:0;width:440px;max-width:min(560px,calc(100vw - 40px));border:1px solid #344258;border-radius:9px;background:var(--bg2)!important;box-shadow:0 14px 38px rgba(0,0,0,.58);cursor:default}
.filter-tool-popover-wrap.collapsed{display:none}
.filter-tool-popover-wrap>.sec-body{display:block;background:transparent}
.filter-tool-popover-wrap .filter-area{display:block;margin:0!important;padding:12px!important;border:0;border-radius:9px;background:transparent}

.filter-tool-menu-reviewed .filter-tool-popover-wrap{width:540px}
.filter-tool-menu-shared .filter-tool-popover-wrap{left:auto;right:0;width:280px}
.filter-tool-menu-tournament .filter-tool-popover-wrap{width:480px}
.filter-tool-menu-villain .filter-tool-popover-wrap{width:390px}
.compact-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid #263247;color:#d9e2ed;font-size:var(--type-body);font-weight:750;letter-spacing:.02em}
.compact-filter-head .clear-btn{margin-left:auto}
.compact-filter-row{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:10px;padding:5px 0}
.compact-filter-row+.compact-filter-row{border-top:1px solid rgba(52,66,88,.42)}
.compact-filter-row>.flbl{width:auto!important;padding-top:5px;color:#95a4b6!important;font-size:var(--type-label)!important}
.compact-filter-row>.flbl.has-value{color:var(--ss-brand-bright,#82d9f0)!important}
.compact-filter-options{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}
.shared-filter-list{display:grid;gap:5px}
.shared-filter-list>span:empty{display:none}
.shared-filter-list .pill{width:100%;max-width:none;min-height:31px!important;box-sizing:border-box;border-radius:6px!important;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shared-filter-list .pill.on{border-color:var(--ss-brand-border,#32788d)!important;color:var(--ss-brand-bright,#82d9f0)!important;background:var(--ss-brand-soft,rgba(89,199,232,.13))!important}
.share-filter-status{min-height:31px;display:flex;align-items:center;color:var(--text-meta);font-size:var(--type-body)}
#sec-board-stack>.sec-body{margin:5px 0 8px}
#sec-board-stack>.sec-body>.filter-area{margin-top:0!important;margin-bottom:0!important;padding:10px 12px!important}
#sec-board-stack .filter-row{min-height:34px;gap:6px!important}
#sec-board-stack .filter-row>.flbl{flex:0 0 76px;width:76px!important}
@media(max-width:900px){.filter-tool-popover-wrap{position:fixed!important;top:110px;left:20px!important;right:20px!important;width:auto!important;max-width:none}.filter-tools-controls{flex-wrap:wrap}}
.study-menu-divider{display:block;width:100%;height:1px;margin:2px 0;background:var(--brd2)}
.study-menu-record{margin:0!important;border-color:var(--ss-brand-border,#32788d)!important;color:var(--ss-brand-bright,#82d9f0)!important}
.study-menu-record.on-recording{border-color:var(--result-loss,#ff6b6b)!important;color:var(--v-mistake-strong)!important;background:rgba(226,75,74,.18)!important}
.shared-space-filter{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


.hd-wrap2{display:flex;gap:10px;align-items:flex-start;padding-top:4px}
.hd-tvw{display:none}
.hd-sv2{display:flex;gap:5px;align-items:flex-start;flex:1;min-width:0;overflow-x:auto;--hd-street-gap:5px}

.hd-stc2{display:flex;flex-direction:column;flex:0 0 calc((100% - var(--hd-street-gap,5px)*3)/4);min-width:fit-content;background:var(--bg2);border-radius:var(--r);padding:4px 6px 5px}

.hd-sth2{height:30px;display:flex;gap:3px;align-items:center;flex-wrap:nowrap;overflow:visible;margin-bottom:3px}
.hd-slbl2{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--text-meta);margin-bottom:3px;font-weight:500;white-space:nowrap;display:flex;align-items:baseline;gap:5px}

.hd-slbl2>span:last-child{text-transform:none}
.hd-allin{font-size:var(--type-small);color:var(--text-meta);padding-top:2px;font-style:italic}


.review-popup .hd-wrap2{gap:12px;padding-top:6px}
.review-popup .hd-sv2{gap:8px;overflow-x:hidden;scrollbar-width:none;--hd-street-gap:8px}
.review-popup .hd-sv2::-webkit-scrollbar{display:none}
.review-popup .hd-stc2{min-width:fit-content;padding:6px 8px 7px}
.review-popup .hd-sth2{height:36px;gap:5px;margin-bottom:4px}
.review-popup .hd-stc2.hd-st-pre{min-height:300px;background:var(--bg2)}
.review-popup .hd-stc2 .hd-card{font-size:17px!important;padding:3px 6px!important;border-radius:5px}
.review-popup .hd-slbl2{font-size:var(--type-small);margin-bottom:4px;gap:7px}
.review-popup .ha{font-size:var(--type-label);gap:9px;padding:2px 0;line-height:1.25}
.review-popup .ha .an{font-size:var(--type-label);min-width:54px}
.review-popup .ha .av{font-size:var(--type-label);min-width:38px}
.review-popup .ha .aa{font-size:var(--type-label);white-space:nowrap;flex-shrink:0}
.review-popup .ha .aa .ha-pot-pct{font-size:var(--type-label);color:var(--text-body);font-weight:600;letter-spacing:.005em}
.review-popup .hd-player-name{flex:0 0 74px;width:74px;min-width:74px;max-width:74px;color:var(--text-body);font-size:var(--type-label);font-weight:600;letter-spacing:.005em}
.review-popup .ha.me .hd-player-name{color:var(--text-strong);font-weight:700}
.review-popup .hd-stc2 .hi-pos{font-size:var(--type-micro)!important;min-width:25px!important;padding:1px 4px!important}
.hi-pos,.hd-result-pos{background:var(--ss-brand-soft,rgba(89,199,232,.13))!important;color:var(--ss-brand-bright,#82d9f0)!important;border:1px solid var(--ss-brand-border,#32788d)!important}
.hd-sv2 .hi-pos{border-style:solid!important;border-width:1px!important;font-weight:700!important}
.hd-sv2 .ha.me .hi-pos,.hd-result-hand.is-hero .hd-result-pos{background:var(--ss-hero-position-bg,#78540a)!important;color:var(--ss-hero-position-color,#fde68a)!important;border-color:var(--ss-hero-position-border,#c9911a)!important}
.review-popup .hd-allin{font-size:var(--type-label);padding-top:4px}

.ha.me{background:rgba(201,145,26,0.05);border-radius:2px}
.ha-ind{width:3px;align-self:stretch;border-radius:1px;flex-shrink:0;min-height:10px}
.ha.hfold{opacity:1}
.hd-teach-action-cells{display:contents}
.hd-teach-seat{min-height:16px}
.hd-teach-empty-action{min-width:38px}



#stats-panel{padding:10px 14px 18px;overflow-x:auto}
/* "Copy Image" button -- FM originally asked for this floating over the
   Stats panel's own bottom-right corner, but that meant it overlapped
   whatever content sat there on every sub-tab ("the camera sign for our
   png -- is always cutting in each view in stats -- somehow touching the
   lists -- the tiles"), so it now lives as a normal, non-floating control
   docked in the app footer next to Debug (#app-snapshot-btn, mounted by
   _appSnapshotMountButton in stats.js -- see .ss-analyzer-footer-debug in
   spaces.css for its footer placement) instead of position:absolute over
   any one panel. It captures whichever view is actually open: Stats, or
   the hand Matrix (FM: "could we put it next to debug? and then also have
   it when we have matrix open or Timeline? or combined?") */

select.f-range-sel{height:22px;font-size:var(--type-label);background:transparent;border:.5px solid var(--neutral-border-subtle);border-radius:22px;color:var(--neutral-text-muted);padding:0 18px 0 8px;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4' viewBox='0 0 8 4'%3E%3Cpath d='M0 0l4 4 4-4z' fill='%234b5563'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;min-width:52px;max-width:88px}
select.f-range-sel:hover{border-color:var(--neutral-border);color:#9ca3af}
.sp-tbl{width:100%;border-collapse:collapse}
.cp-section-box{background:var(--ss-filter-surface-bg,#0d1117);border:1px solid var(--neutral-border-subtle);border-radius:var(--ss-filter-surface-radius,8px);padding:14px 16px 16px;margin-bottom:16px}
.cp-tbl{table-layout:fixed}
.cp-tbl th:nth-child(2),.cp-tbl td:nth-child(2){width:90px}
.cp-tbl th:nth-child(3),.cp-tbl td:nth-child(3){width:150px}
.sp-tbl thead th{color:var(--neutral-text-muted);font-size:var(--type-label);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:8px 18px 8px;text-align:right;border-bottom:1px solid #1a2030;white-space:nowrap;background:#080b10}
.sp-tbl thead th:first-child{text-align:left;padding-left:12px}
.sp-tbl tbody td{padding:10px 18px;text-align:right;border-bottom:.5px solid #0f1318;white-space:nowrap;font-size:var(--type-title);color:var(--v-seen-strong);vertical-align:middle}
.sp-tbl tbody td:first-child{text-align:left;padding-left:12px}
.sp-tbl tbody tr:hover td{background:rgba(255,255,255,0.03)}
.sp-tbl tfoot td{border-top:2px solid #2d3748;padding:14px 18px;text-align:right;font-size:var(--type-title);font-weight:700;white-space:nowrap;color:var(--v-seen-strong);background:#0b0f18}
.sp-tbl tfoot td:first-child{text-align:left;padding-left:12px}
.sp-pos-lbl{font-size:var(--type-label);font-weight:700;letter-spacing:.04em;color:var(--ss-brand-bright);background:var(--ss-brand-soft);border:1px solid var(--ss-brand-border);border-radius:4px;padding:3px 10px;display:inline-block;text-align:center;min-width:38px}
.sp-val-pos{color:var(--v-correct-strong)}.sp-val-neg{color:var(--v-mistake-strong)}.sp-val-hi{color:var(--text-strong);font-weight:700}



.bottom{display:block}  


.list-panel{display:flex;flex-direction:column}
.panel-hdr{padding:.28rem .75rem;border-bottom:none;display:flex;align-items:center;gap:6px;background:var(--bg);flex-shrink:0}
.panel-title{font-size:var(--type-small);font-weight:600;color:var(--neutral-text-muted);text-transform:uppercase;letter-spacing:.04em}
.list-scroll{flex:1;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--neutral-border-subtle) transparent}

.list-hdr-divider{height:1px;background:#18212d;margin:0 10px;flex-shrink:0}
.list-scroll::-webkit-scrollbar{width:5px}
.list-scroll::-webkit-scrollbar-track{background:transparent}
.list-scroll::-webkit-scrollbar-thumb{background:var(--neutral-border-subtle);border-radius:3px}
.list-scroll::-webkit-scrollbar-thumb:hover{background:var(--neutral-border)}
.hi{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:none;cursor:pointer;transition:background .1s;position:relative}

.hi.hi-result-neutral{background:var(--ss-brand-soft,rgba(89,199,232,.13))}
.hi:hover{background:var(--bg2)}

.hi.active{background:var(--bg2);border-left:3px solid #3dd68c;padding-left:7px}
.hi-pos{font-size:var(--type-micro);font-weight:500;color:var(--ss-brand-bright);background:var(--ss-brand-soft);border-radius:3px;padding:1px 4px;flex-shrink:0;width:28px;text-align:center;white-space:nowrap}
.hi-c{font-size:var(--type-title);font-weight:500;width:48px;flex-shrink:0;white-space:nowrap}
.hi-inf{flex:1;min-width:0;overflow:hidden}
.hi-m{font-size:var(--type-small);color:var(--neutral-text-muted-strong)}
.hi-note{font-size:var(--type-label);color:var(--text-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hi-event-slot{min-width:52px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:9px;font-size:var(--type-label);line-height:1;white-space:nowrap}
.hi-event-icon{width:17px;flex:0 0 17px;text-align:center;display:inline-block}
.hi-screenshot-icon{color:var(--text-body);display:inline-flex;align-items:center;justify-content:center}
.hi-screenshot-icon:hover{color:var(--text-strong)}
.hi-shared-icon{color:#58e2a8;font-size:var(--type-title);font-weight:800}
.hi-shared-icon[data-manage-share]{cursor:pointer;border-radius:3px}
.hi-shared-icon[data-manage-share]:hover{background:rgba(61,214,140,.14);color:#8af0c2}
.hi-space-author{width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#174638;border:1px solid #28745a;color:#b7f7dc;font-size:var(--type-micro);font-weight:800;letter-spacing:.02em;cursor:help}
.hi-space-new-label{display:inline-flex;align-items:center;height:16px;padding:0 4px;border-radius:3px;background:#153354;border:1px solid #28639a;color:#9dcbf5;font-size:7px;font-weight:800;letter-spacing:.05em}
.hi-space-new{background:rgba(55,138,221,.10);box-shadow:inset 3px 0 #378add}
.hi-space-new:hover,.hi-space-new.active{background:rgba(55,138,221,.17)}
.hi-space-opened{background:rgba(255,255,255,.012)}
.hi-space-reviewed{background:rgba(61,214,140,.045);box-shadow:inset 3px 0 rgba(61,214,140,.48)}
.hi-space-reviewed:hover,.hi-space-reviewed.active{background:rgba(61,214,140,.09)}
.badge{display:inline-flex;align-items:center;justify-content:center;font-size:var(--type-small);font-weight:700;border-radius:4px;flex-shrink:0;min-width:21px;height:21px;box-sizing:border-box}
.wbg{background:var(--result-win-bg);color:var(--result-win);border:1px solid var(--v-correct-border,rgba(61,214,140,.4))}
.lbg{background:var(--result-loss-bg);color:var(--result-loss);border:1px solid var(--v-mistake-border,rgba(248,113,113,.4))}
.nbg{background:transparent;border:1px solid transparent}

.hi-src{font-size:var(--type-micro);font-weight:500;color:var(--neutral-text-muted);background:#141820;border-radius:3px;padding:1px 4px;flex-shrink:0;white-space:nowrap}
.hi-bubble{font-size:var(--type-small);font-weight:800;color:#92400e;background:var(--ss-hero-position-color);border-radius:3px;padding:2px 7px;flex-shrink:0;white-space:nowrap;letter-spacing:.03em}
.hi-bubble-row{border-left:4px solid #f59e0b !important;background:rgba(245,158,11,.1) !important}
.hi.sel{outline:2px solid var(--ss-brand,#59c7e8);outline-offset:-2px;background:var(--ss-brand-soft,rgba(89,199,232,.13))!important}

#bulk-bar{display:none}
.bulk-review-actions{display:none}
.lesson-filter-clear{align-items:center;border:1px solid #23775e;border-radius:12px;background:#0c2a21;color:#82e1c0;font-size:var(--type-label);font-weight:600;line-height:1;padding:4px 8px;cursor:pointer}
#collection-filter-back.collection-filter-back{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:4px;box-sizing:border-box;border:1px solid var(--ss-brand-border,#32788d);border-radius:999px;background:var(--ss-brand-soft,rgba(89,199,232,.13));color:var(--ss-brand-bright,#82d9f0);font-family:inherit;font-size:var(--type-label);font-weight:700;line-height:1;padding:4px 9px;cursor:pointer;white-space:nowrap}
#collection-filter-back.collection-filter-back:hover{border-color:var(--ss-brand,#59c7e8);background:rgba(89,199,232,.19)}
.lesson-list-topic{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;min-height:42px;gap:8px;margin:8px 0;padding:9px 10px;background:var(--ss-list-group-bg,#10232c);border:1px solid var(--ss-list-group-border,rgba(89,199,232,.28));color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-label);font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.lesson-list-topic button{text-transform:none;letter-spacing:normal}
.lesson-list-topic>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

.lesson-list-topic button{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--ss-brand-bright,#82d9f0);font:inherit;font-weight:700;padding:2px 3px;cursor:pointer}
.lesson-list-topic button i{font-size:var(--type-subtitle)}
.lesson-list-topic button:hover{text-decoration:underline}
#bulk-sel-count{font-size:var(--type-small);color:var(--neutral-text-muted);margin-right:4px;white-space:nowrap}
.hand-sort-wrap-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hand-sort-menu{position:relative;display:inline-block}
.hand-sort-menu>summary{min-width:118px}
.hand-sort-menu .rv-share-menu-option.on{border-color:var(--ss-brand-border,#32788d);background:var(--ss-brand-soft,rgba(89,199,232,.13));color:var(--ss-brand-bright,#82d9f0)}
.bulk-actions-menu{position:relative;display:inline-block}
.bulk-actions-menu .rv-share-menu-popover{left:auto;right:0}
.bulk-select-toggle{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}
.bulk-select-toggle.on{border-color:var(--ss-brand-border,#32788d);color:var(--ss-brand-bright,#82d9f0);background:var(--ss-brand-soft,rgba(89,199,232,.13))}
.rv-pill-danger{border-color:#5c2323;color:#e08a8a}
.rv-pill-danger:hover{background:#241213;color:var(--v-mistake-strong);border-color:#7f3030}
.rv-share-menu-option.is-danger{color:#e08a8a}
.rv-share-menu-option.is-danger:hover,.rv-share-menu-option.is-danger:focus-visible{border-color:#7f3030;background:#241213;color:var(--v-mistake-strong)}
#bulk-clear{padding:1px 5px;border:none;background:transparent;color:var(--neutral-text-muted);cursor:pointer;font-size:var(--type-title);line-height:1;margin-left:auto}
.hi.rank-1::after,.hi.rank-2::after,.hi.rank-3::after{content:'';position:absolute;right:0;top:0;bottom:0;width:3px;pointer-events:none}
.hi.rank-1::after{background:#d4a017}
.hi.rank-2::after{background:#9098a3}
.hi.rank-3::after{background:#b5651d}

.hi-pos-wrap{display:flex;align-items:center;gap:4px;flex-shrink:0}
.hi-mk{flex-shrink:0;display:inline-flex;align-items:center;gap:2px;cursor:pointer;border-radius:3px;padding:1px 2px;margin:-1px -2px}
.hi-mk:hover{background:rgba(255,255,255,.08)}
.hi-mk-slot{width:8px;height:14px;flex:none;display:flex;align-items:center;justify-content:center}
.hi-mk-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}
.hi-mk-dot.is-flag{background:#e0a23a}
.hi-mk-dot.is-seen{background:var(--v-seen-strong,#9ca3af)}
.hi-mk-dot.is-correct{background:var(--v-correct-strong,#3dd68c)}
.hi-mk-dot.is-mixed{background:var(--v-mixed-strong,#a78bfa)}
.hi-mk-dot.is-mistake{background:var(--v-mistake-strong,#f87171)}
.hi-mk-gslot{width:10px;flex:none;display:flex;align-items:center;justify-content:center}
.hi-mk-punt,.hi-mk-unsure{font-size:var(--type-title);font-weight:800;line-height:1}
.hi-mk-punt{color:var(--v-punt-strong,#f59e0b)}
.hi-mk-unsure{color:var(--v-unsure-strong,#22d3ee)}

.hi-solver-icon.is-checked{color:var(--v-correct-strong,#3dd68c)}
.hi-solver-icon.is-lookup{color:var(--v-unsure-strong,#22d3ee)}

.hi-event-emoji{font-size:var(--type-heading)}


.matrix-panel{display:grid;grid-template-columns:minmax(0,1fr) 250px;column-gap:12px;overflow:hidden;height:100%;min-height:0}
.mx-col{grid-column:1;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg2);border-radius:8px;overflow:hidden}
.mx-hdr{display:flex;flex-direction:column;flex-shrink:0;min-height:62px;min-width:0;background:#0a0c0f}
.mx-ctrl{display:flex;gap:4px;padding:.28rem 7px;border-bottom:none;flex-wrap:wrap;align-items:center;background:transparent;flex-shrink:0}

.mx-wld{margin-left:auto;display:flex;gap:8px;font-size:var(--type-small);color:var(--text-meta);flex-shrink:0}
.mx-villain-badge{font-size:var(--type-small);font-weight:750;letter-spacing:.03em;color:var(--ss-brand-bright,#82d9f0);background:var(--ss-brand-soft,rgba(89,199,232,.13));border:1px solid var(--ss-brand-border,#32788d);border-radius:20px;padding:2px 9px;flex-shrink:0;white-space:nowrap}
.hd-villain-view-note{display:block;margin:0 0 8px;padding:6px 10px;font-size:var(--type-label);line-height:1.4;color:var(--ss-brand-bright,#82d9f0);background:var(--ss-brand-soft,rgba(89,199,232,.13));border:1px solid var(--ss-brand-border,#32788d);border-radius:7px}
.mx-wld b{font-weight:700}
.mx-wld .w{color:var(--v-correct)}.mx-wld .l{color:var(--v-mistake)}
.matrix-scroll{flex:1;overflow:hidden;padding:.35rem 7px;min-width:0;min-height:0;box-sizing:border-box;contain:paint}
.mx-inspector{flex:0 0 360px;width:360px;min-width:360px;max-width:360px;box-sizing:border-box;margin:.35rem .65rem .35rem 0;padding:10px 14px 8px;background:transparent;border:0;border-radius:0;overflow:hidden;color:#c1cad6;display:flex;flex-direction:column}
.mx-inspector-empty{height:100%;min-height:150px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-meta);font-size:var(--type-subtitle);line-height:1.6}

.mxi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:0 0 7px 10px;min-height:52px;box-sizing:border-box}
.mxi-combo{font-size:var(--type-display);font-weight:750;line-height:1;color:var(--text-label);letter-spacing:-.03em}
.mxi-count{font-size:var(--type-subtitle);font-weight:750;line-height:1.05;margin-top:5px;color:#929ead;letter-spacing:0}.mxi-count-reserve{visibility:hidden}.mxi-sample{font-size:var(--type-body);font-weight:550;color:#7f8b9b;margin-top:5px;line-height:1.25}.mxi-state{font:700 10px/1.25 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#8df0ce;background:var(--v-correct-bg-strong);border:1px solid #276442;border-radius:10px;padding:2px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.mxi-state b{font-size:var(--type-subtitle);line-height:.8;font-weight:500}.mxi-state:hover{color:#c9ffec;border-color:#3f8c69;background:#10271e}

.mxi-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:10px 0 9px 10px;border-top:1px solid #18212d;border-bottom:1px solid #18212d}.mxi-result{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.mxi-result span{font-size:var(--type-small);font-weight:750;text-transform:uppercase;letter-spacing:.07em}.mxi-result b{font-size:var(--type-display-sm);line-height:1;font-variant-numeric:tabular-nums}
/* Was var(--type-small) (10px), same as the WIN/LOSS/FOLD label above it --
   but the equivalent sub-line under the Win rate/Frequency/RFI rate/BB100
   boxes below (.mxi-metric-sub) renders at var(--type-body) (12px, see its
   rule further down). FM: "the font of the hands below win and Loss are
   too small (and fold) can it be as large as the one in the infobox below
   the percentages?" Match that same 12px here. */
.mxi-result small{font-size:var(--type-body);white-space:nowrap}
.mxi-result.win span,.mxi-result.win b,.mxi-result.win small{color:var(--result-win)}.mxi-result.loss span,.mxi-result.loss b,.mxi-result.loss small{color:var(--result-loss)}.mxi-result.fold span,.mxi-result.fold b,.mxi-result.fold small{color:#9ca7b4}
.mxi-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:9px 0 11px}
.mxi-metric{height:76px;min-height:76px;background:#0d131b;border:1px solid #263345;border-radius:6px;padding:7px 9px;min-width:0;color:#aab4c0;overflow:hidden}
.mxi-metric-lbl{font-size:var(--type-small);font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#929eac;white-space:nowrap}.mxi-metric-val{font-size:var(--type-display-sm);font-weight:750;color:var(--text-label);margin-top:3px;font-variant-numeric:tabular-nums;line-height:1}.mxi-metric-sub{min-height:27px;font-size:var(--type-label);color:#8995a4;margin-top:3px;line-height:1.2}
/* Click-to-flip metric tiles (Results/Distribution pages, analyzer.js
   tile()) -- FM: "I'd like to click the box and the box turns around and
   shows explanation of the value". .mxi-flip adds the 3D stage on top of
   the existing .mxi-metric box (same size/border/background); padding
   moves from .mxi-metric onto -front/-back so front and back each get
   their own full-box padding instead of double-padding through the
   already-padded outer box. .mxi-flip-on (toggled by _flipTile()) is what
   actually performs the flip. */
.mxi-flip{position:relative;padding:0!important;cursor:pointer}
.mxi-flip:hover{border-color:#37485f}
.mxi-flip-inner{position:relative;width:100%;height:100%;transition:transform .45s cubic-bezier(.4,.15,.2,1);transform-style:preserve-3d}
.mxi-flip.mxi-flip-on .mxi-flip-inner{transform:rotateY(180deg)}
.mxi-flip-front,.mxi-flip-back{position:absolute;inset:0;padding:7px 9px;box-sizing:border-box;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.mxi-flip-back{transform:rotateY(180deg);display:flex;align-items:center}
.mxi-flip-back-text{font-size:var(--type-label);line-height:1.35;color:#aab4c0}
.mxi-section-title{font-size:var(--type-label);font-weight:750;letter-spacing:.055em;text-transform:uppercase;color:var(--text-label);margin-bottom:6px;line-height:1.25}
.vl-meter-card{background:var(--ss-filter-surface-bg,#0d1117);border-radius:var(--ss-filter-surface-radius,8px);padding:14px 16px 16px;margin-bottom:16px}
.vl-meter-track{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,#f87171,#4ade80);overflow:visible}
.vl-meter-marker{position:absolute;top:-4px;width:3px;height:16px;background:#fff;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.4);transform:translateX(-50%)}
.vl-section-title{color:var(--text-meta,#96a3b4)}
.vl-lists-row{display:flex;gap:16px}
.vl-list-col{flex:1;min-width:0;margin-bottom:18px}
.vl-hand-row{display:grid;grid-template-columns:58px 18px 58px 92px 72px;column-gap:8px;align-items:center;background:#0d131b;border:1px solid #263345;border-radius:6px;padding:9px 12px;margin-top:6px}
.vl-hand-cards{display:flex;align-items:center;gap:4px;min-width:0}
.vl-card{font-size:14px;padding:2px 5px}
.vl-vs{font-size:var(--type-label);color:#8995a4;text-align:center}
.vl-hand-eq{font-size:var(--type-label);color:#8995a4;text-align:right;white-space:nowrap}
.vl-hand-bb{font-size:var(--type-heading);font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.mxi-action{display:grid;grid-template-columns:72px minmax(30px,1fr) 32px 40px;align-items:center;column-gap:8px;margin:6px 0;font-size:var(--type-body);line-height:1.2}.mxi-action-name{color:#aeb8c4;white-space:nowrap}.mxi-action-track{height:3px;background:#1a2430;border-radius:3px;overflow:hidden;opacity:.8}.mxi-action-fill{height:100%;border-radius:3px;opacity:.8}.mxi-action-count,.mxi-action-pct{text-align:right;color:var(--text-label);font-size:var(--type-subtitle);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.mxi-action-pct{color:#a5afbb}
.mxi-hand-meta{margin-top:auto;padding-top:10px;text-align:right;color:var(--text-label,#a6b2c1);font-size:var(--type-small);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;-webkit-user-select:text;user-select:text;cursor:text;white-space:nowrap}
@media(max-width:1000px){.mx-inspector{flex-basis:300px;width:300px;min-width:300px;max-width:300px;padding:14px}.mxi-metrics{grid-template-columns:1fr}.mxi-action{grid-template-columns:68px minmax(24px,1fr) 32px 42px;column-gap:7px}.mxi-action-count,.mxi-action-pct{font-size:var(--type-title)}}
.hmt{border-collapse:collapse;font-size:var(--type-body);table-layout:fixed;width:100%;-webkit-user-select:none;user-select:none}
.hmt td,.hmt th{padding:0;border:.5px solid #131820}
.hmt ::selection{background:transparent;color:inherit}
.hmc{cursor:pointer;text-align:center;height:40px;position:relative;transition:filter .1s;vertical-align:middle}
.hmc:hover{filter:brightness(0.88)}
.hmc.sel{outline:2.5px solid var(--ss-brand-bright);outline-offset:-2px;position:relative;z-index:2}
.hmc.empty{cursor:default;background:var(--bg2) !important}
/* An empty cell that is still selected (its combo's hands all got filtered
   out from under it) is removable by clicking it -- see the empty+sel click
   handler in buildMatrix(). Keep the pointer cursor there so it doesn't read
   as a dead, stuck cell. */
.hmc.empty.sel{cursor:pointer}
.mx-leg{display:flex;gap:10px;padding:.28rem .6rem;flex-wrap:wrap;font-size:var(--type-small);color:var(--neutral-text-muted);border-top:.5px solid #131820;flex-shrink:0}
.mli{display:flex;align-items:center;gap:4px}
.mld{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.mx-hinfo{display:flex;flex-direction:column;gap:3px;padding:.35rem .6rem;font-size:var(--type-small);color:var(--neutral-text-muted);flex-shrink:0;border-top:.5px solid #131820}
.mx-hinfo b{color:var(--text-strong);font-weight:600}
.mx-hinfo .sep{color:var(--neutral-border-subtle);padding:0 2px}
.mhi-row{display:flex;align-items:center;gap:5px;line-height:1.5}
.mhi-lbl{color:var(--neutral-text-muted-strong);min-width:68px;flex-shrink:0}
.mhi-time{color:var(--text-body);font-variant-numeric:tabular-nums}
.mx-hinfo .cpybtn{font-size:var(--type-micro);padding:1px 5px;border:1px solid var(--neutral-border-subtle);border-radius:3px;background:none;color:var(--neutral-text-muted);cursor:pointer;line-height:1.4}
.mx-hinfo .cpybtn:hover{background:var(--bg2)}


#sec-filters .filter-area,
#sec-tree>.sec-body>.filter-area,
#sec-board-stack>.sec-body>.filter-area{
  margin-left:0!important;margin-right:0!important;
  border:var(--ss-filter-surface-border)!important;
  border-radius:var(--ss-filter-surface-radius)!important;
  background:var(--ss-filter-surface-bg)!important;
}
#sec-timeline .tl-wrap{width:100%;margin-left:0;margin-right:0}
#hands-grid{padding:0!important;align-items:stretch;grid-template-columns:385px minmax(0,1fr)!important}
#sec-hands>.sec-hdr{padding:.55rem 0 .45rem;gap:10px;width:385px;max-width:385px}
#sec-hands>.sec-hdr>.sec-meta{display:none}

#lessons-menu-label{font-size:var(--type-label)!important;font-weight:750!important;letter-spacing:.055em!important;text-transform:uppercase!important}
#sec-filters>.sec-hdr,#sec-timeline>.sec-hdr,#scope-filters-tabhdr,#sec-tree>.sec-hdr{padding-left:0}
#hands-grid>.list-panel,#hands-grid>.matrix-panel{height:100%;min-height:0}
.mx-hinfo{display:none!important}
.mx-inspector{grid-column:2;grid-row:1;margin:0;flex-basis:250px;width:250px;min-width:250px;max-width:250px;background:var(--bg2);border-radius:8px}
.matrix-scroll{flex-grow:1;padding-bottom:0}
.matrix-scroll .hmt{height:100%}


.hdr h1{font-size:var(--type-heading);font-weight:650}.hdr .sub,.hdr-buyin-detail{font-size:var(--type-body);color:#b4bfcc}
.phase-bar{height:26px}.ps{font-size:var(--type-label);font-weight:700;text-shadow:0 1px 2px #000}
.flbl{font-size:var(--type-label);color:#98a6b7;font-weight:700}.pill,.tv-pill{font-size:var(--type-body);color:var(--text-label);padding:3px 9px}.clear-btn{font-size:var(--type-body);color:#9aa8b9}.filter-count{font-size:var(--type-label);color:#94a2b4}
.sec-title{font-size:var(--type-label);color:var(--text-label);font-weight:750}.sec-meta{font-size:var(--type-label);color:#8492a5}.hand-sort-wrap{font-size:var(--type-small);color:#93a1b3}
.hd-ph{font-size:var(--type-label);padding:3px 9px}.ha,.ha .an{font-size:var(--type-body)}.ha .an{color:#d0d8e3}.hd-vrow{font-size:var(--type-body);padding:2px 0}.hd-allin,.sd-name{font-size:var(--type-label);color:#aab5c3}
.rv-lbl{font-size:var(--type-small);color:#9aa8b9}.rv-pill{font-size:var(--type-body);color:var(--text-label);padding:3px 9px}.rv-note{font-size:var(--type-subtitle);color:#dce4ee}.rv-note::placeholder{color:var(--neutral-muted-alt)}.rv-status{font-size:var(--type-label);color:#8997a9}
.hi-n{font-size:var(--type-label);color:#8391a3}.hi-pos{font-size:var(--type-small)}.hi-m{font-size:var(--type-label);color:#8391a3}.hi-note{font-size:var(--type-body)}.hi-rfi,.hi-src,.badge{font-size:var(--type-small)}
.mx-wld,.mx-leg,.mx-hinfo{font-size:var(--type-label);color:#95a3b5}.mhi-lbl{color:#8997a9}.mxi-metric-lbl{font-size:var(--type-label)}.mxi-metric-sub{font-size:var(--type-body)}.mxi-section-title{font-size:var(--type-body)}
.pk-year-sep,.flt-lbl{font-size:var(--type-label);color:#91a0b2}.pk-date-btn{font-size:var(--type-label);color:var(--text-label)}.pk-col-date,.pk-col-players,.pk-col-flag{font-size:var(--type-body)}.pk-col-time,.pk-col-tid{font-size:var(--type-label);color:#8997a9}


.picker{padding:1rem}
.picker-intro{font-size:var(--type-body);color:var(--text-body);margin-bottom:.8rem;line-height:1.5}
.picker-row{display:flex;align-items:center;gap:10px;margin-bottom:.6rem;flex-wrap:wrap}
.picker-row input[type=text]{flex:1;min-width:220px;font-size:var(--type-body);padding:6px 10px;border:.5px solid var(--brd2);border-radius:6px;background:var(--bg);color:var(--text-strong)}

.picker-row input[type=date],.picker-row select{font-size:var(--type-body);padding:5px 8px;border:.5px solid var(--brd2);border-radius:6px;background:var(--bg);color:var(--text-strong)}
#agg-status{font-size:var(--type-label);color:var(--text-meta)}
.picker-list{background:#080b10;border:1px solid var(--neutral-panel);border-radius:10px;max-height:55vh;overflow-y:auto;overflow-anchor:auto;scrollbar-width:thin;scrollbar-color:var(--neutral-border-subtle) transparent}
.picker-list::-webkit-scrollbar{width:5px}
.picker-list::-webkit-scrollbar-track{background:transparent}
.picker-list::-webkit-scrollbar-thumb{background:var(--neutral-border-subtle);border-radius:3px}
.picker-list::-webkit-scrollbar-thumb:hover{background:var(--neutral-border)}
.pk-item{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-bottom:1px solid #111827;cursor:pointer;position:relative;transition:background .12s}
.pk-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .12s}
.pk-item:last-child{border-bottom:none}
.pk-item:hover{background:#0f1520}
.pk-item:hover::before{background:linear-gradient(to bottom,#3dd68c,var(--v-mixed-strong))}

.pk-item.pk-item-agg{margin-bottom:4px;border-radius:6px;border:1px solid #0d1526}
.pk-item.pk-item-agg:last-child{margin-bottom:0;border-bottom:1px solid #0d1526}

.pk-year-sep{padding:10px 16px 4px;font-size:var(--type-small);font-weight:800;letter-spacing:.14em;color:var(--neutral-border);text-transform:uppercase;pointer-events:none;user-select:none}

.pk-date-btn{font-size:var(--type-small);font-weight:700;background:var(--bg2);border:1px solid var(--neutral-panel);border-radius:5px;color:var(--neutral-text-muted);padding:3px 10px;cursor:pointer;transition:background .1s,border-color .1s,color .1s;white-space:nowrap;letter-spacing:.02em}
.pk-date-btn:hover{background:#111827;color:var(--text-body);border-color:#2a3040}

.pk-medal-dot{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;border-radius:50%;font-size:var(--type-micro);font-weight:800;color:rgba(0,0,0,.75);margin:1px 1px;flex-shrink:0;line-height:1;vertical-align:middle}
.pk-medal-g{background:linear-gradient(135deg,var(--ss-hero-position-color),#d97706)}
.pk-medal-s{background:linear-gradient(135deg,#d1d5db,#9ca3af)}
.pk-medal-b{background:linear-gradient(135deg,#c27c45,#92400e);color:rgba(255,255,255,.9)}
.pk-row1{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:hidden}

.pk-col-date{width:82px;flex-shrink:0;font-size:var(--type-label);color:var(--v-correct-strong);font-weight:600;white-space:nowrap}
.pk-col-time{width:68px;flex-shrink:0;font-size:var(--type-small);color:var(--neutral-text-muted-strong);white-space:nowrap}
.pk-col-buyin{width:52px;flex-shrink:0;font-weight:700;font-size:var(--type-subtitle);color:var(--v-correct-strong);letter-spacing:-.01em;white-space:nowrap}
.pk-col-tid{width:90px;flex-shrink:0;font-size:var(--type-small);color:#7c6ac4;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk-col-players{width:86px;flex-shrink:0;font-size:var(--type-label);color:var(--neutral-text-muted);white-space:nowrap}
.pk-col-result{width:130px;flex-shrink:0;font-size:var(--type-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-col-mistakes{width:38px;flex-shrink:0;text-align:right}
.pk-col-flag{font-size:var(--type-small);color:var(--text-meta);flex-shrink:0}

.pk-zone-itm{width:44px;flex-shrink:0;display:flex;justify-content:flex-end;align-items:center}
.pk-zone-ft{width:36px;flex-shrink:0;display:flex;justify-content:flex-end;align-items:center}
.pk-zone-medal{width:24px;flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;font-size:var(--type-title);line-height:1}
.pk-zone-eye{width:22px;flex-shrink:0;display:flex;justify-content:center;align-items:center;font-size:var(--type-title);color:var(--neutral-text-muted-strong);transition:color .15s;cursor:default}
.pk-zone-eye.pk-eye-seen{color:var(--v-correct-strong);opacity:.8}

.flt-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.flt-lbl{font-size:var(--type-small);font-weight:700;color:var(--neutral-text-muted-strong);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
.flt-sep{width:1px;height:16px;background:#1a2030;flex-shrink:0;margin:0 2px;align-self:center}
.flt-dash{font-size:var(--type-body);color:#2d3748;flex-shrink:0}
.flt-sel{height:26px;font-size:var(--type-label);background:var(--bg2);border:1px solid #1a2030;border-radius:5px;color:var(--text-body);padding:0 7px;outline:none;cursor:pointer;font-family:inherit;transition:border-color .15s}
.flt-sel:hover,.flt-sel:focus{border-color:#2a3347}
.flt-date{height:26px;font-size:var(--type-label);background:var(--bg2);border:1px solid #1a2030;border-radius:5px;color:var(--text-body);padding:0 6px;outline:none;cursor:pointer;font-family:inherit;color-scheme:dark;transition:border-color .15s}
.flt-date:hover,.flt-date:focus{border-color:#2a3347}
.flt-load-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 16px;background:transparent;border:1px solid #2a3040;border-radius:6px;color:var(--text-body);font-size:var(--type-body);font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit;flex-shrink:0}
.flt-load-btn:hover{border-color:#4a5570;color:var(--text-strong)}
.flt-load-btn-green{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 20px;background:rgba(61,214,140,.07);border:1px solid rgba(61,214,140,.35);border-radius:7px;color:var(--v-correct-strong);font-size:var(--type-body);font-weight:700;cursor:pointer;transition:all .18s;white-space:nowrap;font-family:inherit;flex-shrink:0;letter-spacing:.01em}
.flt-load-btn-green:hover{background:rgba(61,214,140,.15);border-color:rgba(61,214,140,.65);color:#5fe8a8;box-shadow:0 0 12px rgba(61,214,140,.12)}
/* Load, Browse/Custom tab only -- standard rounded-pill treatment like the app's other
   outline/soft-pill controls (.pill/.rv-pill), transparent at rest; only fills with the
   ice-blue brand-soft treatment once clicked (.on, toggled in picker-loader.js around the
   loadAggregate() call), the same press-to-fill language as .rv-pill.on-share in Hand Review. */
.load-btn-ice{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 16px;background:transparent;border:.5px solid var(--neutral-border-subtle);border-radius:22px;color:var(--neutral-text-muted);font-size:var(--type-body);font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;font-family:inherit;letter-spacing:.01em}
.load-btn-ice:hover{background:var(--bg2);color:var(--text-body);border-color:#2d3748}
.load-btn-ice.on{background:var(--ss-brand-soft,rgba(89,199,232,.13));color:var(--ss-brand-bright,#82d9f0);border-color:var(--ss-brand-border,#32788d)}
.flt-card .load-btn-ice{height:34px}
.flt-card{background:#070c14;border:1px solid #111b2a;border-radius:10px;padding:10px 16px;display:flex;flex-direction:column;gap:0}
.flt-row{display:flex;align-items:center;gap:10px;padding:6px 0}
.flt-row+.flt-row{border-top:none}
.flt-row-lbl{font-size:var(--type-small);font-weight:700;color:var(--neutral-border);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;min-width:68px;flex-shrink:0}
.flt-status{font-size:var(--type-label);color:var(--text-meta);flex-shrink:0}


.flt-card .flt-row{gap:11px;padding:7px 0}
.flt-card .flt-row-lbl{
  min-width:72px;
  font-size:var(--type-body);
  line-height:1.2;
  color:#a9b6c8;
  letter-spacing:.055em;
}
.flt-card .flt-sel{
  height:34px;
  width:104px!important;
  padding:0 10px;
  font-size:var(--type-subtitle);
  font-weight:600;
  color:var(--text-strong);
  border-color:#334155;
  background:var(--bg2);
}
.flt-card .flt-row-lbl.has-value{
  color:var(--ss-brand-bright,#82d9f0);
}
.flt-card .flt-sel option{
  font-size:var(--type-subtitle);
  font-weight:500;
  color:var(--text-strong);
  background:#151922;
}
/* Tournament ID search box (Tournament filters panel) -- FM: "can we put
   an ID searcher in here -- so we can search for tournament ID?". Same
   look as .flt-card .flt-sel (height/border/background/font tokens) but
   as a free-typed text input: real text cursor instead of a pointer, and
   wide enough to comfortably hold a full ~10-digit tournament ID. */
.flt-tid-input{
  height:34px;
  width:150px;
  padding:0 10px;
  font-size:var(--type-subtitle);
  font-weight:600;
  color:var(--text-strong);
  border:1px solid #334155;
  border-radius:5px;
  background:var(--bg2);
  outline:none;
  cursor:text;
  font-family:inherit;
  transition:border-color .15s;
}
.flt-tid-input:hover,.flt-tid-input:focus{border-color:#2a3347}
.flt-tid-input.has-value{border-color:var(--ss-brand-bright,#82d9f0)}
.flt-card .flt-date{
  height:34px;
  min-width:132px;
  padding:0 9px;
  font-size:var(--type-subtitle);
  font-weight:550;
  color:var(--text-strong);
  border-color:#334155;
  background:var(--bg2);
}
.flt-card .flt-dash{font-size:var(--type-title);color:var(--neutral-muted-alt)}
.flt-card .flt-load-btn-green{height:34px;font-size:var(--type-subtitle);padding:0 20px}

.pk-agg-row-wrap{display:flex;flex-direction:column}
.pk-agg-row1{display:flex;align-items:center;gap:7px;min-height:28px}
.pk-agg-year-row{min-height:64px;align-items:stretch}
.pk-agg-left{display:flex;align-items:center;gap:7px;flex:0 0 auto;max-width:210px;overflow:hidden}
.pk-agg-year-left{flex-direction:column;align-items:flex-start;gap:3px;justify-content:center}
.pk-agg-primary{font-size:var(--type-title);font-weight:700;color:var(--v-correct-strong);letter-spacing:-.01em;white-space:nowrap}
.pk-agg-year-title{font-weight:800}
.pk-agg-count{flex-shrink:0;font-size:var(--type-body);font-weight:500;color:var(--text-meta)}
.pk-agg-medals-mid{flex:1;min-width:0;font-size:var(--type-title);line-height:1.4;white-space:normal;overflow:visible;padding-right:14px;text-align:right;display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:center;gap:0}

.pk-agg-right{width:382px;flex-shrink:0;display:flex;align-items:center;gap:5px}
.pk-agg-itm{width:66px;flex-shrink:0;display:flex;justify-content:flex-end;align-items:center}
.pk-agg-ft{width:52px;flex-shrink:0;display:flex;justify-content:flex-end;align-items:center}

.pk-agg-money{display:flex;align-items:center;gap:4px;flex-shrink:0}
.pk-mcol{width:72px;flex-shrink:0;display:flex;justify-content:flex-end;align-items:center}

.pk-mpill{border-radius:4px;padding:1px 6px;font-size:var(--type-small);white-space:nowrap;font-variant-numeric:tabular-nums}
.pk-mpill-in{background:var(--bg2);border:1px solid #1a2030;color:var(--neutral-text-muted)}
.pk-mpill-won{background:var(--v-correct-bg-strong);border:1px solid #1a4a2e;color:#3dd68c}
.pk-mpill-pos{background:var(--v-correct-bg-strong);border:1px solid #1a4a2e;color:var(--v-correct-strong);font-weight:600}
.pk-mpill-neg{background:#1f0d0d;border:1px solid #3a1111;color:#ef4444;font-weight:600}

.pk-tl-hour-hdr{display:flex;align-items:center;gap:10px;padding:22px 16px 8px;position:sticky;top:0;z-index:2;background:#080b10}
.pk-tl-hour-label{font-size:var(--type-label);font-weight:700;color:var(--v-mixed-strong);letter-spacing:.1em;min-width:36px;flex-shrink:0;text-transform:uppercase}
.pk-tl-hour-line{display:none}
.pk-tl-hour-group{background:transparent;display:flex;flex-direction:column;gap:18px;padding-bottom:10px}
.pk-type-item{min-height:60px;background:var(--bg2);border-radius:8px;border-bottom:none !important}

.pk-tl-row1{display:flex;align-items:center;gap:7px}
.pk-tl-time{width:52px;flex-shrink:0;font-size:var(--type-label);color:var(--text-meta);font-family:monospace;white-space:nowrap}
.pk-tl-name-full{flex-shrink:1;min-width:0;font-size:var(--type-subtitle);font-weight:700;color:var(--v-correct-strong);letter-spacing:-.01em;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-tl-buyin-tag{font-size:var(--type-small);font-weight:500;color:var(--neutral-text-muted);white-space:nowrap;flex-shrink:0}
.pk-tl-hands-tag{font-size:var(--type-label);font-weight:600;color:#64748b;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.pk-tl-count-badge{font-size:var(--type-small);font-weight:800;color:var(--ss-hero-position-color);background:#1c1608;border:1px solid #78350f;border-radius:4px;padding:1px 6px;white-space:nowrap;flex-shrink:0;line-height:1.4;min-width:26px;text-align:center}

.pk-tl-row2{display:flex;align-items:center;gap:5px;padding-left:59px;margin-top:3px}
.pk-tl-row2-spacer{flex:1}

.pk-tl-medals-line{padding-left:59px;margin-top:5px;font-size:var(--type-subtitle);line-height:1.4;min-height:18px}

.pk-type-right{width:476px;flex-shrink:0;display:flex;align-items:center;gap:5px}
.pk-tl-bb100{width:92px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-start}

.sch-wrap{padding:10px 14px 24px}
.sch-time-sep{display:flex;align-items:center;gap:10px;padding:14px 0 8px}
.sch-time-sep::after{content:'';flex:1;height:1px;background:#0d1520}
.sch-time-lbl{font-size:var(--type-small);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--neutral-text-muted-strong);flex-shrink:0}
.sch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:4px}
.sch-card{background:var(--bg);border:1px solid var(--neutral-panel);border-radius:10px;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,border-color .18s,box-shadow .18s}
.sch-card:hover{transform:translateY(-2px);border-color:#2a3650;box-shadow:0 4px 22px rgba(0,0,0,.45)}
.sch-card-excl{opacity:.38}
.sch-card-strip{height:2px;background:linear-gradient(90deg,transparent,rgba(61,214,140,.28),transparent);flex-shrink:0}
.sch-card-body{padding:11px 13px 10px;display:flex;flex-direction:column;gap:5px;flex:1}
.sch-card-top{display:flex;align-items:center;gap:5px}
.sch-card-time{font-size:var(--type-label);font-weight:800;color:var(--v-correct-strong);letter-spacing:.03em;flex-shrink:0}
.sch-card-buyin-tag{font-size:var(--type-small);color:var(--neutral-text-muted-strong);background:var(--bg2);border:1px solid var(--neutral-panel);border-radius:3px;padding:1px 5px;flex-shrink:0}
.sch-card-count{font-size:var(--type-small);font-weight:800;color:var(--ss-hero-position-color);background:#1c1608;border:1px solid #78350f;border-radius:4px;padding:1px 6px;flex-shrink:0;line-height:1.4}
.sch-card-name{font-size:var(--type-subtitle);font-weight:700;color:var(--text-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text;letter-spacing:-.01em;display:block;transition:color .12s}
.sch-card-name:hover{color:#3dd68c}
.sch-card-stats{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:1px}
.sch-stat-itm{font-size:var(--type-small);font-weight:700;padding:1px 6px;border-radius:4px;background:var(--v-correct-bg-strong);color:#3dd68c}
.sch-stat-ft{font-size:var(--type-small);font-weight:700;padding:1px 6px;border-radius:4px;background:#0f1a35;color:#60a5fa}
.sch-stat-bb{font-size:var(--type-small);font-weight:600}
.sch-card-medals{margin-top:2px}
.sch-card-footer{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px}
.sch-excl-btn{font-size:var(--type-small);color:var(--neutral-text-muted-strong);background:none;border:1px solid var(--neutral-panel);border-radius:4px;padding:1px 7px;cursor:pointer;opacity:0;transition:opacity .12s;font-family:inherit}
.sch-card:hover .sch-excl-btn{opacity:1}
.sch-restore-btn{font-size:var(--type-small);color:var(--v-mixed-strong);background:none;border:1px solid #4c1d95;border-radius:4px;padding:1px 7px;cursor:pointer;font-family:inherit}

.pk-tag{background:#1a1535;color:var(--v-mixed-strong);border-radius:4px;padding:1px 7px;font-size:var(--type-small);font-weight:600;white-space:nowrap;border:1px solid #2d1f6e}
.pk-latereg{font-size:var(--type-small);font-weight:700;color:var(--action-betfold);white-space:nowrap;margin-left:4px}
.pk-meta{color:var(--neutral-text-muted);white-space:nowrap}
.pk-place{font-weight:600;color:var(--text-meta);white-space:nowrap}
.pk-loading{color:var(--neutral-border);font-style:italic}
.pk-podium{font-size:var(--type-subtitle);white-space:nowrap}
.pk-itm{background:#052e1a;color:#34d399;border-radius:4px;padding:1px 7px;font-size:var(--type-small);font-weight:700;white-space:nowrap;border:1px solid #064e2a}
.pk-ft{background:#1e0d47;color:var(--v-mixed-strong);border-radius:4px;padding:1px 7px;font-size:var(--type-small);font-weight:700;white-space:nowrap;border:1px solid #3b1fa3}


#hof-overlay{display:none;position:fixed;inset:0;z-index:9999;background:var(--bg);overflow-y:auto;font-family:system-ui,-apple-system,sans-serif}
.hof-hdr{display:flex;align-items:center;gap:18px;padding:20px 28px 14px;border-bottom:1px solid var(--neutral-panel);background:var(--bg);position:sticky;top:0;z-index:2}
.hof-title{font-size:var(--type-display);font-weight:800;letter-spacing:-.02em;color:var(--text-strong);flex-shrink:0}
.hof-trophy-count{font-size:var(--type-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--neutral-text-muted);flex-shrink:0}
.hof-stats-bar{display:flex;gap:16px;flex-wrap:wrap;flex:1}
.hof-stat{font-size:var(--type-subtitle);color:var(--v-seen-strong);white-space:nowrap}
.hof-stat b{color:var(--text-strong);font-size:var(--type-title)}
.hof-close{margin-left:auto;font-size:var(--type-display-sm);line-height:1;background:none;border:none;color:var(--neutral-text-muted);cursor:pointer;padding:4px 8px;border-radius:6px;flex-shrink:0}
.hof-close:hover{color:var(--text-strong);background:var(--neutral-panel)}
/* Satellite->target pair cards -- used by buildSatellitesPage (stats.js,
   Satellites tab). Three per row (FM: "no need one tourney needs the whole
   width of our screen"), same grid pattern .mxi-metrics already uses
   above. Tournament IDs reuse .browse-col-tid's own violet/monospace
   styling (var(--ss-tournament-id)) and the site badge reuses
   _siteBadgeHtml()'s existing PS/GG/CP pill (picker-loader.js) instead of
   a plain site-name string, for the same look as the Tournaments list and
   Hall of Fame everywhere else in the app. */
.sat-pairs-details{margin-top:4px}
.sat-pairs-details>summary{display:flex;align-items:center;cursor:pointer;list-style:none;margin-bottom:6px}
.sat-pairs-details>summary::-webkit-details-marker{display:none}
.sat-pairs-details>summary::marker{content:''}
.sat-pairs-details:not([open])>summary .sec-chev{transform:rotate(-90deg)}
.sat-pairs-details[open]>summary .sec-chev{background:var(--ss-disclosure-open-bg);border-color:var(--ss-disclosure-open-bg);color:var(--ss-disclosure-open-mark)}
.sat-pairs-count{font-size:var(--type-label);font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-meta);margin-left:6px}
.sat-pairs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(max-width:1000px){.sat-pairs{grid-template-columns:1fr}}
.sat-row{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--neutral-panel,#1c2030);border-radius:6px;background:#0d131b;cursor:pointer;transition:border-color .12s;min-width:0}
.sat-row:hover{border-color:#37485f}
.sat-row-top{display:flex;align-items:center;gap:8px;min-width:0}
.sat-row-sat,.sat-row-target{display:flex;flex-direction:column;min-width:0;gap:2px}
.sat-row-target{margin-left:auto;align-items:flex-end;text-align:right}
.sat-row-date{font-size:var(--type-label);color:var(--text-meta)}
.sat-row-tid{font-size:var(--type-subtitle);font-weight:600;color:var(--ss-tournament-id,#b9a7ff);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sat-row-target .ss-site-badge{margin-top:2px}
.sat-row-arrow{color:var(--neutral-text-muted,#6b7280);flex-shrink:0}
.sat-row-money{display:flex;align-items:center;gap:10px;padding-top:8px;border-top:1px solid var(--neutral-panel,#1c2030)}
.sat-row-money-item{display:flex;flex-direction:column;gap:1px;min-width:0}
.sat-row-money-item:last-child{margin-left:auto;text-align:right}
.sat-row-money-lbl{font-size:var(--type-micro);font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-meta)}
.sat-row-money-val{font-size:var(--type-subtitle);font-weight:700;color:var(--text-label);white-space:nowrap}
.sat-row-unplayed{cursor:default}
.sat-row-unplayed:hover{border-color:var(--neutral-panel,#1c2030)}
.sat-row-unplayed-badge{font-size:var(--type-micro);font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--result-loss);white-space:nowrap;margin-top:2px}
.hof-filters{display:flex;align-items:center;gap:8px;padding:12px 28px;flex-wrap:wrap;background:var(--bg);position:sticky;top:73px;z-index:2;border-bottom:1px solid #0d1117}
.hof-row-filters{display:flex;align-items:center;gap:6px;padding:5px 28px;flex-wrap:wrap;background:var(--bg);position:sticky;z-index:2;border-bottom:1px solid #0d1117}
#hof-year-filters{top:113px}
#hof-month-filters{top:147px}
.hof-row-label{font-size:var(--type-small);color:var(--neutral-border);font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;min-width:38px;flex-shrink:0}
.hof-pill{font-size:var(--type-label);padding:4px 12px;border:1px solid var(--neutral-panel);border-radius:12px;background:none;color:var(--v-seen-strong);cursor:pointer;white-space:nowrap;transition:all .12s}
.hof-pill:hover{border-color:var(--neutral-border);color:var(--text-strong)}
.hof-pill.on{background:#1a0a3a;color:var(--v-mixed-strong);border-color:#4c1d95}
.hof-sep{width:1px;height:18px;background:var(--neutral-panel);flex-shrink:0}
.hof-sort-pill{font-size:var(--type-label);padding:4px 12px;border:1px solid var(--neutral-panel);border-radius:12px;background:none;color:var(--neutral-text-muted);cursor:pointer;white-space:nowrap;transition:all .12s}
.hof-sort-pill:hover{color:var(--v-seen-strong);border-color:var(--neutral-border)}
.hof-sort-pill.on{color:var(--ss-hero-position-color);border-color:#78350f;background:#1c1004}
.hof-place-toggle{font-size:var(--type-label);padding:4px 12px;border:1px solid var(--neutral-panel);border-radius:12px;background:none;color:var(--neutral-text-muted);cursor:pointer;white-space:nowrap;transition:all .12s}
.hof-place-toggle:hover{color:var(--v-seen-strong);border-color:var(--neutral-border)}
.hof-hero-block{display:flex;flex-direction:column;gap:2px;flex-shrink:0;border-right:1px solid var(--neutral-panel);padding-right:18px}
.hof-hero-name{font-size:var(--type-body);font-weight:700;color:var(--text-strong);white-space:nowrap;letter-spacing:-.01em}
.hof-hero-ctx{font-size:var(--type-label);color:var(--neutral-text-muted);white-space:nowrap}
.hof-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding:20px 28px 40px}
.hof-place-section{padding:0 28px 24px}
.hof-place-banner-hdr{display:flex;align-items:center;gap:12px;padding:20px 0 10px;border-bottom:2px solid var(--neutral-panel)}
.hof-place-banner-label{font-size:var(--type-body);font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.hof-place-banner-count{font-size:var(--type-label);color:var(--neutral-text-muted-strong);white-space:nowrap}
.hof-place-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;padding:14px 0 0}
.hof-card{background:var(--bg);border-radius:12px;overflow:hidden;border:1px solid var(--neutral-panel);cursor:pointer;transition:transform .15s,border-color .15s;display:flex;flex-direction:column}
.hof-card:hover{transform:translateY(-2px)}
.hof-card-gold{border-color:#78350f}
.hof-card-gold:hover{border-color:#d97706;box-shadow:0 0 18px rgba(251,191,36,.12)}
.hof-card-silver{border-color:#334155}
.hof-card-silver:hover{border-color:#94a3b8;box-shadow:0 0 18px rgba(148,163,184,.1)}
.hof-card-bronze{border-color:#3b1c0a}
.hof-card-bronze:hover{border-color:#b45309;box-shadow:0 0 14px rgba(180,83,9,.1)}
.hof-card-strip{height:3px;width:100%}
.hof-card-strip-gold{background:linear-gradient(90deg,#92400e,var(--ss-hero-position-color),#92400e)}
.hof-card-strip-silver{background:linear-gradient(90deg,#475569,#cbd5e1,#475569)}
.hof-card-strip-bronze{background:linear-gradient(90deg,#7c2d12,#f97316,#7c2d12)}
.hof-card-body{padding:16px 18px;flex:1;display:flex;flex-direction:column;gap:8px}
.hof-card-roi-line{display:flex;align-items:center}
.hof-card-top{display:flex;align-items:flex-start;gap:10px}
.hof-medal-big{font-size:var(--type-display);line-height:1;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.hof-card-main{flex:1;min-width:0}
.hof-card-place{font-size:var(--type-small);font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.hof-card-place-gold{color:var(--ss-hero-position-color)}
.hof-card-place-silver{color:var(--text-meta)}
.hof-card-place-bronze{color:#f97316}
.hof-card-name{font-size:var(--type-title);font-weight:700;color:var(--v-correct-strong);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.hof-card-date{font-size:var(--type-label);color:var(--neutral-text-muted);margin-top:2px}
.hof-card-prize{font-size:var(--type-display-sm);font-weight:800;letter-spacing:-.02em;color:var(--ss-hero-position-color);text-align:right;flex-shrink:0}
.hof-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hof-card-roi{font-size:var(--type-label);font-weight:700;color:#4ade80;white-space:nowrap}
.hof-tag-row{display:flex;gap:4px;flex-wrap:wrap;padding:2px 0 2px}
.hof-tag-chip{font-size:var(--type-small);font-weight:700;color:var(--v-mixed-strong);background:rgba(109,40,217,.18);border-radius:4px;padding:1px 6px;letter-spacing:.04em;white-space:nowrap}
.hof-tag-latereg{color:var(--action-betfold);background:rgba(251,146,60,.15)}
.hof-card-field{font-size:var(--type-label);color:var(--neutral-text-muted)}
.hof-card-buyin{font-size:var(--type-small);color:var(--neutral-text-muted-strong);background:var(--bg2);border:1px solid var(--neutral-panel);border-radius:4px;padding:1px 6px}
.hof-card-footer{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid #0d1117;margin-top:auto}
.hof-card-tid{font-size:var(--type-small);color:var(--neutral-border);font-family:monospace}
.hof-card-ft{border-color:#1a2535}
.hof-card-ft:hover{border-color:#3b82f6;box-shadow:0 0 14px rgba(59,130,246,.1)}
.hof-card-strip-ft{background:linear-gradient(90deg,#1e3a5f,#3b82f6,#1e3a5f)}
.hof-card-place-ft{color:#60a5fa}
.hof-card-cash{border-color:#0d2318}
.hof-card-cash:hover{border-color:var(--v-correct-strong);box-shadow:0 0 14px rgba(61,214,140,.1)}
.hof-card-strip-cash{background:linear-gradient(90deg,#0d2318,#3dd68c,#0d2318)}
.hof-card-place-cash{color:#3dd68c}
.hof-ft-pos{font-size:var(--type-display-sm);font-weight:900;color:#60a5fa;line-height:1.4;display:inline-block;width:36px;text-align:center}

.hof-money-hidden .hof-card-prize{visibility:hidden}
.hof-money-hidden .hof-card-roi-line{display:none}
.hof-money-hidden .hof-bounty-line{display:none !important}
.hof-money-hidden .hof-prize-num{display:none}
.hof-money-hidden .hof-total-prize{display:none}
.hof-site-badge{font-size:var(--type-small);font-weight:700;border-radius:4px;padding:1px 6px;white-space:nowrap;display:inline-block;margin-left:auto}
.hof-site-badge-ps{background:#0c2d52;color:#b5d4f4;border:1px solid #378add}
.hof-site-badge-gg{background:#1a2e0a;color:#86efac;border:1px solid #4ade80}
.hof-site-badge-cp{background:#1c1a00;color:var(--ss-hero-position-color);border:1px solid #ca8a04}
/* color omitted -- .hof-pill's own base rule sets color:var(--text-label)
   !important, which always wins over this non-important color; background
   and border-color aren't touched by that rule and still apply. */
.hof-pill.site-on{background:var(--v-correct-bg-strong);border-color:#4ade80}
.hof-hero-ctx2{font-size:var(--type-small);color:var(--neutral-text-muted-strong);white-space:nowrap}
.hof-section-hdr{font-size:var(--type-label);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--neutral-text-muted);padding:20px 28px 4px;display:flex;align-items:center;gap:12px}
.hof-section-hdr::after{content:'';flex:1;height:1px;background:var(--neutral-panel)}
.hof-ft-pill{font-size:var(--type-label);padding:3px 10px;border:1px solid var(--neutral-panel);border-radius:12px;background:none;color:var(--v-seen-strong);cursor:pointer;white-space:nowrap;transition:all .12s}
.hof-ft-pill:hover{border-color:var(--neutral-border);color:var(--text-strong)}
.hof-ft-pill.on{background:#0f2a3a;color:#60a5fa;border-color:#1e3a5f}
.hof-ft-filters{position:sticky;top:113px!important}
.hof-open-btn{margin-left:auto;font-size:var(--type-label);font-weight:600;color:var(--v-mixed-strong);background:none;border:1px solid #4c1d95;border-radius:6px;padding:3px 10px;cursor:pointer;transition:background .12s}
.hof-open-btn:hover{background:#1e1047}
.hof-leaderboard{display:flex;flex-direction:column;gap:10px;padding:20px 28px}
.hof-lb-row{background:var(--bg);border:1px solid var(--neutral-panel);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:14px;transition:border-color .15s}
.hof-lb-row:hover{border-color:#2d3748}
.hof-lb-rank{font-size:var(--type-display-sm);flex-shrink:0;width:28px;text-align:center}
.hof-lb-name{font-size:var(--type-subtitle);font-weight:700;color:var(--v-correct-strong);min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hof-lb-bar-wrap{width:140px;flex-shrink:0}
.hof-lb-bar-bg{height:6px;background:var(--bg2);border-radius:3px;overflow:hidden}
.hof-lb-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#7c3aed,#a78bfa)}
.hof-lb-wins{font-size:var(--type-body);font-weight:700;color:var(--v-mixed-strong);flex-shrink:0;min-width:50px;text-align:right}
.hof-lb-prize{font-size:var(--type-label);color:var(--ss-hero-position-color);flex-shrink:0;min-width:70px;text-align:right}
.hof-lb-buyin{font-size:var(--type-small);color:var(--neutral-text-muted-strong)}

.hof-entry-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;margin:16px 14px 8px;background:linear-gradient(135deg,#0a0914,#130d28);border:1px solid #2d1f6e;border-radius:10px;cursor:pointer;font-size:var(--type-subtitle);font-weight:700;color:var(--v-mixed-strong);letter-spacing:.01em;transition:all .18s;width:calc(100% - 28px);text-align:center}
.hof-entry-btn:hover{border-color:var(--v-mixed-strong);color:#e9d5ff;box-shadow:0 0 20px rgba(124,58,237,.15)}

.picker-card{transition:border-color .2s,transform .2s;cursor:default;}
.picker-card:hover{border-color:#2c3550!important;transform:translateY(-2px);}
.pk-pill{font-size:var(--type-label);padding:3px 10px;border:.5px solid var(--brd2);border-radius:12px;background:none;color:var(--text-body);cursor:pointer;white-space:nowrap}
.pk-pill:hover{background:var(--bg2)}
.pk-pill.on{background:var(--ss-brand-soft);color:var(--ss-brand-bright);border-color:var(--ss-brand-border)}

.pk-mistake{background:#172a40;color:#b5d4f4;border-radius:3px;padding:1px 6px;font-size:var(--type-small);font-weight:600;white-space:nowrap;flex-shrink:0}
#pick-folder{font-size:var(--type-body);padding:7px 16px;border:.5px solid var(--ss-brand-border);border-radius:6px;background:var(--ss-brand-soft);color:var(--ss-brand-bright);cursor:pointer;font-weight:500}
#pick-folder:hover{opacity:.85}

.demo-banner{background:#161616;border:1px solid #252525;border-radius:8px;padding:16px 20px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.demo-banner-left{display:flex;flex-direction:column;gap:4px}
.demo-banner-title{font-size:var(--type-subtitle);font-weight:600;color:#e8e8e8}
.demo-banner-sub{font-size:var(--type-label);color:#555;line-height:1.5}
#demo-load-btn{flex-shrink:0;padding:8px 18px;background:transparent;border:1px solid #333;border-radius:6px;color:#aaa;font-size:var(--type-body);cursor:pointer;transition:border-color .15s,color .15s}
#demo-load-btn:hover{border-color:#666;color:#e8e8e8}
@keyframes pk-spin{to{transform:rotate(360deg)}}
.demo-sep{font-size:var(--type-label);color:#2a2a2a;text-align:center;margin:6px 0 14px;letter-spacing:.08em;user-select:none}

#hdr-runners,#hdr-cur-tourn,#hdr-place,#hdr-prize,#hdr-meta{font-size:var(--type-label)!important}
#hdr-cur-tourn span{font-size:var(--type-label)!important}
.picker-view-controls{display:none;width:100%;box-sizing:border-box;margin-top:6px;padding:10px 14px;background:var(--bg2);border:1px solid var(--neutral-panel);border-radius:10px}
.picker-view-controls.show{display:block}
.picker-view-controls .picker-control-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:28px}
.picker-view-controls .picker-control-line+.picker-control-line{margin-top:5px}
.picker-control-label{width:58px;flex-shrink:0;font-size:var(--type-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--neutral-text-muted-strong)}
.picker-period-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:28px;padding:2px 0}
.picker-period-select{height:24px;min-width:68px;font-size:var(--type-label);background:var(--bg);border:1px solid #1a2030;border-radius:5px;color:var(--neutral-text-muted);padding:0 7px;outline:none;font-family:inherit;transition:color .12s,border-color .12s}
.picker-period-select:hover,.picker-period-select:focus{color:var(--v-seen-strong);border-color:#2a3040}
.picker-period-sep{width:1px;height:16px;background:var(--neutral-panel);margin:0 3px;flex-shrink:0}
.picker-exact-date{margin-left:14px;min-width:126px;background:var(--bg);color:var(--neutral-text-muted);border-color:#1a2030;transition:color .12s,border-color .12s}
.picker-exact-date:hover,.picker-exact-date:focus{color:var(--v-seen-strong);border-color:#2a3040}
.picker-exact-date::-webkit-calendar-picker-indicator{opacity:.38;filter:saturate(.35)}
.picker-exact-date:hover::-webkit-calendar-picker-indicator{opacity:.62}
.picker-search-toggle{width:28px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--neutral-panel);border-radius:6px;color:var(--neutral-text-muted);cursor:pointer}
.picker-search-toggle:hover,.picker-search-toggle.on{color:var(--text-body);border-color:var(--neutral-border);background:#111827}


button:not(:disabled){filter:brightness(1.10)}
.pill,.tv-pill,.rv-pill,.clear-btn,.rv-clear-btn,
.bslot,select.f-range-sel,.pk-date-btn,.hof-sort-pill,
.hof-place-toggle,.pk-pill,.picker-period-select,.picker-exact-date,
.picker-search-toggle{
  color:#8793a3;
  border-color:#2a3544;
}
.pill:hover,.tv-pill:hover,.rv-pill:hover,.clear-btn:hover,.rv-clear-btn:hover,
.bslot:hover,select.f-range-sel:hover,.pk-date-btn:hover,.pk-pill:hover,
.picker-period-select:hover,.picker-exact-date:hover,.picker-search-toggle:hover{
  color:#d0d7e2;
  border-color:#46556a;
}
button:disabled,.pill:disabled,.tv-pill:disabled,.pk-pill:disabled{
  filter:none;
  color:#45505f;
  border-color:#1a2230;
  cursor:not-allowed;
}


.flbl,.flt-lbl,.flt-row-lbl,.picker-control-label,.rv-lbl,
.tv-sec-hdr,.tv-node-hdr,.sec-title,.mhi-lbl{
  color:#8795a8;
}
.sec-meta,.filter-count{color:var(--neutral-muted-alt)}
.pill,.tv-pill,.rv-pill,.clear-btn,.rv-clear-btn,
.bslot,select.f-range-sel,.pk-date-btn,.hof-sort-pill,
.hof-place-toggle,.pk-pill,.picker-period-select,.picker-exact-date,
.picker-search-toggle{
  color:var(--text-label);
  border-color:#344153;
}
.pill:hover,.tv-pill:hover,.rv-pill:hover,.clear-btn:hover,.rv-clear-btn:hover,
.bslot:hover,select.f-range-sel:hover,.pk-date-btn:hover,.pk-pill:hover,
.picker-period-select:hover,.picker-exact-date:hover,.picker-search-toggle:hover{
  color:#edf2f7;
  border-color:#586a82;
}
/* .pill.on,.tv-pill.on{...} removed entirely -- verified border-color and
   background are ALSO fully shadowed here (not just color), by brand.css's
   .pill.on:not(.on-win):not(.on-correct):not(.on-mistake),.tv-pill.on,...
   rule (ice-blue, !important, higher specificity via the :not() clauses). */
/* color intentionally omitted here -- overridden everywhere by the
   !important rules further down (search .pill.on-win / .pill.on-loss /
   .pill.on-rfi below); those old color values (#b9f3df/#ffd0d0/#d9c4ff)
   were dead, never-rendered duplicates and have been removed. */
.pill.on-win{border-color:#2fb586;background:#0a5948}
.pill.on-loss{border-color:#e05252;background:#5d1717}
.pill.on-rfi,.pill.on-rfi-raise{border-color:#8b5cf6;background:#332064}
.pk-pill.on{color:#d9eaff;border-color:#4c9ee8;background:#135a96}
.bslot.bslot-active{color:var(--acc,#79a7ff);border-color:var(--acc,#79a7ff);background:rgba(91,141,239,.14)}
.bslot.bslot-set{color:var(--text-strong);border-color:var(--acc,#79a7ff);background:rgba(91,141,239,.20)}
.tv-street-hdr{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 8px;
  border:1px solid transparent;
  border-radius:22px;
  color:var(--text-meta);
  font-size:var(--type-small);
  font-weight:700;
  letter-spacing:.06em;
  line-height:1;
  text-transform:uppercase;
  cursor:pointer;
  pointer-events:auto;
}
/* .tv-street-hdr.on is fully superseded by brand.css's
   .tv-street-hdr.on{color/background/border-color:...!important} --
   verified nothing here renders; rule removed rather than left dead. */
#mx-color-lbl{color:#8795a8!important}
.display-unit-toggle{margin-left:auto;display:inline-flex;align-items:center;border:1px solid var(--brd2);border-radius:5px;overflow:hidden;background:var(--bg2)}

.display-unit-toggle button{appearance:none;border:0;border-right:1px solid var(--brd2);background:transparent;color:var(--text-meta);font-family:var(--ss-font);font-weight:600;font-size:var(--type-label);line-height:1;letter-spacing:.02em;padding:2px 8px;cursor:pointer;min-width:0}
.display-unit-toggle button:last-child{border-right:0}
.display-unit-toggle button:hover{color:var(--text-body);background:rgba(61,214,140,.06)}
.display-unit-toggle button.active{color:#52e5a2;background:rgba(61,214,140,.14)}
.display-unit-toggle button:focus{outline:none;box-shadow:inset 0 0 0 1px rgba(82,229,162,.45)}
.detail-unit-toggle{margin-left:0;margin-right:4px}
#display-unit-toggle button{font-size:var(--type-body);padding:3px 9px;min-height:22px}
#dist-page-root.dist-mode-pct .dist-val-count{display:none}
#dist-page-root.dist-mode-count .dist-val-pct{display:none}
.timeline-zoom-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:5px;padding:0;border:1px solid var(--ss-brand-border,#32788d);border-radius:5px;background:var(--ss-brand-soft,rgba(89,199,232,.13));color:var(--ss-brand-bright,#82d9f0);cursor:pointer;vertical-align:middle;transition:background-color .15s,border-color .15s,color .15s}
.timeline-zoom-btn:hover,.timeline-zoom-btn:focus-visible{outline:none;color:var(--ss-button-text,#e7faff);background:#1d4658;border-color:var(--ss-brand-bright,#82d9f0)}
.timeline-zoom-btn.on{color:var(--ss-button-text,#e7faff);background:var(--ss-brand-dark,#153443);border-color:var(--ss-brand,#59c7e8)}
.game-filter-chip{display:inline-flex;align-items:center;padding:3px 10px;border:1px solid #145c42;border-radius:5px;background:#0c3b2a;color:#75f0ba;font-size:var(--type-label);font-weight:650}
.game-filter-note{font-size:var(--type-label);color:var(--text-meta)}


.flbl,.flt-lbl,.flt-row-lbl,.picker-control-label,.rv-lbl,
.tv-sec-hdr,.tv-node-hdr,.sec-title,.panel-title,.mhi-lbl,
.sch-time-lbl,.hof-row-label,.hof-section-hdr{
  color:#98a5b7;
}
.sec-meta,.filter-count,.rv-status,.hi-n,.hi-m,.pk-col-time,
.pk-zone-eye,.pk-year-sep,.pk-loading,.sch-card-buyin-tag,
.sch-excl-btn,.hof-place-banner-count,.hof-card-buyin,
.hof-card-tid,.hof-hero-ctx2,.hof-lb-buyin{
  color:#8290a3;
}
.mx-leg,.mx-hinfo,.hi-src,#bulk-sel-count,#bulk-clear,
.pk-col-players,.pk-meta,.pk-tl-buyin-tag,.game-filter-note,
.hof-trophy-count,.hof-close,.hof-hero-ctx,.hof-card-date,
.hof-card-field{
  color:var(--text-label);
}
.hof-pill,.hof-sort-pill,.hof-place-toggle{
  color:var(--text-label);
  border-color:#344153;
}
.hof-pill:hover,.hof-sort-pill:hover,.hof-place-toggle:hover{
  color:var(--text-strong);
  border-color:#586a82;
}
.hof-card-date,.hof-card-field{font-weight:500}
.hof-card-tid{font-weight:600}
.rv-note::placeholder{color:#728094}
button:disabled,.pill:disabled,.tv-pill:disabled,.pk-pill:disabled{
  color:#687587;
}


#picker-loaded-count,#picker-count{color:var(--text-label)!important;font-weight:500}
.picker-site-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 10px;border:1px solid #344153;border-radius:5px;
  background:transparent;color:var(--text-label);font:500 11px/1.35 system-ui,sans-serif;
  cursor:pointer;transition:color .12s,border-color .12s,background .12s;
}
.picker-site-btn:hover{color:var(--text-strong);border-color:#586a82;background:#111722}
.picker-site-btn.on{color:#e2d7ff;border-color:var(--v-mixed-strong);background:#2d1f6e}
.picker-site-count{color:#96a5b8;font-weight:700}
.picker-site-btn.on .picker-site-count{color:#d8c8ff}


.rv-note{color:var(--text-strong)}
.rv-note::placeholder{color:var(--text-meta);opacity:1}
#rv-ss-drop{color:var(--text-label)!important;border-color:#344153!important}
#rv-ss-drop:hover{color:#d5dce6!important;border-color:#586a82!important}


.tv-bet-detail{
  display:none;margin-top:3px;padding:7px;border:1px solid #273449;
  border-radius:6px;background:#0b111b;
}
.tv-bet-detail.open{display:block}
.tv-inline-detail.open{
  margin:3px 0 4px 26px;padding:2px 0 2px 10px;border:0;border-left:1px solid #38506a;
  border-radius:0;background:transparent;
}
.tv-inline-detail .tv-bet-subgroup+.tv-bet-subgroup{margin-top:5px;padding-top:5px}
.tv-inline-detail .tv-bet-subtitle{margin:2px 0 4px;color:var(--text-meta)}
.tv-inline-detail .tv-bet-options{display:flex;flex-direction:column;gap:3px}
.tv-inline-detail .tv-bet-options button{
  position:relative;display:flex;width:100%;min-height:27px;align-items:center;justify-content:flex-start;
  padding:4px 8px;border:1px solid #273449;border-radius:5px;background:transparent;
  color:var(--text-label);font:600 11px/1.2 system-ui,sans-serif;
}
.tv-inline-detail .tv-bet-options button::before{content:'↳';margin-right:7px;color:#52647b;font-size:var(--type-body)}
.tv-inline-detail .tv-bet-options button>span:first-child{margin-right:auto;text-align:left}
.tv-inline-detail .tv-bet-options button:hover{background:#0d1520;border-color:#465b75;color:#edf2f7}
.tv-inline-detail .tv-bet-options button.on{background:rgba(61,214,140,.1);border-color:var(--v-correct-strong);color:#e2f8ed}
.tv-inline-detail .tv-bet-count{min-width:34px;text-align:right;font-size:var(--type-label)}
.tv-bet-subgroup+.tv-bet-subgroup{margin-top:7px;padding-top:7px;border-top:1px solid #1c2737}
.tv-bet-subtitle{margin-bottom:5px;color:var(--text-meta);font-size:var(--type-micro);font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.tv-bet-options{display:flex;flex-wrap:wrap;gap:4px}
.tv-bet-options button{
  display:inline-flex;align-items:center;gap:5px;min-height:23px;padding:3px 6px;
  border:1px solid #344153;border-radius:5px;background:var(--bg2);color:#b7c2d0;
  font:600 10px/1.15 system-ui,sans-serif;cursor:pointer;
}
.tv-bet-options button:hover{color:var(--text-strong);border-color:#59708c}
.tv-bet-options button.on{color:#d9ffeb;border-color:#2aa36c;background:rgba(61,214,140,.14)}
.tv-bet-options button:disabled{opacity:.34;cursor:default}
.tv-bet-count{color:var(--text-meta);font-size:var(--type-micro);font-weight:750}
.tv-bet-options button.on .tv-bet-count{color:#75efb2}
.tv-act-btn{height:27px;min-height:27px;box-sizing:border-box}
.tv-act-spacer{height:27px;min-height:27px;pointer-events:none}

.tv-pct-slot{display:inline-block;width:2.6em;text-align:right}

.tv-cnt-slot{display:inline-block;min-width:56px;text-align:right}


.filter-area .flbl,
.filter-area .sec-title{font-size:var(--type-body)!important;color:var(--text-label)!important}
.filter-area .pill,
.filter-area .tv-pill,
.filter-area .clear-btn,
#tv-open-btn,
#tv-sel-pill{
  min-height:28px;font-size:var(--type-body)!important;line-height:1.2!important;
  color:var(--text-label)!important;padding:4px 10px!important;
}
.filter-area .pill.on,
.filter-area .pill.on-reviewed,
#tv-open-btn{color:#65ecad!important}
select.f-range-sel{
  height:29px!important;min-width:66px!important;padding:3px 24px 3px 9px!important;
  border-color:#354358!important;border-radius:7px!important;background-color:var(--bg2)!important;
  color:#c8d1dc!important;font-size:var(--type-body)!important;font-weight:550!important;
}
#f-fmt{min-width:76px!important}
#f-seats{min-width:72px!important}
#f-start-time,#f-orbit{min-width:68px!important}
#f-bi-min,#f-bi-max{min-width:72px!important}
#f-field-min,#f-field-max{min-width:76px!important}
#f-bi-wrap>span:first-child,
#f-field-wrap>span:first-child{
  color:var(--text-label)!important;font-size:var(--type-body)!important;font-weight:700!important;
}
#f-bi-wrap select+span,
#f-field-wrap select+span{color:var(--text-meta)!important;font-size:var(--type-subtitle)!important}
#f-fmt-clr,#f-seats-clr,#f-start-clr,#f-orbit-clr,
#f-bi-clr,#f-field-clr{color:#93a1b3!important;font-size:var(--type-heading)!important}
.filter-area button[title="Clear all tournament filters"]{
  min-height:27px!important;border-color:#354358!important;color:var(--text-label)!important;
  font-size:var(--type-label)!important;padding:4px 9px!important;
}
.filter-row>span[style*="background:#1f2937"]{background:#344153!important;height:18px!important}


#main-hdr [style*="font-size:9"],
#main-hdr [style*="font-size:10"],
#main-hdr [style*="font-size:11"]{font-size:var(--type-body)!important}
.timeline-wrap,.chart-wrap{color:var(--text-label)}
.sec-title,.sec-meta{letter-spacing:.055em}
.hi{min-height:34px}
.hi-note{font-size:var(--type-body);color:#d8e0ea}
.hi-n,.hi-m{font-size:var(--type-label);color:#98a6b8}
.hi-pos{font-size:var(--type-label)}
.hmt{font-size:var(--type-subtitle);font-weight:650}
.mx-leg,.mx-hinfo{font-size:var(--type-label);color:var(--text-label)}


#review-panel [style*="font-size:9"],
#review-panel [style*="font-size:10"],
#review-panel [style*="font-size:11"],
.review-popup [style*="font-size:9"],
.review-popup [style*="font-size:10"],
.review-popup [style*="font-size:11"]{font-size:var(--type-body)!important}
#review-panel .rv-lbl,.review-popup .rv-lbl{font-size:var(--type-label)!important;color:var(--text-label)!important}
#review-panel .rv-pill,.review-popup .rv-pill{min-height:27px;font-size:var(--type-label)!important}
#review-panel .hd-slbl2,.review-popup .hd-slbl2{font-size:var(--type-body)!important;color:var(--text-label)!important}
#review-panel .hd-vrow,.review-popup .hd-vrow{font-size:var(--type-body)!important;color:#d2dae5!important}


#picker [style*="font-size:9"],
#picker [style*="font-size:10"],
#picker [style*="font-size:11"]{font-size:var(--type-body)!important}
#picker [style*="color:#4b5563"],
#picker [style*="color:#4a5570"],
#picker [style*="color:#6b7280"]{color:#98a6b8!important}
#picker .pk-pill,
#picker .picker-period-select,
#picker .picker-exact-date,
#picker .picker-search-toggle{min-height:29px;font-size:var(--type-body)!important}
#picker-search{height:30px!important;font-size:var(--type-body)!important;border-color:#354358!important}
#date-filter-row>span{font-size:var(--type-body)!important;color:var(--text-label)!important}
#date-filter-row select{min-height:29px;font-size:var(--type-body)!important;color:#c8d1dc!important;border-color:#354358!important}
#mx-color-lbl,#mx-hid,#mx-action-stats{font-size:var(--type-label)!important;color:var(--text-label)!important}
#review-popout-btn,#hdr-heuristic-btn,#review-mode-hdr-btn,#teach-toggle-btn{
  min-height:27px;font-size:var(--type-body)!important;color:var(--text-label)!important;
}
#review-mode-hdr-btn::before,#teach-toggle-btn::before{content:'';display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#64748b;box-shadow:0 0 0 1px rgba(148,163,184,.14);vertical-align:1px}
#teach-toggle-btn:not(.mode-active){color:var(--text-label)!important;border-color:#354358!important;background:transparent!important}
/* #review-mode-hdr-btn.mode-active and its ::before dot are fully
   superseded by brand.css's own #review-mode-hdr-btn.mode-active rules
   (ice-blue, !important) -- verified nothing here renders. */
#teach-toggle-btn.mode-active{color:var(--v-mixed-strong)!important;border-color:var(--v-mixed-strong)!important;background:rgba(124,58,237,.15)!important}
#teach-toggle-btn.mode-active::before{background:#a78bfa}


#heur-ta{width:100%;height:130px;box-sizing:border-box;resize:vertical;font:inherit;font-size:var(--type-subtitle);color:var(--text-body);background:var(--bg);border:1px solid var(--brd2);border-radius:7px;padding:10px 12px}
.heur-fields{display:grid;grid-template-columns:150px 1fr;gap:10px;margin-bottom:10px}
.heur-fields label,.lm-filter label{display:flex;flex-direction:column;gap:5px;font-size:var(--type-label);font-weight:700;color:var(--text-label)}
.heur-fields input,.heur-fields select,.lm-filter input,.lm-filter select{min-height:32px;background:var(--bg);border:1px solid var(--brd2);border-radius:6px;color:var(--text-body);font:inherit;padding:5px 9px}
#learnings-modal .lm-shell,#lessons-library-modal .lm-shell{width:820px;max-width:92vw;max-height:82vh;overflow:auto;background:var(--bg2);border:1px solid var(--brd2);border-radius:12px;padding:22px 24px;position:relative}
#lesson-editor-modal{z-index:9300;background:rgba(2,5,9,.9);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#lesson-editor-modal .lm-shell{width:760px;max-width:92vw;max-height:86vh;overflow:auto;position:relative;padding:24px 26px;border:1px solid #40516a;border-radius:13px;background:#111a25;box-shadow:0 28px 90px rgba(0,0,0,.82),0 0 0 1px rgba(126,231,194,.07)}
#lesson-editor-modal .lesson-chapter{background:var(--bg2);border-color:#314158}
.lm-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.lm-filter{display:grid;grid-template-columns:minmax(220px,1fr) 140px 150px;gap:10px;flex:1}
.lm-card{border:1px solid var(--brd2);border-radius:9px;padding:12px 14px;background:var(--bg)}
.lm-card-head{display:flex;gap:8px;align-items:center;margin-bottom:7px;color:var(--text-meta);font-size:var(--type-label)}
.lm-avatar{width:25px;height:25px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#155e4b;color:#d5fff1;font-weight:750;font-size:var(--type-small)}
.lm-card-text{white-space:pre-wrap;color:var(--text-strong);font-size:var(--type-subtitle);line-height:1.48}
.lm-card-actions{display:flex;gap:7px;margin-left:auto}
.lm-card-actions button,.lm-export{min-height:27px;border:1px solid var(--brd2);border-radius:20px;background:transparent;color:var(--text-label);font:inherit;font-size:var(--type-body);padding:3px 10px;cursor:pointer}
@media(max-width:650px){.heur-fields,.lm-filter{grid-template-columns:1fr}#learnings-modal .lm-shell,#lessons-library-modal .lm-shell,#lesson-editor-modal .lm-shell{margin:16px 10px;padding:18px}}
.heur-quick-tags,.library-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 10px}.heur-quick-tags span{color:var(--text-meta);font-size:var(--type-label)}.heur-quick-tags button,.library-tag{border:1px solid #33445a;border-radius:20px;background:var(--bg2);color:#aebccc;font:inherit;font-size:var(--type-label);padding:3px 8px}.heur-quick-tags button{cursor:pointer}.library-tags{margin:9px 0 0}.lesson-library-filter{grid-template-columns:minmax(260px,1fr) 180px}
.selection-summary{max-width:360px;min-height:30px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.35;color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-label);font-weight:500}
.review-filter-area{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.review-filter-divider{width:1px;height:18px;background:var(--brd2);margin:0 3px}.review-filter-area .pill.on{border-color:#3b715e;color:var(--v-correct);background:#0d1916}.review-filter-area .flbl{width:auto!important}
.vs-filter-area{position:relative}
.vs-search-wrap{position:relative;width:220px;max-width:100%;flex:0 0 auto}
.vs-search-input{width:100%;max-width:100%;box-sizing:border-box;padding:6px 30px 6px 10px;border:1px solid var(--brd2);border-radius:7px;background:var(--bg);color:var(--text-body);font:inherit;font-size:var(--type-body)}
.vs-search-clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--text-meta);font:700 16px/1 system-ui;cursor:pointer}
.vs-search-clear:hover{color:var(--text-strong);background:rgba(148,163,184,.12)}
.vs-search-clear[hidden]{display:none}
.vs-name-list{position:absolute;top:calc(100% + 4px);left:0;z-index:40;width:280px;max-width:calc(100vw - 40px);max-height:280px;overflow:auto;background:var(--bg2);border:1px solid #344258;border-radius:9px;box-shadow:0 14px 38px rgba(0,0,0,.55);padding:4px}
.vs-name-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:6px;cursor:pointer;color:var(--text-body);font-size:var(--type-body)}
.vs-name-row:hover{background:#141d29}
.vs-name-count{color:var(--text-meta);font-size:var(--type-label);flex-shrink:0}
.vs-name-empty{padding:8px 9px;color:var(--text-meta);font-size:var(--type-body)}

.vs-population-row{background:rgba(236,72,153,.1);border:1px solid rgba(236,72,153,.28);margin-bottom:4px;font-weight:700;color:#e879b9}
.vs-population-row:hover{background:rgba(236,72,153,.18)}
.vs-population-row .vs-name-count{color:#e879b9;opacity:.8;font-weight:500}
.vs-selected-label{color:var(--text-label);font-size:var(--type-body);font-weight:700}
.library-head{display:flex;align-items:center;gap:9px;margin-bottom:16px}.library-head>div:first-child{margin-right:auto}.library-title{font-size:var(--type-heading);font-weight:700;color:var(--text-strong)}.library-subtitle,.library-stats{font-size:var(--type-label);color:var(--text-meta);margin-top:3px}.library-close{font-size:var(--type-display-sm);border:0;background:none;color:var(--text-meta);cursor:pointer}.library-filters{margin-bottom:14px}.library-list{display:flex;flex-direction:column;gap:10px}.library-empty{padding:18px 2px;color:var(--text-meta)}.library-kind{border:1px solid #344158;border-radius:20px;padding:2px 8px;color:var(--text-label)}.library-kind.session{border-color:var(--ss-brand-border,#32788d);color:var(--ss-brand-bright,#82d9f0)}.library-card-title{font-size:var(--type-title);font-weight:700;color:var(--text-strong)}.library-description{font-size:var(--type-subtitle);color:var(--text-body);line-height:1.45;margin-top:5px;white-space:pre-wrap}.library-editor{position:fixed;inset:0;z-index:9200;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center}.library-editor-card{width:480px;max-width:90vw;background:var(--bg2);border:1px solid var(--brd2);border-radius:11px;padding:22px}.library-editor-card label{display:flex;flex-direction:column;gap:5px;margin-top:13px;font-size:var(--type-label);font-weight:700;color:var(--text-label)}.library-editor-card input,.library-editor-card textarea{background:var(--bg);border:1px solid var(--brd2);border-radius:7px;color:var(--text-body);font:inherit;padding:9px 10px;resize:vertical}.library-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.lm-export.primary{border-color:var(--ss-brand-border,#32788d);color:var(--ss-brand-bright,#82d9f0);background:var(--ss-brand-soft,rgba(89,199,232,.13))}
.export-choice-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.export-choice-list button{text-align:left;background:var(--bg);border:1px solid var(--brd2);border-radius:8px;color:var(--text-strong);padding:11px 13px;cursor:pointer;font:inherit}.export-choice-list button:hover{border-color:#39735e;background:#0d1916}.export-choice-list strong,.export-choice-list span{display:block}.export-choice-list span{font-size:var(--type-body);color:var(--text-meta);margin-top:3px}
.history-list{max-height:55vh;overflow:auto;margin-top:14px;display:flex;flex-direction:column;gap:8px}.history-row{border:1px solid var(--brd2);border-radius:7px;background:var(--bg);padding:10px}.history-row>div{display:flex;justify-content:space-between;gap:10px;color:var(--text-label);font-size:var(--type-body)}.history-row span{color:var(--text-meta)}.history-row p{margin:7px 0 0;color:var(--text-body);font-size:var(--type-body);white-space:pre-wrap}


#hdr-runners,#hdr-place,#hdr-meta,#bg-load-status,
.hdr .sub,.hdr-buyin-detail{color:var(--text-label)!important}
#main-hdr a,#main-hdr button:not(:disabled){color:var(--text-label)}
.hd-meta,.hd-stlbl,.hd-slbl2,.hd-side-title,
.sd-name,.hd-allin{color:#9ba9ba!important}
.ha .an,.ha .av{color:#c4ceda!important}
.ha .aa{color:#e4e9f0!important}
.ha .aa[style*="var(--text-meta)"]{color:#8e9cad!important}
.hd-vrow .vn{color:#e3e8ef!important}
.hd-vrow .vs{color:#edf2f7!important}
.hd-vrow .vc{filter:brightness(1.16)}
.sec-title,.panel-title{color:#a9b5c4!important}
.sec-meta,.filter-count{color:var(--text-meta)!important}
button:disabled,.pill:disabled,.tv-pill:disabled,.pk-pill:disabled{
  color:#728196!important;border-color:#283446!important;opacity:.72;
}
#tv-layout [style*="color:#374151"],
#tv-layout [style*="color:#4b5563"],
#tv-line-desc{color:#8291a5!important}
#tv-layout [style*="font-size:9"]{font-size:var(--type-small)!important}
.nbg{color:#8492a5}


body{font-size:var(--type-body);color:var(--text-body)}
.hdr h1,.ss-spaces-title{font-size:var(--type-title);color:var(--text-strong);font-weight:700}
.sec-title,.panel-title,.flbl,.rv-lbl,.picker-control-label,
.flt-lbl,.flt-row-lbl,.tv-sec-hdr,.tv-node-hdr{
  font-size:var(--type-label)!important;color:var(--text-label)!important;font-weight:700;
}
.sec-meta,.filter-count,.hdr .sub,.hdr-buyin-detail,.hd-meta,
.mx-leg,.mx-hinfo,.hi-n,.hi-m,.rv-status{
  font-size:var(--type-label)!important;color:var(--text-meta)!important;
}
.pill,.tv-pill,.rv-pill,.clear-btn,.rv-clear-btn,.pk-pill,.pk-date-btn,
.hof-pill,.hof-sort-pill,.hof-place-toggle,.picker-period-select,
.picker-exact-date,select.f-range-sel,#tv-open-btn,#tv-sel-pill{
  min-height:26px!important;padding:3px 9px!important;font-size:var(--type-body)!important;
  font-weight:550!important;line-height:1.2!important;color:var(--text-label)!important;
}
.pill.on,.tv-pill.on,.rv-pill[class*="on-"],.pk-pill.on,
.filter-area .pill.on,.filter-area .pill.on-reviewed,#tv-open-btn{
  color:var(--v-correct-strong)!important;
}
.pill.on-rfi,.pill.on-rfi-raise,.rv-pill.on-mixed{color:var(--v-mixed-strong)!important}
.pill.on-loss,.rv-pill.on-mistake{color:#fecaca!important}
.rv-pill.on-punt{color:var(--v-punt-strong)!important}
.pill.on-win,.rv-pill.on-correct{color:var(--v-correct)!important}
button:disabled,.pill:disabled,.tv-pill:disabled,.rv-pill:disabled,.pk-pill:disabled{
  color:var(--text-disabled)!important;opacity:.68;
}
#hdr-runners,#hdr-cur-tourn,#hdr-place,#hdr-meta,#bg-load-status{
  /* --text-meta read too dark for this row (FM's call) -- --text-label is
     the gray already used for Timeline's own chart/wrap (.timeline-wrap,
     .chart-wrap), so these match it instead. */
  font-size:var(--type-body)!important;color:var(--text-label)!important;font-weight:500!important;
}
#hdr-cur-tourn span{font-size:inherit!important}
#mx-hid,#mx-hid *,#sec-detail-meta,#sec-detail-meta *{
  font-size:var(--type-label)!important;line-height:1.25;
}
#mx-hid,#sec-detail-meta{color:var(--text-meta)!important;font-weight:500}
#mx-hid [style*="var(--text-body)"],#sec-detail-meta [style*="#4b5563"],
#sec-detail-meta [style*="#6b7280"],#sec-detail-meta [style*="#9ca3af"]{
  color:var(--text-meta)!important;
}
.hd-stlbl,.hd-slbl2,.hd-side-title{font-size:var(--type-label)!important;color:var(--text-label)!important}
.ha,.ha .an,.ha .av,.ha .aa,.hd-vrow,.hd-vrow .vs,.hd-vrow .vc{
  font-size:var(--type-body)!important;
}
.hi-note{font-size:var(--type-subtitle)!important}.hi-pos,.hi-n,.hi-m{font-size:var(--type-label)!important}
.mxi-metric-sub,.mxi-section-title{font-size:var(--type-body)!important}
button:not(:disabled){filter:none}
.meta-id,.meta-text,.meta-separator{
  font-size:var(--type-label)!important;color:var(--text-meta)!important;font-weight:500;
}
/* .meta-id is the hand-number span in the Hand Detail / Review popup's
   header (#sec-detail-meta, built in analyzer.js) -- that header sits
   inside a .sec-hdr, and .sec-hdr is deliberately user-select:none (so
   clicking it to expand/collapse the section doesn't also select text).
   That :none cascades to every descendant, including the hand number, so
   it couldn't be selected/copied at all. Opt this one span back in to
   text selection, same way .mxi-combos-text already does for the Matrix
   Inspector's own copyable text (FM: "the hand number in hand review
   window I need to be able to copy... somehow I can't select it"). */
.meta-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:650;-webkit-user-select:text;user-select:text;cursor:text}
.meta-emphasis{font-weight:650}.meta-separator{margin:0 4px;color:var(--text-disabled)!important}
.hdr-primary{font-size:var(--type-body);font-weight:700;color:var(--text-strong)}

.hd-meta{gap:7px!important;align-items:center!important;font-size:var(--type-body)!important;color:var(--text-label)!important}
.hd-meta>.hd-ph,.hd-meta>.hd-final-pot,.hd-meta>.hd-effstack{min-height:23px;box-sizing:border-box;display:inline-flex;align-items:center}
.hd-meta>.hd-ph{font-size:var(--type-label)!important;padding:3px 9px!important}
.hd-meta>.hd-final-pot,.hd-meta>.hd-effstack{font-size:var(--type-body)!important;padding:3px 8px!important}
.hd-meta>.hd-final-pot{border-width:2px!important;border-color:#46617b!important}
.hd-meta>.hd-effstack{background:var(--ss-brand-soft,rgba(89,199,232,.13))!important;color:var(--ss-brand-bright,#82d9f0)!important;border-color:var(--ss-brand-border,#32788d)!important}
.hd-meta>.hd-effstack{gap:4px}
.hd-meta>.rfi-tag{min-height:23px;box-sizing:border-box;display:inline-flex;align-items:center;padding:3px 8px!important;border:1px solid var(--v-mixed-strong);border-radius:5px;font-size:var(--type-body)!important;font-weight:650!important}
.hd-meta .hd-effpos{font-size:var(--type-label)!important;opacity:1!important}
.hd-meta .hd-eff-label{font-size:var(--type-label)!important;font-weight:750!important;color:var(--ss-brand-bright,#82d9f0)!important;opacity:1!important}
.hd-meta>.meta-text,.hd-meta>.meta-emphasis{font-size:var(--type-body)!important;color:var(--text-label)!important}
.hd-meta>.meta-emphasis{font-weight:650!important}
.hd-meta>.hd-ante{font-size:var(--type-body)!important;color:var(--text-label)!important;font-weight:600!important}
.hd-spot-tags{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}
.hd-spot-tag{display:inline-flex;align-items:center;min-height:23px;box-sizing:border-box;padding:3px 8px;border:1px solid var(--ss-brand-border,#32788d);border-radius:5px;background:var(--ss-brand-soft,rgba(89,199,232,.13));color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-body);font-weight:650;white-space:nowrap}
.hdr-meta-text{font-size:var(--type-body)!important;font-weight:500!important;color:var(--text-meta)!important}
.hdr-positive{font-size:var(--type-body);font-weight:650;color:var(--v-correct-strong)}


.ui-title{font-size:var(--type-title)!important;color:var(--text-strong)!important;font-weight:700!important}
.ui-body{font-size:var(--type-body)!important;color:var(--text-body)!important;font-weight:500!important}
.ui-label{font-size:var(--type-label)!important;color:var(--text-label)!important;font-weight:700!important}
.ui-meta{font-size:var(--type-label)!important;color:var(--text-meta)!important;font-weight:500!important}


.filter-tool-lessons summary{display:flex;align-items:center;gap:8px;border:0!important;border-radius:0!important;padding:.3rem .85rem!important;background:transparent!important}
.filter-tool-lessons summary::after{display:none}
.filter-tool-lessons .lessons-menu-chev{margin:0;transform:rotate(-90deg)}
.filter-tool-lessons[open]>summary{background:var(--ss-brand-soft,rgba(89,199,232,.1))!important;box-shadow:inset 0 -1px 0 var(--ss-brand-border,#32788d)}
.filter-tool-lessons[open] .lessons-menu-chev{transform:rotate(0);background:var(--ss-disclosure-open-bg);border-color:var(--ss-disclosure-open-bg);color:var(--ss-disclosure-open-mark)}
#mx-hid,#mx-wld{display:none!important}
.mxi-combos-text{margin-top:8px;color:var(--text-meta);font-size:var(--type-body);font-weight:550;line-height:1.55;word-spacing:2px;-webkit-user-select:text;user-select:text;cursor:text}
.sec-hdr.has-filter .sec-title,.filter-tool-tab.has-filter .sec-title,.filter-tool-lessons.has-filter>summary{color:var(--ss-brand-bright,#82d9f0)!important}
.rv-overall-spot-reserve{display:none}


#main-hdr button,#picker button:not(.primary),#review-panel button,
.review-popup button,#ls-save-modal button,#ls-hand-modal button,
#storage-modal button,#heur-modal button,[data-rv-stab],#rv-add-to-lesson-btn{
  font-family:inherit!important;font-size:var(--type-body)!important;
  font-weight:550!important;color:var(--text-label)!important;
}
[data-rv-stab]{min-height:29px!important;padding:5px 8px!important}
.rv-review-tabs{display:grid;gap:3px;margin-bottom:8px}.rv-street-review-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.rv-review-tabs .rv-overall-tab{position:relative;justify-self:start;width:calc((100% - 6px)/4);min-height:23px!important;padding:2px 8px!important}.rv-review-tabs [data-rv-stab].is-locked{border-width:2px!important;border-color:var(--ss-brand-bright,#82d9f0)!important;box-shadow:0 0 0 1px rgba(89,199,232,.18)}
[data-rv-stab]:not(.is-active):not(.has-content){color:var(--text-meta)!important}
#zoom-label{font-size:var(--type-label)!important;color:var(--text-meta)!important}
#idb-loading-text{font-size:var(--type-body)!important;color:var(--text-body)!important}
#idb-loading-sub{font-size:var(--type-label)!important;color:var(--text-meta)!important}


#main-hdr [style*="color:#4b5563"],#main-hdr [style*="color:#6b7280"],
#picker [style*="color:#374151"],#picker [style*="color:#4b5563"],#picker [style*="color:#6b7280"],
#review-panel [style*="color:#374151"],#review-panel [style*="color:#4b5563"],#review-panel [style*="color:#6b7280"],
.review-popup [style*="color:#374151"],.review-popup [style*="color:#4b5563"],.review-popup [style*="color:#6b7280"],
#ls-save-modal [style*="color:#374151"],#ls-save-modal [style*="color:#4b5563"],#ls-save-modal [style*="color:#6b7280"],
#ls-hand-modal [style*="color:#374151"],#ls-hand-modal [style*="color:#4b5563"],#ls-hand-modal [style*="color:#6b7280"]{
  color:var(--text-meta)!important;
}


.hof-title{color:var(--text-strong)!important}
.hof-stat,.hof-hero-name,.hof-card-field{font-size:var(--type-body)!important;color:var(--text-body)!important}
.hof-stat b,.hof-card-name{font-size:var(--type-title)!important}
.hof-trophy-count,.hof-hero-ctx,.hof-hero-ctx2,.hof-place-banner-count,
.hof-card-date,.hof-card-buyin,.hof-card-tid,.hof-lb-buyin{
  font-size:var(--type-label)!important;color:var(--text-meta)!important;
}
.hof-row-label,.hof-section-hdr{font-size:var(--type-label)!important;color:var(--text-label)!important}
.hof-pill,.hof-sort-pill,.hof-place-toggle,.hof-ft-pill,.hof-open-btn,
.hof-entry-btn,.hof-close{
  font-family:inherit!important;font-size:var(--type-body)!important;
  font-weight:550!important;color:var(--text-label)!important;
}
.hof-pill.on{color:var(--v-mixed-strong)!important}
.hof-sort-pill.on{color:var(--ss-hero-position-color)!important}
/* .hof-place-toggle.on{color:...} removed -- fully shadowed by brand.css's
   ice-blue override (same selector listed there with !important). */
.hof-ft-pill.on{color:#93c5fd!important}
.hof-open-btn,.hof-entry-btn{color:var(--v-mixed-strong)!important}


.pk-agg-primary{font-size:var(--type-title)!important}
.pk-agg-count{font-size:var(--type-body)!important;color:var(--text-meta)!important}
.pk-mpill,.pk-itm,.pk-ft{font-size:var(--type-label)!important}
.pk-mpill-in{color:var(--text-meta)!important}


/* #change-btn, #tv-open-btn and #picker .pk-pill.on all removed from this
   selector -- all three are individually listed in brand.css's own
   #picker-scoped ice-blue !important block (same specificity, brand.css
   loads later so it always wins) -- verified nothing here rendered. */
#review-panel .rv-pill.on-correct,.review-popup .rv-pill.on-correct,
#review-panel .rv-pill.on-solver,.review-popup .rv-pill.on-solver,
#review-panel .rv-pill.on-street,.review-popup .rv-pill.on-street,
#review-panel .rv-pill.on-tag,.review-popup .rv-pill.on-tag{color:var(--v-correct-strong)!important}
#review-panel .rv-pill.on-mistake,.review-popup .rv-pill.on-mistake,
#review-panel .rv-pill.on-missed,.review-popup .rv-pill.on-missed{color:var(--v-mistake-strong)!important}
#review-panel .rv-pill.on-punt,.review-popup .rv-pill.on-punt{color:var(--v-punt-strong)!important}
#review-panel .rv-pill.on-mixed,.review-popup .rv-pill.on-mixed,
#review-panel .rv-pill.on-feedback,.review-popup .rv-pill.on-feedback{color:var(--v-mixed-strong)!important}
#review-panel .rv-pill.on-solver-lookup,.review-popup .rv-pill.on-solver-lookup{color:var(--v-unsure-strong)!important}
#review-panel .rv-pill.on-discuss,.review-popup .rv-pill.on-discuss{color:#fbd09d!important}
#review-panel .rv-pill.on-undecided,.review-popup .rv-pill.on-undecided{color:var(--v-unsure-strong)!important}
#review-panel .rv-pill.on-seen,.review-popup .rv-pill.on-seen{color:var(--text-body)!important}
[data-rv-stab].is-active{color:var(--text-strong)!important;font-weight:650!important}
[data-rv-stab].has-content{color:var(--v-mixed-strong)!important}
.rv-panel [data-rv-stab].is-active{color:#bcefff!important;background:rgba(89,199,232,.18)!important;border-color:#4ab4d3!important;box-shadow:inset 0 0 0 1px rgba(130,217,240,.09),0 0 0 1px rgba(89,199,232,.05);font-weight:750!important}
#rv-note-summary-lines.rv-note-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:0;border-radius:7px;overflow:hidden;background:var(--bg)}
.rv-note-summary-cell{min-width:0;min-height:78px;box-sizing:border-box;padding:9px 11px;border:0;background:var(--bg)}
.rv-note-summary-cell>span{display:block;margin-bottom:6px;color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-small);font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.rv-destination-empty,.rv-destination-pill{font-size:var(--type-label);color:var(--text-body)}
.rv-note-summary-cell>p{margin:0;color:var(--text-body);font-size:var(--type-body);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.rv-note-summary-cell>p.is-empty{color:#3f4b5b}
.rv-note-summary-cell.is-overall{grid-column:1/-1;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;min-height:42px;padding-top:10px;border:0;background:var(--bg)}
.rv-note-summary-cell.is-overall>span{margin:1px 0 0}
@media(max-width:760px){#rv-note-summary-lines.rv-note-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rv-note-summary-cell.is-overall{grid-column:1/-1}}
@media(max-width:480px){#rv-note-summary-lines.rv-note-summary-grid{grid-template-columns:1fr}.rv-note-summary-cell.is-overall{grid-column:1;grid-template-columns:1fr;gap:5px}.rv-note-summary-cell.is-overall>span{margin:0}}
.hi.active{background:rgba(89,199,232,.12)!important;border-left:0!important;padding-left:10px!important}
.hi.active:hover{background:rgba(89,199,232,.16)!important}
.hi.active::after{content:""!important;display:block!important;position:absolute!important;top:2px!important;right:0!important;bottom:2px!important;left:auto!important;width:3px!important;border-radius:3px 0 0 3px!important;background:#59c7e8!important;box-shadow:0 0 8px rgba(89,199,232,.32)!important;pointer-events:none}
.lesson-edit-field{display:flex;flex-direction:column;gap:6px;margin:10px 0;color:var(--text-label);font-size:var(--type-label);font-weight:700}.lesson-edit-field input,.lesson-edit-field textarea{background:var(--bg);border:1px solid var(--brd2);border-radius:7px;color:var(--text-body);font:inherit;padding:9px 10px;resize:vertical}.lesson-topic-help{font-size:var(--type-body);color:var(--text-meta);margin:14px 0 8px}.lesson-chapters{max-height:48vh;overflow:auto;display:flex;flex-direction:column;gap:9px}.lesson-chapter{border:1px solid var(--brd2);border-radius:8px;padding:10px}.lesson-chapter-title{font-size:var(--type-body);font-weight:700;color:var(--text-strong);margin-bottom:8px}.lesson-chapter-title span{font-weight:400;color:var(--text-meta);margin-left:6px}.lesson-hand-grid{display:flex;flex-wrap:wrap;gap:6px}.lesson-hand-grid label{display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:5px;background:var(--bg);color:var(--text-body);font-size:var(--type-body);cursor:pointer}.lesson-hand-grid input{accent-color:var(--ss-brand,#59c7e8)}.lesson-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.lesson-editor-actions button{padding:8px 13px;border:1px solid var(--brd2);border-radius:6px;background:transparent;color:var(--text-body);cursor:pointer}.lesson-editor-actions button.primary{border-color:var(--ss-brand-border,#32788d);background:var(--ss-brand-soft,rgba(89,199,232,.13));color:var(--ss-brand-bright,#82d9f0);font-weight:700}
.review-popup #sec-detail .sec-hdr{flex-wrap:wrap;align-content:flex-start;min-height:60px}
.review-popup #lessons-menu{display:none!important}
.review-popup #sec-detail .sec-hdr>span:last-child{flex:0 0 100%;justify-content:flex-end!important;margin-left:0!important;padding-top:8px;border-top:1px solid rgba(31,41,55,.65)}
.review-popup #sec-detail-meta{flex:1;min-width:0;padding-right:8px}
.review-popup #hd-content{min-height:224px;transition:min-height .12s ease}
.review-popup #hd-content{position:relative;padding-bottom:54px}
.review-popup #hd-content .hd-result-strip{position:absolute;left:0;right:0;bottom:0;margin:0}
.review-popup .hd-result-winner>b,.review-popup .hd-result-hero.is-positive b{color:var(--result-win)}
.review-popup .hd-result-hero.is-negative b{color:var(--result-loss)}
.review-popup .rv-pill.on-correct{color:var(--result-win)!important}
.review-popup .rv-pill.on-mistake{color:var(--result-loss)!important}
.review-popup .rv-pill.on-punt{color:var(--v-punt-strong)!important}
.lesson-card{position:relative}.lesson-shared-state{color:#62d6ad;font-weight:700}.lesson-progress{height:4px;margin-top:12px;border-radius:4px;background:#17202c;overflow:hidden}.lesson-progress span{display:block;height:100%;background:#22a879;border-radius:4px}.lesson-progress-copy{margin-top:6px;font-size:var(--type-label);color:var(--text-meta)}.lesson-share-options{display:flex;flex-direction:column;gap:7px;margin:15px 0;max-height:320px;overflow:auto}.lesson-share-options label{display:flex;align-items:center;gap:10px;border:1px solid var(--brd2);border-radius:7px;padding:9px 10px;cursor:pointer}.lesson-share-options label:has(input:checked){border-color:#24795f;background:#0d211c}.lesson-share-options span{display:flex;flex-direction:column;color:var(--text-strong);font-size:var(--type-subtitle)}.lesson-share-options small{color:var(--text-meta);font-size:var(--type-label);margin-top:2px}.lesson-share-options input{accent-color:#22c997}.lesson-share-status{min-height:18px;color:#7dd3b5;font-size:var(--type-body)}
.lesson-sync-state{color:#72d8b2;font-size:var(--type-small);font-weight:700}.lesson-sync-state.is-saving,.lesson-sync-state.is-legacy{color:#e8bc67}.lesson-sync-state.is-error{color:#ff8585}
.library-card-title{cursor:pointer}
.library-card-title:hover{color:var(--ss-brand-bright,#82d9f0);text-decoration:underline;text-underline-offset:3px}
.recording-summary{margin-top:10px;padding-top:8px;border-top:1px solid var(--brd);color:var(--text-meta);font-size:var(--type-label)}
.lesson-chapter-title{display:flex;align-items:center;gap:8px}
.lesson-chapter-title input{min-width:0;flex:1;background:var(--bg);border:1px solid var(--brd2);border-radius:6px;color:var(--text-strong);font:inherit;padding:6px 8px}
.lesson-hand-grid{display:flex;flex-direction:column;gap:5px}
.lesson-editor-hand{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:6px;background:var(--bg);border:1px solid transparent;border-radius:6px;padding:4px 5px}
.lesson-editor-hand:hover{border-color:var(--brd2)}
.lesson-order{color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-label);font-weight:700;text-align:center}
.lesson-editor-hand-compact{grid-template-columns:minmax(120px,1fr) auto auto;gap:12px;padding:6px 7px}
.lesson-hand-number{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-body);font-weight:750;font-variant-numeric:tabular-nums}
.lesson-hand-meta{color:var(--text-body);font-size:var(--type-body);font-weight:650;white-space:nowrap}
.lesson-editor-hand label{background:transparent;padding:2px;min-width:0}
.lesson-move{display:flex;gap:3px}
.lesson-move button,.lesson-share-options>button{border:1px solid var(--brd2);border-radius:5px;background:var(--bg2);color:var(--text-body);cursor:pointer;padding:4px 7px}
.lesson-move button:disabled{opacity:.28;cursor:default}
.lesson-chapter-title .lesson-topic-move{margin-left:auto;display:flex;gap:3px}
.lesson-share-options>button{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;text-align:left}


#lessons-library-modal{
  background:rgba(2,5,9,.88);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
#lessons-library-modal .study-library-shell{
  width:820px;
  padding:0;
  overflow:hidden;
  background:#0b1017;
  border-color:#2b394b;
  border-radius:10px;
  box-shadow:0 26px 80px rgba(0,0,0,.78);
}
#lessons-library-modal .library-head{
  margin:0;
  padding:17px 20px 15px;
  border-bottom:1px solid #202b39;
}
#lessons-library-modal .library-title,
#lesson-editor-modal .library-title{font-size:var(--type-heading);line-height:1.2;color:var(--text-strong);font-weight:750}
#lessons-library-modal .library-subtitle,
#lesson-editor-modal .library-subtitle{margin-top:4px;color:#9caabd;font-size:var(--type-label);line-height:1.4}
#lessons-library-modal .library-close,
#lesson-editor-modal .library-close{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:6px;
  color:#9eacbd;font:700 19px/1 system-ui;
}
#lessons-library-modal .library-close:hover,
#lesson-editor-modal .library-close:hover{color:var(--text-strong);border-color:#334258;background:#111a25}
#lessons-library-modal .study-library-toolbar{
  align-items:flex-end;margin:0;padding:14px 20px 9px;gap:10px;flex-wrap:nowrap;
}
#lessons-library-modal .lesson-library-filter{display:block;min-width:0;flex:1}
#lessons-library-modal .lesson-library-filter label{
  gap:6px;color:#9facc0;font-size:var(--type-small);letter-spacing:.07em;text-transform:uppercase;
}
#lessons-library-modal .lesson-library-filter input{
  width:100%;min-height:34px;box-sizing:border-box;background:var(--bg);border-color:#2a3748;
  color:#d7e0ea;font-size:var(--type-body);padding:7px 10px;
}
#lessons-library-modal .lesson-library-filter input::placeholder{color:#69788c;opacity:1}
.study-library-exports{display:flex;gap:7px}
#lessons-library-modal .lm-export,
#lessons-library-modal .lm-card-actions button{
  min-height:28px;padding:4px 10px;border-radius:6px;border-color:#314055;
  color:var(--text-label);background:var(--bg2);font-size:var(--type-label);font-weight:650;
}
#lessons-library-modal .lm-export:hover,
#lessons-library-modal .lm-card-actions button:hover{border-color:#486079;color:#e1e8f0;background:#111a25}
#lessons-library-modal .lm-card-actions button.primary{
  border-color:var(--ss-brand-border,#32788d);color:var(--ss-brand-bright,#82d9f0);
  background:var(--ss-brand-soft,rgba(89,199,232,.13));
}
#lessons-library-modal .lm-card-actions button.danger:hover{
  border-color:#8b3d45;color:#ff9ca3;background:rgba(181,56,66,.1);
}
#lessons-library-modal .study-library-stats{
  margin:0;padding:0 20px 10px;color:#8594a7;font-size:var(--type-label);
}
#lessons-library-modal .library-list{
  max-height:calc(82vh - 150px);overflow:auto;gap:8px;padding:0 20px 20px;
}
#lessons-library-modal .lm-card{
  padding:12px 13px;background:#080c12;border-color:#253244;border-radius:7px;
}
#lessons-library-modal .lm-card:hover{border-color:#34465d}
#lessons-library-modal .lm-card-head{
  gap:7px;margin-bottom:8px;align-items:center;flex-wrap:wrap;color:var(--text-label);font-size:var(--type-label);line-height:1.25;
}
#lessons-library-modal .library-kind{
  padding:2px 7px;border-color:var(--ss-brand-border,#32788d);border-radius:10px;
  color:var(--ss-brand-bright,#82d9f0);background:rgba(89,199,232,.06);font-size:var(--type-small);font-weight:750;
}
#lessons-library-modal .lm-card-actions{gap:6px;margin-left:auto}
#lessons-library-modal .library-card-title{font-size:var(--type-subtitle);line-height:1.35;color:#e2e9f1}
#lessons-library-modal .library-description{margin-top:3px;color:#b1bdcb;font-size:var(--type-body);line-height:1.42}
#lessons-library-modal .lesson-sync-state,
#lessons-library-modal .lesson-shared-state{color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-small);font-weight:700}
#lessons-library-modal .lesson-sync-state.is-saving,
#lessons-library-modal .lesson-sync-state.is-legacy{color:#e8bc67}
#lessons-library-modal .lesson-sync-state.is-error{color:#ff8585}
#lessons-library-modal .lesson-progress{height:3px;margin-top:10px;background:#1a2634}
#lessons-library-modal .lesson-progress span{background:var(--ss-brand,#59c7e8)}
#lessons-library-modal .lesson-progress-copy,
#lessons-library-modal .recording-summary{color:#8e9daf;font-size:var(--type-small);line-height:1.4}
#lessons-library-modal .recording-summary{margin-top:9px;padding-top:8px;border-top-color:#202b39}
#lessons-library-modal .library-empty{padding:22px 2px;color:#8f9caf;font-size:var(--type-body);line-height:1.6}
#lessons-library-modal .library-empty strong{color:#d9e2ec}

#lesson-editor-modal .lm-shell{
  --lesson-shell-pad-x:26px;
  --lesson-shell-pad-bottom:24px;
  padding:22px var(--lesson-shell-pad-x) var(--lesson-shell-pad-bottom);
  border-color:#324256;background:var(--bg2);border-radius:11px;
  box-shadow:0 28px 90px rgba(0,0,0,.82);
}
#lesson-editor-modal .library-head{margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid #233042}
#lesson-editor-modal .lesson-edit-field{margin:10px 0;color:var(--text-label);font-size:var(--type-small);letter-spacing:.05em;text-transform:uppercase}
#lesson-editor-modal .lesson-edit-field input,
#lesson-editor-modal .lesson-edit-field textarea{
  background:var(--bg);border-color:#2b394b;color:#dce4ed;font-size:var(--type-body);letter-spacing:0;text-transform:none;
}
#lesson-editor-modal .lesson-topic-help{color:#95a3b5;font-size:var(--type-label)}
#lesson-editor-modal .lesson-editor-hand{background:var(--bg);border-color:#202c3b}
#lesson-editor-modal .lesson-editor-hand:hover{border-color:#35475e}
#lesson-editor-modal .lesson-hand-number{color:var(--ss-brand-bright,#82d9f0);font-size:var(--type-label)}
#lesson-editor-modal .lesson-hand-meta{color:#bdc8d5;font-size:var(--type-label)}
#lesson-editor-modal .lesson-editor-actions{
  margin:18px calc(-1 * var(--lesson-shell-pad-x)) calc(-1 * var(--lesson-shell-pad-bottom));
  padding:13px var(--lesson-shell-pad-x);
  border-top:1px solid #263446;border-radius:0 0 10px 10px;background:#0a1119;
}
#lesson-editor-modal .lesson-editor-actions button{
  min-height:30px;padding:5px 12px;border-radius:6px;border-color:#334258;
  background:var(--bg2);color:#b5c0ce;font-size:var(--type-label);font-weight:650;
}
#lesson-editor-modal .lesson-editor-actions button:hover{border-color:#4a617b;color:#e4ebf3;background:#111a25}
#lesson-editor-modal .lesson-editor-actions button.primary{
  border-color:var(--ss-brand-border,#32788d);background:var(--ss-brand-soft,rgba(89,199,232,.13));
  color:var(--ss-brand-bright,#82d9f0);
}
@media(max-width:650px){
  #lessons-library-modal .study-library-toolbar{flex-wrap:wrap}
  #lessons-library-modal .lesson-library-filter{flex-basis:100%}
  #lessons-library-modal .study-library-shell{margin:12px 8px;padding:0}
  #lessons-library-modal .lm-card-actions{width:100%;margin:4px 0 0}
  #lesson-editor-modal .lm-shell{--lesson-shell-pad-x:18px;--lesson-shell-pad-bottom:18px}
}

/* ═══ Browse tab — mostly reuses .scope-* / .hof-card / .flt-* rules already
   in place for the Scope Bar, Hall of Fame overlay and picker "Custom" card;
   only the pieces with no existing equivalent are added here. ═══ */
.hofmini-hdr{display:flex;align-items:center;gap:8px}
.hofmini-see-all{font-size:11px;font-weight:700;color:var(--ss-brand-bright,#82d9f0);text-decoration:none;white-space:nowrap;flex-shrink:0}
.hofmini-see-all:hover{color:#b3e8f7}
.hofmini-chip{display:flex;flex-direction:column;gap:9px;min-width:176px;flex-shrink:0;padding:16px 14px;background:var(--ss-filter-surface-bg,#0d1117);border:1px solid var(--neutral-border-subtle);border-radius:var(--ss-filter-surface-radius,8px);cursor:pointer;transition:border-color .12s,background .12s}
.hofmini-chip:hover{border-color:var(--ss-brand-border,#32788d)}
.hofmini-chip-gold{border-color:#78350f}
.hofmini-chip-gold:hover{border-color:#d97706}
.hofmini-chip-silver{border-color:#334155}
.hofmini-chip-silver:hover{border-color:#94a3b8}
.hofmini-chip-bronze{border-color:#3b1c0a}
.hofmini-chip-bronze:hover{border-color:#b45309}
.hofmini-chip-top{display:flex;align-items:center;gap:6px}
.hofmini-chip-place{font-size:var(--type-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hofmini-chip-gold .hofmini-chip-place{color:var(--ss-hero-position-color)}
.hofmini-chip-silver .hofmini-chip-place{color:#9ca3af}
.hofmini-chip-bronze .hofmini-chip-place{color:#c27c45}
.hofmini-chip-net{font-size:var(--type-label);font-weight:700;white-space:nowrap;flex-shrink:0}
.hofmini-chip-net.scope-win{color:var(--result-win)}
.hofmini-chip-net.scope-loss{color:var(--result-loss)}
.hofmini-chip-buyin{font-size:var(--type-body);font-weight:700;color:var(--text-body)}
.hofmini-chip-meta{font-size:var(--type-label);color:var(--text-body);white-space:nowrap}
.browse-narrow-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:10px 0 2px}
.browse-narrow-hint{font-size:var(--type-small);color:var(--text-label,#a6b2c1);white-space:nowrap;flex-shrink:0}
.browse-search-row{display:flex;align-items:center;gap:8px;padding:2px 0}
.browse-search-input{flex:1;height:26px;background:var(--ss-filter-surface-bg,#0d1117);border:1px solid var(--neutral-border-subtle);border-radius:6px;outline:none;padding:0 10px;font-size:var(--type-label);color:var(--text-body);font-family:inherit}
.browse-search-input:focus{border-color:var(--ss-brand-border,#32788d)}
.browse-count{font-size:var(--type-small);color:var(--text-label,#a6b2c1);white-space:nowrap;flex-shrink:0}
.browse-table-wrap{max-height:610px;overflow-y:auto;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--neutral-border-subtle) transparent}
.browse-table-wrap::-webkit-scrollbar{width:5px;height:5px}
.browse-table-wrap::-webkit-scrollbar-track{background:transparent}
.browse-table-wrap::-webkit-scrollbar-thumb{background:var(--neutral-border-subtle);border-radius:3px}
.browse-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--neutral-border)}
.browse-table-wrap.compact{max-height:194px}
.browse-tourn-hdr{cursor:default;position:sticky;top:0;background:var(--ss-filter-surface-bg,#0d1117);z-index:1}
#browse-tourn-hdr .scope-tourn-col-buyin,#browse-tourn-hdr .browse-col-net{font-weight:400}
.browse-sort{cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:3px;user-select:none}
.browse-col-site.browse-sort{justify-content:flex-start}
.browse-col-type.browse-sort,.browse-col-itm.browse-sort,.browse-col-pko.browse-sort,.browse-col-tag.browse-sort{justify-content:center}
.browse-sort:hover{color:#d8e0ea}
.browse-sort-arrow{font-size:8px;width:8px;display:inline-block}
.browse-col-check{width:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.browse-row-check{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--ss-brand-bright,#82d9f0);font-size:12px;font-weight:700}
.browse-col-date{width:92px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap;overflow:hidden}
.browse-col-field{width:52px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-finish{width:48px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-net{width:76px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);font-weight:700;color:#d8e0ea}
.browse-col-net.scope-win{color:var(--result-win)}
.browse-col-net.scope-loss{color:var(--result-loss)}
.browse-col-hands{width:60px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-speed{width:60px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-level{width:40px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-table{width:54px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-type{width:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--type-subtitle);color:#d8e0ea}
.browse-col-itm{width:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:3px;font-size:var(--type-subtitle);color:#d8e0ea}
.phase-slot-itm,.phase-slot-ft{width:24px;flex-shrink:0;display:inline-flex;justify-content:center}
.browse-col-prize{width:64px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-bounty{width:64px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-pko{width:58px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--type-subtitle);color:#d8e0ea}
.browse-col-tag{width:74px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--type-subtitle);color:#d8e0ea}
.browse-col-site{width:28px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-start;font-size:var(--type-subtitle);color:#d8e0ea}
.browse-col-start{width:50px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-latereg{width:48px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-reentry{width:46px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-duration{width:60px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:#d8e0ea;white-space:nowrap}
.browse-col-tid{width:110px;flex-shrink:0;text-align:right;font-size:var(--type-subtitle);color:var(--ss-tournament-id,#b9a7ff);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.browse-col-menu{margin-left:auto;flex-shrink:0}
.browse-col-menu summary{min-height:auto;padding:1px 6px;font-size:9px;border-radius:10px}
/* Column-width drag handles (FM: "make the columns the way we can adapt
   the width ourselves as needed"). One handle per header cell, anchored to
   its right edge; #browse-tourn-hdr>div needs position:relative for that
   absolute anchor -- every header cell here is a plain flex item with no
   position of its own, so this can't affect anything else. Sits fully
   INSIDE the cell (right:0, not right:-4px) rather than straddling its
   border -- a header cell with overflow:hidden for text truncation
   (Buy-in, Date, Tourn ID) clipped away the part that stuck out past the
   edge, making the handle invisible and unclickable on exactly those
   columns (FM: "to buy in it seems blocked to adapt the width"). */
#browse-tourn-hdr>div{position:relative}
.browse-col-resize{position:absolute;top:0;right:0;bottom:0;width:8px;cursor:col-resize;z-index:2}
.browse-col-resize::after{content:'';position:absolute;top:3px;bottom:3px;right:3px;width:2px;border-radius:1px;background:var(--brd2,rgba(255,255,255,0.13));transition:background .15s,opacity .15s}
.browse-col-resize:hover::after{background:var(--ss-brand-bright,#82d9f0)}
body.browse-col-resizing{cursor:col-resize;user-select:none}
body.browse-col-resizing .browse-col-resize::after{background:var(--ss-brand-bright,#82d9f0)}
.browse-tourn-row{cursor:pointer}
/* .scope-tourn-row/.scope-tourn-hdr are plain flow blocks, so their own
   box only ever fills .browse-table-wrap's un-scrolled width -- the
   .browse-col-* children still overflow that box and render fine
   (nothing clips them), which is why the extra columns are readable
   when scrolled, but the row/header's own background-color only ever
   painted up to that original width. With the default column set this
   was never wide enough to be visible; FM enabled more optional
   columns via the Columns menu and it became obvious: the .active
   row's highlight (and the header's own bg) stopped partway across
   instead of reaching the real right edge ("the selection is still
   too short when the list is wider/has more columns"). fit-content
   lets each one size to its actual children instead of the container,
   with min-width:100% keeping a short column set filling the full
   width exactly as before.
*/
.browse-tourn-row,.browse-tourn-hdr{width:fit-content;min-width:100%}
.browse-pagerow{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 2px 2px;flex-wrap:wrap}
.browse-pagenums{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:210px}
.browse-page-btn{border:none;background:transparent;color:var(--text-label,#a6b2c1);font-size:var(--type-body);font-weight:700;padding:2px 6px;cursor:pointer;transition:color .12s}
.browse-page-btn:hover{color:var(--text-body)}
.browse-page-btn.on{color:var(--ss-brand-bright,#82d9f0)}
.browse-page-ellipsis{color:var(--text-label,#a6b2c1);padding:0 2px;font-size:var(--type-small)}
.browse-footer{display:flex;align-items:center;gap:10px;padding:8px 2px 2px}
.browse-selected-count{font-size:var(--type-label);color:var(--text-body)}
