/*
  V37 PREVIEW PRESENTATION LAYER
  --------------------------------
  Presentation-only redesign. The confirmed V32/V34 data engine remains
  untouched in app.js and the safe ESPN ticker remains isolated in its add-on.
*/

:root{
  --bg:#01050b;
  --panel:#071522;
  --panel2:#020912;
  --line:rgba(131,185,221,.25);
  --lineStrong:rgba(146,211,250,.56);
  --text:#f8fbff;
  --muted:#a7bdcc;
  --glow:#62c5ff;
}

html,body{
  background:#000;
}

#stage,
#stage.addon-ticker-layout{
  grid-template-rows:34.7% 5.7% 23.2% 31.1% 5.3%;
  gap:.62%;
  padding:1.15% 1.45% 1.05%;
  isolation:isolate;
  background:
    radial-gradient(circle at 8% 24%,rgba(var(--awayRGB),.16),transparent 29%),
    radial-gradient(circle at 92% 25%,rgba(var(--homeRGB),.15),transparent 29%),
    linear-gradient(180deg,#071521 0%,#020912 44%,#01050b 100%);
  box-shadow:0 0 70px #000;
}

#stage:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:90;
  pointer-events:none;
  opacity:.32;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px);
  mix-blend-mode:soft-light;
}

#stage:after{
  z-index:99;
  box-shadow:
    inset 0 0 64px rgba(0,0,0,.94),
    inset 0 0 0 1px rgba(145,211,250,.24),
    inset 0 0 7px rgba(92,196,255,.22);
}

.metal{
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(12,32,48,.86),rgba(2,8,14,.93));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 5px 18px rgba(0,0,0,.36);
}

/* Immersive stadium hero */
.hero{
  min-width:0;
  min-height:0;
  border:1px solid rgba(147,211,250,.38);
  border-bottom-color:rgba(149,220,255,.68);
  background-color:#06111b;
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 7px 22px rgba(0,0,0,.5);
}

.hero:before{
  background:
    linear-gradient(90deg,rgba(var(--awayRGB),.30),rgba(2,7,12,.10) 39%,rgba(2,7,12,.10) 61%,rgba(var(--homeRGB),.30)),
    linear-gradient(180deg,rgba(1,5,10,.42) 0%,rgba(1,5,10,.05) 32%,rgba(1,5,10,.34) 68%,rgba(1,5,10,.92) 100%);
}

.hero:after{
  left:0;
  right:0;
  top:0;
  bottom:0;
  height:auto;
  z-index:2;
  filter:none;
  opacity:.42;
  background:
    linear-gradient(90deg,transparent 49.8%,rgba(189,232,255,.23) 50%,transparent 50.2%),
    repeating-linear-gradient(90deg,transparent 0 11.8%,rgba(189,232,255,.07) 12%);
}

.hero[data-venue-mode="fallback"]:after{
  height:auto;
  bottom:0;
  filter:none;
}

.branding{
  top:1.25%;
  width:52%;
  height:10.8%;
  overflow:visible;
}

.branding img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(20,140,255,.54));
}

.branding.brand-fallback:before{
  content:"MAN CAVE SPORTS BOOK";
  color:#f5f9fc;
  font:800 clamp(12px,2.2vw,24px)/1 "Roboto Condensed",Arial,sans-serif;
  letter-spacing:.05em;
  white-space:nowrap;
  text-shadow:0 2px 5px #000,0 0 8px rgba(24,136,255,.5);
}

.branding:after{
  content:"UPCOMING MATCHUPS";
  position:absolute;
  left:50%;
  top:88%;
  transform:translateX(-50%);
  color:#b8cfdd;
  font:800 clamp(7px,1.0vw,11px)/1 "Barlow Condensed",sans-serif;
  letter-spacing:.22em;
  white-space:nowrap;
  text-shadow:0 2px 5px #000;
}

.league-chip{
  top:1.45%;
  right:1.6%;
  width:11.8%;
  height:11.8%;
}

.league-chip img{
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.76)) drop-shadow(0 0 6px rgba(108,205,255,.44));
}

.top-game-context{
  top:16.5%;
  width:86%;
  gap:.7em;
  padding:.55% 2.2%;
  border-top:1px solid rgba(163,218,248,.16);
  border-bottom:1px solid rgba(163,218,248,.16);
  background:linear-gradient(90deg,transparent,rgba(2,9,16,.72) 17%,rgba(2,9,16,.72) 83%,transparent);
}

.top-game-context .context-datetime{
  font-size:clamp(13px,2.05vw,23px);
  letter-spacing:.07em;
}

.top-game-context .context-venue{
  color:#bcd0dc;
  font-size:clamp(11px,1.74vw,19px);
  letter-spacing:.06em;
}

.top-game-context .context-sep{
  color:#70cfff;
  text-shadow:0 0 8px #55bfff;
}

.hero-teams{
  left:2.6%;
  right:2.6%;
  top:23%;
  bottom:4.6%;
  grid-template-columns:41.5% 17% 41.5%;
}

.hero-team{
  justify-content:flex-end;
}

.hero-logo-wrap{
  height:49%;
  position:relative;
  isolation:isolate;
}

.hero-logo-wrap:before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  top:50%;
  width:78%;
  height:78%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  filter:blur(9px);
  pointer-events:none;
}

.hero-team:first-child .hero-logo-wrap:before{
  background:radial-gradient(circle,
    rgba(255,255,255,.20) 0%,
    rgba(var(--awayRGB),.34) 38%,
    rgba(var(--awayRGB),.14) 57%,
    transparent 76%);
}

.hero-team:last-child .hero-logo-wrap:before{
  background:radial-gradient(circle,
    rgba(255,255,255,.20) 0%,
    rgba(var(--homeRGB),.34) 38%,
    rgba(var(--homeRGB),.14) 57%,
    transparent 76%);
}

.hero-logo{
  position:relative;
  z-index:1;
  max-width:76%;
  max-height:100%;
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.92)) drop-shadow(0 0 13px rgba(255,255,255,.16));
}

.hero-team:first-child .hero-logo{
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.92)) drop-shadow(0 0 9px rgba(var(--awayHaloRGB,var(--awayRGB)),.48));
}

.hero-team:last-child .hero-logo{
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.92)) drop-shadow(0 0 9px rgba(var(--homeHaloRGB,var(--homeRGB)),.48));
}

.location{
  color:#e7f2f8;
  font-size:clamp(12px,1.9vw,21px);
  letter-spacing:.10em;
}

.nickname{
  font-size:clamp(23px,4.2vw,46px);
  line-height:.9;
  text-shadow:0 3px 0 rgba(0,0,0,.85),0 0 15px currentColor;
}

.nickname.long-name{
  font-size:clamp(20px,3.65vw,40px);
}

.nickname.very-long-name{
  font-size:clamp(18px,3.05vw,34px);
}

.rank-badge{
  margin:-.5% 0 .4%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#ffe274;
  font-size:clamp(12px,2vw,22px);
  letter-spacing:.02em;
  text-shadow:0 2px 4px #000,0 0 8px rgba(255,210,70,.35);
}

.record{
  margin-top:.35vh;
  padding:.2em .78em;
  border:1px solid rgba(188,223,243,.20);
  background:rgba(1,7,13,.66);
  color:#fff;
  font-size:clamp(12px,2.1vw,24px);
}

.at{
  width:68%;
  margin-top:10%;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(180deg,rgba(27,40,52,.72),rgba(2,8,14,.78));
  color:#fff;
  text-shadow:0 2px 7px #000,0 0 12px rgba(126,205,255,.58);
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 12px rgba(96,193,255,.12);
}

/* Fixed-height broadcast ribbons */
.gamebar{
  margin:0;
  height:100%;
  align-self:stretch;
  grid-template-columns:50% 20% 30%;
  border:1px solid rgba(145,208,245,.40);
  background:linear-gradient(180deg,rgba(13,35,52,.92),rgba(3,10,17,.96));
  clip-path:none;
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 5px 14px rgba(0,0,0,.4);
}

.gamebar>div{
  height:100%;
  min-width:0;
  padding:0 3%;
  border-right:1px solid rgba(151,199,229,.24);
  display:flex;
  align-items:center;
  justify-content:center;
}

.gamebar-odds{
  grid-template-columns:30% 35% 35%;
}

.gamebar-odds-logo,
.network-slot{
  min-width:0;
  min-height:0;
  overflow:hidden;
}

.gamebar-odds-logo img{
  width:88%;
  height:68%;
  max-width:88%;
  max-height:68%;
  object-fit:contain;
}

/* Optically center the info-row artwork, then lift it slightly so every
   logo has the same compact top breathing room regardless of aspect ratio. */
.gamebar-odds,
.network-slot,
.weather-icon,
.weather-text{
  transform:translateY(-5%);
}

.gamebar-odds-logo,
.network-slot,
.weather-icon,
.weather-text{
  display:flex;
  align-items:center;
  justify-content:center;
}

.weather-text{
  flex-direction:column;
}

.network-logo,
.network-logo.primary{
  display:block;
  width:auto;
  height:54%;
  max-width:88%;
  max-height:54%;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.7)) drop-shadow(0 0 5px rgba(122,202,249,.24));
}

.network-logo[alt="NESN"],
.network-logo[alt="NBC Sports Boston"],
.network-logo[alt="MAX"]{
  filter:brightness(2.05) drop-shadow(0 0 5px rgba(122,202,249,.28));
}

.network-logo.compact{
  height:38%;
  max-width:76%;
  max-height:38%;
}

.network-slot{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

.network-generic,
.network-fallback{
  max-width:88%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:clamp(8px,1.12vw,12px);
}

.weather{
  gap:8%;
}

.weather-icon{
  width:26%;
  display:grid;
  place-items:center;
  font-size:clamp(19px,3.3vw,35px);
}

.weather-temp{
  font-size:clamp(15px,2.6vw,28px);
  letter-spacing:.04em;
}

/* Premium head-to-head glass panel */
.h2h{
  margin:0;
  min-height:0;
  grid-template-columns:31.5% 37% 31.5%;
  border:1px solid rgba(145,208,245,.46);
  background:
    radial-gradient(circle at 0 50%,rgba(var(--awayRGB),.13),transparent 38%),
    radial-gradient(circle at 100% 50%,rgba(var(--homeRGB),.13),transparent 38%),
    linear-gradient(150deg,rgba(9,27,42,.94),rgba(2,8,14,.98) 68%);
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 6px 18px rgba(0,0,0,.42);
}

.h2h:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:7;
  pointer-events:none;
  border-left:clamp(2px,.45vw,5px) solid var(--away);
  border-right:clamp(2px,.45vw,5px) solid var(--home);
  opacity:.72;
}

.h2h-title{
  left:21%;
  right:21%;
  top:0;
  height:16.5%;
  border-radius:0;
  border-bottom:1px solid rgba(145,208,245,.28);
  background:linear-gradient(180deg,rgba(20,53,78,.94),rgba(5,16,26,.92));
  box-shadow:0 5px 14px rgba(0,0,0,.26);
}

.h2h-title:before,
.h2h-title:after{
  content:"";
  position:absolute;
  top:50%;
  width:22%;
  height:1px;
  background:linear-gradient(90deg,transparent,#71cfff);
  box-shadow:0 0 7px #4bbdff;
}

.h2h-title:before{left:4%}
.h2h-title:after{right:4%;transform:scaleX(-1)}

.h2h-title .main{
  font-size:clamp(12px,2.02vw,22px);
  letter-spacing:.08em;
}

.h2h-title .sub{
  color:#91aec1;
  letter-spacing:.09em;
}

.featured{
  border-right:1px solid rgba(139,190,221,.18);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(1,7,13,.94));
}

.featured.home{
  border-right:0;
  border-left:1px solid rgba(139,190,221,.18);
}

.featured.away{
  background:linear-gradient(180deg,rgba(var(--awayRGB),.18),rgba(1,7,13,.96));
}

.featured.home{
  background:linear-gradient(180deg,rgba(var(--homeRGB),.18),rgba(1,7,13,.96));
}

.watermark{
  width:104%;
  height:70%;
  top:9%;
  left:-2%;
  opacity:.09;
  filter:grayscale(.3) saturate(.8) contrast(1.25);
}

.feature-head{
  left:0;
  right:0;
  top:1%;
  bottom:auto;
  width:100%;
  height:66%;
  object-fit:contain;
  object-position:center bottom;
  transform:scale(1.18);
  transform-origin:center bottom;
  filter:drop-shadow(0 7px 9px rgba(0,0,0,.94));
}

.player-tag{
  min-height:0;
  height:32%;
  padding:1.4% 5%;
  border-top:1px solid rgba(155,208,239,.26);
  background:linear-gradient(90deg,rgba(1,7,13,.98),rgba(7,20,31,.90));
}

.player-meta{
  color:#9fb8c8;
  letter-spacing:.10em;
}

.player-name{
  font-size:clamp(15px,2.48vw,28px);
  text-shadow:0 2px 5px #000;
}

.compare{
  padding:21% 5% 4%;
  background:linear-gradient(180deg,rgba(8,24,38,.72),rgba(1,7,12,.88));
}

.statrow{
  grid-template-columns:31% 38% 31%;
  border-bottom:1px solid rgba(137,181,208,.18);
}

.statval{
  font-size:clamp(16px,2.55vw,28px);
  text-shadow:0 2px 5px #000;
}

.statval.left{
  border-left:3px solid var(--away);
  color:color-mix(in srgb,var(--away) 58%,white);
}

.statval.right{
  border-right:3px solid var(--home);
  color:color-mix(in srgb,var(--home) 58%,white);
}

.statname{
  color:#a9bfce;
  font-size:clamp(9px,1.28vw,14px);
  letter-spacing:0;
}

/* Six consistent player cards */
.keyplayers{
  margin:0;
  min-height:0;
  grid-template-rows:9% 91%;
  border:1px solid rgba(145,208,245,.44);
  background:
    radial-gradient(circle at 0 60%,rgba(var(--awayRGB),.09),transparent 36%),
    radial-gradient(circle at 100% 60%,rgba(var(--homeRGB),.09),transparent 36%),
    linear-gradient(180deg,rgba(8,24,38,.94),rgba(1,7,12,.98));
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 6px 18px rgba(0,0,0,.38);
}

.key-title{
  color:#eaf7ff;
  font-size:clamp(16px,2.55vw,28px);
  letter-spacing:.12em;
  border-bottom:1px solid rgba(142,195,227,.19);
  background:linear-gradient(90deg,transparent,rgba(19,48,70,.72),transparent);
}

.key-columns{
  gap:1.2%;
  padding:.45% 1.25% 1.15%;
}

.key-col{
  grid-template-rows:10% repeat(3,minmax(0,1fr));
  gap:.6%;
}

.team-strip{
  border:1px solid rgba(255,255,255,.12);
  font-size:clamp(13px,2vw,22px);
  letter-spacing:.06em;
}

.team-strip.away{
  background:linear-gradient(90deg,rgba(var(--awayRGB),.74),rgba(var(--awayRGB),.14));
}

.team-strip.home{
  background:linear-gradient(90deg,rgba(var(--homeRGB),.14),rgba(var(--homeRGB),.74));
}

.kcard{
  grid-template-columns:34% 66%;
  border:1px solid rgba(130,177,207,.24);
  background:linear-gradient(118deg,rgba(10,29,44,.88),rgba(2,8,14,.94));
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 3px 8px rgba(0,0,0,.25);
}

.key-col:first-child .kcard{
  border-left:3px solid color-mix(in srgb,var(--away) 72%,white);
}

.key-col:last-child .kcard{
  border-right:3px solid color-mix(in srgb,var(--home) 72%,white);
}

.kimgwrap{
  position:relative;
  padding-top:0;
  background:radial-gradient(circle at 50% 44%,rgba(111,188,234,.13),transparent 66%);
}

.kimg{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.72));
}

.ktext{
  padding:2% 4%;
}

.kname{
  font-size:clamp(13px,2.05vw,23px);
  line-height:.92;
}

.kpos{
  color:#9db7c8;
  font-size:clamp(9px,1.38vw,15px);
  letter-spacing:.06em;
}

.kstat{
  margin-top:4px;
  color:#edf6fb;
  font-size:clamp(8px,1.16vw,13px);
  letter-spacing:.02em;
}

/* Anchored ESPN fade ticker */
.other{
  margin:0;
  min-height:0;
  border:1px solid rgba(145,208,245,.40);
  background:linear-gradient(180deg,rgba(9,25,39,.96),rgba(1,6,11,.98));
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 5px 14px rgba(0,0,0,.38);
}

#otherGames.addon-active .espn-fade-shell{
  grid-template-columns:16.5% 83.5%;
}

#otherGames.addon-active .espn-fade-brand{
  border-right:1px solid rgba(157,207,236,.30);
  background:linear-gradient(90deg,rgba(3,11,18,.96),rgba(10,27,41,.76));
}

#otherGames.addon-active .espn-fade-brand img{
  max-width:88%;
  max-height:52%;
  object-fit:contain;
}

#otherGames.addon-active .espn-fade-content{
  background:linear-gradient(90deg,rgba(4,13,21,.36),rgba(3,10,17,.80));
}

#otherGames.addon-active .espn-fade-logo{
  width:clamp(23px,3.2vw,36px);
  height:clamp(23px,3.2vw,36px);
}

#otherGames.addon-active .espn-fade-record,
#otherGames.addon-active .espn-fade-when,
#otherGames.addon-active .espn-fade-at{
  text-shadow:0 2px 4px #000;
}

.error{
  left:2.5%;
  right:2.5%;
  bottom:7%;
  border-color:#ff5667;
  background:rgba(54,5,13,.95);
  font-weight:800;
}

/* Sleeker broadcast typography with less visual weight than the V34 face. */
#stage,
#stage *{
  font-family:"Roboto Condensed",Inter,"Segoe UI",Arial,sans-serif!important;
}

.top-game-context .context-datetime,
.top-game-context .context-venue,
.location,
.record,
.info-label,
.odds-label,
.player-meta,
.statname,
.kpos,
.kstat{
  font-weight:600!important;
}

.nickname,
.at,
.odds-value,
.weather-temp,
.h2h-title .main,
.player-name,
.statval,
.key-title,
.team-strip,
.kname{
  font-weight:700!important;
}

.nickname,
.player-name,
.key-title,
.team-strip,
.kname{
  letter-spacing:.015em;
}

.statrow,
.statval,
.statname{
  min-width:0;
}

.statval,
.statname{
  white-space:nowrap;
  overflow:hidden;
  font-variant-numeric:tabular-nums;
}

.player-name{
  max-width:100%;
  overflow-wrap:anywhere;
}

.at{
  width:82%;
  padding:.18em .08em;
  overflow:visible;
  font-style:normal;
  line-height:1;
  letter-spacing:.04em;
  clip-path:none;
}

/*
  The upright laptop preview is intentionally much narrower than the final
  rotated Fire TV canvas. Its vw units still reference the browser window,
  so keep type proportional to the preview stage instead of letting the
  clamp() maxima create avoidable truncation.
*/
body.preview-portrait .top-game-context{
  width:94%;
  gap:.55em;
}

body.preview-portrait .top-game-context .context-datetime{
  font-size:clamp(12px,1.35vw,16px);
}

body.preview-portrait .top-game-context .context-venue{
  font-size:clamp(10px,1.05vw,14px);
}

.location{
  width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:center;
}

body.preview-portrait .location{
  font-size:clamp(11px,1.25vw,17px);
}

body.preview-portrait .nickname{
  font-size:clamp(18px,2.25vw,30px);
}

body.preview-portrait .nickname.long-name{
  font-size:clamp(16px,2vw,27px);
}

body.preview-portrait .nickname.very-long-name{
  font-size:clamp(14px,1.72vw,23px);
}

body.preview-portrait .record{
  font-size:clamp(10px,1.25vw,16px);
}

body.preview-portrait .player-name{
  font-size:22px;
  letter-spacing:0;
}

body.preview-portrait .player-meta{
  font-size:12px;
}

body.preview-portrait .statval{
  font-size:22px;
}

body.preview-portrait .statname{
  font-size:12px;
  letter-spacing:0;
}

body.preview-portrait .rank-badge{
  font-size:clamp(9px,1.05vw,14px);
}

body.preview-portrait .kname{
  font-size:14px;
}

body.preview-portrait .kname.long{
  font-size:12px;
}

body.preview-portrait .kname.very-long{
  font-size:10px;
}

body.preview-portrait .kpos{
  font-size:11px;
}

body.preview-portrait .kstat{
  font-size:8px;
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}


/* ==========================================================================
   V40 UNIFIED ESPN PRIMARY BRANDING
   Same presentation for pro + college; no custom wordmark lockups.
   ========================================================================== */

/* ESPN primary logos use the same box/sizing system for every league. */
.hero-logo-wrap{
  height:49%;
  width:100%;
  overflow:visible;
}
.hero-logo{
  width:auto;
  height:auto;
  max-width:76%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
}

/* Visible team-identity glow behind every pro and college logo.
   JS supplies a bright secondary/accent color whenever a primary is black/navy/dark green. */
.hero-team .hero-logo-wrap:before{
  width:90%;
  height:90%;
  filter:blur(14px);
}
.hero-team:first-child .hero-logo-wrap:before{
  background:radial-gradient(circle,
    rgba(255,255,255,.12) 0%,
    rgba(var(--awayHaloRGB,var(--awayRGB)),.58) 31%,
    rgba(var(--awayHaloRGB,var(--awayRGB)),.32) 49%,
    rgba(var(--awayHaloRGB,var(--awayRGB)),.13) 64%,
    transparent 80%);
}
.hero-team:last-child .hero-logo-wrap:before{
  background:radial-gradient(circle,
    rgba(255,255,255,.12) 0%,
    rgba(var(--homeHaloRGB,var(--homeRGB)),.58) 31%,
    rgba(var(--homeHaloRGB,var(--homeRGB)),.32) 49%,
    rgba(var(--homeHaloRGB,var(--homeRGB)),.13) 64%,
    transparent 80%);
}
.hero-team:first-child .hero-logo{
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.92)) drop-shadow(0 0 12px rgba(var(--awayHaloRGB,var(--awayRGB)),.62));
}
.hero-team:last-child .hero-logo{
  filter:drop-shadow(0 5px 9px rgba(0,0,0,.92)) drop-shadow(0 0 12px rgba(var(--homeHaloRGB,var(--homeRGB)),.62));
}

/* One-line typed branding. White letters, slight primary-color outline. */
.hero-team .location,
.hero-team .nickname{
  color:#fff!important;
  paint-order:stroke fill;
}
.hero-team:first-child .location{
  -webkit-text-stroke:.45px rgba(var(--awayRGB),.98);
  text-shadow:-1px 0 rgba(var(--awayRGB),.80),1px 0 rgba(var(--awayRGB),.80),0 1px rgba(var(--awayRGB),.80),0 -1px rgba(var(--awayRGB),.80),0 2px 5px #000;
}
.hero-team:last-child .location{
  -webkit-text-stroke:.45px rgba(var(--homeRGB),.98);
  text-shadow:-1px 0 rgba(var(--homeRGB),.80),1px 0 rgba(var(--homeRGB),.80),0 1px rgba(var(--homeRGB),.80),0 -1px rgba(var(--homeRGB),.80),0 2px 5px #000;
}
.hero-team:first-child .nickname{
  -webkit-text-stroke:.8px rgba(var(--awayRGB),.98);
  text-shadow:-1px -1px 0 rgba(var(--awayRGB),.88),1px -1px 0 rgba(var(--awayRGB),.88),-1px 1px 0 rgba(var(--awayRGB),.88),1px 1px 0 rgba(var(--awayRGB),.88),0 3px 0 rgba(0,0,0,.84),0 0 9px rgba(var(--awayRGB),.22);
}
.hero-team:last-child .nickname{
  -webkit-text-stroke:.8px rgba(var(--homeRGB),.98);
  text-shadow:-1px -1px 0 rgba(var(--homeRGB),.88),1px -1px 0 rgba(var(--homeRGB),.88),-1px 1px 0 rgba(var(--homeRGB),.88),1px 1px 0 rgba(var(--homeRGB),.88),0 3px 0 rgba(0,0,0,.84),0 0 9px rgba(var(--homeRGB),.22);
}

/* Record is text only: no pill/box. */
.record{
  margin-top:.35vh;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff;
  text-shadow:0 2px 4px #000,0 0 6px rgba(255,255,255,.10);
}

/* Key Players identifiers return to clean nickname text (NUGGETS, BRUINS, etc.). */
.team-strip{
  min-height:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:clip;
  color:#fff!important;
  font-weight:900;
  letter-spacing:.08em;
  paint-order:stroke fill;
  text-shadow:0 2px 4px rgba(0,0,0,.92);
}
.key-col:first-child .team-strip{
  -webkit-text-stroke:.55px rgba(var(--awayRGB),.98);
}
.key-col:last-child .team-strip{
  -webkit-text-stroke:.55px rgba(var(--homeRGB),.98);
}

/* Exactly two compact position-appropriate stats fit on one line. */
.kstat{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  letter-spacing:0!important;
  font-size:clamp(7px,1.02vw,11.5px)!important;
}

body.preview-portrait .hero-logo-wrap{height:49%;}
