/* ════════════════════════════════════════════════════════════════
   CARIBE REFERENCE — EDITORIAL LIGHT THEME (Sports Illustrated feel)
   ════════════════════════════════════════════════════════════════ */

:root{
  --bg:        #f6f2e7;       /* warm newsprint */
  --bg2:       #efe9da;
  --paper:     #fcfaf3;
  --ink:       #14110b;
  --ink2:      #3a342a;
  --ink3:      #6e655a;
  --ink4:      #a89e8e;
  --rule:      #d8d0bf;
  --rule2:     #ebe4d2;
  --red:       #c1272d;       /* mast red */
  --navy:      #0f2a44;
  --gold:      #b08c2e;
  --green:     #4a7c59;
  --tan:       #c69b6d;
  --hl:        #fff3a0;       /* highlighter yellow */
  --r: 4px;
  --shadow:    0 1px 0 rgba(20,17,11,.05);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;
  background:var(--bg);
  color:var(--ink);
  min-height:100vh;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

/* paper texture */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 80% 40% at 30% 0%, rgba(176,140,46,.06) 0%, transparent 60%),
    repeating-linear-gradient(0deg, transparent 0 2px, rgba(20,17,11,.012) 2px 3px);
}

.app{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:0 24px 80px;}

/* ── MASTHEAD ───────────────────────────────────────────────── */
.mast{
  border-top:6px solid var(--ink);
  padding-top:18px;
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;
  border-bottom:1px solid var(--ink);
  padding-bottom:14px;
  margin-bottom:0;
}
.mast-left{display:flex;flex-direction:column;gap:4px;}
.mast-eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:var(--red);
}
.mast-title{
  font-family:'Bebas Neue',Impact,sans-serif;
  font-size:64px;line-height:.92;letter-spacing:-1px;color:var(--ink);
}
.mast-title em{font-style:normal;color:var(--red);}
.mast-tagline{
  font-family:'Source Serif 4',Georgia,serif;font-style:italic;
  font-size:14px;color:var(--ink3);margin-top:6px;
}
.mast-right{
  text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end;
}
.mast-date{
  font-family:'DM Mono',monospace;font-size:11px;color:var(--ink3);letter-spacing:1px;
}
.mast-edition{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:13px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--ink);
  border:1px solid var(--ink);padding:5px 12px;
}
.mast-search{
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--rule);background:var(--paper);
  padding:6px 12px;width:240px;
}
.mast-search input{
  border:none;outline:none;background:none;font-family:'Source Serif 4',serif;
  font-size:13px;color:var(--ink);width:100%;
}
.mast-search svg{width:14px;height:14px;color:var(--ink3);flex-shrink:0;}

/* ── NAV ────────────────────────────────────────────────────── */
nav.primary{
  display:flex;gap:0;
  border-bottom:1px solid var(--ink);
  margin-bottom:28px;overflow-x:auto;background:var(--paper);
}
nav.primary::-webkit-scrollbar{display:none;}
.nav-btn{
  padding:14px 20px;background:none;border:none;cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--ink2);
  border-right:1px solid var(--rule);
  transition:background .15s,color .15s;white-space:nowrap;
  position:relative;
}
.nav-btn:hover{background:var(--bg2);color:var(--red);}
.nav-btn.active{
  background:var(--ink);color:var(--paper);
}
.nav-btn.active::after{
  content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--red);
}

/* ── PANELS ─────────────────────────────────────────────────── */
.panel{display:none;}
.panel.active{display:block;animation:fadeUp .25s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ── TYPE ───────────────────────────────────────────────────── */
.kicker{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--red);
  display:inline-block;
}
.headline{
  font-family:'Bebas Neue',Impact,sans-serif;font-size:36px;line-height:.95;
  letter-spacing:-.5px;color:var(--ink);margin:6px 0 4px;
}
.subhead{
  font-family:'Source Serif 4',Georgia,serif;font-style:italic;
  font-size:15px;line-height:1.5;color:var(--ink3);max-width:720px;
}
.byline{
  font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1px;
  color:var(--ink4);text-transform:uppercase;margin-top:6px;
}
.section-rule{
  display:flex;align-items:center;gap:14px;
  margin:32px 0 18px;
}
.section-rule .num{
  font-family:'Bebas Neue',Impact,sans-serif;font-size:18px;
  background:var(--ink);color:var(--paper);
  padding:2px 10px 1px;letter-spacing:1px;
}
.section-rule .lab{
  font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--ink);
}
.section-rule::after{content:'';flex:1;border-bottom:1px solid var(--ink);}

/* ── LEAGUE PILLS ───────────────────────────────────────────── */
.league-tabs{display:flex;gap:0;margin-bottom:24px;flex-wrap:wrap;border:1px solid var(--ink);width:fit-content;}
.league-tab{
  padding:9px 16px;background:var(--paper);border:none;border-right:1px solid var(--ink);cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:1.2px;text-transform:uppercase;color:var(--ink2);
  display:flex;align-items:center;gap:8px;transition:background .15s;
}
.league-tab:last-child{border-right:none;}
.league-tab:hover{background:var(--bg2);}
.league-tab.active{background:var(--ink);color:var(--paper);}
.league-flag{font-size:14px;}

/* ── CARDS ──────────────────────────────────────────────────── */
.card{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:20px;
  position:relative;
}
.card-title{
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--ink3);
  margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--rule);
}
.card-title .tag{
  display:inline-block;background:var(--red);color:#fff;
  padding:1px 6px;font-size:9px;letter-spacing:1.5px;margin-right:8px;
}

/* ── GRID ───────────────────────────────────────────────────── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.six-col{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.dash-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  grid-template-rows:auto auto auto;
  gap:18px;
}
.dash-grid .span2{grid-column:span 2;}
.dash-grid .spanall{grid-column:1 / -1;}

@media(max-width:1100px){
  .dash-grid{grid-template-columns:1fr 1fr;}
  .dash-grid .span2,.dash-grid .spanall{grid-column:1/-1;}
}
@media(max-width:760px){
  .two-col,.three-col,.four-col,.six-col,.dash-grid{grid-template-columns:1fr;}
  .mast-title{font-size:48px;}
  .mast-right{display:none;}
  .app{padding:0 14px 60px;}
}

/* ── HERO STORY ─────────────────────────────────────────────── */
.hero-story{
  background:var(--paper);
  border:1px solid var(--ink);
  padding:24px;
  display:grid;grid-template-columns:1fr 1fr;gap:28px;
  margin-bottom:28px;
}
.hero-story-text .headline{font-size:44px;}
.hero-story-image{
  background:var(--bg2);
  border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;
  min-height:280px;font-family:'DM Mono',monospace;font-size:11px;
  color:var(--ink4);letter-spacing:1px;
  background-image:
    repeating-linear-gradient(45deg, transparent 0 8px, rgba(20,17,11,.04) 8px 9px);
}
@media(max-width:900px){.hero-story{grid-template-columns:1fr;}}

/* ── STATS BLOCK ────────────────────────────────────────────── */
.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--ink);background:var(--paper);}
.stat-tile{
  padding:18px;border-right:1px solid var(--rule);text-align:left;
}
.stat-tile:last-child{border-right:none;}
.stat-tile .lab{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:1.8px;text-transform:uppercase;color:var(--ink3);
}
.stat-tile .val{
  font-family:'Bebas Neue',Impact,sans-serif;font-size:38px;line-height:1;color:var(--ink);
  margin:6px 0 2px;
}
.stat-tile .sub{
  font-family:'Source Serif 4',serif;font-style:italic;font-size:12px;color:var(--ink3);
}

/* ── STANDINGS ──────────────────────────────────────────────── */
.standings-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--rule);}
.standings-table{width:100%;border-collapse:collapse;font-size:13px;}
.standings-table thead{background:var(--ink);color:var(--paper);}
.standings-table th{
  padding:10px 12px;text-align:center;
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  white-space:nowrap;
}
.standings-table th:first-child,.standings-table th:nth-child(2){text-align:left;}
.standings-table td{
  padding:10px 12px;text-align:center;border-bottom:1px solid var(--rule);
  font-family:'DM Mono',monospace;font-size:12px;color:var(--ink2);
  white-space:nowrap;
}
.standings-table td:first-child{color:var(--ink4);font-size:11px;width:36px;}
.standings-table td:nth-child(2){
  text-align:left;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:14px;color:var(--ink);letter-spacing:.4px;cursor:pointer;
}
.standings-table td:nth-child(2):hover{color:var(--red);text-decoration:underline;}
.standings-table tr.playoff td{background:#fff8e6;}
.standings-table tr.playoff td:first-child{
  background:var(--gold);color:#fff;font-weight:700;
}
.standings-table tr:hover td{background:var(--bg2);}
.standings-table tr.playoff:hover td{background:#fff0c8;}
.team-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px;flex-shrink:0;border:1px solid rgba(0,0,0,.2);}
.team-cell{display:flex;align-items:center;}
.gb-cell{color:var(--ink4)!important;}
.standings-table .w{color:var(--green);font-weight:700;}
.standings-table .l{color:var(--red);font-weight:700;}

/* ── CHART CONTAINERS ───────────────────────────────────────── */
.chart{display:block;width:100%;height:auto;overflow:visible;}
.chart .ch-bar,.chart .ch-dot{transition:opacity .15s,transform .15s;cursor:pointer;}
.chart .ch-bar:hover{opacity:.75;}
.chart .ch-dot:hover{r:5;}

/* tooltip */
.tooltip{
  position:fixed;pointer-events:none;
  background:var(--ink);color:var(--paper);
  font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.4px;
  padding:6px 10px;border-radius:0;
  z-index:100;opacity:0;transition:opacity .1s;
  white-space:nowrap;
}
.tooltip.show{opacity:1;}

/* ── SPRAY LEGEND ──────────────────────────────────────────── */
.spray-legend{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:8px;}
.spray-legend .leg{display:flex;align-items:center;gap:5px;font-family:'DM Mono',monospace;font-size:10px;color:var(--ink3);letter-spacing:.4px;}
.spray-legend .sw{width:10px;height:10px;border-radius:50%;}

/* ── DONUT LEGEND ──────────────────────────────────────────── */
.donut-legend{display:flex;flex-direction:column;gap:4px;font-family:'DM Mono',monospace;font-size:11px;}
.dl-row{display:flex;align-items:center;gap:8px;padding:3px 0;border-bottom:1px dotted var(--rule);}
.dl-row:last-child{border:none;}
.dl-sw{width:10px;height:10px;flex-shrink:0;}
.dl-lab{flex:1;color:var(--ink2);}
.dl-val{color:var(--ink);font-weight:700;font-family:'Bebas Neue';font-size:14px;letter-spacing:.5px;}

/* ── TEAM CARDS ─────────────────────────────────────────────── */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.team-card{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:0;cursor:pointer;
  transition:border-color .15s,transform .15s;
  position:relative;
}
.team-card:hover{border-color:var(--ink);transform:translateY(-2px);}
.team-card-bar{height:6px;}
.team-card-body{padding:18px;}
.team-card-emoji{font-size:32px;display:block;line-height:1;margin-bottom:8px;}
.team-card-name{font-family:'Bebas Neue',Impact,sans-serif;font-size:24px;line-height:1;color:var(--ink);letter-spacing:.5px;}
.team-card-city{font-family:'DM Mono',monospace;font-size:10px;color:var(--ink3);letter-spacing:1px;text-transform:uppercase;margin-top:4px;}
.team-card-stats{display:flex;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);}
.team-card-stats .stat{display:flex;flex-direction:column;gap:0;}
.team-card-stats .stat .lab{font-family:'Barlow Condensed';font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink3);}
.team-card-stats .stat .val{font-family:'Bebas Neue';font-size:20px;color:var(--ink);}

/* ── PLAYER CARDS ───────────────────────────────────────────── */
.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;}
.player-card{
  background:var(--paper);border:1px solid var(--rule);
  padding:14px;cursor:pointer;display:flex;gap:12px;align-items:center;
  transition:border-color .15s,transform .15s;
}
.player-card:hover{border-color:var(--ink);transform:translateY(-1px);}
.player-num{
  font-family:'Bebas Neue';font-size:28px;line-height:1;color:var(--red);
  border-right:1px solid var(--rule);padding-right:10px;min-width:42px;text-align:center;
}
.player-info{flex:1;min-width:0;}
.player-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;color:var(--ink);letter-spacing:.3px;text-transform:uppercase;}
.player-meta{font-family:'DM Mono',monospace;font-size:10px;color:var(--ink3);margin-top:2px;letter-spacing:.5px;}
.player-pos-badge{
  font-family:'Barlow Condensed';font-size:10px;font-weight:700;letter-spacing:1px;
  background:var(--ink);color:var(--paper);padding:2px 6px;
}

/* ── PLAYER PROFILE HEADER ─────────────────────────────────── */
.player-hero{
  background:var(--paper);
  border:1px solid var(--ink);
  padding:0;margin-bottom:24px;overflow:hidden;
  display:grid;grid-template-columns:200px 1fr;
}
.player-hero-photo{
  background:var(--bg2);
  display:flex;align-items:center;justify-content:center;
  border-right:1px solid var(--ink);
  min-height:240px;
  font-family:'DM Mono',monospace;font-size:10px;color:var(--ink4);text-align:center;padding:14px;
  background-image:repeating-linear-gradient(45deg, transparent 0 8px, rgba(20,17,11,.04) 8px 9px);
}
.player-hero-body{padding:22px 24px;position:relative;}
.player-hero-num{
  position:absolute;top:14px;right:20px;
  font-family:'Bebas Neue';font-size:88px;color:var(--red);line-height:.85;letter-spacing:-2px;
}
.player-hero-name{font-family:'Bebas Neue',Impact,sans-serif;font-size:54px;line-height:.92;color:var(--ink);letter-spacing:-.5px;}
.player-hero-team{font-family:'Source Serif 4',serif;font-style:italic;font-size:16px;color:var(--ink3);margin-top:4px;}
.player-hero-bio{
  font-family:'Source Serif 4',serif;font-size:14px;color:var(--ink2);
  margin-top:14px;padding-top:14px;border-top:1px solid var(--rule);max-width:560px;line-height:1.55;
}
.player-hero-meta{
  display:flex;gap:0;margin-top:14px;border:1px solid var(--rule);background:var(--bg);width:fit-content;
}
.player-hero-meta .item{padding:6px 14px;border-right:1px solid var(--rule);font-family:'DM Mono',monospace;font-size:11px;color:var(--ink3);letter-spacing:.5px;}
.player-hero-meta .item:last-child{border-right:none;}
.player-hero-meta .item b{color:var(--ink);font-family:'Barlow Condensed';font-weight:700;font-size:13px;letter-spacing:.8px;text-transform:uppercase;}
@media(max-width:760px){
  .player-hero{grid-template-columns:1fr;}
  .player-hero-photo{border-right:none;border-bottom:1px solid var(--ink);min-height:160px;}
  .player-hero-num{font-size:60px;}
  .player-hero-name{font-size:36px;}
}

/* ── BOX SCORE / GAME ROW ──────────────────────────────────── */
.game-row{
  display:flex;align-items:center;gap:14px;
  background:var(--paper);border:1px solid var(--rule);
  padding:12px 16px;transition:border-color .15s,background .15s;cursor:pointer;
}
.game-row:hover{border-color:var(--ink);background:var(--bg2);}
.game-date{font-family:'DM Mono',monospace;font-size:11px;color:var(--ink3);min-width:64px;letter-spacing:.5px;}
.game-teams{flex:1;display:flex;flex-direction:column;gap:2px;}
.game-team-row{display:flex;align-items:center;gap:8px;font-family:'Barlow Condensed';font-weight:700;font-size:14px;color:var(--ink);}
.game-team-row .ts{margin-left:auto;font-family:'Bebas Neue';font-size:20px;color:var(--ink);}
.game-team-row.win .ts{color:var(--red);}
.game-team-row.win .nm::before{content:'▶';color:var(--red);font-size:10px;margin-right:4px;}
.game-team-row .nm{font-size:13px;letter-spacing:.4px;}
.game-venue{font-family:'DM Mono',monospace;font-size:10px;color:var(--ink4);min-width:120px;text-align:right;letter-spacing:.5px;}

/* ── COLOPHON / FOOTER ──────────────────────────────────────── */
.colophon{
  margin-top:60px;padding-top:24px;border-top:6px double var(--ink);
}
.col-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
  font-family:'Source Serif 4',serif;font-size:13px;line-height:1.5;color:var(--ink2);
  padding-bottom:24px;border-bottom:1px solid var(--rule);
}
.col-grid b{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:11px;color:var(--ink);display:block;margin-bottom:8px;}
.col-grid em{color:var(--ink3);}
.col-bottom{
  font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1.5px;
  color:var(--ink4);text-align:center;padding:18px 0 32px;
}
@media(max-width:900px){.col-grid{grid-template-columns:1fr;gap:18px;}}

/* ── TWEAKS PANEL ───────────────────────────────────────────── */
.tweaks{
  position:fixed;right:18px;bottom:18px;z-index:50;
  background:var(--paper);border:1px solid var(--ink);
  width:280px;font-family:'Source Serif 4',serif;
  box-shadow:0 8px 24px rgba(20,17,11,.18);display:none;
}
.tweaks.open{display:block;animation:slideUp .2s ease;}
@keyframes slideUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.tweaks-header{
  background:var(--ink);color:var(--paper);
  padding:8px 12px;display:flex;align-items:center;justify-content:space-between;
  font-family:'Barlow Condensed';font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
}
.tweaks-close{background:none;border:none;color:var(--paper);cursor:pointer;font-size:16px;line-height:1;}
.tweaks-body{padding:14px;display:flex;flex-direction:column;gap:14px;}
.tw-row{display:flex;flex-direction:column;gap:6px;}
.tw-lab{font-family:'Barlow Condensed';font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink3);}
.tw-seg{display:flex;border:1px solid var(--ink);}
.tw-seg button{
  flex:1;padding:6px 8px;background:var(--paper);border:none;cursor:pointer;
  font-family:'Barlow Condensed';font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ink2);
  border-right:1px solid var(--ink);
}
.tw-seg button:last-child{border-right:none;}
.tw-seg button.active{background:var(--ink);color:var(--paper);}
.tw-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;}
.tw-toggle input{accent-color:var(--red);}

/* ── BUTTONS ───────────────────────────────────────────────── */
.btn-text{
  background:none;border:none;cursor:pointer;
  font-family:'Barlow Condensed';font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink2);padding:6px 10px;border:1px solid var(--rule);
  transition:all .15s;
}
.btn-text:hover{border-color:var(--ink);color:var(--ink);}
.btn-text.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.back-btn{
  font-family:'Barlow Condensed';font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink2);background:none;border:none;cursor:pointer;padding:8px 0;margin-bottom:14px;
  display:inline-flex;align-items:center;gap:6px;
}
.back-btn:hover{color:var(--red);}

/* ── COMPARE SLOT ──────────────────────────────────────────── */
.cmp-slot{
  background:var(--paper);border:1px dashed var(--ink3);
  padding:18px;text-align:center;min-height:200px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
}
.cmp-slot.filled{border-style:solid;border-color:var(--rule);}
.cmp-slot select{
  font-family:'Barlow Condensed';font-size:13px;letter-spacing:.5px;
  padding:6px 10px;border:1px solid var(--ink);background:var(--paper);width:100%;
}

/* ── SORTABLE LEADERBOARD ──────────────────────────────────── */
.lb-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center;}
.lb-controls select{
  font-family:'Barlow Condensed';font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  padding:7px 12px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;
}
.lb-table{width:100%;border-collapse:collapse;background:var(--paper);font-size:13px;}
.lb-table thead{background:var(--ink);color:var(--paper);}
.lb-table th{padding:9px 12px;text-align:left;cursor:pointer;font-family:'Barlow Condensed';font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;}
.lb-table th:hover{background:#000;}
.lb-table th.sort-active{background:var(--red);}
.lb-table td{padding:9px 12px;border-bottom:1px solid var(--rule);font-family:'DM Mono',monospace;font-size:12px;color:var(--ink2);}
.lb-table td.player-cell{font-family:'Barlow Condensed';font-weight:700;font-size:14px;color:var(--ink);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;}
.lb-table td.player-cell:hover{color:var(--red);}
.lb-table tr:hover td{background:var(--bg2);}
.lb-table .num-col{font-family:'Bebas Neue';font-size:18px;color:var(--red);text-align:center;width:60px;}

/* ── SPLITS TABLE ──────────────────────────────────────────── */
.splits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--rule);}
.split-cell{padding:14px;border-right:1px solid var(--rule);background:var(--paper);text-align:center;}
.split-cell:last-child{border-right:none;}
.split-cell .lab{font-family:'Barlow Condensed';font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink3);}
.split-cell .v1{font-family:'Bebas Neue';font-size:30px;line-height:1;color:var(--ink);margin:6px 0 2px;}
.split-cell .v2{font-family:'DM Mono',monospace;font-size:11px;color:var(--ink3);}

/* ── BRACKET ───────────────────────────────────────────────── */
.bracket-wrap{display:flex;gap:0;padding:8px 0;overflow-x:auto;align-items:stretch;}
.bracket-col{display:flex;flex-direction:column;min-width:220px;flex:1;justify-content:space-around;gap:10px;}
.bracket-col.r1{justify-content:space-between;}
.bracket-col-title{font-family:'Barlow Condensed';font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink3);text-align:center;padding:6px 0 10px;border-bottom:1px solid var(--rule);margin-bottom:8px;}
.bracket-game{background:var(--paper);border:1px solid var(--rule);}
.bracket-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-family:'Barlow Condensed';font-weight:700;font-size:13px;color:var(--ink2);letter-spacing:.4px;}
.bracket-row.win{background:#fff3a040;color:var(--ink);}
.bracket-row.win .sc{color:var(--red);}
.bracket-row .sc{font-family:'Bebas Neue';font-size:18px;}
.bracket-row+.bracket-row{border-top:1px solid var(--rule);}

/* ── HISTORY ───────────────────────────────────────────────── */
.history-row{
  display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--rule);
}
.history-yr{font-family:'Bebas Neue';font-size:22px;color:var(--ink);min-width:90px;letter-spacing:.5px;}
.history-champ{flex:1;font-family:'Barlow Condensed';font-weight:700;font-size:14px;color:var(--ink);letter-spacing:.5px;}
.history-tag{
  font-family:'Barlow Condensed';font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  background:var(--gold);color:#fff;padding:2px 8px;
}

/* ── COUNTRY CARDS ─────────────────────────────────────────── */
.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.country-card{background:var(--paper);border:1px solid var(--rule);padding:18px;text-align:center;cursor:pointer;transition:border-color .15s;}
.country-card:hover{border-color:var(--ink);}
.country-flag{font-size:48px;line-height:1;margin-bottom:8px;}
.country-name{font-family:'Bebas Neue';font-size:22px;color:var(--ink);letter-spacing:.5px;}
.country-meta{font-family:'DM Mono',monospace;font-size:10px;color:var(--ink3);margin-top:2px;letter-spacing:.5px;}
.country-titles{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule);}
.country-titles .n{font-family:'Bebas Neue';font-size:36px;color:var(--red);line-height:1;}
.country-titles .l{font-family:'Barlow Condensed';font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink3);}

/* ── HEAD-TO-HEAD HERO ─────────────────────────────────────── */
.h2h-hero{
  display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;
  background:var(--paper);border:1px solid var(--ink);padding:28px;margin-bottom:20px;
}
.h2h-team{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;}
.h2h-emoji{font-size:64px;line-height:1;}
.h2h-name{font-family:'Bebas Neue';font-size:32px;color:var(--ink);letter-spacing:.5px;}
.h2h-record{font-family:'DM Mono',monospace;font-size:12px;color:var(--ink3);letter-spacing:1px;}
.h2h-vs{font-family:'Bebas Neue';font-size:48px;color:var(--red);}
.h2h-tally{font-family:'Source Serif 4',serif;font-style:italic;font-size:14px;color:var(--ink3);text-align:center;}

/* ── DASH BANNERS ──────────────────────────────────────────── */
.dash-marquee{
  display:flex;gap:0;border:1px solid var(--ink);background:var(--paper);
  margin-bottom:24px;overflow:hidden;
}
.dm-col{flex:1;padding:14px 18px;border-right:1px solid var(--rule);}
.dm-col:last-child{border-right:none;}
.dm-lab{font-family:'Barlow Condensed';font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink3);}
.dm-val{font-family:'Bebas Neue';font-size:28px;color:var(--ink);line-height:1;margin-top:4px;}
.dm-sub{font-family:'Source Serif 4',serif;font-style:italic;font-size:12px;color:var(--ink3);margin-top:4px;}

/* small extras */
.divider{border:none;border-top:1px solid var(--rule);margin:18px 0;}
.dotted{border-bottom:1px dotted var(--ink4);}
.legend-row{display:flex;gap:12px;flex-wrap:wrap;font-family:'DM Mono',monospace;font-size:10px;color:var(--ink3);letter-spacing:.5px;}
.legend-row .leg{display:flex;align-items:center;gap:5px;}
.legend-row .sw{width:14px;height:8px;}
