/* ============================================================
   live.css — Live Matchups (league night TV screen)
   Dark green shell, cream type, brass accents. Fits a 16:9 TV
   with no scrolling; stacks and scrolls on phones.
   ============================================================ */
.lv{height:100vh;display:flex;flex-direction:column;gap:10px;box-sizing:border-box;padding:12px 22px 12px;background:var(--green);color:var(--cream);font-family:var(--HG);overflow:hidden}
.lv .lv-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(255,255,255,.4)}

/* Header */
.lv-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid rgba(254,243,229,.4);flex-shrink:0}
.lv-title{font-family:var(--CA);font-style:italic;font-size:28px;line-height:1;color:#fff}
.lv-eyebrow{margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(254,243,229,.78)}
.lv-live{color:rgba(254,243,229,.78);display:inline-flex;align-items:center;gap:6px}
.lv-live i,.lv-state i{width:7px;height:7px;border-radius:50%;background:rgba(254,243,229,.78);display:inline-block;animation:pulse 1.4s ease-in-out infinite}
.lv-hd-r{display:flex;align-items:center;gap:16px}
.lv-clock{font-family:var(--CA);font-style:italic;font-size:28px;line-height:1;color:#fff}
.lv-pp{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(254,243,229,.78)}
.lv-exit{font-family:var(--HG);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:2px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;cursor:pointer}
.lv-exit:hover{border-color:#fff}

/* Tonight's scoreboards */
.lv-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;flex-shrink:0}
.lv-mu{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px 16px;padding:7px 18px 6px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:rgba(0,0,0,.12)}
.lv-mu-team{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#fef3e5;min-width:0}
.lv-mu-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-mu-team.r{justify-content:flex-end;text-align:right}
.lv-mu-team.lead{color:#fff}
.lv-mu-score{font-family:var(--CA);font-size:34px;line-height:1;color:#fff;display:flex;align-items:baseline;gap:10px}
.lv-mu-score em{font-style:normal;color:rgba(254,243,229,.78);font-size:26px}
.lv-mu-sub{grid-column:1 / -1;text-align:center;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(254,243,229,.78)}

/* Slot columns */
.lv-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:14px}
.lv-col{display:flex;flex-direction:column;gap:7px;min-height:0;padding:8px 10px;border-radius:4px;border:1px solid transparent}
.lv-col.live{background:rgba(255,255,255,.05);border-color:rgba(254,243,229,.7)}
.lv-col.final .lv-card,.lv-col.done .lv-card{opacity:.92}
.lv-col-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.2);flex-shrink:0}
.lv-time{font-family:var(--CA);font-style:italic;font-size:26px;line-height:1;color:#fff}
.lv-state{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(254,243,229,.78);display:inline-flex;align-items:center;gap:6px}
.lv-col.live .lv-state{color:var(--cream)}

/* Cards share the column height equally; js/live.js (_liveFit) shrinks the
   name size until every card fits, so nothing overlaps on any screen. */
.lv-card{flex:1 1 0;min-height:0;max-height:170px;overflow:hidden;display:flex;flex-direction:column;justify-content:safe center;gap:1px;padding:6px 14px;border-radius:4px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07)}
.lv-card.on{border-color:rgba(254,243,229,.8);background:rgba(255,255,255,.1)}
.lv-card-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:2px}
.lv-court{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(254,243,229,.78)}
.lv-score{font-size:15px;font-weight:800;letter-spacing:.04em;color:var(--cream);white-space:pre}
.lv-tag{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fef3e5}
.lv-side{display:flex;align-items:center;gap:10px;padding:3px 0;font-size:var(--lvfs,clamp(12px,min(1.12vw,2.2vh),23px));font-weight:600;color:#fff;min-width:0;line-height:1.18}
.lv-side .lv-dot{width:11px;height:11px}
.lv-names{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.lv-plus{color:rgba(254,243,229,.78);font-weight:400}
.lv-p{white-space:nowrap}
.lv-side.win{font-weight:800}
.lv-side.loss{color:rgba(254,243,229,.55)}
.lv-check{color:rgba(254,243,229,.78);font-weight:800}
.lv-tbd{color:rgba(254,243,229,.78);font-style:italic;font-weight:500}
.lv-pending,.lv-empty{font-size:15px;font-style:italic;color:rgba(254,243,229,.78);padding:14px 4px}
.lv-empty{text-align:center;padding:60px 0;font-size:20px}

/* Standings footer */
.lv-ft{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid rgba(254,243,229,.4);flex-shrink:0}
.lv-ft-lbl{font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(254,243,229,.78);margin-right:6px}
.lv-st{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(255,255,255,.14);border-radius:2px;background:rgba(0,0,0,.1);font-size:14px}
.lv-rk{font-family:var(--CA);font-style:italic;font-size:17px;color:rgba(254,243,229,.78)}
.lv-st .lv-dot{width:10px;height:10px}
.lv-st-t{font-weight:700;color:#fff}
.lv-st-w{font-weight:600;color:#fef3e5}
.lv-st .tn{font-size:12px;font-weight:800;color:rgba(254,243,229,.78)}
.lv-st .up{font-size:11px;font-weight:800;color:rgba(254,243,229,.78)}
.lv-st .dn{font-size:11px;font-weight:800;color:rgba(254,243,229,.7)}

/* Big TVs */
@media(min-width:1600px){
  .lv-time{font-size:32px}
  .lv-mu-team{font-size:22px}
  .lv-mu-score{font-size:48px}
}
/* Short screens (laptops, 720p): tighten the chrome so the names get the room */
@media(min-width:761px) and (max-height:820px){
  .lv{gap:7px;padding:8px 18px}
  .lv-hd{padding-bottom:5px}
  .lv-title,.lv-clock{font-size:22px}
  .lv-eyebrow{margin-top:3px;font-size:9px}
  .lv-mu{padding:4px 14px}
  .lv-mu-team{font-size:14px}
  .lv-mu-score{font-size:26px}
  .lv-mu-score em{font-size:18px}
  .lv-mu-sub{display:none}
  .lv-grid{gap:10px}
  .lv-col{gap:5px;padding:5px 7px}
  .lv-col-hd{padding-bottom:3px}
  .lv-time{font-size:20px}
  .lv-card{padding:3px 10px}
  .lv-court{font-size:9px}
  .lv-score{font-size:12px}
  .lv-side{padding:1px 0}
  .lv-ft{padding-top:5px}
  .lv-st{padding:3px 10px;font-size:12px}
}
/* Phones / small tablets: stack + scroll */
@media(max-width:760px){
  body.tv-mode{background:var(--green)}
  .lv{height:auto;min-height:100vh;overflow:visible;padding:12px 12px 20px}
  .lv-hd{flex-wrap:wrap;align-items:center}
  .lv-title{font-size:22px}
  .lv-eyebrow{font-size:9px;letter-spacing:.14em}
  .lv-clock{font-size:20px}
  .lv-pp{display:none}
  .lv-board{grid-template-columns:1fr}
  .lv-mu{padding:8px 12px}
  .lv-mu-team{font-size:14px}
  .lv-mu-score{font-size:30px}
  .lv-grid{grid-template-columns:1fr;flex:none}
  .lv-card{max-height:none;flex:none}
  .lv-side{font-size:15px}
  .lv-names{white-space:normal}
  .lv-ft{gap:6px}
}

/* Live screen always fills the whole window (no side bars on wide TVs) */
body.tv-mode{background:var(--green)!important}
body.tv-mode #mainwrap,body.tv-mode #content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
body.tv-mode .lv{width:100%}
