/* ==========================================================================
   Previously LIVE GAME hero + centered game modal — sportsbook LED wall
   Steelers at Browns, TNF 2026-10-01. James directive: the hero IS the game.
   Aesthetic: matches the Odds Board — dark LED, amber LED type, gold banners.
   HONESTY CONTRACT: nothing here ever fabricates plays, scores, or LIVE
   state. The LIVE treatment renders only when the ESPN feed says the game
   is in progress. Pre-game shows the honest pre-game panel. Fail closed.
   ========================================================================== */
.lg-hero{
  background:#050505;
  border-top:1px solid #1c1505;border-bottom:1px solid #1c1505;
  font-family:ui-monospace,'SF Mono','Cascadia Mono',Menlo,Consolas,'Liberation Mono',monospace;
  color:#ffb000;
}
.lg-hero__inner{max-width:1180px;margin:0 auto;padding:26px 20px 30px}
.lg-banner{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:linear-gradient(180deg,#ffd75e,#e8a90c);
  color:#0a0a0a;font-weight:700;letter-spacing:.28em;font-size:12px;
  padding:10px 18px;margin:0 0 18px;
  box-shadow:0 0 26px rgba(255,190,60,.35);
}
.lg-live-dot{display:inline-flex;align-items:center;gap:8px}
.lg-live-dot i{width:9px;height:9px;border-radius:50%;background:#3a2f12}
.lg-hero.is-live .lg-live-dot i{background:#ff3b30;box-shadow:0 0 10px #ff3b30;animation:lgpulse 1.4s infinite}
@keyframes lgpulse{50%{opacity:.35}}
.lg-updated{font-size:10px;letter-spacing:.18em;color:#0a0a0a;opacity:.65}

.lg-score{display:flex;align-items:stretch;justify-content:center;gap:8px;margin-bottom:18px}
.lg-team{flex:1;max-width:300px;text-align:center;padding:14px 10px;background:rgba(255,170,0,.03)}
.lg-team .abbr{font-size:30px;font-weight:700;color:#ffe9b0;letter-spacing:.1em;text-shadow:0 0 12px rgba(255,200,80,.5)}
.lg-team .rec{font-size:11px;color:#8a6a1f;letter-spacing:.2em;margin-top:4px}
.lg-team .pts{font-size:64px;font-weight:700;color:#ffb000;text-shadow:0 0 14px rgba(255,183,0,.8);font-variant-numeric:tabular-nums;line-height:1.1}
.lg-mid{min-width:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 14px}
.lg-clock{font-size:26px;font-weight:700;color:#ffd75e;text-shadow:0 0 10px rgba(255,183,0,.9);font-variant-numeric:tabular-nums}
.lg-period{font-size:11px;letter-spacing:.3em;color:#8a6a1f}
.lg-down{font-size:12px;color:#ffe9b0;letter-spacing:.06em}
.lg-pregame{text-align:center;padding:8px 0 2px}
.lg-pregame .lg-kick{font-size:22px;color:#ffd75e;letter-spacing:.08em;text-shadow:0 0 10px rgba(255,183,0,.7)}
.lg-pregame .lg-venue{font-size:12px;color:#8a6a1f;letter-spacing:.14em;margin-top:8px}

/* ---- field visualization ---- */
.lg-field{margin:4px auto 20px;max-width:900px}
.lg-field__label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.24em;color:#8a6a1f;margin-bottom:6px}
.lg-field__turf{
  position:relative;height:64px;border-radius:6px;overflow:hidden;
  background:
    repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),rgba(255,176,0,.25) calc(10% - 1px) 10%),
    linear-gradient(180deg,#0d1f0d,#081408);
  border:1px solid #1c2b1c;
}
.lg-field__numbers{position:absolute;inset:0;pointer-events:none}
.lg-field__numbers span{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:10px;color:rgba(255,233,176,.4);letter-spacing:.1em}
.lg-ball{
  position:absolute;top:6px;bottom:6px;width:3px;background:#ffd75e;
  box-shadow:0 0 12px rgba(255,215,94,.9);transition:left .6s ease;
}
.lg-ball::after{
  content:"";position:absolute;top:-2px;left:50%;transform:translateX(-50%);
  width:12px;height:12px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#8a5a2a,#3a2410);
  border:1px solid #c89a5a;
}
.lg-field__poss{font-size:11px;color:#ffe9b0;letter-spacing:.1em;margin-top:8px;text-align:center}
.lg-field__poss b{color:#ffd75e}

/* ---- columns: plays + stats ---- */
.lg-cols{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}
@media (max-width:860px){.lg-cols{grid-template-columns:1fr}}
.lg-panel{background:rgba(255,170,0,.025);padding:16px 18px}
.lg-panel h3{font-size:11px;letter-spacing:.32em;color:#ffd75e;margin:0 0 12px;font-weight:700}
.lg-plays{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto}
.lg-plays li{padding:9px 2px;border-bottom:1px solid rgba(255,170,0,.08);font-size:12.5px;line-height:1.55;color:#ffe9b0}
.lg-plays li .lg-pmeta{display:block;font-size:10px;color:#8a6a1f;letter-spacing:.14em;margin-bottom:3px}
.lg-plays li.lg-score-play{color:#ffd75e}
.lg-plays li.lg-score-play::before{content:"★ ";color:#ffd75e}
.lg-plays li:first-child{background:rgba(255,183,0,.06);margin:0 -6px;padding:9px 8px}
.lg-stats{width:100%;border-collapse:collapse;font-size:12.5px}
.lg-stats th,.lg-stats td{padding:8px 6px;text-align:right;font-variant-numeric:tabular-nums}
.lg-stats th{color:#8a6a1f;font-weight:400;letter-spacing:.08em;font-size:10.5px}
.lg-stats td:first-child,.lg-stats th:first-child{text-align:left;color:#8a6a1f}
.lg-stats td{color:#ffe9b0}
.lg-stats tr td:nth-child(2),.lg-stats tr td:nth-child(3){color:#ffb000;text-shadow:0 0 8px rgba(255,170,0,.35)}
.lg-wp{margin-top:14px}
.lg-wp__bar{height:10px;border-radius:5px;overflow:hidden;display:flex;background:#1a1a1a}
.lg-wp__bar i{display:block;height:100%}
.lg-wp__lbl{display:flex;justify-content:space-between;font-size:10.5px;color:#8a6a1f;letter-spacing:.12em;margin-top:6px}
.lg-note{font-size:11px;color:#5c4718;letter-spacing:.06em;margin-top:14px;line-height:1.7}
.lg-error{font-size:12px;color:#8a6a1f;letter-spacing:.06em;padding:10px 0}

/* ---- teaser mode (sports home): compact scoreboard + CTA to matchup page ---- */
.lg-hero__inner.lg-teaser{padding-bottom:22px}
.lg-teaser__row{display:flex;align-items:stretch;justify-content:center;gap:8px;margin-bottom:14px}
.lg-teaser__row .lg-team{flex:0 1 220px;padding:8px 10px}
.lg-teaser__row .lg-team .abbr{font-size:24px}
.lg-teaser__row .lg-team .pts{font-size:48px}
.lg-teaser__row .lg-mid{min-width:150px}
.lg-teaser__kick{font-size:18px;color:#ffd75e;letter-spacing:.08em;text-shadow:0 0 10px rgba(255,183,0,.7)}
.lg-teaser-cta{
  display:block;text-align:center;max-width:560px;margin:0 auto;
  background:linear-gradient(180deg,#ffd75e,#e8a90c);color:#0a0a0a;
  font-weight:700;font-size:13px;letter-spacing:.22em;
  padding:14px 20px;border-radius:4px;text-decoration:none;
  box-shadow:0 0 26px rgba(255,190,60,.35);
}
.lg-teaser-cta:hover{filter:brightness(1.08)}

/* ==========================================================================
   CENTERED GAME MODAL — James: matchup detail pops center-screen, never a
   bottom sheet. Sportsbook LED-wall vibes throughout. Reuses the existing
   #scrim overlay hooks so openSheet/closeSheet keep working.
   ========================================================================== */
.sheet-scrim{align-items:center !important;padding:20px}
.sheet{
  width:min(880px,100%);max-height:90vh;
  border-radius:14px !important;border:1px solid #3a2c10 !important;
  background:#070707 !important;
  box-shadow:0 0 60px rgba(255,180,0,.18),0 24px 80px rgba(0,0,0,.8) !important;
  animation:lgmodalin .26s ease !important;
  font-family:ui-monospace,'SF Mono','Cascadia Mono',Menlo,Consolas,'Liberation Mono',monospace;
}
@keyframes lgmodalin{from{transform:scale(.96) translateY(10px);opacity:0}to{transform:none;opacity:1}}
.sheet .sk{color:#ffd75e !important}
.sheet h3{color:#ffe9b0 !important;font-family:inherit !important;letter-spacing:.06em !important}
.sheet .row{border-bottom:1px solid rgba(255,170,0,.1) !important}
.sheet .row span:first-child{color:#8a6a1f !important}
.sheet .row span:last-child{color:#ffe9b0 !important}
.sheet .close{border-color:#3a2c10 !important;color:#ffb000 !important}
.lg-modal-plays{list-style:none;margin:14px 0 0;padding:0;max-height:300px;overflow:auto}
.lg-modal-plays li{padding:8px 2px;border-bottom:1px solid rgba(255,170,0,.08);font-size:12.5px;line-height:1.55;color:#ffe9b0}
.lg-modal-plays li .lg-pmeta{display:block;font-size:10px;color:#8a6a1f;letter-spacing:.14em;margin-bottom:2px}
.lg-modal-plays li.lg-score-play{color:#ffd75e}
.lg-modal-field{margin:14px 0 4px}
@media (max-width:640px){
  .lg-score{gap:4px}
  .lg-team .pts{font-size:44px}
  .lg-team .abbr{font-size:22px}
  .lg-mid{min-width:120px}
  .lg-clock{font-size:20px}
  .sheet{padding:20px 18px 34px !important}
}

/* Modal note box — gold, not red, to match the sportsbook wall */
.sheet .note{
  background:rgba(255,183,0,.06) !important;border:1px solid rgba(255,183,0,.28) !important;
}
.sheet .note b{color:#ffd75e !important}

/* ==========================================================================
   LAPTOP COMPACT MODE — James 2026-10-01 game night: on laptop viewports
   with limited vertical room, "zoom out" the hero so the whole panel
   (score/clock, field, plays, stats, win probability) fits at a glance
   with no scrolling. Pure sizing change: same layout, same content.
   Phone (<=860px) and tall desktop keep the full-size treatment.
   ========================================================================== */
@media (min-width:861px) and (max-height:920px){
  .lg-hero__inner{padding:14px 20px 16px}
  .lg-banner{padding:7px 14px;margin:0 0 10px;font-size:11px;letter-spacing:.24em}
  .lg-score{gap:6px;margin-bottom:10px}
  .lg-team{padding:8px 8px}
  .lg-team .abbr{font-size:22px}
  .lg-team .rec{font-size:10px;margin-top:2px}
  .lg-team .pts{font-size:44px;line-height:1.05}
  .lg-mid{min-width:140px;padding:6px 10px;gap:3px}
  .lg-clock{font-size:20px}
  .lg-period{font-size:10px}
  .lg-down{font-size:11px}
  .lg-pregame .lg-kick{font-size:18px}
  .lg-pregame .lg-venue{font-size:11px;margin-top:5px}
  .lg-field{margin:0 auto 12px}
  .lg-field__label{margin-bottom:4px}
  .lg-field__turf{height:48px}
  .lg-field__poss{margin-top:5px;font-size:10.5px}
  .lg-cols{gap:14px}
  .lg-panel{padding:12px 14px}
  .lg-panel h3{margin:0 0 8px;font-size:10.5px}
  .lg-plays{max-height:190px}
  .lg-plays li{padding:7px 2px;font-size:11.5px;line-height:1.5}
  .lg-plays li:first-child{padding:7px 8px}
  .lg-stats{font-size:11.5px}
  .lg-stats th,.lg-stats td{padding:6px 5px}
  .lg-wp{margin-top:10px}
  .lg-note{margin-top:10px;line-height:1.6}
}
