@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap');

:root{color-scheme:dark;--ink:#f4f6fa;--muted:#9caac0;--line:#263349;--red:#f25469;--gold:#edf48a;--mint:#8be6bd;--mono:'IBM Plex Mono',monospace;--display:'Barlow Condensed',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}
html{min-height:100%;background:#080c14}
body.broadcast-body{margin:0;min-height:100vh;background:#080c14;color:var(--ink);font-family:var(--body);overflow-x:hidden}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.broadcast-app{min-height:100vh;background:radial-gradient(ellipse at 51% -15%,#29406462 0,transparent 49%),#080c14;overflow:hidden}
.broadcast-topbar{height:80px;max-width:1800px;margin:auto;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff0c}
.broadcast-brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.broadcast-brand>img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 13px #e2ef8245)}
.broadcast-brand>span{display:flex;flex-direction:column;gap:4px}
.broadcast-brand strong{font:900 21px/.9 var(--display);letter-spacing:1px}
.broadcast-brand em{color:var(--gold);font-style:normal}
.broadcast-brand small{color:#9caac0;font:8px var(--mono);letter-spacing:1.45px}
.broadcast-feed{display:flex;align-items:center;gap:9px;color:#bac4d3;font:9px var(--mono);letter-spacing:1px}
.broadcast-feed i,.scorebug-live i,.recent-live i{width:7px;height:7px;border-radius:50%;display:inline-block;background:#738197;flex:none}
.feed-connected .broadcast-feed i,.feed-connected .scorebug-live i,.feed-connected .recent-live i{background:#79e0a8;box-shadow:0 0 13px #79e0a8b8;animation:broadcast-pulse 1.8s infinite}
.broadcast-actions{display:flex;align-items:center;gap:12px}
.broadcast-exit,.fullscreen-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:39px;padding:0 12px;border:1px solid #37455d;border-radius:3px;background:#111a28;color:var(--ink);font:9px var(--mono);letter-spacing:.65px;text-decoration:none}
.broadcast-exit:hover,.fullscreen-button:hover{border-color:#71829d;background:#19243a}
.fullscreen-button{min-width:142px;cursor:pointer}
.fullscreen-button svg{width:17px;height:17px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:square}
.broadcast-main{width:min(1700px,100%);margin:0 auto;padding:0 clamp(18px,3.9vw,60px) 18px}
.scorebug{height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #ffffff0c;color:#a9b5c8;font:9px var(--mono);letter-spacing:.7px}
.scorebug-event{display:flex;align-items:center;gap:10px}
.scorebug-event>span:last-child{display:flex;flex-direction:column;gap:3px}
.scorebug-event strong{color:#f5f5f0;font-size:10px}
.event-star{color:var(--gold);font-size:20px}
.scorebug-pick{color:#bdc7d6}
.scorebug-pick span{color:#e1ec82;padding:0 4px}
.scorebug-live{display:flex;align-items:center;gap:7px;color:#d1d8e1;white-space:nowrap}
.broadcast-stage{--team-accent:#84baff;--team-wash:#1b2740;position:relative;isolation:isolate;min-height:448px;margin:16px 0 15px;padding:16px clamp(16px,2vw,32px) 20px;overflow:hidden;border:1px solid #2c3b53;border-radius:8px;background:radial-gradient(ellipse at 51% 47%,#35466454,transparent 37%),linear-gradient(112deg,#111925,#111725 48%,#111923);box-shadow:0 24px 72px #0008}
.broadcast-stage[data-team="banana-republic"]{--team-accent:#e4c957;--team-wash:#29271d}
.broadcast-stage[data-team="bowsers-empire"]{--team-accent:#e88166;--team-wash:#2d2025}
.broadcast-stage[data-team="galaxy-stars"]{--team-accent:#84baff;--team-wash:#1b2740}
.broadcast-stage[data-team="the-kennel"]{--team-accent:#ded0aa;--team-wash:#28271f}
.broadcast-stage[data-team="the-bone-zone"]{--team-accent:#b2cc96;--team-wash:#212a23}
.broadcast-stage[data-team="kongquerors"]{--team-accent:#e8b06a;--team-wash:#30251d}
.broadcast-stage[data-team="the-44th"]{--team-accent:#e98d87;--team-wash:#302024}
.broadcast-stage[data-team="washington-redskins"]{--team-accent:#e0bd74;--team-wash:#38222e}
.broadcast-stage[data-team="dom"]{--team-accent:#b5c0cf;--team-wash:#242b36}
.broadcast-stage[data-team="petey-pulverizers"]{--team-accent:#83dda7;--team-wash:#1a2c27}
.stage-lights{position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 53%,color-mix(in srgb,var(--team-accent) 19%,transparent),transparent 41%),radial-gradient(ellipse at 83% 19%,#a2baff19,transparent 38%),repeating-linear-gradient(115deg,transparent 0 72px,#ffffff05 73px 74px)}
.stage-heading,.rail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.stage-heading{position:relative;z-index:1;font:9px var(--mono);letter-spacing:1.4px;color:#aebbd0}
.stage-eyebrow{color:#e7edcf}
.stage-progress{padding:7px 9px;border:1px solid #ffffff18;background:#08101a70;color:#d8e0eb;font-size:8px}
.stage-progress i{color:var(--gold);font-style:normal;padding:0 3px}
.stage-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.82fr) minmax(0,1fr);gap:clamp(14px,2vw,36px);align-items:center;min-height:350px;padding:10px clamp(0px,1.5vw,24px)}
.team-spotlight,.clock-spotlight,.selection-spotlight{position:relative;min-width:0}
.team-spotlight{height:308px;display:flex;flex-direction:column;justify-content:center;padding:24px 26px;isolation:isolate;overflow:hidden;border:1px solid #ffffff12;border-radius:7px;background:linear-gradient(139deg,color-mix(in srgb,var(--team-wash) 96%,transparent),#111823ed 77%);box-shadow:inset 0 1px #ffffff0b,0 12px 35px #0004}
.team-spotlight:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,transparent 30%,#080c147a)}
.team-watermark{position:absolute;z-index:-1;right:-28px;bottom:-50px;width:min(80%,330px);height:110%;object-fit:contain;opacity:.12;filter:blur(.25px) saturate(.9);transform:rotate(-8deg)}
.spotlight-label,.selection-label{display:flex;align-items:center;gap:8px;color:var(--team-accent);font:8px var(--mono);letter-spacing:1.3px}
.spotlight-label i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}
.team-is-current .spotlight-label i{animation:broadcast-pulse 1.4s infinite}
.team-emblem{width:100px;height:100px;display:grid;place-items:center;margin:20px 0 9px;border:1px solid color-mix(in srgb,var(--team-accent) 52%,transparent);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--team-accent) 19%,#0a1018),#0d1421 67%);box-shadow:0 0 0 7px #ffffff05,0 0 38px color-mix(in srgb,var(--team-accent) 19%,transparent)}
.team-emblem img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 5px 8px #0008)}
.team-copy{position:relative;z-index:1}
.team-pickline{color:#aebcd0;font:8px var(--mono);letter-spacing:1.2px}
.team-copy h1{max-width:100%;margin:4px 0 2px;color:#fff;font:900 clamp(31px,3.15vw,54px)/.91 var(--display);letter-spacing:.2px;text-transform:uppercase;text-wrap:balance}
.team-copy p{margin:6px 0 0;color:#b6c1d0;font:10px var(--body)}
.team-ribbons{position:absolute;top:21px;right:20px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:#8796ab;font:7px var(--mono);letter-spacing:1px}
.team-ribbons span:last-child{color:#d6dfec}
.clock-spotlight{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:310px}
.clock-overline{margin-bottom:4px;color:#bdc8d7;font:8px var(--mono);letter-spacing:1.7px}
.clock-ring{position:relative;width:min(100%,274px);aspect-ratio:1;display:grid;place-items:center}
.clock-ring svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.clock-ring-track,.clock-ring-progress{fill:none;stroke-width:2}
.clock-ring-track{stroke:#ffffff12}
.clock-ring-progress{stroke:var(--gold);stroke-linecap:round;stroke-width:3;filter:drop-shadow(0 0 8px #e4e8888c);transition:stroke-dashoffset .6s linear,stroke .25s}
.clock-ring.is-ticking .clock-ring-progress{stroke:var(--mint)}
.clock-ring.is-urgent .clock-ring-progress{stroke:var(--red);filter:drop-shadow(0 0 13px #f2546999)}
.clock-ring.is-urgent .clock-face strong{color:#ff8794;animation:urgent-tick 1s steps(2,end) infinite}
.clock-face{display:flex;flex-direction:column;align-items:center;gap:4px}
.clock-face>span{color:#9eacc1;font:8px var(--mono);letter-spacing:1.6px}
.clock-face strong{color:#fff;font:700 clamp(55px,6vw,84px)/.99 var(--display);letter-spacing:1.5px;font-variant-numeric:tabular-nums;text-shadow:0 5px 30px #bbcd8243}
.clock-face small{margin-top:5px;color:#bac5d6;font:8px var(--mono);letter-spacing:.9px}
.clock-bottom{display:flex;align-items:center;gap:11px;margin-top:4px;color:#a4b1c3;font:7px var(--mono);letter-spacing:.8px}
.clock-bottom b{color:#d5df98;font-weight:500}.clock-bottom strong{color:white;font-weight:600}
.clock-dash{width:24px;height:1px;background:#59657a}
.selection-spotlight{height:308px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px 15px;overflow:hidden;border:1px solid #ffffff14;border-radius:7px;background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--team-wash) 90%,#18243a),#0d1420 76%);box-shadow:inset 0 1px #ffffff0a,0 12px 35px #0004}
.selection-spotlight[hidden]{display:none}
.selection-label{align-self:stretch;justify-content:center;color:#b5c2d4;text-align:center;z-index:2}
.selection-label i{color:var(--gold);font-style:normal}
.player-art{position:relative;display:grid;place-items:center;width:160px;height:167px;margin:4px 0 5px}
.player-art:before,.player-art:after{content:"";position:absolute;inset:19px;border:1px solid #ffffff12;border-radius:50%}
.player-art:after{inset:5px;border-color:#ffffff08;transform:rotate(24deg) scaleY(.38)}
.player-halo{position:absolute;width:109px;height:109px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--team-accent) 28%,transparent),transparent 69%);filter:blur(7px)}
.player-art img{position:relative;z-index:1;width:145px;height:150px;object-fit:contain;filter:drop-shadow(0 10px 10px #02060cc9)}
.portrait-number{position:absolute;z-index:2;right:-2px;bottom:8px;padding:5px 8px;border:1px solid #ffffff27;border-radius:2px;background:#090e19ed;color:var(--gold);font:8px var(--mono);letter-spacing:.5px}
.selected-player-name{max-width:100%;color:white;text-align:center;font:800 clamp(19px,2vw,29px)/.95 var(--display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.selection-franchise{max-width:100%;margin-top:6px;color:#c1cad6;text-align:center;font:8px var(--mono);letter-spacing:.8px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.selection-footnote{margin-top:10px;color:#77879b;font:7px var(--mono);letter-spacing:1px;text-align:center}
.selection-spotlight.is-reveal{border-color:color-mix(in srgb,var(--team-accent) 74%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--team-accent) 40%,transparent),0 0 36px color-mix(in srgb,var(--team-accent) 19%,transparent),inset 0 1px #ffffff0e;animation:spotlight-in .8s cubic-bezier(.2,.8,.2,1) both}
.selection-spotlight.is-reveal .player-art img{animation:portrait-arrive .8s cubic-bezier(.2,.8,.2,1) both}
.selection-spotlight.is-reveal .selection-label{color:var(--gold)}
.next-franchise{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:100%;min-height:41px;margin:0 auto;padding:5px 14px;border:1px solid #ffffff16;border-radius:3px;background:#080d17bd;box-shadow:0 5px 18px #0003}
.next-franchise[hidden]{display:none}
.next-franchise-marker{display:flex;align-items:center;gap:5px;color:var(--gold);font:7px var(--mono);letter-spacing:.75px}
.next-franchise-marker i{font:12px var(--mono);font-style:normal}
.next-franchise>img{width:31px;height:31px;object-fit:contain}
.next-franchise-copy{display:flex;flex-direction:column;gap:2px}
.next-franchise-copy small{color:#8391a6;font:6px var(--mono);letter-spacing:1px}
.next-franchise-copy strong{color:#f4f6fa;font:700 15px/1 var(--display)}
.next-franchise-pick{padding-left:8px;border-left:1px solid #354257;color:#aebacc;font:6px var(--mono);letter-spacing:.5px;white-space:nowrap}
.stage-base{position:absolute;z-index:-1;bottom:0;left:2%;right:2%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--team-accent) 75%,transparent),transparent);box-shadow:0 0 16px color-mix(in srgb,var(--team-accent) 60%,transparent)}
.franchise-scoreboard,.recent-section{padding:10px 1px 0}
.rail-heading{min-height:39px}
.rail-heading>div{display:flex;align-items:baseline;gap:10px}
.rail-heading>div>span{color:#7f8fa6;font:7px var(--mono);letter-spacing:1.4px}
.rail-heading>div>strong{color:#edf0f5;font:800 19px/.95 var(--display);letter-spacing:.4px}
.rail-heading>span{color:#8796a9;font:7px var(--mono);letter-spacing:.7px}
.franchise-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.franchise-score{--team-accent:#85c7ff;display:flex;align-items:center;gap:9px;min-width:0;min-height:57px;padding:7px 9px;border:1px solid #242f40;border-radius:4px;background:linear-gradient(120deg,#141d2a,#0e141e);transition:border-color .2s,background .2s}
.franchise-score[data-team="banana-republic"]{--team-accent:#e4c957}
.franchise-score[data-team="bowsers-empire"]{--team-accent:#e88166}
.franchise-score[data-team="galaxy-stars"]{--team-accent:#84baff}
.franchise-score[data-team="the-kennel"]{--team-accent:#ded0aa}
.franchise-score[data-team="the-bone-zone"]{--team-accent:#b2cc96}
.franchise-score[data-team="kongquerors"]{--team-accent:#e8b06a}
.franchise-score[data-team="the-44th"]{--team-accent:#e98d87}
.franchise-score[data-team="washington-redskins"]{--team-accent:#e0bd74}
.franchise-score[data-team="dom"]{--team-accent:#b5c0cf}
.franchise-score[data-team="petey-pulverizers"]{--team-accent:#83dda7}
.franchise-score.is-on-clock{border-color:color-mix(in srgb,var(--team-accent) 78%,#fff);background:linear-gradient(118deg,color-mix(in srgb,var(--team-accent) 16%,#151c29),#101723);box-shadow:inset 0 0 18px color-mix(in srgb,var(--team-accent) 8%,transparent)}
.franchise-score-logo{width:40px;height:40px;display:grid;place-items:center;flex:none;border:1px solid #ffffff12;border-radius:50%;background:#070c14a8}
.franchise-score-logo img{width:36px;height:36px;object-fit:contain}
.franchise-score-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.franchise-score-copy strong{color:#eaf0f6;font:700 15px/.98 var(--display);overflow-wrap:anywhere}
.franchise-score-copy small,.franchise-score-tag{color:#8392a9;font:6px var(--mono);letter-spacing:.35px}
.franchise-score-tag{margin-left:auto;text-align:right;white-space:nowrap}
.is-on-clock .franchise-score-tag{color:var(--team-accent)}
.recent-section{margin-top:6px}
.recent-live{display:flex;align-items:center;gap:6px}
.recent-live i{width:5px;height:5px}
.recent-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.recent-card{--team-accent:#80baff;display:flex;align-items:center;gap:9px;min-width:0;min-height:65px;padding:8px;border:1px solid #253145;border-left:2px solid var(--team-accent);border-radius:3px;background:#111926}
.recent-card[data-team="banana-republic"]{--team-accent:#e4c957}
.recent-card[data-team="bowsers-empire"]{--team-accent:#e88166}
.recent-card[data-team="galaxy-stars"]{--team-accent:#84baff}
.recent-card[data-team="the-kennel"]{--team-accent:#ded0aa}
.recent-card[data-team="the-bone-zone"]{--team-accent:#b2cc96}
.recent-card[data-team="kongquerors"]{--team-accent:#e8b06a}
.recent-card[data-team="the-44th"]{--team-accent:#e98d87}
.recent-card[data-team="washington-redskins"]{--team-accent:#e0bd74}
.recent-card[data-team="dom"]{--team-accent:#b5c0cf}
.recent-card[data-team="petey-pulverizers"]{--team-accent:#83dda7}
.recent-card.is-fresh{animation:recent-arrive .8s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 0 21px color-mix(in srgb,var(--team-accent) 23%,transparent)}
.recent-number{display:flex;flex-direction:column;gap:4px;color:#8693a8;font:6px var(--mono);letter-spacing:.7px;white-space:nowrap}
.recent-number strong{color:var(--team-accent);font:600 14px var(--display)}
.recent-portrait{width:43px;height:43px;flex:none;object-fit:contain;border-radius:3px;background:#202b3b}
.recent-copy{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.recent-copy strong{overflow:hidden;color:#f1f4f8;font:700 12px/1 var(--display);text-overflow:ellipsis;white-space:nowrap}
.recent-copy small{overflow:hidden;color:#9eacc0;font:6px var(--mono);letter-spacing:.25px;text-overflow:ellipsis;white-space:nowrap}
.recent-team-logo{width:33px;height:33px;flex:none;object-fit:contain;opacity:.93}
.recent-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:62px;border:1px dashed #334157;color:#95a2b6;font:8px var(--mono);letter-spacing:1.1px}
.recent-empty span{color:var(--gold);font-size:16px}
.broadcast-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:11px;padding-top:10px;border-top:1px solid #ffffff0c;color:#78869a;font:7px var(--mono);letter-spacing:.8px}
.broadcast-footer>span{display:flex;align-items:center;gap:6px}
.broadcast-footer i{color:#505d71;font-style:normal}
.broadcast-footer strong{color:#b8c2d0}
kbd{padding:2px 5px;border:1px solid #43516a;border-radius:2px;background:#151d2a;color:#e8ebf1;font:8px var(--mono)}
.broadcast-error{position:fixed;z-index:10;right:15px;bottom:15px;width:min(410px,calc(100% - 30px));padding:12px;border:1px solid #a14455;border-radius:4px;background:#331821;color:#fff;font-size:12px;line-height:1.6;box-shadow:0 8px 30px #0008}
.broadcast-error[hidden]{display:none}
.broadcast-app:fullscreen{width:100%;height:100%;min-height:100vh;overflow-y:auto;background:radial-gradient(ellipse at 51% -15%,#29406462 0,transparent 49%),#080c14}
.broadcast-app:fullscreen .broadcast-topbar{max-width:1920px;height:7.5vh;min-height:58px}
.broadcast-app:fullscreen .broadcast-main{width:min(1860px,100%);padding-inline:clamp(24px,4vw,80px)}
.broadcast-app:fullscreen .broadcast-stage{min-height:min(50vh,640px)}
.broadcast-app:fullscreen .stage-grid{min-height:min(42vh,525px)}
.broadcast-app:fullscreen .team-spotlight,.broadcast-app:fullscreen .selection-spotlight{height:min(36vh,390px)}
.broadcast-app:fullscreen .clock-spotlight{min-height:min(36vh,390px)}
.broadcast-app:fullscreen .clock-ring{width:min(31vw,365px)}
.broadcast-app:fullscreen .player-art{width:210px;height:208px}
.broadcast-app:fullscreen .player-art img{width:190px;height:190px}
.broadcast-app:fullscreen .team-emblem{width:127px;height:127px}
.broadcast-app:fullscreen .team-emblem img{width:112px;height:112px}
@media(min-width:1500px){
  .broadcast-stage{min-height:485px}
  .stage-grid{min-height:380px}
  .team-spotlight,.selection-spotlight{height:332px}
  .team-emblem{width:118px;height:118px}
  .team-emblem img{width:102px;height:102px}
  .clock-ring{width:min(100%,310px)}
}
@media(max-width:1100px){
  .stage-grid{grid-template-columns:minmax(0,1fr) minmax(225px,.8fr) minmax(0,1fr);gap:12px}
  .team-spotlight{padding:18px}
  .team-copy h1{font-size:clamp(29px,3.5vw,42px)}
  .team-ribbons{right:12px}
  .franchise-score{gap:6px;padding-inline:6px}
  .franchise-score-tag{display:none}
}
@media(max-width:760px){
  .broadcast-topbar{height:68px;padding-inline:15px;gap:8px}
  .broadcast-brand{gap:7px}
  .broadcast-brand>img{width:40px;height:40px}
  .broadcast-brand strong{font-size:17px}
  .broadcast-brand small{font-size:6px;letter-spacing:.8px}
  .broadcast-feed{max-width:108px;gap:5px;font-size:6px;letter-spacing:.2px}
  .broadcast-actions{gap:6px}
  .broadcast-exit{width:35px;min-width:35px;padding:0;font-size:0}
  .broadcast-exit span{font:13px var(--mono)}
  .fullscreen-button{width:40px;min-width:40px;min-height:36px;padding:0}
  .fullscreen-button span{display:none}
  .broadcast-main{padding:0 12px 14px}
  .scorebug{height:52px;gap:7px;font-size:6px;letter-spacing:.2px}
  .scorebug-event{gap:5px}
  .event-star{font-size:15px}
  .scorebug-event strong{font-size:7px}
  .scorebug-pick{font-size:6px;text-align:center}
  .scorebug-live{gap:4px;font-size:6px}
  .broadcast-stage{min-height:0;margin:10px 0 10px;padding:12px 10px 15px}
  .stage-heading{font-size:6px;letter-spacing:.55px}
  .stage-progress{padding:5px;font-size:6px}
  .stage-grid{grid-template-columns:minmax(0,1fr) minmax(132px,.68fr);gap:9px;min-height:0;padding:12px 0 0}
  .team-spotlight{height:218px;padding:13px}
  .team-emblem{width:67px;height:67px;margin:11px 0 7px}
  .team-emblem img{width:59px;height:59px}
  .spotlight-label{font-size:6px;letter-spacing:.45px}
  .team-copy h1{font-size:clamp(25px,6vw,38px)}
  .team-copy p{font-size:8px}
  .team-pickline{font-size:6px;letter-spacing:.55px}
  .team-ribbons{top:10px;right:9px;gap:3px;font-size:5px}
  .team-watermark{width:98%;right:-27px;bottom:-14px}
  .next-franchise{gap:6px;min-height:34px;margin-top:10px;padding:3px 8px}
  .next-franchise-marker{font-size:5px;letter-spacing:.2px}
  .next-franchise>img{width:25px;height:25px}
  .next-franchise-copy small{font-size:5px}
  .next-franchise-copy strong{font-size:12px}
  .next-franchise-pick{padding-left:5px;font-size:5px;letter-spacing:0}
  .clock-spotlight{min-height:0}
  .clock-overline{font-size:6px;letter-spacing:.4px}
  .clock-ring{width:min(100%,178px)}
  .clock-ring-track,.clock-ring-progress{stroke-width:3}
  .clock-ring-progress{stroke-width:4}
  .clock-face{gap:2px}
  .clock-face>span{font-size:6px;letter-spacing:.7px}
  .clock-face strong{font-size:clamp(36px,11vw,52px)}
  .clock-face small{font-size:6px;letter-spacing:.1px}
  .clock-bottom{gap:4px;margin-top:7px;font-size:5px;letter-spacing:0}
  .clock-dash{width:12px}
  .selection-spotlight{grid-column:1/-1;height:174px;display:grid;grid-template-columns:108px minmax(0,1fr);grid-template-rows:1fr 1fr 1fr;column-gap:9px;justify-content:stretch;padding:7px 10px}
  .selection-label{grid-column:2;grid-row:1;justify-content:flex-start;align-self:end;font-size:6px;letter-spacing:.4px}
  .player-art{grid-column:1;grid-row:1/4;width:108px;height:142px;margin:0}
  .player-art img{width:106px;height:123px}
  .player-art:before{inset:13px}
  .player-art:after{inset:3px}
  .portrait-number{right:1px;bottom:4px;font-size:6px;padding:3px 5px}
  .selected-player-name{grid-column:2;grid-row:2;align-self:center;text-align:left;font-size:clamp(19px,5.5vw,26px)}
  .selection-franchise{grid-column:2;grid-row:3;align-self:start;text-align:left;margin-top:0;font-size:6px}
  .selection-footnote{display:none}
  .franchise-scoreboard,.recent-section{padding-top:5px}
  .rail-heading{min-height:32px}
  .rail-heading>div{gap:7px}
  .rail-heading>div>span,.rail-heading>span{font-size:6px;letter-spacing:.3px}
  .rail-heading>div>strong{font-size:16px}
  .franchise-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .franchise-score{min-height:47px;gap:6px;padding:5px}
  .franchise-score-logo{width:33px;height:33px}
  .franchise-score-logo img{width:29px;height:29px}
  .franchise-score-copy strong{font-size:12px}
  .franchise-score-copy small{font-size:5px}
  .recent-section{margin-top:4px}
  .recent-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .recent-card{min-height:53px;gap:5px;padding:5px}
  .recent-number{font-size:5px}
  .recent-number strong{font-size:12px}
  .recent-portrait{width:34px;height:34px}
  .recent-copy strong{font-size:10px}
  .recent-copy small{font-size:5px}
  .recent-team-logo{width:25px;height:25px}
  .recent-empty{min-height:48px;font-size:6px;letter-spacing:.45px}
  .broadcast-footer{flex-wrap:wrap;justify-content:center;gap:8px 13px;font-size:6px;letter-spacing:.3px}
}
@media(max-width:390px){
  .broadcast-topbar{padding-inline:10px}
  .broadcast-main{padding-inline:9px}
  .broadcast-brand>img{width:34px;height:34px}
  .broadcast-brand strong{font-size:15px}
  .broadcast-feed{max-width:83px}
  .broadcast-exit{width:31px;min-width:31px}
  .fullscreen-button{width:35px;min-width:35px}
  .stage-grid{grid-template-columns:minmax(0,1fr) minmax(120px,.68fr);gap:6px}
  .team-copy h1{font-size:clamp(23px,6vw,31px)}
  .scorebug-event>span:last-child{font-size:5px}
  .scorebug-event strong{font-size:6px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@keyframes broadcast-pulse{50%{opacity:.42}}
@keyframes urgent-tick{50%{opacity:.58}}
@keyframes spotlight-in{0%{transform:scale(.94) translateY(12px);opacity:.45}65%{transform:scale(1.02)}100%{transform:scale(1);opacity:1}}
@keyframes portrait-arrive{0%{transform:translateY(35px) scale(.86);opacity:.05}70%{transform:translateY(-4px) scale(1.04);opacity:1}100%{transform:translateY(0) scale(1)}}
@keyframes recent-arrive{0%{transform:translateX(12px);opacity:.35}100%{transform:translateX(0);opacity:1}}

/* Season-opening championship reveal */
.season-opening{position:fixed;z-index:30;inset:0;display:grid;place-items:center;overflow:auto;padding:clamp(14px,3vh,34px);background:radial-gradient(ellipse at 72% 38%,#8b633123 0,transparent 37%),radial-gradient(ellipse at 14% 89%,#6c263529 0,transparent 39%),#090d15;color:var(--ink)}
.opening-active{overflow:hidden}
.opening-active .broadcast-app{overflow:visible}
.season-opening[hidden]{display:none}
.season-opening:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;background:linear-gradient(90deg,transparent 49.9%,#ffffff0b 50%,transparent 50.1%),linear-gradient(#ffffff06 1px,transparent 1px);background-size:100% 100%,100% 72px}
.season-opening.is-champion{background:radial-gradient(ellipse at 72% 38%,#b5cc8140 0,transparent 38%),radial-gradient(ellipse at 14% 89%,#9a583529 0,transparent 39%),#090d15}
.season-opening.is-champion .opening-frame{border-color:#d9c47a70}
.season-opening.is-champion .opening-trophy:before{background:radial-gradient(circle,#a8c77849,transparent 70%)}
.season-opening.is-champion .trophy-orbit{border-color:#bdd58a55}
.season-opening.is-champion .trophy-star{color:#d0e89a;text-shadow:0 0 18px #d0e89a9a}
.opening-grain{position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}
.opening-frame{position:relative;width:min(1320px,100%);padding:clamp(22px,4vw,54px);border:1px solid #d6bd7733;background:linear-gradient(135deg,#141821f2,#11151ef2 53%,#16161bf2);box-shadow:0 35px 120px #000a,inset 0 1px #ffffff12;animation:opening-arrive .75s cubic-bezier(.18,.76,.24,1) both}
.opening-frame:before,.opening-frame:after{content:"";position:absolute;width:38px;height:38px;border-color:#d9c27a;opacity:.72}
.opening-frame:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}
.opening-frame:after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}
.opening-topline,.opening-brand,.opening-hero,.opening-actions,.opening-footer{display:flex;align-items:center}
.opening-topline{justify-content:space-between;padding-bottom:17px;border-bottom:1px solid #ffffff16}
.opening-brand{gap:10px;color:#f1eee3;font:800 12px var(--mono);letter-spacing:1.4px}
.opening-brand img{object-fit:contain;filter:drop-shadow(0 0 12px #e0c97950)}
.opening-brand b{color:var(--gold);font-weight:600}
.opening-season{color:#a7adba;font:8px var(--mono);letter-spacing:1.3px}
.opening-hero{position:relative;min-height:clamp(280px,38vh,390px);justify-content:space-between;gap:26px;padding:clamp(24px,5vh,52px) 2px 28px}
.opening-copy{position:relative;z-index:2;width:min(680px,66%);padding-left:clamp(0px,2vw,22px)}
.opening-kicker{display:flex;align-items:center;gap:9px;color:#e1ca7a;font:8px var(--mono);letter-spacing:1.7px}
.opening-kicker i{width:7px;height:7px;background:#e0c879;transform:rotate(45deg);box-shadow:0 0 15px #e0c8799c}
.opening-copy h1{margin:20px 0 13px;color:#f4f1e9;font:900 clamp(58px,9vw,122px)/.77 var(--display);letter-spacing:-1.6px;text-transform:uppercase}
.season-opening.is-champion .opening-copy h1{font-size:clamp(52px,7vw,96px)}
.opening-copy h1 em{color:#e4ca72;font-style:normal}
.opening-copy p{max-width:460px;margin:20px 0 0;color:#b6bdc8;font:500 clamp(12px,1.15vw,15px)/1.65 var(--body)}
.opening-actions{gap:20px;margin-top:26px}
.opening-enter{display:inline-flex;align-items:center;gap:23px;min-height:49px;padding:0 17px;border:1px solid #f0d37c;background:#e0c66c;color:#171811;cursor:pointer;font:700 9px var(--mono);letter-spacing:1px;transition:transform .2s,background .2s}
.opening-enter:hover{transform:translateY(-2px);background:#f0d982}
.opening-enter i{font:18px var(--body);font-style:normal}
.opening-skip{padding:12px 0;border:0;background:transparent;color:#b8c0cd;cursor:pointer;font:8px var(--mono);letter-spacing:1.2px}
.opening-skip span{padding-left:5px;color:#e1cb7e}
.opening-skip:hover{color:#fff}
.opening-note{display:block;margin-top:23px;color:#778292;font:7px var(--mono);letter-spacing:1.5px}
.opening-trophy{position:absolute;right:4%;top:50%;width:min(34%,330px);aspect-ratio:1;display:grid;place-items:center;transform:translateY(-50%)}
.opening-trophy:before{content:"";position:absolute;inset:15%;border-radius:50%;background:radial-gradient(circle,#b49b5734,transparent 70%);filter:blur(12px)}
.opening-trophy img{position:relative;z-index:1;width:67%;height:67%;object-fit:contain;filter:drop-shadow(0 18px 22px #0009) drop-shadow(0 0 28px #d9c47a44);animation:trophy-float 5.5s ease-in-out infinite}
.trophy-orbit{position:absolute;inset:5%;border:1px solid #d6bd7733;border-radius:50%;transform:rotate(-24deg) scaleY(.42)}
.orbit-two{inset:15%;border-color:#d6bd7742;transform:rotate(56deg) scaleY(.52)}
.trophy-star{position:absolute;top:9%;right:16%;z-index:2;color:#e7d082;font:20px var(--body);text-shadow:0 0 18px #f3da7780}
.trophy-caption{position:absolute;z-index:2;bottom:-2%;color:#a8adba;text-align:center;font:7px/1.8 var(--mono);letter-spacing:1.4px}
.trophy-caption b{color:#e2cc7c;font-weight:500}
.opening-contenders{padding-top:17px;border-top:1px solid #ffffff19}
.contenders-heading{display:flex;align-items:baseline;gap:13px;margin-bottom:13px;color:#8691a1;font:7px var(--mono);letter-spacing:1.3px}
.contenders-heading strong{color:#f0eee7;font:800 16px/.9 var(--display);letter-spacing:.3px}
.contenders-count{margin-left:auto}
.contender-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.contender-card{position:relative;display:flex;min-width:0;min-height:76px;align-items:center;gap:7px;padding:9px 7px;border:1px solid #ffffff12;background:linear-gradient(135deg,#ffffff08,#ffffff02);transition:transform .22s,border-color .22s,background .22s}
.contender-card:hover{transform:translateY(-3px);border-color:#d7c2728a;background:#d7c27212}
.contender-card img{width:38px;height:38px;flex:none;object-fit:contain;filter:drop-shadow(0 3px 5px #0008)}
.contender-card strong{color:#e7e9ed;font:700 13px/.95 var(--display);overflow-wrap:anywhere}
.contender-index{position:absolute;top:5px;right:6px;color:#687384;font:6px var(--mono)}
.opening-footer{justify-content:space-between;gap:12px;margin-top:18px;color:#727e90;font:7px var(--mono);letter-spacing:1px}
.opening-footer b{color:#bac4d1;font-weight:600}
@keyframes opening-arrive{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes trophy-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:900px){
  .opening-frame{padding:24px}
  .opening-hero{min-height:300px}
  .opening-copy{width:73%}
  .opening-trophy{right:0;width:32%}
  .contender-rail{grid-template-columns:repeat(4,minmax(0,1fr))}
  .contender-card{min-height:59px}
  .contender-card img{width:34px;height:34px}
}
@media(max-width:600px){
  .season-opening{align-items:start;padding:10px}
  .opening-frame{margin:auto 0;padding:17px 14px}
  .opening-frame:before,.opening-frame:after{width:24px;height:24px}
  .opening-topline{padding-bottom:12px}
  .opening-brand{gap:6px;font-size:9px;letter-spacing:.8px}
  .opening-brand img{width:27px;height:27px}
  .opening-season{font-size:6px;letter-spacing:.6px}
  .opening-hero{min-height:0;padding:35px 0 21px}
  .opening-copy{width:100%;padding:0}
  .opening-kicker{font-size:7px;letter-spacing:1px}
  .opening-copy h1{position:relative;z-index:2;margin:18px 0 12px;font-size:clamp(53px,15vw,83px);letter-spacing:-.8px}
  .opening-copy p{max-width:290px;margin-top:15px;font-size:12px}
  .opening-trophy{right:-5px;top:14px;width:36%;transform:none;opacity:.56}
  .season-opening.is-champion .opening-trophy{opacity:.15}
  .opening-trophy img{width:80%;height:80%}
  .trophy-caption{display:none}
  .opening-actions{position:relative;z-index:3;flex-wrap:wrap;gap:13px;margin-top:22px}
  .opening-enter{min-height:45px;padding:0 12px;gap:12px;font-size:8px}
  .opening-note{margin-top:16px;font-size:6px;letter-spacing:.9px}
  .opening-contenders{padding-top:13px}
  .contenders-heading{gap:7px;font-size:6px;letter-spacing:.6px}
  .contenders-heading strong{font-size:14px}
  .contenders-count{font-size:5px}
  .contender-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .contender-card{min-height:49px;padding:6px}
  .contender-card img{width:32px;height:32px}
  .contender-card strong{font-size:13px}
  .opening-footer{align-items:flex-start;flex-direction:column;gap:5px;margin-top:13px;font-size:6px;letter-spacing:.6px}
}
@media(prefers-reduced-motion:reduce){
  .opening-frame,.opening-trophy img{animation:none!important}
  .opening-enter,.opening-skip,.contender-card{transition:none!important}
}
