:root{--live-bg:#020604;--live-panel:rgba(8,18,12,.92);--live-panel-2:rgba(12,27,18,.9);--live-border:rgba(97,255,159,.16);--live-border-strong:rgba(97,255,159,.36);--live-green:#48ff93;--live-teal:#2cf7e8;--live-red:#ff5e75;--live-gold:#ffd66b;--live-blue:#79a7ff;--live-text:#eaf6ee;--live-muted:#789083;--live-grid:rgba(255,255,255,.035);--rail-width:178px;--event-width:270px;--right-width:340px}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--live-bg);color:var(--live-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}button,input{font:inherit}button{color:inherit}a{color:inherit}img{display:block}body::before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 12% 0,rgba(72,255,147,.1),transparent 28%),radial-gradient(circle at 86% 4%,rgba(44,247,232,.08),transparent 25%),linear-gradient(#020604,#030906 55%,#020604)}body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(var(--live-grid) 1px,transparent 1px),linear-gradient(90deg,var(--live-grid) 1px,transparent 1px);background-size:34px 34px;opacity:.65;mask-image:linear-gradient(to bottom,#000,transparent 88%)}
.live-site-header{position:sticky;top:0;z-index:1000;height:54px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:0 18px;background:rgba(1,5,3,.92);border-bottom:1px solid var(--live-border);backdrop-filter:blur(18px)}.live-brand{display:flex;align-items:center;gap:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-weight:900;letter-spacing:.14em;text-decoration:none}.live-brand span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--live-green);border-radius:6px;color:var(--live-green);box-shadow:0 0 18px rgba(72,255,147,.16)}.live-nav{display:flex;justify-content:center;gap:24px}.live-nav a{position:relative;color:var(--live-muted);font-size:.75rem;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.09em}.live-nav a:hover,.live-nav a[aria-current=page]{color:var(--live-green)}.live-nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:2px;background:var(--live-green);box-shadow:0 0 12px var(--live-green)}.feed-health{display:flex;align-items:center;gap:8px;color:#a9c3b2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.06em}.feed-health i,.green-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--live-green);box-shadow:0 0 12px var(--live-green);animation:pulse-dot 1.6s infinite}.feed-health.stale i{background:var(--live-red);box-shadow:0 0 12px var(--live-red)}
.live-workstation{display:grid;grid-template-columns:var(--rail-width) var(--event-width) minmax(620px,1fr) var(--right-width);gap:8px;min-height:calc(100vh - 54px);padding:8px;transition:grid-template-columns .25s ease}.live-workstation.game-collapsed{--rail-width:58px}.live-workstation.events-collapsed{--event-width:58px}.panel-shell{background:linear-gradient(150deg,rgba(12,27,18,.93),rgba(4,11,7,.96));border:1px solid var(--live-border);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.28);overflow:hidden}.game-rail,.event-rail,.intelligence-rail{position:sticky;top:62px;height:calc(100vh - 70px);min-height:620px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border-bottom:1px solid var(--live-border)}.compact-heading strong{display:block;margin-top:2px;font-size:.84rem}.panel-kicker{display:block;color:var(--live-teal);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.61rem;font-weight:900;letter-spacing:.14em}.icon-button{width:28px;height:28px;border:1px solid var(--live-border);border-radius:7px;background:rgba(255,255,255,.025);color:var(--live-green);cursor:pointer}.icon-button:hover{border-color:var(--live-green)}
.date-switcher{display:grid;grid-template-columns:29px 1fr 29px;align-items:center;gap:4px;padding:10px;border-bottom:1px solid var(--live-border)}.date-switcher button{height:28px;border:1px solid var(--live-border);border-radius:6px;background:rgba(255,255,255,.025);cursor:pointer}.date-switcher span{text-align:center;color:#aac1b2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;font-weight:800}.game-list{height:calc(100% - 112px);padding:8px;overflow:auto}.game-tile{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;width:100%;min-height:54px;margin-bottom:6px;padding:8px;border:1px solid transparent;border-radius:9px;background:rgba(255,255,255,.018);text-align:left;cursor:pointer;transition:.18s ease}.game-tile:hover{background:rgba(72,255,147,.05);border-color:var(--live-border)}.game-tile.active{background:linear-gradient(135deg,rgba(72,255,147,.12),rgba(44,247,232,.05));border-color:var(--live-border-strong);box-shadow:inset 3px 0 var(--live-green),0 0 18px rgba(72,255,147,.06)}.game-tile-logos{display:grid;grid-template-columns:1fr 1fr;gap:1px}.game-tile-logos img{width:24px;height:24px;object-fit:contain}.game-tile-copy{min-width:0}.game-tile-copy strong{display:block;font-size:.72rem;white-space:nowrap}.game-tile-copy span{display:block;margin-top:3px;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.59rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-tile-score{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:var(--live-green)}
.event-controls{display:flex;gap:5px;padding:10px;border-bottom:1px solid var(--live-border);overflow:auto}.control-chip{padding:6px 9px;border:1px solid var(--live-border);border-radius:999px;background:transparent;color:var(--live-muted);font-size:.63rem;font-weight:900;cursor:pointer}.control-chip.active{background:rgba(72,255,147,.1);border-color:rgba(72,255,147,.38);color:var(--live-green)}.event-stream{height:calc(100% - 113px);padding:9px;overflow:auto}.event-card{position:relative;margin-bottom:7px;padding:10px 10px 10px 13px;border:1px solid rgba(255,255,255,.05);border-radius:8px;background:rgba(255,255,255,.018)}.event-card::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:#5f7869}.event-card.pitch::before{background:var(--live-teal)}.event-card.alert::before{background:var(--live-gold);box-shadow:0 0 9px rgba(255,214,107,.45)}.event-card.positive::before{background:var(--live-green);box-shadow:0 0 9px rgba(72,255,147,.45)}.event-card.negative::before{background:var(--live-red);box-shadow:0 0 9px rgba(255,94,117,.45)}.event-card header{display:flex;justify-content:space-between;gap:8px;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem}.event-card strong{display:block;margin-top:6px;font-size:.69rem;line-height:1.35}.event-card p{margin:4px 0 0;color:#91a99a;font-size:.62rem;line-height:1.45}
.game-stage-column{display:grid;grid-template-rows:auto minmax(540px,1fr) auto;gap:8px;min-width:0}.team-marquee{display:grid;grid-template-columns:1fr minmax(160px,.55fr) 1fr;align-items:center;min-height:92px;padding:12px 18px;position:relative;overflow:visible}.team-marquee::before,.team-marquee::after{content:"";position:absolute;top:-45px;width:260px;height:150px;filter:blur(42px);opacity:.14;pointer-events:none}.team-marquee::before{left:3%;background:var(--away-glow,var(--live-blue))}.team-marquee::after{right:3%;background:var(--home-glow,var(--live-green))}.marquee-team{position:relative;z-index:2;display:flex;align-items:center;gap:12px}.marquee-team img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(0,0,0,.45))}.marquee-team div{min-width:0}.marquee-team span{display:block;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;letter-spacing:.1em}.marquee-team strong{display:block;margin-top:4px;font-size:clamp(.78rem,1vw,.98rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.marquee-team b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2rem}.home-team{justify-content:flex-end;text-align:right}.marquee-center{position:relative;z-index:2;text-align:center}.live-state-row{display:flex;align-items:center;justify-content:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;font-weight:900}.live-pill{padding:4px 7px;border-radius:999px;background:rgba(255,94,117,.12);border:1px solid rgba(255,94,117,.35);color:#ff8a9a;box-shadow:0 0 16px rgba(255,94,117,.12)}.marquee-center>span{display:block;margin-top:7px;color:#bad0c2;font-size:.72rem}.marquee-center small{display:block;margin-top:4px;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem}
.ballpark-console{min-height:530px;display:flex;flex-direction:column}.hud-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 14px;border-bottom:1px solid var(--live-border)}.hud-toolbar strong{font-size:.75rem}.hud-statuses{display:flex;align-items:center;gap:16px;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.hud-statuses span{display:flex;align-items:center;gap:5px}.hud-statuses b{color:#cce0d3}.ballpark-stage{position:relative;flex:1;min-height:490px;overflow:hidden;background:radial-gradient(circle at 50% 58%,rgba(72,255,147,.085),transparent 37%),linear-gradient(180deg,rgba(1,7,4,.1),rgba(1,5,3,.82));isolation:isolate}.ballpark-stage::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.025) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(255,255,255,.018) 50%,transparent 50.2%);pointer-events:none}.park-glow{position:absolute;width:250px;height:250px;border-radius:50%;filter:blur(70px);opacity:.09;z-index:-1}.park-glow-left{left:-90px;top:90px;background:var(--away-glow,var(--live-blue))}.park-glow-right{right:-90px;top:90px;background:var(--home-glow,var(--live-green))}.ballpark-svg{position:absolute;inset:2% 4% 0;width:92%;height:96%;filter:drop-shadow(0 18px 25px rgba(0,0,0,.52))}.outfield-shape{fill:url(#grassGradient);stroke:rgba(72,255,147,.48);stroke-width:3}.warning-track{fill:none;stroke:#6d4930;stroke-width:17;opacity:.82}.infield-shape{fill:url(#dirtGradient);stroke:rgba(255,255,255,.16);stroke-width:2}.mound{fill:#c09469;stroke:rgba(255,255,255,.27);stroke-width:2}.baseline{fill:none;stroke:rgba(255,255,255,.62);stroke-width:3}.bases rect{fill:#f2f5eb;stroke:#fff;stroke-width:2}.pitch-trail{fill:none;stroke:var(--live-teal);stroke-width:4;stroke-linecap:round;stroke-dasharray:7 8;opacity:.85;filter:url(#fieldGlow);animation:dash 1.2s linear infinite}.hit-trail{fill:none;stroke:var(--live-gold);stroke-width:3;stroke-dasharray:7 8;opacity:.76;filter:url(#fieldGlow);animation:dash 2s linear infinite}.ball-marker{fill:var(--live-gold);filter:url(#fieldGlow);animation:ball-pulse 1.5s infinite}.wind-arrow path{fill:none;stroke:var(--live-teal);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:url(#fieldGlow)}.field-region{position:absolute;z-index:3;border:1px solid rgba(72,255,147,.1);background:rgba(4,14,9,.22);color:rgba(211,245,222,.58);cursor:pointer;opacity:0;transition:.18s ease}.field-region:hover{opacity:1;background:rgba(72,255,147,.07);border-color:rgba(72,255,147,.38);box-shadow:inset 0 0 45px rgba(72,255,147,.05)}.field-region span{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.67rem;font-weight:900;letter-spacing:.12em}.field-region small{display:block;margin-top:4px;font-size:.55rem}.outfield-region{left:18%;right:18%;top:8%;height:42%;clip-path:polygon(50% 0,100% 55%,80% 100%,20% 100%,0 55%)}.infield-region{left:36%;right:36%;bottom:8%;height:37%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.field-players{position:absolute;inset:0;z-index:5;pointer-events:none}.field-player{position:absolute;transform:translate(-50%,-50%);pointer-events:auto}.field-player button{display:flex;align-items:center;gap:5px;padding:4px 6px 4px 4px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(2,8,5,.88);box-shadow:0 6px 14px rgba(0,0,0,.42);cursor:pointer}.field-player button:hover{border-color:var(--live-green);box-shadow:0 0 16px rgba(72,255,147,.17)}.field-player i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#183f2a;color:var(--live-green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.51rem;font-style:normal;font-weight:900}.field-player span{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.53rem;font-weight:800}.field-player.hot button{border-color:rgba(72,255,147,.45);box-shadow:0 0 19px rgba(72,255,147,.16)}.field-player.cold button{border-color:rgba(121,167,255,.42);box-shadow:0 0 19px rgba(121,167,255,.15)}.matchup-focus{position:absolute;z-index:7;width:min(215px,27%);padding:9px 10px;border:1px solid var(--live-border);border-radius:9px;background:rgba(3,10,6,.9);box-shadow:0 8px 22px rgba(0,0,0,.42)}.matchup-focus>span{display:block;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5rem;letter-spacing:.12em}.matchup-focus button{display:block;width:100%;margin-top:3px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.matchup-focus strong{display:block;font-size:.7rem}.matchup-focus small{display:block;margin-top:3px;color:var(--live-green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5rem}.pitcher-focus{left:12px;bottom:12px}.batter-focus{right:12px;bottom:12px;text-align:right}.batter-focus button{text-align:right}.base-state{position:absolute;right:18px;top:18px;width:52px;height:52px;transform:rotate(45deg)}.base-state i{position:absolute;width:16px;height:16px;border:1px solid rgba(255,255,255,.36);background:rgba(255,255,255,.04)}.base-state i.active{background:var(--live-gold);border-color:var(--live-gold);box-shadow:0 0 12px rgba(255,214,107,.38)}.base-state i:nth-child(1){left:18px;top:0}.base-state i:nth-child(2){left:0;top:18px}.base-state i:nth-child(3){right:0;top:18px}.field-intelligence-stack{position:absolute;left:12px;top:12px;z-index:7;display:grid;gap:5px;width:min(250px,38%)}.intelligence-alert{padding:7px 9px;border-left:2px solid #6d7c73;background:rgba(2,8,5,.82);border-radius:0 7px 7px 0;box-shadow:0 5px 16px rgba(0,0,0,.32)}.intelligence-alert span{display:block;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.47rem;letter-spacing:.1em}.intelligence-alert strong{display:block;margin-top:3px;font-size:.57rem}.intelligence-alert.positive{border-color:var(--live-green);box-shadow:0 0 18px rgba(72,255,147,.08)}.intelligence-alert.warning{border-color:var(--live-gold)}.intelligence-alert.negative{border-color:var(--live-red);box-shadow:0 0 18px rgba(255,94,117,.08)}
.score-bug{overflow:visible}.score-primary{display:grid;grid-template-columns:1fr minmax(150px,.6fr) 1fr minmax(95px,.42fr);align-items:center;min-height:78px;border-bottom:1px solid var(--live-border)}.score-team{display:flex;align-items:center;gap:10px;padding:10px 16px}.score-team.home{justify-content:flex-end}.score-team img{width:42px;height:42px;object-fit:contain}.score-team span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-weight:900}.score-team b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2.15rem}.score-state{text-align:center}.score-state>strong{display:block;color:var(--live-green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.score-state>span{display:block;margin-top:4px;color:#b1c5b8;font-size:.62rem;font-weight:900}.bug-bases{position:relative;width:34px;height:28px;margin:5px auto 0}.bug-bases i{position:absolute;width:10px;height:10px;transform:rotate(45deg);border:1px solid rgba(255,255,255,.36)}.bug-bases i.active{background:var(--live-gold);border-color:var(--live-gold)}.bug-bases i:nth-child(1){left:12px;top:0}.bug-bases i:nth-child(2){left:2px;top:10px}.bug-bases i:nth-child(3){right:2px;top:10px}.count-cluster{align-self:stretch;display:grid;place-items:center;border-left:1px solid var(--live-border);padding:8px;text-align:center}.count-cluster span,.count-cluster small{color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem}.count-cluster strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.25rem}.score-secondary{display:grid;grid-template-columns:1fr 1fr 1.7fr 1fr 1fr;border-bottom:1px solid var(--live-border)}.score-secondary>div{padding:9px 11px;border-right:1px solid var(--live-border)}.score-secondary>div:last-child{border-right:0}.score-secondary span{display:block;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.49rem;letter-spacing:.08em}.score-secondary strong{display:block;margin-top:3px;font-size:.59rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-tertiary{display:grid;grid-template-columns:minmax(300px,1fr) 1.4fr;align-items:center}.line-score{display:grid;grid-template-columns:repeat(10,minmax(18px,1fr));padding:8px 10px;border-right:1px solid var(--live-border)}.line-score div{text-align:center}.line-score span{display:block;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.47rem}.line-score strong{display:block;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.market-strip{display:flex;justify-content:space-around;gap:8px;padding:8px 10px;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.48rem;white-space:nowrap}.market-strip b{color:#d8e7dd}
.intelligence-rail{display:flex;flex-direction:column}.right-panel-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--live-border)}.right-panel-tabs button{padding:13px 4px;border:0;border-right:1px solid var(--live-border);background:transparent;color:var(--live-muted);font-size:.64rem;font-weight:900;text-transform:uppercase;cursor:pointer}.right-panel-tabs button:last-child{border-right:0}.right-panel-tabs button.active{background:rgba(72,255,147,.07);color:var(--live-green);box-shadow:inset 0 -2px var(--live-green)}.right-tab-panel{display:none;flex:1;min-height:0;padding:12px;overflow:auto}.right-tab-panel.active{display:block}.lineup-switcher{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lineup-switcher button{padding:8px;border:1px solid var(--live-border);border-radius:7px;background:rgba(255,255,255,.02);color:var(--live-muted);font-size:.64rem;font-weight:900;text-transform:uppercase;cursor:pointer}.lineup-switcher button.active{background:rgba(44,247,232,.08);border-color:rgba(44,247,232,.35);color:var(--live-teal)}.lineup-meta{display:flex;justify-content:space-between;gap:10px;padding:10px 2px 7px;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5rem}.live-lineup{display:grid;gap:5px}.lineup-row{display:grid;grid-template-columns:22px minmax(0,1fr) 28px 65px;align-items:center;gap:7px;padding:7px 7px 7px 5px;border:1px solid rgba(255,255,255,.05);border-radius:8px;background:rgba(255,255,255,.018);cursor:pointer}.lineup-row:hover{border-color:var(--live-border-strong);background:rgba(72,255,147,.04)}.lineup-row.active{border-color:rgba(72,255,147,.38);box-shadow:inset 2px 0 var(--live-green),0 0 14px rgba(72,255,147,.05)}.lineup-row .order{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#12251a;color:var(--live-green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;font-weight:900}.lineup-row .player-copy{min-width:0}.lineup-row strong{display:block;font-size:.61rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lineup-row small{display:block;margin-top:2px;color:var(--live-muted);font-size:.49rem}.lineup-row .hand{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.53rem;color:#aec4b5}.lineup-row .pulse{text-align:right}.lineup-row .pulse b{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem}.lineup-row .pulse span{display:block;margin-top:2px;color:var(--live-green);font-size:.46rem}.lineup-row.cold .pulse span{color:var(--live-blue)}.lineup-row.hot .pulse span{color:var(--live-green)}.mini-section{margin-top:13px;padding-top:12px;border-top:1px solid var(--live-border)}.mini-section-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--live-teal);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;font-weight:900;letter-spacing:.08em}.mini-section-heading small{color:var(--live-muted);font-weight:600}.due-up-list{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.due-up-card{padding:7px;border:1px solid var(--live-border);border-radius:7px;background:rgba(255,255,255,.015)}.due-up-card span{display:block;color:var(--live-muted);font-size:.46rem}.due-up-card strong{display:block;margin-top:4px;font-size:.54rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitcher-panel-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.pitcher-panel-heading strong{display:block;margin-top:4px;font-size:.8rem}.pulse-badge{padding:5px 7px;border-radius:999px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.48rem;font-weight:900}.pulse-badge.positive{background:rgba(72,255,147,.1);border:1px solid rgba(72,255,147,.36);color:var(--live-green);box-shadow:0 0 15px rgba(72,255,147,.08)}.pitcher-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px}.pitcher-stat-grid div{padding:8px;border:1px solid rgba(255,255,255,.05);border-radius:7px;background:rgba(255,255,255,.016)}.pitcher-stat-grid span{display:block;color:var(--live-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.47rem}.pitcher-stat-grid strong{display:block;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.pitcher-stat-grid small{display:block;margin-top:2px;color:var(--live-green);font-size:.43rem}.arsenal-list{display:grid;gap:5px}.arsenal-row{display:grid;grid-template-columns:55px 1fr 44px;align-items:center;gap:7px;padding:7px;border:1px solid rgba(255,255,255,.05);border-radius:7px}.arsenal-row strong{font-size:.56rem}.arsenal-bar{height:5px;border-radius:99px;background:#132019;overflow:hidden}.arsenal-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--live-green),var(--live-teal));box-shadow:0 0 10px rgba(72,255,147,.22)}.arsenal-row span{text-align:right;color:#c4d8ca;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5rem}.risk-meter{height:8px;border-radius:99px;background:#132019;overflow:hidden}.risk-meter i{display:block;width:36%;height:100%;background:linear-gradient(90deg,var(--live-green),var(--live-gold),var(--live-red));transition:width .4s ease}.risk-notes{display:grid;gap:4px;margin-top:8px}.risk-notes div{display:flex;justify-content:space-between;gap:8px;color:var(--live-muted);font-size:.51rem}.risk-notes b{color:#cfe0d5}.fielder-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.fielder-card{padding:8px;border:1px solid rgba(255,255,255,.05);border-radius:7px;background:rgba(255,255,255,.016);cursor:pointer}.fielder-card:hover{border-color:var(--live-border-strong)}.fielder-card span{color:var(--live-teal);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.46rem}.fielder-card strong{display:block;margin-top:3px;font-size:.55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fielder-card small{display:block;margin-top:3px;color:var(--live-muted);font-size:.45rem}.condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.condition-grid div{padding:8px;border:1px solid rgba(255,255,255,.05);border-radius:7px}.condition-grid span{display:block;color:var(--live-muted);font-size:.46rem}.condition-grid strong{display:block;margin-top:3px;font-size:.56rem}.chat-launch{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:calc(100% - 18px);margin:0 9px 9px;padding:10px;border:1px solid rgba(44,247,232,.28);border-radius:9px;background:linear-gradient(135deg,rgba(44,247,232,.08),rgba(72,255,147,.04));text-align:left;cursor:pointer}.chat-launch span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--live-teal);border-radius:8px;color:var(--live-teal);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;font-weight:900}.chat-launch strong{font-size:.58rem}.chat-launch b{color:var(--live-teal)}
.chat-drawer,.detail-drawer{position:fixed;z-index:2000;top:62px;right:8px;bottom:8px;width:min(390px,calc(100vw - 16px));transform:translateX(calc(100% + 18px));transition:transform .25s ease;background:linear-gradient(150deg,#0c1a12,#030a06);border:1px solid var(--live-border-strong);border-radius:12px;box-shadow:-24px 0 60px rgba(0,0,0,.55),0 0 28px rgba(44,247,232,.06);overflow:hidden}.chat-drawer.open,.detail-drawer.open{transform:translateX(0)}.chat-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px;border-bottom:1px solid var(--live-border)}.chat-heading strong{display:block;margin-top:3px}.chat-heading button,.drawer-close{width:30px;height:30px;border:1px solid var(--live-border);border-radius:7px;background:transparent;cursor:pointer}.chat-body{height:calc(100% - 121px);padding:14px;overflow:auto}.chat-message{max-width:90%;margin-bottom:10px;padding:10px 11px;border:1px solid var(--live-border);border-radius:10px;background:rgba(255,255,255,.025);font-size:.67rem;line-height:1.55}.chat-message.alert{border-color:rgba(255,214,107,.35);box-shadow:0 0 16px rgba(255,214,107,.06)}.chat-message.alert span{display:block;margin-bottom:4px;color:var(--live-gold);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.51rem;font-weight:900}.chat-message.muted{color:var(--live-muted)}.chat-input{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px;border-top:1px solid var(--live-border)}.chat-input input{min-width:0;padding:10px;border:1px solid var(--live-border);border-radius:8px;background:rgba(255,255,255,.025);color:var(--live-text);outline:none}.chat-input button{padding:10px 13px;border:1px solid var(--live-green);border-radius:8px;background:var(--live-green);color:#031007;font-weight:900;cursor:pointer}.detail-drawer{left:50%;right:auto;width:min(560px,calc(100vw - 16px));transform:translate(-50%,calc(100% + 18px));top:auto;height:min(520px,calc(100vh - 78px));padding:22px}.detail-drawer.open{transform:translate(-50%,0)}.drawer-close{position:absolute;right:12px;top:12px}.detail-drawer h2{margin:7px 0 14px;font-size:2rem}.detail-drawer p{color:#9eb4a6;line-height:1.7}.detail-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.detail-metric-grid div{padding:12px;border:1px solid var(--live-border);border-radius:8px;background:rgba(255,255,255,.02)}.detail-metric-grid span{display:block;color:var(--live-muted);font-size:.55rem}.detail-metric-grid strong{display:block;margin-top:5px;font-size:.72rem}.live-toast{position:fixed;z-index:3000;left:50%;bottom:18px;transform:translate(-50%,20px);padding:9px 13px;border:1px solid var(--live-border-strong);border-radius:8px;background:#07130c;color:#cce0d3;font-size:.67rem;opacity:0;pointer-events:none;transition:.2s ease;box-shadow:0 8px 24px rgba(0,0,0,.45)}.live-toast.show{opacity:1;transform:translate(-50%,0)}
.game-collapsed .game-rail .compact-heading>div,.game-collapsed .date-switcher span,.game-collapsed .date-switcher button,.game-collapsed .game-tile-copy,.game-collapsed .game-tile-score{display:none}.game-collapsed .game-rail .compact-heading{padding:10px 7px;justify-content:center}.game-collapsed .game-rail .icon-button{transform:rotate(180deg)}.game-collapsed .date-switcher{display:block;height:8px;padding:0;border:0}.game-collapsed .game-list{height:calc(100% - 53px);padding:5px}.game-collapsed .game-tile{display:block;padding:5px;min-height:50px}.game-collapsed .game-tile-logos{grid-template-columns:1fr}.game-collapsed .game-tile-logos img{width:28px;height:22px;margin:auto}.events-collapsed .event-rail .compact-heading>div,.events-collapsed .event-controls,.events-collapsed .event-card>*{display:none}.events-collapsed .event-rail .compact-heading{padding:10px 7px;justify-content:center}.events-collapsed .event-rail .icon-button{transform:rotate(180deg)}.events-collapsed .event-stream{height:calc(100% - 49px);padding:5px}.events-collapsed .event-card{height:34px;padding:0;margin-bottom:5px}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.72)}}@keyframes dash{to{stroke-dashoffset:-30}}@keyframes ball-pulse{0%,100%{transform:scale(1);transform-origin:center}50%{transform:scale(1.45);transform-origin:center}}
@media(max-width:1450px){:root{--rail-width:155px;--event-width:230px;--right-width:310px}.live-workstation{grid-template-columns:var(--rail-width) var(--event-width) minmax(560px,1fr) var(--right-width)}.marquee-team strong{max-width:145px}.score-secondary{grid-template-columns:1fr 1fr 1.3fr 1fr 1fr}.score-tertiary{grid-template-columns:1fr}.line-score{border-right:0;border-bottom:1px solid var(--live-border)}}
@media(max-width:1180px){.live-workstation{grid-template-columns:58px 58px minmax(540px,1fr) 300px}.game-rail .compact-heading>div,.game-rail .date-switcher,.game-tile-copy,.game-tile-score,.event-rail .compact-heading>div,.event-controls,.event-card>*{display:none}.game-rail .compact-heading,.event-rail .compact-heading{padding:10px 7px;justify-content:center}.game-list,.event-stream{height:calc(100% - 49px);padding:5px}.game-tile{display:block;padding:5px;min-height:50px}.game-tile-logos{grid-template-columns:1fr}.game-tile-logos img{width:28px;height:22px;margin:auto}.event-card{height:34px;padding:0;margin-bottom:5px}}
@media(max-width:900px){body{overflow:auto}.live-site-header{grid-template-columns:auto 1fr}.feed-health{display:none}.live-nav{justify-content:flex-end;overflow:auto}.live-workstation{display:block;padding:6px}.game-rail,.event-rail,.intelligence-rail{position:relative;top:auto;height:auto;min-height:0;margin-bottom:6px}.game-rail .compact-heading>div,.event-rail .compact-heading>div,.event-controls,.event-card>*{display:initial}.game-rail .date-switcher{display:grid}.game-rail .game-list{display:flex;height:auto;overflow:auto}.game-tile{display:grid;grid-template-columns:30px 1fr auto;min-width:165px}.game-tile-logos{grid-template-columns:1fr 1fr}.game-tile-copy,.game-tile-score{display:block}.event-rail .event-stream{display:flex;height:auto;max-height:170px;overflow:auto}.event-card{min-width:220px;height:auto;padding:10px 10px 10px 13px}.game-stage-column{margin-bottom:6px}.intelligence-rail{height:auto}.right-tab-panel{max-height:none}.team-marquee{grid-template-columns:1fr 100px 1fr}.marquee-team img{width:44px;height:44px}.marquee-team b{font-size:1.5rem}.marquee-team strong{max-width:100px}.ballpark-stage{min-height:470px}.score-secondary{grid-template-columns:repeat(2,1fr)}.score-secondary>div{border-bottom:1px solid var(--live-border)}.score-tertiary{grid-template-columns:1fr}.market-strip{overflow:auto;justify-content:flex-start}.chat-launch{margin-top:8px}}
@media(max-width:620px){.live-site-header{grid-template-columns:1fr;gap:2px;height:auto;padding:8px 10px}.live-brand{justify-content:center}.live-nav{justify-content:flex-start;padding:6px 2px 2px}.live-nav a[aria-current=page]::after{bottom:-5px}.team-marquee{grid-template-columns:1fr 78px 1fr;padding:9px}.marquee-team{gap:6px}.marquee-team img{width:34px;height:34px}.marquee-team strong{font-size:.66rem;max-width:80px}.marquee-team span{font-size:.45rem}.marquee-team b{font-size:1.15rem}.marquee-center>span{font-size:.56rem}.marquee-center small{display:none}.hud-toolbar{align-items:flex-start;flex-direction:column}.hud-statuses{width:100%;justify-content:space-between;gap:5px}.ballpark-stage{min-height:410px}.field-intelligence-stack{width:46%}.matchup-focus{width:37%}.score-primary{grid-template-columns:1fr 88px 1fr}.count-cluster{grid-column:1/-1;border-left:0;border-top:1px solid var(--live-border);display:flex;justify-content:center;gap:12px}.score-team{padding:8px}.score-team img{width:30px;height:30px}.score-team b{font-size:1.5rem}.score-secondary{grid-template-columns:1fr}.score-secondary>div{border-right:0}.line-score{grid-template-columns:repeat(5,1fr);gap:5px}.market-strip{display:grid;grid-template-columns:1fr 1fr;white-space:normal}.detail-metric-grid{grid-template-columns:1fr 1fr}.field-player span{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Live HUD Phase 2 — shared park and plate coordinate systems */
.hud-toolbar{display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center}.hud-title-block small{display:block;margin-top:3px;color:#6f8879;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.48rem;letter-spacing:.08em}.hud-view-controls{display:flex;align-items:center;padding:3px;border:1px solid var(--live-border);border-radius:8px;background:rgba(0,0,0,.22)}.hud-view-controls button,.heatmap-layer-controls button{min-height:27px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#718779;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.53rem;font-weight:900;letter-spacing:.07em;cursor:pointer}.hud-view-controls button:hover,.heatmap-layer-controls button:hover{color:#d4e7da}.hud-view-controls button.active,.heatmap-layer-controls button.active{background:rgba(72,255,147,.11);color:var(--live-green);box-shadow:inset 0 0 0 1px rgba(72,255,147,.24),0 0 16px rgba(72,255,147,.07)}.hud-view-controls #autoViewButton[aria-pressed=true]{background:rgba(44,247,232,.1);color:var(--live-teal);box-shadow:inset 0 0 0 1px rgba(44,247,232,.25)}.hud-view{position:absolute;inset:0}.field-hud-view{display:block}.plate-hud-view{display:none;overflow:hidden}.plate-hud-view.active{display:block}.field-hud-view:not(.active){display:none}.ballpark-stage.plate-mode{background:radial-gradient(circle at 50% 30%,rgba(44,247,232,.08),transparent 28%),radial-gradient(circle at 50% 77%,rgba(72,255,147,.05),transparent 32%),linear-gradient(180deg,#050b08,#020503 78%)}
.field-axes{opacity:.17;pointer-events:none}.field-axes path{fill:none;stroke:rgba(188,224,201,.4);stroke-width:1;stroke-dasharray:4 9}.field-axes text{fill:#789182;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;letter-spacing:.06em}.foul-line{fill:none;stroke:rgba(255,255,255,.62);stroke-width:2}.dimension-labels text{paint-order:stroke;stroke:#061009;stroke-width:6px;stroke-linejoin:round;fill:#d7e9dc;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:900;text-anchor:middle}.dimension-labels circle{fill:var(--live-teal);stroke:#07110b;stroke-width:3;filter:url(#fieldGlow)}.coordinate-readout{position:absolute;left:14px;bottom:12px;z-index:5;padding:8px 10px;border:1px solid rgba(44,247,232,.14);border-radius:7px;background:rgba(2,9,5,.72);backdrop-filter:blur(8px);pointer-events:none}.coordinate-readout span,.coordinate-readout small{display:block;color:#668073;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.46rem}.coordinate-readout strong{display:block;margin:3px 0;color:var(--live-teal);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.54rem}.geometry-verified #geometryStatus{color:var(--live-green)}.geometry-calibration #geometryStatus{color:var(--live-gold)}
.plate-atmosphere{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,28,19,.32),rgba(1,5,3,.92)),repeating-linear-gradient(90deg,transparent 0 8%,rgba(255,255,255,.012) 8.1% 8.3%);pointer-events:none}.plate-matchup-header{position:absolute;z-index:6;left:18px;right:18px;top:14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.plate-matchup-header>div:first-child{text-align:left}.plate-matchup-header>div:last-child{text-align:right}.plate-matchup-header span,.plate-matchup-header small{display:block;color:#70877a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.48rem;letter-spacing:.09em}.plate-matchup-header strong{display:block;margin-top:3px;font-size:.78rem}.plate-versus{text-align:center!important}.plate-versus b{display:block;margin:3px 0;color:var(--live-teal);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.plate-versus small{padding:3px 6px;border:1px solid rgba(255,214,107,.2);border-radius:99px;color:var(--live-gold)}
.heatmap-toolbar{position:absolute;z-index:7;left:18px;right:18px;top:68px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(2,8,5,.64);backdrop-filter:blur(10px)}.heatmap-layer-controls{display:flex;align-items:center}.heatmap-metric-label{text-align:right}.heatmap-metric-label span,.heatmap-metric-label small{display:block}.heatmap-metric-label span{color:#cfe1d5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.51rem;font-weight:900}.heatmap-metric-label small{margin-top:2px;color:#647a6d;font-size:.43rem}
.plate-perspective{position:absolute;z-index:2;inset:106px 0 120px;perspective:900px;overflow:hidden}.stadium-depth-lines{position:absolute;left:50%;top:1%;width:760px;height:370px;transform:translateX(-50%);border-radius:50% 50% 8% 8%;background:radial-gradient(ellipse at center,rgba(42,102,67,.18),rgba(4,15,9,.04) 45%,transparent 68%);opacity:.75}.stadium-depth-lines i{position:absolute;left:50%;transform:translateX(-50%);border:1px solid rgba(80,155,109,.11);border-radius:50%}.stadium-depth-lines i:nth-child(1){top:15%;width:40%;height:17%}.stadium-depth-lines i:nth-child(2){top:9%;width:65%;height:32%}.stadium-depth-lines i:nth-child(3){top:2%;width:90%;height:50%}.stadium-depth-lines i:nth-child(4){top:51%;width:130%;height:70%;border-color:rgba(151,110,71,.09)}
.pitcher-silhouette{position:absolute;left:50%;top:28px;width:54px;height:112px;transform:translateX(-50%) scale(.72);filter:drop-shadow(0 0 12px rgba(72,255,147,.13));opacity:.7}.pitcher-silhouette i,.batter-silhouette i{position:absolute;display:block;background:#14251b;border:1px solid rgba(131,188,151,.22)}.pitcher-silhouette .head{left:19px;top:0;width:18px;height:18px;border-radius:50%}.pitcher-silhouette .body{left:13px;top:18px;width:29px;height:50px;border-radius:45% 45% 25% 25%;transform:rotate(-8deg)}.pitcher-silhouette .leg{top:64px;width:12px;height:45px;border-radius:7px}.pitcher-silhouette .leg.left{left:15px;transform:rotate(8deg)}.pitcher-silhouette .leg.right{right:14px;transform:rotate(-15deg)}.pitcher-silhouette span{position:absolute;top:116px;left:50%;transform:translateX(-50%);color:#536a5c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;letter-spacing:.1em}.batter-silhouette{position:absolute;left:calc(50% - 177px);bottom:8px;width:88px;height:190px;opacity:.76;filter:drop-shadow(0 0 15px rgba(255,94,117,.09));transition:left .25s ease,transform .25s ease}.batter-silhouette.left-handed{left:calc(50% + 90px);transform:scaleX(-1)}.batter-silhouette .head{left:33px;top:0;width:28px;height:28px;border-radius:50%}.batter-silhouette .body{left:27px;top:28px;width:40px;height:76px;border-radius:35% 35% 25% 25%;transform:rotate(-7deg)}.batter-silhouette .bat{left:5px;top:20px;width:8px;height:140px;border-radius:7px;transform:rotate(-38deg);transform-origin:bottom;background:#637065}.batter-silhouette .legs{left:29px;top:98px;width:60px;height:82px;border:0;background:linear-gradient(72deg,transparent 0 35%,#14251b 36% 48%,transparent 49%),linear-gradient(108deg,transparent 0 35%,#14251b 36% 48%,transparent 49%)}.umpire-silhouette,.catcher-silhouette{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);opacity:.35}.umpire-silhouette i{display:block;width:112px;height:125px;border-radius:48% 48% 22% 22%;background:#111914;border:1px solid rgba(255,255,255,.08)}.umpire-silhouette span{position:absolute;left:50%;top:28px;transform:translateX(-50%);white-space:nowrap;color:#708478;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.catcher-silhouette{bottom:-18px;opacity:.42}.catcher-silhouette i{display:block;width:76px;height:78px;border-radius:45% 45% 24% 24%;background:#17271d;border:1px solid rgba(72,255,147,.13)}
.strike-zone-console{position:absolute;z-index:5;left:50%;bottom:22px;width:min(310px,37vw);aspect-ratio:1/1.22;transform:translateX(-50%);filter:drop-shadow(0 0 24px rgba(44,247,232,.07))}.strike-zone-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:2px;padding:3px;border:1px solid rgba(194,226,207,.32);background:rgba(0,0,0,.35)}.heat-cell{position:relative;border:1px solid rgba(255,255,255,.04);background:rgba(91,112,99,.12);cursor:crosshair;transition:transform .12s ease,filter .12s ease}.heat-cell:hover{z-index:3;transform:scale(1.08);filter:brightness(1.18)}.heat-cell::after{content:attr(data-value);position:absolute;right:3px;bottom:2px;color:rgba(244,255,248,.68);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.heat-cell.batter-1{background:rgba(255,73,96,.25)}.heat-cell.batter-2{background:rgba(255,73,96,.43);box-shadow:inset 0 0 13px rgba(255,73,96,.17)}.heat-cell.batter-3{background:rgba(255,73,96,.66);box-shadow:inset 0 0 18px rgba(255,73,96,.25),0 0 9px rgba(255,73,96,.08)}.heat-cell.pitcher-1{background:rgba(72,255,147,.22)}.heat-cell.pitcher-2{background:rgba(72,255,147,.4);box-shadow:inset 0 0 13px rgba(72,255,147,.16)}.heat-cell.pitcher-3{background:rgba(72,255,147,.62);box-shadow:inset 0 0 18px rgba(72,255,147,.24),0 0 9px rgba(72,255,147,.08)}.heat-cell.neutral{background:rgba(176,192,181,.12)}.official-zone{position:absolute;z-index:4;pointer-events:none;left:20%;right:20%;top:20%;bottom:20%;border:2px solid rgba(255,255,255,.72);box-shadow:0 0 0 1px rgba(0,0,0,.7),0 0 17px rgba(255,255,255,.05)}.official-zone i:first-child{position:absolute;left:33.333%;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.36);border-right:1px solid rgba(255,255,255,.36);width:33.333%}.official-zone i:last-child{position:absolute;left:0;right:0;top:33.333%;height:33.333%;border-top:1px solid rgba(255,255,255,.36);border-bottom:1px solid rgba(255,255,255,.36)}.pitch-location-layer{position:absolute;inset:0;z-index:6;pointer-events:none}.pitch-dot{position:absolute;width:11px;height:11px;margin:-5px;border:2px solid #061009;border-radius:50%;background:var(--live-teal);box-shadow:0 0 10px rgba(44,247,232,.55)}.pitch-dot.latest{width:14px;height:14px;margin:-7px;background:var(--live-gold);box-shadow:0 0 16px rgba(255,214,107,.75);animation:ball-pulse 1.2s infinite}.pitch-dot small{position:absolute;left:13px;top:-3px;color:#d8e9de;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.zone-axis{position:absolute;color:#60786a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.zone-axis-top{left:50%;top:-13px;transform:translateX(-50%)}.zone-axis-bottom{left:50%;bottom:-13px;transform:translateX(-50%)}.zone-axis-left{left:-29px;top:50%;transform:rotate(-90deg)}.zone-axis-right{right:-29px;top:50%;transform:rotate(90deg)}
.matchup-edge-panels{position:absolute;z-index:8;left:15px;right:15px;bottom:44px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.edge-card{padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:rgba(3,10,6,.82);backdrop-filter:blur(9px);text-align:center}.edge-card span,.edge-card small{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.edge-card span{font-size:.45rem;font-weight:900;letter-spacing:.08em}.edge-card strong{display:block;margin:4px 0;font-size:.58rem}.edge-card small{color:#657a6d;font-size:.42rem}.batter-edge{border-color:rgba(255,94,117,.2)}.batter-edge span,.batter-edge strong{color:#ff8393}.pitcher-edge{border-color:rgba(72,255,147,.2)}.pitcher-edge span,.pitcher-edge strong{color:#78ffa8}.pitch-call{border-color:rgba(255,214,107,.2)}.pitch-call span,.pitch-call strong{color:var(--live-gold)}.plate-history-strip{position:absolute;z-index:8;left:15px;right:15px;bottom:11px;display:flex;align-items:center;gap:5px;overflow:hidden}.plate-history-item{display:flex;align-items:center;gap:5px;min-width:0;padding:4px 7px;border:1px solid rgba(255,255,255,.055);border-radius:99px;background:rgba(0,0,0,.42);color:#83998b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.43rem;white-space:nowrap}.plate-history-item i{width:6px;height:6px;border-radius:50%;background:var(--live-teal)}.prototype-disclosure{position:absolute;z-index:9;left:50%;top:108px;transform:translateX(-50%);width:min(640px,82%);padding:5px 8px;border:1px solid rgba(255,214,107,.11);border-radius:6px;background:rgba(23,17,3,.52);color:#967f4c;font-size:.42rem;text-align:center;opacity:.75}.prototype-disclosure b{color:#d0ad55}
@media(max-width:1450px){.hud-toolbar{grid-template-columns:1fr auto}.hud-statuses{grid-column:1/-1;justify-content:flex-end}.plate-matchup-header{top:9px}.heatmap-toolbar{top:61px}.plate-perspective{inset:100px 0 120px}.prototype-disclosure{top:102px}}
@media(max-width:900px){.hud-toolbar{display:flex}.hud-view-controls{align-self:stretch}.plate-hud-view{min-height:470px}.strike-zone-console{width:min(285px,58vw)}.matchup-edge-panels{grid-template-columns:1fr 1fr 1fr}.batter-silhouette{left:calc(50% - 170px)}}
@media(max-width:620px){.hud-view-controls{width:100%}.hud-view-controls button{flex:1}.heatmap-toolbar{left:8px;right:8px;align-items:stretch;flex-direction:column}.heatmap-layer-controls{justify-content:center}.heatmap-metric-label{text-align:center}.plate-perspective{inset:137px 0 136px}.strike-zone-console{width:min(255px,70vw)}.batter-silhouette{left:calc(50% - 150px);transform:scale(.8);transform-origin:bottom}.batter-silhouette.left-handed{left:calc(50% + 63px);transform:scaleX(-1) scale(.8)}.matchup-edge-panels{left:7px;right:7px;grid-template-columns:1fr 1fr}.edge-card.pitch-call{grid-column:1/-1}.plate-history-strip{display:none}.prototype-disclosure{top:132px;width:94%;font-size:.38rem}.coordinate-readout{display:none}}

/* Phase 3 — compact fixed-height dashboard, broadcast plate scene, right-side game state, and scroll dossier */
.live-workstation{height:calc(100vh - 54px);min-height:680px;overflow:hidden;align-items:stretch}
.game-rail,.event-rail,.intelligence-rail{position:relative;top:auto;height:100%;min-height:0}
.game-stage-column{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}
.ballpark-console{min-height:0;height:100%}.ballpark-stage{min-height:0}
.intelligence-rail{display:flex;flex-direction:column}.right-tab-panel{flex:1;min-height:0}.right-tab-panel.active{display:block;overflow:auto}
.chat-launch{flex:0 0 auto}

/* Plate view: broadcast scene with a smaller zone and readable pitcher depth. */
.plate-hud-view{min-height:0}.broadcast-plate-scene{inset:104px 0 118px;overflow:hidden;background:linear-gradient(180deg,rgba(6,18,11,.2),rgba(1,4,2,.75))}
.plate-scene-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.pitcher-figure{opacity:.95}.batter-figure{transform-box:fill-box;transform-origin:center;transition:transform .25s ease,filter .25s ease}.batter-figure.left-handed{transform:translateX(318px) scaleX(-1)}
.compact-zone{left:50%;bottom:29px;width:min(218px,25vw);aspect-ratio:1/1.18;z-index:7;background:rgba(0,0,0,.1)}
.compact-zone .strike-zone-grid{background:rgba(0,0,0,.26);backdrop-filter:blur(2px)}
.compact-zone .heat-cell::after{font-size:7px}.compact-zone .pitch-dot{width:9px;height:9px;margin:-4px}.compact-zone .pitch-dot.latest{width:12px;height:12px;margin:-6px}
.matchup-edge-panels{bottom:38px}.plate-history-strip{bottom:8px}.prototype-disclosure{top:104px}

/* Compact state bar below lineups/pitcher/fielders. */
.right-game-state{flex:0 0 auto;margin:0 8px 8px;border:1px solid rgba(44,247,232,.19);border-radius:9px;background:linear-gradient(150deg,rgba(7,22,14,.96),rgba(2,8,5,.98));overflow:hidden;box-shadow:0 0 22px rgba(44,247,232,.035)}
.state-dock-heading{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(44,247,232,.035);text-align:left;cursor:pointer}
.state-dock-heading span{display:flex;align-items:center;gap:8px}.state-dock-heading small{color:var(--live-teal);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.46rem;font-weight:900;letter-spacing:.1em}.state-dock-heading strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.63rem}.state-dock-summary b{color:#c4d7ca;font-size:.52rem}.state-dock-summary i{color:var(--live-teal);font-style:normal;transition:transform .18s ease}
.right-game-state.collapsed .state-dock-summary i{transform:rotate(180deg)}.right-game-state.collapsed .state-dock-body{display:none}.right-game-state.collapsed .state-dock-heading{border-bottom:0}
.state-dock-body{padding:8px}.state-score-row{display:grid;grid-template-columns:1fr 52px 1fr;align-items:center;gap:5px}.state-team{display:flex;align-items:center;gap:5px;min-width:0}.state-team.home{justify-content:flex-end}.state-team img{width:25px;height:25px;object-fit:contain}.state-team span{color:#a9beb0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;font-weight:900}.state-team b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.25rem}.state-center{text-align:center}.state-center small{display:block;margin-top:1px;color:#61766a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.35rem}.state-center .bug-bases{margin:0 auto;width:31px;height:24px}
.state-count-row{display:grid;grid-template-columns:64px 1fr 53px;align-items:center;gap:7px;margin-top:7px;padding:7px;border:1px solid rgba(255,255,255,.055);border-radius:7px;background:rgba(255,255,255,.018)}.count-value{text-align:center}.count-value span,.count-value small{display:block;color:#667d6f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.39rem}.count-value strong{display:block;margin:1px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem}.count-lights{display:grid;gap:4px}.count-lights>span{display:grid;grid-template-columns:11px 1fr;align-items:center;color:#819789;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.44rem}.count-lights i{display:flex;gap:3px;font-style:normal}.count-lights i b{display:block;width:7px;height:7px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.025)}.count-lights i b.active{background:var(--live-green);border-color:var(--live-green);box-shadow:0 0 7px rgba(72,255,147,.48)}.count-lights>span:nth-child(2) i b.active{background:var(--live-gold);border-color:var(--live-gold);box-shadow:0 0 7px rgba(255,214,107,.48)}.count-lights>span:nth-child(3) i b.active{background:var(--live-red);border-color:var(--live-red);box-shadow:0 0 7px rgba(255,94,117,.48)}
.mini-plate-animation{text-align:center}.mini-zone{position:relative;width:34px;height:39px;margin:auto;border:1px solid rgba(255,255,255,.58);background:linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.01));box-shadow:inset 0 0 0 11px rgba(0,0,0,.2)}.mini-zone::before,.mini-zone::after{content:"";position:absolute;background:rgba(255,255,255,.18)}.mini-zone::before{left:33%;right:33%;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.16);border-right:1px solid rgba(255,255,255,.16);background:transparent}.mini-zone::after{left:0;right:0;top:33%;height:33%;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);background:transparent}.mini-zone i{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3px;border-radius:50%;background:var(--live-gold);box-shadow:0 0 8px rgba(255,214,107,.8);transition:left .2s ease,top .2s ease}.mini-plate-animation small{display:block;margin-top:2px;color:#61766a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.35rem}
.state-matchup-row{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.state-matchup-row>div,.state-advanced-grid>div{min-width:0;padding:5px 6px;border:1px solid rgba(255,255,255,.045);border-radius:6px;background:rgba(255,255,255,.015)}.state-matchup-row span,.state-advanced-grid span,.state-last-pitch span{display:block;color:#63796c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.37rem;letter-spacing:.05em}.state-matchup-row strong,.state-advanced-grid strong,.state-last-pitch strong{display:block;margin-top:2px;font-size:.49rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.state-last-pitch{margin-top:5px;padding:5px 6px;border-left:2px solid var(--live-teal);background:rgba(44,247,232,.025)}.state-advanced-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:5px}.state-advanced-grid strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.44rem}.state-line-score{display:grid;grid-template-columns:repeat(10,minmax(14px,1fr));gap:2px;margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,.05)}.state-line-score div{text-align:center}.state-line-score span{display:block;color:#607469;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.34rem}.state-line-score strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.43rem}

/* Phase 4 — immediate post-dashboard box score, flow, odds, bullpens and complete log */
.live-game-scroll{position:relative;z-index:2;max-width:1840px;margin:0 auto;padding:18px 18px 90px}.lower-dashboard-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(520px,1.38fr) minmax(300px,.85fr);gap:10px;align-items:stretch}.lower-module{min-width:0;padding:14px;border:1px solid var(--live-border);border-radius:12px;background:linear-gradient(145deg,rgba(11,25,17,.95),rgba(3,10,6,.985));box-shadow:0 18px 44px rgba(0,0,0,.26);overflow:hidden}.lower-module-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:13px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}.lower-module-heading span{display:block;color:var(--live-teal);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem;font-weight:900;letter-spacing:.12em}.lower-module-heading strong{display:block;margin-top:3px;font-size:.74rem}.lower-module-heading small{color:#758c7e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.45rem;font-weight:900;letter-spacing:.08em;text-align:right}.flow-chart-wrap{position:relative;min-height:245px;border:1px solid rgba(255,255,255,.05);border-radius:9px;background:radial-gradient(circle at 50% 50%,rgba(72,255,147,.055),transparent 48%),rgba(0,0,0,.22);overflow:hidden}.flow-chart{display:block;width:100%;height:245px}.flow-grid-lines path{fill:none;stroke:rgba(255,255,255,.055);stroke-width:1}.flow-midline{fill:none;stroke:rgba(255,214,107,.28);stroke-width:1;stroke-dasharray:5 5}.flow-area{fill:url(#flowAreaGradient)}.flow-line{fill:none;stroke:var(--live-green);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(72,255,147,.42))}.flow-marker{fill:var(--live-gold);stroke:#fff7cf;stroke-width:2;filter:drop-shadow(0 0 7px rgba(255,214,107,.75))}.flow-axis-labels text{fill:#5f7568;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:900}.flow-current-readout{position:absolute;top:12px;right:12px;max-width:152px;padding:8px 9px;border:1px solid rgba(72,255,147,.17);border-radius:7px;background:rgba(1,7,4,.82);text-align:right;backdrop-filter:blur(8px)}.flow-current-readout span,.flow-current-readout small{display:block;color:#70877a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.4rem}.flow-current-readout strong{display:block;margin:3px 0;color:var(--live-green);font-size:.61rem}.deserve-meter-block{margin-top:10px;padding:10px;border:1px solid rgba(255,255,255,.05);border-radius:9px;background:rgba(255,255,255,.015)}.deserve-heading,.deserve-team-labels{display:flex;justify-content:space-between;gap:12px}.deserve-heading span{color:#b7cbbf;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.47rem;font-weight:900}.deserve-heading small{color:#60766a;font-size:.45rem}.deserve-team-labels{margin:8px 0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.49rem}.deserve-team-labels strong:first-child{color:var(--live-blue)}.deserve-team-labels strong:last-child{color:var(--live-green)}.deserve-meter{position:relative;height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(121,167,255,.42),rgba(255,255,255,.08) 50%,rgba(72,255,147,.42));overflow:visible}.deserve-meter i{position:absolute;inset:0 auto 0 0;width:50%;border-radius:999px;background:linear-gradient(90deg,rgba(121,167,255,.95),rgba(121,167,255,.23));transition:width .35s ease}.deserve-meter b{position:absolute;top:-4px;left:50%;width:3px;height:18px;border-radius:2px;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.75);transform:translateX(-50%);transition:left .35s ease}.deserve-meter-block p{margin:8px 0 0;color:#6c8275;font-size:.52rem;line-height:1.45}.full-box-score-wrap{overflow-x:auto}.full-box-score{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.full-box-score th,.full-box-score td{height:47px;padding:7px 8px;border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);text-align:center}.full-box-score thead th{height:34px;color:#62786b;font-size:.48rem;background:rgba(255,255,255,.018)}.full-box-score th:first-child,.full-box-score td:first-child{position:sticky;left:0;z-index:2;min-width:112px;text-align:left;background:#07110b}.full-box-score td:first-child{font-family:Inter,ui-sans-serif,system-ui;font-weight:900}.full-box-score td:first-child span{display:inline-flex;align-items:center;gap:8px}.full-box-score td:first-child img{width:28px;height:28px;object-fit:contain}.full-box-score tbody td{font-size:.7rem;font-weight:900}.full-box-score .current-inning{background:rgba(72,255,147,.09);color:var(--live-green);box-shadow:inset 0 -2px rgba(72,255,147,.42)}.full-box-score .totals-cell{background:rgba(255,255,255,.028);font-size:.78rem}.full-box-score .run-total{color:var(--live-green);font-size:1rem}.box-score-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.box-score-foot>div{padding:8px;border:1px solid rgba(255,255,255,.045);border-radius:7px;background:rgba(255,255,255,.014)}.box-score-foot span{display:block;color:#60766a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.4rem}.box-score-foot strong{display:block;margin-top:3px;font-size:.57rem}.odds-scoreboard{display:grid;grid-template-columns:1fr .9fr 1fr;align-items:stretch;gap:6px}.odds-scoreboard>div{padding:10px 7px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:rgba(255,255,255,.018);text-align:center}.odds-scoreboard span,.odds-scoreboard small{display:block;color:#687e71;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.42rem}.odds-scoreboard strong{display:block;margin:4px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem}.odds-center-total strong{color:var(--live-gold)}.odds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:8px}.odds-tile{padding:8px;border:1px solid rgba(255,255,255,.045);border-radius:7px;background:rgba(255,255,255,.013)}.odds-tile span{display:block;color:#60766a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.39rem}.odds-tile strong{display:block;margin-top:4px;font-size:.57rem}.odds-tile small{display:block;margin-top:2px;color:#81988a;font-size:.43rem}.odds-tile.moved-up strong{color:var(--live-green)}.odds-tile.moved-down strong{color:var(--live-red)}.odds-movement{margin-top:9px;padding:9px;border:1px solid rgba(255,255,255,.045);border-radius:8px;background:rgba(0,0,0,.18)}.odds-movement-heading{display:flex;justify-content:space-between;gap:10px}.odds-movement-heading span{color:#b1c5b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.43rem;font-weight:900}.odds-movement-heading small{color:#60766a;font-size:.4rem}.movement-track{position:relative;height:7px;margin:12px 3px 5px;border-radius:999px;background:linear-gradient(90deg,var(--live-red),var(--live-gold),var(--live-green));opacity:.75}.movement-track i{position:absolute;top:50%;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#07110b;transform:translate(-50%,-50%);box-shadow:0 0 7px rgba(255,255,255,.5)}#movementOpenMarker{left:38%}#movementCurrentMarker{left:62%}.movement-labels{display:flex;justify-content:space-between;color:#64796d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.4rem}.bullpen-module,.complete-log-module{margin-top:10px}.lower-bullpen-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lower-bullpen-team{padding:12px;border:1px solid rgba(255,255,255,.05);border-radius:9px;background:rgba(255,255,255,.014)}.bullpen-team-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.bullpen-team-heading>div{display:flex;align-items:center;gap:9px}.bullpen-team-heading img{width:38px;height:38px;object-fit:contain}.bullpen-team-heading span{display:block;color:#667c6f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.42rem}.bullpen-team-heading strong{display:block;margin-top:2px;font-size:.7rem}.bullpen-freshness{padding:5px 7px;border:1px solid rgba(72,255,147,.22);border-radius:999px;color:var(--live-green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.42rem}.bullpen-freshness.warning{border-color:rgba(255,214,107,.3);color:var(--live-gold)}.bullpen-stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.bullpen-stat-grid>div{min-width:0;padding:7px 5px;border:1px solid rgba(255,255,255,.04);border-radius:6px;background:rgba(255,255,255,.012);text-align:center}.bullpen-stat-grid span{display:block;color:#62776b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.36rem}.bullpen-stat-grid strong{display:block;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.54rem}.bullpen-usage-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.bullpen-usage-row>div{padding:7px;border-left:2px solid rgba(72,255,147,.35);background:rgba(72,255,147,.025)}.bullpen-usage-row span{display:block;color:#61766a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.37rem}.bullpen-usage-row strong{display:block;margin-top:3px;font-size:.49rem}.complete-log-heading{align-items:center}.complete-log-controls{display:flex;align-items:center;gap:5px}.complete-log-controls button{padding:5px 8px;border:1px solid var(--live-border);border-radius:999px;background:transparent;color:#738a7c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.42rem;font-weight:900;cursor:pointer}.complete-log-controls button.active{border-color:rgba(72,255,147,.35);background:rgba(72,255,147,.08);color:var(--live-green)}.complete-event-log{display:grid;gap:5px}.complete-event-row{display:grid;grid-template-columns:92px 130px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.042);border-left:3px solid #557063;border-radius:5px;background:rgba(255,255,255,.012)}.complete-event-row.pitch{border-left-color:var(--live-teal)}.complete-event-row.positive{border-left-color:var(--live-green)}.complete-event-row.negative{border-left-color:var(--live-red)}.complete-event-row.alert{border-left-color:var(--live-gold)}.complete-event-row time,.complete-event-row>span{color:#667c6f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.46rem}.complete-event-row strong{font-size:.57rem;line-height:1.4}.complete-event-row small{color:#809689;font-size:.48rem;text-align:right}.complete-log-empty{padding:24px;color:#71877a;text-align:center;font-size:.62rem}

@media(max-width:1450px){.live-workstation{grid-template-columns:150px 230px minmax(510px,1fr) 315px}.compact-zone{width:min(200px,27vw)}.state-advanced-grid{grid-template-columns:repeat(2,1fr)}.lower-dashboard-grid{grid-template-columns:minmax(285px,.8fr) minmax(470px,1.3fr)}.odds-module{grid-column:1/-1}.odds-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1120px){.live-workstation{height:auto;min-height:0;overflow:visible;grid-template-columns:70px minmax(0,1fr) 320px}.event-rail{display:none}.game-rail,.intelligence-rail{height:calc(100vh - 70px);position:sticky;top:62px}.game-stage-column{height:calc(100vh - 70px)}.lower-dashboard-grid{grid-template-columns:1fr}.odds-module{grid-column:auto}.lower-bullpen-grid{grid-template-columns:1fr}.bullpen-stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.live-workstation{display:block;height:auto;padding:6px}.game-rail,.event-rail{display:none}.game-stage-column{height:auto}.intelligence-rail{position:relative;top:auto;height:auto;margin-top:7px}.ballpark-console{height:620px}.broadcast-plate-scene{inset:136px 0 130px}.compact-zone{width:min(190px,44vw)}.live-game-scroll{padding:10px 7px 70px}.complete-event-row{grid-template-columns:75px 1fr}.complete-event-row strong{grid-column:1/-1}.complete-event-row small{grid-column:1/-1;text-align:left}.odds-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ballpark-console{height:570px}.plate-matchup-header{left:9px;right:9px}.broadcast-plate-scene{inset:151px 0 142px}.compact-zone{width:min(165px,49vw)}.matchup-edge-panels{bottom:31px}.state-advanced-grid{grid-template-columns:repeat(2,1fr)}.lower-module{padding:10px}.flow-chart-wrap,.flow-chart{min-height:210px;height:210px}.bullpen-stat-grid{grid-template-columns:repeat(2,1fr)}.bullpen-usage-row{grid-template-columns:1fr}.box-score-foot{grid-template-columns:1fr}.complete-log-heading{display:block}.complete-log-controls{margin-top:9px}.odds-scoreboard{grid-template-columns:1fr 1fr}.odds-center-total{grid-column:1/-1;grid-row:2}.lower-module-heading{align-items:flex-start}}


/* Plate HUD Expansion ----------------------------------------------------- */
/* Embedded plate view remains a clean live scene. The terminal panels live
   only in the immersive full-screen Plate View HUD. */
.plate-hud-view .heatmap-toolbar,
.plate-hud-view .matchup-edge-panels,
.plate-hud-view .plate-history-strip,
.plate-hud-view .prototype-disclosure{display:none!important}
.plate-hud-view .plate-matchup-header{opacity:.72;pointer-events:none}
.plate-hud-view .broadcast-plate-scene{inset:54px 0 0!important;cursor:zoom-in}
.plate-hud-view .compact-zone{bottom:42px;width:min(190px,24vw)}
.plate-expand-hit-area{position:absolute;z-index:12;inset:0;border:0;background:transparent;color:transparent;cursor:zoom-in}
.plate-expand-hit-area span,.plate-expand-hit-area small{position:absolute;left:50%;transform:translateX(-50%);opacity:0;transition:opacity .18s ease}
.plate-expand-hit-area span{bottom:18px;padding:7px 11px;border:1px solid rgba(44,247,232,.38);border-radius:999px;background:rgba(0,8,6,.8);color:#6fffe0;font:900 .55rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;box-shadow:0 0 24px rgba(44,247,232,.16)}
.plate-expand-hit-area small{bottom:4px;color:#628073;font:800 .38rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.plate-hud-view:hover .plate-expand-hit-area span,.plate-hud-view:hover .plate-expand-hit-area small,.plate-expand-hit-area:focus-visible span,.plate-expand-hit-area:focus-visible small{opacity:1}

body.plate-hud-open{overflow:hidden}
.full-plate-hud[hidden]{display:none!important}
.full-plate-hud{position:fixed;z-index:5000;inset:0;display:grid;place-items:center;background:#000;isolation:isolate}
.full-plate-hud-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(0,44,31,.16),#000 72%)}
.full-plate-hud-shell{position:relative;z-index:1;width:100vw;height:100vh;display:grid;place-items:center;overflow:hidden;background:#000}
.full-plate-hud-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:saturate(1.04) contrast(1.04);user-select:none;-webkit-user-drag:none}
.full-plate-hud-shell::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 4px);mix-blend-mode:screen;opacity:.28}
.full-plate-hud-close{position:absolute;z-index:3;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(32,255,177,.5);border-radius:5px;background:rgba(0,8,5,.86);color:#38ffb7;box-shadow:0 0 22px rgba(32,255,177,.12);cursor:pointer}
.full-plate-hud-close span{font:400 1.2rem/1 system-ui}.full-plate-hud-close small{font:900 .48rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}
.full-plate-hud-close:hover,.full-plate-hud-close:focus-visible{border-color:#43ffc0;box-shadow:0 0 30px rgba(32,255,177,.28);outline:none}
.full-plate-hud-context{position:absolute;z-index:3;left:max(16px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));padding:6px 9px;border-left:2px solid #25ffad;background:rgba(0,7,4,.75);color:#42ffbc;font:900 .5rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
@media(max-width:820px){.plate-hud-view .broadcast-plate-scene{inset:62px 0 0!important}.plate-hud-view .compact-zone{width:min(170px,43vw)}.full-plate-hud-close small{display:none}.full-plate-hud-context{font-size:.42rem}}

/* Plate Event Theater Phase 1 -------------------------------------------- */
.full-plate-hud{background:#000;color:#48ffc2}
.full-plate-hud-shell{display:block;background:#000;perspective:1200px}
.full-plate-hud-shell::before{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 52%,transparent 0 44%,rgba(0,0,0,.26) 76%,rgba(0,0,0,.82) 100%)}
.full-plate-hud-shell::after{z-index:9;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 4px),linear-gradient(90deg,rgba(31,255,179,.028),transparent 40%,rgba(31,255,179,.025));mix-blend-mode:screen;opacity:.42}
.plate-theater-scene{position:absolute;z-index:1;inset:0;overflow:hidden;cursor:crosshair;outline:none;background:radial-gradient(circle at 50% 30%,rgba(14,108,77,.18),transparent 42%),#000}
.plate-theater-scene:focus-visible{box-shadow:inset 0 0 0 2px rgba(72,255,194,.62)}
.plate-theater-world{position:absolute;left:50%;top:50%;width:118vw;height:106vh;min-width:1480px;min-height:760px;transform:translate3d(-50%,-50%,0) scale(1.015);transform-origin:center center;will-change:transform;transition:filter .18s ease;filter:contrast(1.12) saturate(1.04)}
.full-plate-hud.event-home-run .plate-theater-world{filter:contrast(1.3) saturate(1.35) drop-shadow(0 0 28px rgba(72,255,194,.34))}
.theater-stadium,.theater-wall,.theater-field-grid,.theater-batter-eye,.theater-light-towers{vector-effect:non-scaling-stroke}
.theater-batter-ghost,.theater-catcher-ghost,.theater-pitcher-ghost{transform-box:fill-box;transform-origin:center;will-change:transform,opacity,filter}
.theater-batter-ghost{animation:ghostBatterIdle 2.8s ease-in-out infinite}.theater-pitcher-ghost{animation:ghostPitcherSet 2.5s ease-in-out infinite}.theater-catcher-ghost{animation:ghostCatcherIdle 2.2s ease-in-out infinite}
@keyframes ghostBatterIdle{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-.35deg)}}
@keyframes ghostPitcherSet{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes ghostCatcherIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
.plate-theater-ui{position:absolute;z-index:11;inset:0;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-shadow:0 0 12px rgba(45,255,184,.36)}
.plate-theater-ui>*{pointer-events:auto}
.plate-module{position:absolute;width:min(310px,25vw);padding:12px 14px;border:1px solid rgba(48,255,185,.5);border-radius:4px;background:linear-gradient(145deg,rgba(0,15,10,.9),rgba(0,4,3,.82));box-shadow:0 0 0 1px rgba(0,0,0,.8),inset 0 0 22px rgba(46,255,184,.025),0 0 26px rgba(45,255,184,.08);backdrop-filter:blur(7px)}
.plate-module::before{content:"";position:absolute;left:0;right:0;top:36px;height:1px;background:rgba(48,255,185,.25)}
.plate-module header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;color:#5cffc6;font-size:.64rem;font-weight:900;letter-spacing:.13em}.plate-module header b{color:#baffdf;font-size:.68rem}.plate-module>strong{display:block;color:#49ffc0;font-size:1.02rem;letter-spacing:.06em}.plate-module>small{display:block;margin-top:4px;color:#6ec6a6;font-size:.58rem;letter-spacing:.06em}.plate-module-line{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:11px;padding-top:8px;border-top:1px solid rgba(48,255,185,.13)}.plate-module-line span{color:#5c947e;font-size:.5rem}.plate-module-line b{color:#d0ffea;font-size:.64rem;text-align:right}
.batter-module{left:20px;top:20px}.batter-game-module{left:20px;top:190px}.pitcher-module{right:20px;top:20px}.pitch-trails-module{right:20px;top:198px;min-height:258px}
.batter-game-module p{margin:6px 0;color:#84b9a5;font-size:.56rem;line-height:1.35}.batter-game-module p:first-child{color:#d2ffec}.batter-game-module header b{color:#ffdf6b}
.plate-scorebug{position:absolute;left:50%;top:20px;display:grid;grid-template-columns:150px minmax(220px,300px) 150px;transform:translateX(-50%);border:1px solid rgba(48,255,185,.52);border-radius:5px;background:rgba(0,12,8,.92);box-shadow:0 0 30px rgba(48,255,185,.09);overflow:hidden}
.plate-score-team,.plate-score-state{min-height:96px;padding:12px 16px;text-align:center}.plate-score-team{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.plate-score-team:first-child{border-right:1px solid rgba(48,255,185,.23)}.plate-score-team:last-child{border-left:1px solid rgba(48,255,185,.23)}.plate-score-team span{color:#6fffd0;font-size:1.34rem;font-weight:900;letter-spacing:.12em}.plate-score-team strong{color:#defff0;font-size:2rem}.plate-score-state{position:relative}.plate-score-state b{display:block;color:#66ffc9;font-size:.72rem;letter-spacing:.1em}.plate-score-state>span{display:inline-block;margin-top:9px;color:#f5fffb;font-size:1.06rem;font-weight:900}.plate-score-state>small{display:block;margin-top:2px;color:#79bda4;font-size:.53rem}.plate-score-bases{position:absolute;left:50%;top:35px;width:46px;height:34px;transform:translateX(-50%) rotate(45deg)}.plate-score-bases i{position:absolute;width:10px;height:10px;border:1px solid #44ffc0;background:#00140d}.plate-score-bases i.active{background:#f7d657;box-shadow:0 0 10px rgba(247,214,87,.8)}#fullBaseSecond{left:18px;top:0}#fullBaseThird{left:0;top:18px}#fullBaseFirst{right:0;top:18px}
.full-pitch-mini-zone{position:relative;height:112px;margin:8px auto 10px;border:1px solid rgba(196,255,231,.56);background:linear-gradient(90deg,transparent 32%,rgba(48,255,185,.08) 33% 34%,transparent 35% 65%,rgba(48,255,185,.08) 66% 67%,transparent 68%),linear-gradient(0deg,transparent 32%,rgba(48,255,185,.08) 33% 34%,transparent 35% 65%,rgba(48,255,185,.08) 66% 67%,transparent 68%),rgba(0,7,5,.46)}
.full-pitch-mini-zone i{position:absolute;width:10px;height:10px;border:2px solid #d9fff0;border-radius:50%;background:#22ffad;box-shadow:0 0 11px currentColor;transform:translate(-50%,-50%)}.full-pitch-mini-zone i:nth-child(2n){color:#50a8ff;background:#50a8ff}.full-pitch-mini-zone i:nth-child(3n){color:#ffd45c;background:#ffd45c}.full-pitch-list{display:grid;gap:5px}.full-pitch-list div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;color:#7eb69f;font-size:.48rem}.full-pitch-list b{display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(48,255,185,.3);border-radius:50%;color:#cffff0}.full-pitch-list strong{color:#bcf9df;font-size:.51rem}.full-pitch-list small{color:#59a98c;font-size:.45rem}
.plate-theater-zone{position:absolute;z-index:4;left:50%;top:58%;width:150px;height:188px;transform:translate(-50%,-50%);border:2px solid rgba(207,255,237,.8);box-shadow:0 0 22px rgba(45,255,184,.16),inset 0 0 18px rgba(45,255,184,.045);pointer-events:none}.plate-theater-zone::before,.plate-theater-zone::after{content:"";position:absolute;background:rgba(207,255,237,.27)}.plate-theater-zone::before{left:33%;top:0;width:1px;height:100%;box-shadow:50px 0 rgba(207,255,237,.27)}.plate-theater-zone::after{left:0;top:33%;width:100%;height:1px;box-shadow:0 62px rgba(207,255,237,.27)}.plate-theater-zone>i{display:none}.plate-theater-zone>span{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#ffd45c;box-shadow:0 0 14px rgba(255,212,92,.9);transform:translate(-50%,-50%);transition:left .18s ease,top .18s ease}
.plate-live-feed{position:absolute;left:50%;bottom:20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:min(760px,60vw);padding:9px 13px;border:1px solid rgba(48,255,185,.45);border-radius:3px;background:rgba(0,12,8,.9);transform:translateX(-50%);box-shadow:0 0 22px rgba(48,255,185,.08)}.plate-live-feed span{color:#44ffc0;font-size:.56rem;font-weight:900;letter-spacing:.12em}.plate-live-feed strong{min-width:0;color:#bfffe7;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plate-live-feed small{color:#52c79c;font-size:.48rem}
.full-plate-hud-close{top:auto;right:20px;bottom:20px;display:block;padding:10px 14px;border-radius:3px;font:900 .54rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}
.plate-look-hint{position:absolute;z-index:5;top:50%;padding:5px 8px;border-top:1px solid rgba(48,255,185,.34);border-bottom:1px solid rgba(48,255,185,.34);color:#3fb88f;font:900 .46rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;opacity:.55;pointer-events:none}.plate-look-hint.left{left:7px}.plate-look-hint.right{right:7px}.plate-return-hint{position:absolute;z-index:5;left:50%;bottom:64px;transform:translateX(-50%);color:#3b8d72;font:900 .42rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;opacity:.72;pointer-events:none}
.plate-event-layer{position:absolute;z-index:7;inset:0;pointer-events:none;overflow:hidden}.plate-event-ball{position:absolute;left:50%;top:50%;width:15px;height:15px;border-radius:50%;background:#f8fff9;box-shadow:0 0 8px #fff,0 0 24px #4affbd;opacity:0;transform:translate(-50%,-50%)}.plate-event-impact{position:absolute;left:50%;top:73%;width:22px;height:22px;border:2px solid #eafff6;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.2)}.plate-event-glyph{position:absolute;left:50%;top:48%;color:#48ffc2;font:900 clamp(5rem,14vw,13rem)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;text-shadow:0 0 18px rgba(72,255,194,.9),0 0 70px rgba(72,255,194,.45);opacity:0;transform:translate(-50%,-50%) scale(.6)}.plate-event-banner{position:absolute;left:50%;top:17%;min-width:280px;padding:10px 22px;border-top:2px solid #48ffc2;border-bottom:2px solid #48ffc2;background:rgba(0,10,7,.84);color:#cffff0;font:900 clamp(.8rem,1.7vw,1.4rem)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em;text-align:center;text-transform:uppercase;opacity:0;transform:translate(-50%,-14px);box-shadow:0 0 30px rgba(72,255,194,.18)}
.full-plate-hud.event-strikeout .theater-batter-ghost{animation:theaterWhiff .78s ease both}.full-plate-hud.event-strikeout .theater-pitcher-ghost{animation:theaterKSet .78s ease both}.full-plate-hud.event-line-drive .theater-batter-ghost,.full-plate-hud.event-home-run .theater-batter-ghost{animation:theaterSwing .8s cubic-bezier(.25,.8,.25,1) both}.full-plate-hud.event-home-run .theater-stadium,.full-plate-hud.event-home-run .theater-light-towers{animation:theaterParkFlash 1.15s ease both}
@keyframes theaterWhiff{0%{transform:rotate(0)}42%{transform:translate(14px,-4px) rotate(8deg)}100%{transform:translate(4px,0) rotate(3deg)}}
@keyframes theaterKSet{0%{transform:translateY(0)}42%{transform:translateY(-8px) scale(1.04)}100%{transform:translateY(0)}}
@keyframes theaterSwing{0%{transform:rotate(0)}45%{transform:translate(22px,-5px) rotate(12deg) scale(1.02)}100%{transform:translate(5px,0) rotate(3deg)}}
@keyframes theaterParkFlash{0%,100%{opacity:.55}40%{opacity:1;filter:drop-shadow(0 0 20px #38ffb8)}}

@media(max-width:1180px){.plate-module{width:240px}.plate-scorebug{grid-template-columns:110px 220px 110px}.plate-score-team span{font-size:1rem}.plate-score-team strong{font-size:1.55rem}.plate-theater-zone{width:120px;height:150px}.plate-live-feed{width:min(620px,66vw)}}
@media(max-width:860px){.plate-module{width:205px;padding:9px 10px}.plate-module>strong{font-size:.76rem}.plate-module>small,.plate-module-line b{font-size:.47rem}.batter-game-module{top:165px}.pitcher-module{top:12px;right:12px}.pitch-trails-module{right:12px;top:165px;min-height:218px}.batter-module{left:12px;top:12px}.plate-scorebug{top:auto;bottom:62px;grid-template-columns:80px 170px 80px}.plate-score-team,.plate-score-state{min-height:65px;padding:7px}.plate-score-team span{font-size:.72rem}.plate-score-team strong{font-size:1.1rem}.plate-score-state b{font-size:.5rem}.plate-score-state>span{font-size:.7rem}.plate-score-bases{top:27px;transform:translateX(-50%) rotate(45deg) scale(.75)}.plate-live-feed{bottom:10px;width:70vw}.plate-return-hint{display:none}.full-plate-hud-close{right:10px;bottom:10px}.plate-theater-world{width:150vw}.plate-theater-zone{top:56%}}
@media(max-width:620px){.batter-game-module,.pitch-trails-module{display:none}.plate-module{width:170px}.pitcher-module{right:7px}.batter-module{left:7px}.plate-scorebug{left:50%;width:96vw;grid-template-columns:1fr 1.5fr 1fr}.plate-live-feed{display:none}.full-plate-hud-close{bottom:7px}.plate-look-hint{display:none}.plate-theater-zone{width:98px;height:124px}.plate-theater-world{width:190vw}}
@media(prefers-reduced-motion:reduce){.theater-batter-ghost,.theater-catcher-ghost,.theater-pitcher-ghost{animation:none!important}.plate-theater-world{transition:none}}


/* BORING BETS LIVE RAIL V2 */

.live-workstation {
  --rail-width: 226px;
}

.game-list {
  padding: 8px 7px;
}

.game-tile {
  display: block;
  width: 100%;
  min-height: 82px;
  margin-bottom: 7px;
  padding: 9px 10px 8px;
  border-radius: 9px;
  text-align: left;
}

.game-tile.active {
  border-color: rgba(121, 167, 255, .58);
  background:
    linear-gradient(
      135deg,
      rgba(121, 167, 255, .13),
      rgba(44, 247, 232, .035)
    );
  box-shadow:
    inset 3px 0 var(--live-blue),
    0 0 18px rgba(121, 167, 255, .08);
}

.game-tile-main {
  display: grid;
  gap: 5px;
}

.game-team-row {
  display: grid;
  grid-template-columns:
    27px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.game-team-row img {
  width: 25px;
  height: 25px;
  object-fit: contain;
}

.game-team-row strong {
  min-width: 0;
  overflow: hidden;
  color: #edf7f1;
  font-size: .72rem;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.game-team-row b {
  color: #f7fffa;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: .78rem;
  line-height: 1;
  text-align: right;
}

.game-tile-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  margin-top: 7px;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.045);
}

.game-tile-status {
  min-width: 0;
  overflow: hidden;
  color: var(--live-muted);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: .55rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.game-tile[data-phase="live"] .game-tile-status {
  color: var(--live-teal);
}

.game-tile[data-phase="final"] .game-tile-status {
  color: #899d91;
}

.game-number-badge {
  flex: 0 0 auto;
  padding: 2px 5px;
  border: 1px solid rgba(255,214,107,.28);
  border-radius: 999px;
  color: var(--live-gold);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: .47rem;
  font-weight: 900;
}

.game-list-empty {
  padding: 12px 8px;
  color: #789083;
  font-size: .65rem;
}

.game-collapsed .game-tile {
  min-height: 55px;
  padding: 5px;
}

.game-collapsed .game-tile-main {
  grid-template-columns: 1fr 1fr;
  gap: 1px;
}

.game-collapsed .game-team-row {
  display: block;
}

.game-collapsed .game-team-row img {
  display: block;
  width: 24px;
  height: 24px;
  margin: auto;
}

.game-collapsed .game-team-row strong,
.game-collapsed .game-team-row b,
.game-collapsed .game-tile-meta {
  display: none;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .game-rail .game-tile {
    min-height: 55px;
    padding: 5px;
  }

  .game-rail .game-tile-main {
    grid-template-columns: 1fr 1fr;
    gap: 1px;
  }

  .game-rail .game-team-row {
    display: block;
  }

  .game-rail .game-team-row img {
    display: block;
    width: 24px;
    height: 24px;
    margin: auto;
  }

  .game-rail .game-team-row strong,
  .game-rail .game-team-row b,
  .game-rail .game-tile-meta {
    display: none;
  }
}

@media (max-width: 900px) {
  .game-tile {
    min-width: 190px;
  }
}


/* BORING BETS HIDDEN RAIL SCROLLBAR */

.game-list {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.game-list::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

/* BORING BETS: CURRENT PITCHER DRAWER V1 */

#lastPitch{
  cursor:default;
}

#lastPitch.pitch-history-available{
  cursor:pointer;
  color:var(--live-teal);
  text-decoration:none;
  transition:
    color .15s ease,
    text-shadow .15s ease;
}

#lastPitch.pitch-history-available:hover,
#lastPitch.pitch-history-available:focus{
  color:#e3fff1;
  text-shadow:
    0 0 12px rgba(44,247,232,.45);
  outline:none;
}

.pitch-history-drawer-shell{
  position:fixed;
  z-index:1000;
  inset:0;
}

.pitch-history-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(3px);
  cursor:pointer;
}

.pitch-history-drawer{
  position:absolute;
  top:0;
  right:0;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  width:min(470px,92vw);
  height:100%;
  border-left:1px solid rgba(44,247,232,.22);
  background:
    linear-gradient(
      155deg,
      rgba(7,22,14,.995),
      rgba(1,6,3,.995)
    );
  box-shadow:
    -20px 0 55px rgba(0,0,0,.55);
  transform:translateX(100%);
  transition:transform .2s ease;
}

.pitch-history-drawer-shell.open
.pitch-history-drawer{
  transform:translateX(0);
}

.pitch-history-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  padding:18px;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.pitch-history-heading span,
.pitch-history-heading small{
  display:block;
  color:#718779;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.48rem;
  font-weight:900;
  letter-spacing:.1em;
}

.pitch-history-heading strong{
  display:block;
  margin:5px 0;
  color:#e3f4e8;
  font-size:1rem;
}

.pitch-history-heading button{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:#cfdfd4;
  font-size:1.25rem;
  cursor:pointer;
}

.pitch-history-navigation{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.pitch-history-navigation strong{
  color:var(--live-teal);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.62rem;
  letter-spacing:.08em;
  text-align:center;
}

.pitch-history-navigation button{
  height:31px;
  border:1px solid rgba(44,247,232,.16);
  border-radius:7px;
  background:rgba(44,247,232,.045);
  color:var(--live-teal);
  font-size:1.1rem;
  cursor:pointer;
}

.pitch-history-navigation button:disabled{
  opacity:.25;
  cursor:default;
}

.pitch-history-selected{
  margin:12px 14px;
  padding:14px;
  border:1px solid rgba(44,247,232,.18);
  border-radius:9px;
  background:rgba(44,247,232,.045);
}

.pitch-history-selected span,
.pitch-history-selected small{
  display:block;
  color:#789184;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.48rem;
  font-style:normal;
  letter-spacing:.07em;
}

.pitch-history-selected strong{
  display:block;
  margin:6px 0 3px;
  color:#eafff1;
  font-size:.95rem;
}

.pitch-history-selected b{
  display:block;
  margin-bottom:7px;
  color:var(--live-gold);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.58rem;
}

.pitch-history-list{
  min-height:0;
  padding:0 14px 18px;
  overflow-y:auto;
  scrollbar-width:none;
}

.pitch-history-list::-webkit-scrollbar{
  display:none;
}

.pitch-history-row{
  display:grid;
  grid-template-columns:30px 82px minmax(80px,1fr);
  gap:3px 8px;
  width:100%;
  margin-bottom:6px;
  padding:10px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#cad9cf;
  text-align:left;
  cursor:pointer;
}

.pitch-history-row:hover{
  border-color:rgba(44,247,232,.18);
  background:rgba(44,247,232,.035);
}

.pitch-history-row.active{
  border-color:rgba(44,247,232,.34);
  background:rgba(44,247,232,.085);
  box-shadow:
    inset 3px 0 0 var(--live-teal);
}

.pitch-history-row span{
  grid-row:1/3;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6f8879;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.52rem;
}

.pitch-history-row strong,
.pitch-history-row b,
.pitch-history-row em,
.pitch-history-row small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pitch-history-row strong{
  font-size:.62rem;
}

.pitch-history-row b{
  color:var(--live-teal);
  font-size:.55rem;
}

.pitch-history-row em{
  grid-column:2/4;
  color:var(--live-gold);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.47rem;
  font-style:normal;
}

.pitch-history-row small{
  grid-column:2/4;
  color:#718779;
  font-size:.46rem;
}

@media(max-width:560px){
  .pitch-history-drawer{
    width:100%;
  }
}

/* END BORING BETS: CURRENT PITCHER DRAWER V1 */


/* BORING BETS: LIVE STATCAST LAB V1 */

#lastPitch{
  white-space:normal;
  line-height:1.2;
}

.pitch-history-selected{
  max-height:none;
}

.pitch-history-statcast-grid{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:12px;
}

.pitch-history-statcast-grid > div{
  min-width:0;
  padding:7px 6px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:6px;
  background:rgba(0,0,0,.18);
}

.pitch-history-statcast-grid span{
  display:block;
  color:#667d71;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.39rem;
  letter-spacing:.055em;
  line-height:1.15;
}

.pitch-history-statcast-grid strong{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#dff9e8;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.54rem;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pitch-history-batted-ball{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,190,68,.14);
}

.pitch-history-batted-ball > header{
  margin-bottom:7px;
  color:var(--live-gold);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.46rem;
  font-weight:900;
  letter-spacing:.08em;
}

.pitch-history-batted-ball > div{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:5px 8px;
}

.pitch-history-batted-ball p{
  min-width:0;
  margin:0;
  padding:6px;
  border-radius:5px;
  background:rgba(255,190,68,.045);
}

.pitch-history-batted-ball p span{
  display:block;
  color:#7c7664;
  font-size:.38rem;
}

.pitch-history-batted-ball p strong{
  display:block;
  margin-top:2px;
  overflow:hidden;
  color:#fff0c7;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.52rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pitch-history-row{
  grid-template-columns:
    30px 84px minmax(90px,1fr);
}

.pitch-history-row small{
  white-space:normal;
  line-height:1.25;
}

.pitcher-stat-grid{
  grid-template-columns:
    repeat(3,minmax(0,1fr));
}

.arsenal-row span{
  max-width:145px;
  white-space:normal;
  text-align:right;
  line-height:1.15;
}

@media(max-width:560px){
  .pitch-history-statcast-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .pitch-history-batted-ball > div{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }
}

/* END BORING BETS: LIVE STATCAST LAB V1 */


/* BORING BETS: CURRENT AT-BAT PITCH TRAIL V2 */

.state-count-row{
  grid-template-columns:64px 1fr 76px;
}

.mini-plate-animation{
  min-width:0;
  text-align:center;
}

.mini-zone{
  position:relative;
  width:54px;
  height:58px;
  margin:auto;
  border:1px solid rgba(255,255,255,.24);
  border-radius:3px;
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(44,247,232,.035),
      transparent 65%
    ),
    rgba(0,0,0,.28);
  box-shadow:inset 0 0 13px rgba(0,0,0,.52);
  overflow:hidden;
}

.mini-zone::before,
.mini-zone::after{
  content:none;
}

.mini-official-zone{
  position:absolute;
  z-index:1;
  left:25%;
  right:25%;
  top:20%;
  bottom:20%;
  border:1px solid rgba(255,255,255,.55);
  background:
    linear-gradient(
      to right,
      transparent 32%,
      rgba(255,255,255,.15) 33%,
      rgba(255,255,255,.15) 34%,
      transparent 35%,
      transparent 65%,
      rgba(255,255,255,.15) 66%,
      rgba(255,255,255,.15) 67%,
      transparent 68%
    ),
    linear-gradient(
      to bottom,
      transparent 32%,
      rgba(255,255,255,.15) 33%,
      rgba(255,255,255,.15) 34%,
      transparent 35%,
      transparent 65%,
      rgba(255,255,255,.15) 66%,
      rgba(255,255,255,.15) 67%,
      transparent 68%
    );
  pointer-events:none;
}

.mini-pitch-layer{
  position:absolute;
  z-index:3;
  inset:0;
}

.mini-zone .mini-pitch-dot{
  position:absolute;
  display:block;
  width:7px;
  height:7px;
  margin:-3.5px;
  border:1px solid rgba(255,255,255,.56);
  border-radius:50%;
  background:var(--pitch-dot-color,#9aa99f);
  opacity:var(--pitch-trail-opacity,.3);
  box-shadow:none;
  transform:scale(.82);
  transition:
    left .18s ease,
    top .18s ease,
    opacity .18s ease,
    transform .18s ease;
}

.mini-zone .mini-pitch-dot.latest{
  z-index:5;
  width:10px;
  height:10px;
  margin:-5px;
  border:2px solid #fff;
  opacity:1;
  transform:scale(1);
  box-shadow:
    0 0 4px #fff,
    0 0 10px var(--pitch-dot-color,#fff);
}

.mini-zone .mini-pitch-dot.historical{
  filter:saturate(.7);
}

#miniPlateEmpty{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  color:#475a50;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.55rem;
  font-style:normal;
  transform:translate(-50%,-50%);
}

.mini-plate-animation > small{
  display:block;
  margin-top:2px;
  color:#61766a;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.35rem;
}

.mini-pitch-color-toggle{
  display:grid;
  grid-template-columns:1fr 15px 1fr;
  align-items:center;
  gap:2px;
  width:70px;
  margin:3px auto 0;
  padding:2px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(0,0,0,.28);
  color:#53675c;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.27rem;
  font-weight:900;
  cursor:pointer;
}

.mini-pitch-color-toggle span,
.mini-pitch-color-toggle b{
  min-width:0;
  overflow:hidden;
  font-size:inherit;
  font-weight:900;
}

.mini-pitch-color-toggle span.active,
.mini-pitch-color-toggle b.active{
  color:#dff9e8;
}

.mini-pitch-color-toggle > i{
  position:relative;
  width:15px;
  height:8px;
  border-radius:999px;
  background:rgba(44,247,232,.13);
}

.mini-pitch-color-toggle > i::after{
  content:"";
  position:absolute;
  left:1px;
  top:1px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--live-teal);
  box-shadow:0 0 6px rgba(44,247,232,.55);
  transition:transform .18s ease;
}

.mini-pitch-color-toggle[aria-checked="true"] > i::after{
  transform:translateX(7px);
}

.pitch-location-layer .pitch-dot{
  background:var(--pitch-dot-color,#9aa99f);
  opacity:var(--pitch-trail-opacity,.3);
}

.pitch-location-layer .pitch-dot.historical{
  filter:saturate(.72);
  transform:scale(.82);
}

.pitch-location-layer .pitch-dot.latest{
  z-index:8;
  opacity:1;
  border:2px solid #fff;
  background:var(--pitch-dot-color,#fff);
  box-shadow:
    0 0 5px #fff,
    0 0 14px var(--pitch-dot-color,#fff);
  transform:scale(1.12);
}

.pitch-result-ball{
  --pitch-dot-color:#72a7ff;
}

.pitch-result-strike{
  --pitch-dot-color:#ff667e;
}

.pitch-result-in-play{
  --pitch-dot-color:#ffd66b;
}

.pitch-result-other{
  --pitch-dot-color:#a3b3a9;
}

.pitch-type-fastball{
  --pitch-dot-color:#59f2ff;
}

.pitch-type-moving-fastball{
  --pitch-dot-color:#6f9cff;
}

.pitch-type-slider{
  --pitch-dot-color:#d77bff;
}

.pitch-type-curve{
  --pitch-dot-color:#ffbd66;
}

.pitch-type-offspeed{
  --pitch-dot-color:#67ef9a;
}

.pitch-type-other{
  --pitch-dot-color:#b1bcb5;
}

.plate-history-item > i{
  background:var(--pitch-dot-color,#9aa99f);
}

@media(max-width:560px){
  .state-count-row{
    grid-template-columns:60px 1fr 72px;
  }

  .mini-pitch-color-toggle{
    width:67px;
  }
}

/* END BORING BETS: CURRENT AT-BAT PITCH TRAIL V2 */


/* BORING BETS: LARGE PLATE VERTICAL COLOR SWITCH V3 */

.state-count-row{
  grid-template-columns:64px minmax(0,1fr) 112px;
}

.mini-plate-animation{
  position:relative;
  width:100%;
  min-width:0;
  padding-right:18px;
}

.mini-zone{
  width:86px;
  height:96px;
  margin:0 auto;
  border-color:rgba(255,255,255,.34);
  border-radius:4px;
  box-shadow:
    inset 0 0 20px rgba(0,0,0,.58),
    0 0 14px rgba(44,247,232,.025);
}

.mini-official-zone{
  left:23%;
  right:23%;
  top:18%;
  bottom:18%;
  border-color:rgba(255,255,255,.68);
}

.mini-zone .mini-pitch-dot{
  width:8px;
  height:8px;
  margin:-4px;
}

.mini-zone .mini-pitch-dot.latest{
  width:12px;
  height:12px;
  margin:-6px;
}

.mini-plate-animation > small{
  margin-top:3px;
  font-size:.38rem;
  letter-spacing:.08em;
}

.mini-pitch-color-toggle{
  position:absolute;
  top:25px;
  right:0;
  display:block;
  width:14px;
  height:46px;
  margin:0;
  padding:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(0,0,0,.42);
  color:transparent;
  overflow:visible;
}

.mini-pitch-color-toggle span,
.mini-pitch-color-toggle b{
  display:none!important;
}

.mini-pitch-color-toggle > i{
  position:absolute;
  inset:2px;
  width:auto;
  height:auto;
  border-radius:999px;
  background:
    linear-gradient(
      to bottom,
      rgba(114,167,255,.28),
      rgba(255,102,126,.22) 48%,
      rgba(215,123,255,.28)
    );
}

.mini-pitch-color-toggle > i::before,
.mini-pitch-color-toggle > i::after{
  content:"";
  position:absolute;
  left:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  transform:translateX(-50%);
}

.mini-pitch-color-toggle > i::before{
  top:2px;
  border:1px solid rgba(255,255,255,.55);
  background:linear-gradient(
    135deg,
    #72a7ff 0 49%,
    #ff667e 50% 100%
  );
  opacity:.42;
}

.mini-pitch-color-toggle > i::after{
  top:2px;
  border:1px solid #fff;
  background:#dff9e8;
  box-shadow:
    0 0 4px #fff,
    0 0 8px rgba(44,247,232,.65);
  transition:
    top .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.mini-pitch-color-toggle[aria-checked="true"] > i::before{
  top:auto;
  bottom:2px;
  background:linear-gradient(
    135deg,
    #59f2ff 0 32%,
    #d77bff 33% 65%,
    #67ef9a 66% 100%
  );
}

.mini-pitch-color-toggle[aria-checked="true"] > i::after{
  top:30px;
  background:#d77bff;
  box-shadow:
    0 0 4px #fff,
    0 0 9px rgba(215,123,255,.72);
}

.mini-pitch-color-toggle:hover,
.mini-pitch-color-toggle:focus-visible{
  border-color:rgba(44,247,232,.48);
  outline:none;
  box-shadow:0 0 10px rgba(44,247,232,.15);
}

@media(max-width:560px){
  .state-count-row{
    grid-template-columns:60px minmax(0,1fr) 104px;
  }

  .mini-zone{
    width:78px;
    height:88px;
  }

  .mini-pitch-color-toggle{
    top:22px;
  }
}

/* END BORING BETS: LARGE PLATE VERTICAL COLOR SWITCH V3 */


/* BORING BETS: SUBTLE LEFT PLATE SWITCH V4 */

.mini-plate-animation{
  padding-right:0;
  padding-left:16px;
}

.mini-zone .mini-pitch-dot.historical{
  opacity:var(--pitch-trail-opacity,.82);
  filter:none;
  transform:scale(.94);
  box-shadow:none;
}

.pitch-location-layer .pitch-dot.historical{
  opacity:var(--pitch-trail-opacity,.82);
  filter:none;
  transform:scale(.94);
  box-shadow:none;
}

.mini-pitch-color-toggle{
  left:0;
  right:auto;
  top:31px;
  width:10px;
  height:34px;
  border:1px solid rgba(44,247,232,.13);
  background:rgba(8,19,14,.82);
  box-shadow:none;
}

.mini-pitch-color-toggle > i{
  inset:2px;
  background:rgba(44,247,232,.055);
}

.mini-pitch-color-toggle > i::before{
  display:none;
}

.mini-pitch-color-toggle > i::after{
  left:50%;
  top:2px;
  width:6px;
  height:6px;
  border:0;
  background:rgba(44,247,232,.72);
  box-shadow:none;
  transform:translateX(-50%);
  transition:
    top .18s ease,
    background .18s ease;
}

.mini-pitch-color-toggle[aria-checked="true"] > i::after{
  top:22px;
  background:rgba(151,105,255,.72);
  box-shadow:none;
  transform:translateX(-50%);
}

.mini-pitch-color-toggle:hover,
.mini-pitch-color-toggle:focus-visible{
  border-color:rgba(44,247,232,.24);
  box-shadow:none;
}

@media(max-width:560px){
  .mini-plate-animation{
    padding-left:14px;
  }

  .mini-pitch-color-toggle{
    top:27px;
  }
}

/* END BORING BETS: SUBTLE LEFT PLATE SWITCH V4 */


/* BORING BETS: LIVE FIELD BALL AND RUNNERS V1 */

.bases rect.runner-occupied{
  fill:var(--live-gold);
  stroke:#f9e8a2;
  stroke-width:4;
  filter:
    drop-shadow(
      0 0 5px rgba(255,214,107,.72)
    );
}

.live-hit-trail{
  stroke-linecap:round;
  stroke-linejoin:round;
  animation:none;
}

.live-hit-trail.ground-ball{
  stroke:#d8ae68;
  stroke-width:4;
  stroke-dasharray:4 7;
  opacity:.72;
}

.live-hit-trail.line-drive{
  stroke:var(--live-gold);
  stroke-width:4;
  stroke-dasharray:none;
  opacity:.9;
}

.live-hit-trail.fly-ball{
  stroke:#ffd98a;
  stroke-width:3;
  stroke-dasharray:10 8;
  opacity:.8;
}

.live-hit-trail.popup{
  stroke:#e0c99c;
  stroke-width:3;
  stroke-dasharray:3 7;
  opacity:.74;
}

.live-hit-trail.unknown-ball{
  stroke:var(--live-teal);
  stroke-width:3;
  stroke-dasharray:7 7;
  opacity:.75;
}

.live-ball-marker{
  transform-box:fill-box;
  transform-origin:center;
  animation:none;
}

.live-ball-marker.ground-ball{
  fill:#d8ae68;
}

.live-ball-marker.line-drive{
  fill:var(--live-gold);
}

.live-ball-marker.fly-ball{
  fill:#ffe4a5;
}

.live-ball-marker.popup{
  fill:#ead8b3;
}

.live-ball-marker.unknown-ball{
  fill:var(--live-teal);
}

.live-ball-marker.in-flight{
  filter:url(#fieldGlow);
}

.field-batted-ball-readout{
  position:absolute;
  z-index:8;
  left:50%;
  top:12px;
  min-width:190px;
  max-width:min(340px,46%);
  padding:8px 10px;
  border:1px solid rgba(255,214,107,.19);
  border-radius:8px;
  background:rgba(3,10,6,.88);
  box-shadow:0 8px 22px rgba(0,0,0,.38);
  text-align:center;
  transform:translateX(-50%);
  pointer-events:none;
}

.field-batted-ball-readout span,
.field-batted-ball-readout small{
  display:block;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
}

.field-batted-ball-readout span{
  color:var(--live-gold);
  font-size:.46rem;
  font-weight:900;
  letter-spacing:.09em;
}

.field-batted-ball-readout strong{
  display:block;
  margin:3px 0;
  color:#f4f2df;
  font-size:.61rem;
}

.field-batted-ball-readout small{
  color:#819083;
  font-size:.43rem;
}

@media(max-width:620px){
  .field-batted-ball-readout{
    top:8px;
    min-width:160px;
    max-width:54%;
    padding:6px 8px;
  }
}

/* END BORING BETS: LIVE FIELD BALL AND RUNNERS V1 */


/* BORING BETS: FIELD PLAY OUTCOME AND THROWS V2 */

.field-play-status{
  margin-top:3px;
}

.field-play-status.caught{
  color:var(--live-green);
}

.field-play-status.not-caught{
  color:var(--live-gold);
}

.field-play-status.pending{
  color:var(--live-muted);
}

.field-batted-ball-readout
.field-throw-summary{
  margin-top:5px;
  color:var(--live-teal);
  font-weight:900;
  letter-spacing:.055em;
}

.field-batted-ball-readout p{
  margin:6px 0 0;
  padding-top:5px;
  border-top:1px solid rgba(255,255,255,.055);
  color:#75877b;
  font-size:.43rem;
  line-height:1.35;
}

.field-throw-trail{
  fill:none;
  stroke:var(--live-teal);
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.86;
  filter:url(#fieldGlow);
  pointer-events:none;
}

.field-throw-trail.caught{
  stroke:var(--live-green);
}

.field-throw-trail.not-caught{
  stroke:var(--live-teal);
}

.field-throw-trail.pending{
  stroke:var(--live-muted);
  stroke-dasharray:5 7;
  opacity:.5;
}

/* END BORING BETS: FIELD PLAY OUTCOME AND THROWS V2 */


/* BORING BETS: LIVE BASE RUNNER NAMES V3 */

.field-runner-labels{
  position:absolute;
  inset:0;
  z-index:7;
  pointer-events:none;
}

.field-runner-label{
  position:absolute;
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  max-width:118px;
  padding:4px 7px 4px 5px;
  border:1px solid rgba(255,214,107,.3);
  border-radius:999px;
  background:rgba(2,8,5,.9);
  color:#cbd9cf;
  box-shadow:0 5px 13px rgba(0,0,0,.36);
  pointer-events:auto;
  cursor:pointer;
}

.field-runner-label.first{
  transform:translate(8%,-142%);
}

.field-runner-label.second{
  transform:translate(-50%,-154%);
}

.field-runner-label.third{
  transform:translate(-108%,-142%);
}

.field-runner-label span{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:21px;
  height:18px;
  border-radius:999px;
  background:rgba(255,214,107,.12);
  color:var(--live-gold);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:.44rem;
  font-weight:900;
}

.field-runner-label strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.52rem;
}

.field-runner-label:hover,
.field-runner-label:focus-visible{
  border-color:rgba(255,214,107,.58);
  background:rgba(10,18,12,.96);
  outline:none;
}

@media(max-width:620px){
  .field-runner-label{
    max-width:92px;
    padding:3px 5px 3px 4px;
  }

  .field-runner-label span{
    width:18px;
    height:16px;
    font-size:.39rem;
  }

  .field-runner-label strong{
    font-size:.46rem;
  }
}

/* END BORING BETS: LIVE BASE RUNNER NAMES V3 */



/* BORING BETS: EXPANDABLE AT-BAT GAME LOG CSS V1 */

.complete-log-controls {
  flex-wrap: wrap;
}

#completeLogKeepExpanded {
  min-width: max-content;
}

#completeLogKeepExpanded.active {
  border-color: rgba(72, 255, 147, 0.58);
  background: rgba(72, 255, 147, 0.12);
  color: rgba(145, 255, 197, 0.98);
}

.complete-event-log {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.complete-at-bat-row {
  overflow: hidden;
  border: 1px solid rgba(134, 155, 166, 0.18);
  border-radius: 7px;
  background: rgba(4, 10, 14, 0.74);
}

.complete-at-bat-row.is-current {
  border-color: rgba(67, 255, 189, 0.45);
  box-shadow:
    inset 3px 0 0 rgba(67, 255, 189, 0.72);
}

.complete-at-bat-row.is-expanded {
  border-color: rgba(134, 155, 166, 0.35);
  background: rgba(5, 13, 17, 0.94);
}

.complete-at-bat-summary {
  display: grid;
  grid-template-columns:
    72px
    minmax(150px, 1.1fr)
    minmax(180px, 1.5fr)
    minmax(115px, 0.75fr)
    22px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 11px 12px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.complete-at-bat-summary:hover,
.complete-at-bat-summary:focus-visible {
  background: rgba(255, 255, 255, 0.025);
}

.complete-at-bat-inning {
  color: rgba(173, 187, 194, 0.76);
  font-size: 0.65rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.complete-at-bat-matchup,
.complete-at-bat-result,
.complete-at-bat-score {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.complete-at-bat-matchup strong,
.complete-at-bat-result strong,
.complete-at-bat-score strong {
  overflow: hidden;
  color: rgba(239, 245, 247, 0.96);
  font-size: 0.76rem;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.complete-at-bat-matchup small,
.complete-at-bat-result small,
.complete-at-bat-score small {
  overflow: hidden;
  color: rgba(166, 181, 189, 0.56);
  font-size: 0.56rem;
  font-weight: 650;
  letter-spacing: 0.035em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.complete-at-bat-row.is-current
.complete-at-bat-result strong {
  color: rgba(91, 255, 184, 0.98);
}

.complete-at-bat-score {
  text-align: right;
}

.complete-at-bat-chevron {
  justify-self: end;
  color: rgba(194, 206, 212, 0.52);
  font-size: 1rem;
  transition: transform 150ms ease;
}

.complete-at-bat-row.is-expanded
.complete-at-bat-chevron {
  transform: rotate(180deg);
}

.complete-at-bat-body {
  padding: 0 12px 12px;
  border-top: 1px solid rgba(134, 155, 166, 0.11);
}

.complete-at-bat-description {
  padding: 10px 2px;
  color: rgba(211, 220, 225, 0.78);
  font-size: 0.7rem;
  line-height: 1.4;
}

.complete-at-bat-pitches {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.complete-at-bat-pitch {
  display: grid;
  grid-template-columns:
    34px
    minmax(115px, 0.8fr)
    minmax(180px, 1.45fr)
    minmax(90px, 0.65fr);
  align-items: center;
  gap: 10px;
  padding: 7px 8px;
  border: 1px solid rgba(134, 155, 166, 0.1);
  background: rgba(255, 255, 255, 0.018);
}

.complete-at-bat-pitch > b {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid rgba(134, 155, 166, 0.22);
  border-radius: 50%;
  color: rgba(211, 222, 228, 0.82);
  font-size: 0.61rem;
}

.complete-at-bat-pitch > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.complete-at-bat-pitch strong {
  overflow: hidden;
  color: rgba(230, 237, 240, 0.92);
  font-size: 0.66rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.complete-at-bat-pitch small {
  overflow: hidden;
  color: rgba(158, 174, 182, 0.54);
  font-size: 0.53rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.complete-at-bat-pitch em {
  overflow: hidden;
  color: rgba(183, 198, 205, 0.64);
  font-size: 0.56rem;
  font-style: normal;
  font-weight: 700;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.complete-at-bat-no-pitches {
  padding: 13px;
  border: 1px dashed rgba(134, 155, 166, 0.2);
  color: rgba(164, 180, 188, 0.56);
  font-size: 0.65rem;
  text-align: center;
}

.complete-at-bat-final {
  display: grid;
  grid-template-columns:
    max-content
    minmax(0, 1fr)
    max-content;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding: 9px 10px;
  border: 1px solid rgba(134, 155, 166, 0.13);
  background: rgba(0, 0, 0, 0.2);
}

.complete-at-bat-final span {
  color: rgba(151, 169, 179, 0.56);
  font-size: 0.54rem;
  font-weight: 750;
  letter-spacing: 0.065em;
}

.complete-at-bat-final strong {
  overflow: hidden;
  color: rgba(236, 242, 245, 0.94);
  font-size: 0.7rem;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.complete-at-bat-final small {
  color: rgba(170, 186, 194, 0.58);
  font-size: 0.56rem;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .complete-at-bat-summary {
    grid-template-columns:
      58px
      minmax(0, 1fr)
      22px;
    gap: 8px;
  }

  .complete-at-bat-result,
  .complete-at-bat-score {
    grid-column: 2;
  }

  .complete-at-bat-score {
    text-align: left;
  }

  .complete-at-bat-chevron {
    grid-column: 3;
    grid-row: 1 / span 3;
  }

  .complete-at-bat-pitch {
    grid-template-columns:
      30px
      minmax(0, 1fr);
  }

  .complete-at-bat-pitch > span:nth-of-type(2),
  .complete-at-bat-pitch > em {
    grid-column: 2;
    text-align: left;
  }

  .complete-at-bat-final {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .complete-at-bat-final small {
    text-align: left;
  }
}

/* END BORING BETS: EXPANDABLE AT-BAT GAME LOG CSS V1 */


/* BORING BETS: LIVE EVENTS AT-BAT RAIL CSS V1 */

.event-controls {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.event-controls .control-chip {
  min-width: 0;
  padding-inline: 5px;
  white-space: nowrap;
}


.event-stream {
  height: calc(100% - 113px);
}

.live-event-at-bat-card {
  padding: 0;
}

.live-event-at-bat-card.is-current {
  border-color: rgba(72, 255, 147, 0.32);
  box-shadow:
    inset 2px 0 0 rgba(72, 255, 147, 0.66),
    0 0 15px rgba(72, 255, 147, 0.045);
}

.live-event-at-bat-summary {
  position: relative;
  width: 100%;
  padding: 10px 22px 10px 12px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.live-event-at-bat-summary:hover,
.live-event-at-bat-summary:focus-visible {
  background: rgba(255, 255, 255, 0.025);
  outline: none;
}

.live-event-at-bat-summary header {
  margin: 0;
}

.live-event-at-bat-summary > strong {
  display: block;
  margin-top: 6px;
  color: rgba(231, 241, 235, 0.94);
  font-size: 0.66rem;
  line-height: 1.25;
}

.live-event-at-bat-summary > strong small {
  display: block;
  margin-top: 2px;
  color: var(--live-muted);
  font-size: 0.48rem;
  font-weight: 650;
}

.live-event-at-bat-summary > p {
  margin: 0;
  color: #91a99a;
  font-size: 0.55rem;
  line-height: 1.35;
}

.live-event-at-bat-summary > i {
  position: absolute;
  right: 9px;
  top: 50%;
  color: rgba(194, 210, 200, 0.48);
  font-size: 0.8rem;
  font-style: normal;
  transform:
    translateY(-50%)
    rotate(0);
  transition: transform 150ms ease;
}

.live-event-at-bat-card.is-expanded
.live-event-at-bat-summary > i {
  transform:
    translateY(-50%)
    rotate(180deg);
}

.live-event-at-bat-body {
  padding: 4px 8px 9px;
  border-top:
    1px solid rgba(255, 255, 255, 0.055);
}

.live-event-at-bat-body[hidden] {
  display: none;
}

.live-event-at-bat-description {
  margin: 0 0 5px;
  padding: 0 2px;
  color: rgba(182, 199, 189, 0.7);
  font-size: 0.53rem;
  line-height: 1.4;
}

.live-event-pitch-list {
  display: grid;
  gap: 3px;
}

.live-event-pitch-row {
  display: grid;
  grid-template-columns:
    20px
    minmax(0, 0.82fr)
    minmax(0, 1.18fr);
  align-items: center;
  gap: 5px;
  padding: 5px;
  border:
    1px solid rgba(255, 255, 255, 0.045);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.014);
}

.live-event-pitch-row > b {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border:
    1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  color: rgba(212, 226, 217, 0.74);
  font-size: 0.45rem;
}

.live-event-pitch-row > span {
  min-width: 0;
}

.live-event-pitch-row strong,
.live-event-pitch-row small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-event-pitch-row strong {
  margin: 0;
  color: rgba(218, 232, 223, 0.88);
  font-size: 0.48rem;
}

.live-event-pitch-row small {
  margin-top: 2px;
  color: rgba(137, 158, 145, 0.58);
  font-size: 0.4rem;
}

.live-event-at-bat-result {
  display: grid;
  gap: 3px;
  margin-top: 6px;
  padding: 6px 7px;
  border-left:
    2px solid rgba(72, 255, 147, 0.36);
  background: rgba(72, 255, 147, 0.025);
}

.live-event-at-bat-result span {
  color: rgba(119, 145, 129, 0.62);
  font-size: 0.4rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.live-event-at-bat-result strong {
  margin: 0;
  color: rgba(226, 239, 231, 0.92);
  font-size: 0.53rem;
}

.live-event-at-bat-result small {
  color: rgba(137, 158, 145, 0.62);
  font-size: 0.43rem;
}

.live-event-no-pitches {
  padding: 10px 6px;
  border:
    1px dashed rgba(255, 255, 255, 0.12);
  color: rgba(137, 158, 145, 0.58);
  font-size: 0.48rem;
  text-align: center;
}

/* END BORING BETS: LIVE EVENTS AT-BAT RAIL CSS V1 */


/* BORING BETS: LIVE RESULT PLAY DETAILS CSS V1 */

.live-event-play-details {
  display: grid;
  gap: 4px;
  margin-top: 5px;
  padding-top: 5px;
  border-top:
    1px solid rgba(255, 255, 255, 0.055);
}

.live-event-play-details > div {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: start;
  gap: 5px;
}

.live-event-play-details span {
  color: rgba(100, 129, 111, 0.72);
  font-size: 0.37rem;
  font-weight: 900;
  letter-spacing: 0.055em;
}

.live-event-play-details strong {
  margin: 0;
  color: rgba(186, 207, 194, 0.86);
  font-size: 0.43rem;
  font-weight: 720;
  line-height: 1.35;
  white-space: normal;
}

/* END BORING BETS: LIVE RESULT PLAY DETAILS CSS V1 */


/* BORING BETS: CONTACT-ONLY EXPANDED AT-BAT CSS V1 */

.live-event-contact-details {
  margin-top: 4px;
  padding-top: 4px;
}

/* END BORING BETS: CONTACT-ONLY EXPANDED AT-BAT CSS V1 */


/* BORING BETS: BRIGHT PITCH MIX SUBTEXT V1 */

.arsenal-row span {
  color: #e3f3e9 !important;
  opacity: 1 !important;
  font-weight: 700;
}

/* END BORING BETS: BRIGHT PITCH MIX SUBTEXT V1 */





/* BORING BETS: RECOLOR WALK HBP EXISTING ACCENT V4 */

.event-card.live-event-at-bat-card.is-runner-award::before {
  background: #72a7ff;
  box-shadow:
    0 0 9px rgba(114, 167, 255, 0.45);
}

/* END BORING BETS: RECOLOR WALK HBP EXISTING ACCENT V4 */


/* BORING BETS: MULTI-OPEN FIRST-PITCH EVENTS CSS V1 */

.event-controls {
  grid-template-columns:
    repeat(2, minmax(0, 1fr))
    28px;
}

.event-expand-collapse-button {
  display: grid;
  place-items: center;
  width: 28px;
  min-width: 28px !important;
  padding: 0 !important;
  font-size: 0.72rem !important;
  line-height: 1;
}

.event-expand-collapse-button.active {
  border-color: rgba(121, 167, 255, 0.42);
  background: rgba(121, 167, 255, 0.09);
  color: #79a7ff;
}

/* END BORING BETS: MULTI-OPEN FIRST-PITCH EVENTS CSS V1 */

/* BORING BETS: CLEAN FINAL EVENTS PACKAGE CSS V1 */

.final-event-view {
  display: grid;
  gap: 5px;
}

.final-rundown-title-card,
.final-rundown-card,
.final-live-archive.event-card,
.final-live-archive-card {
  height: auto;
  min-height: 0;
  margin: 0;
}

.final-rundown-title-card {
  border-left-color: var(--live-teal);
}

.final-rundown-title-card > strong {
  margin-top: 4px;
}

.final-rundown-list,
.final-live-archive-body {
  display: grid;
  gap: 5px;
  padding: 0;
}

.final-rundown-card,
.final-live-archive-card {
  display: block;
}

.final-rundown-card > strong,
.final-live-archive-card > strong {
  display: block;
  margin-top: 5px;
  font-size: 0.56rem;
  line-height: 1.35;
}

.final-rundown-card > p,
.final-live-archive-card > p {
  margin: 4px 0 0;
  color: rgba(201, 219, 207, 0.76);
  font-size: 0.5rem;
  line-height: 1.38;
}

.final-rundown-card > small,
.final-live-archive-card > small {
  display: block;
  margin-top: 4px;
  color: rgba(122, 147, 132, 0.76);
  font-size: 0.43rem;
  line-height: 1.35;
}

.final-rundown-card.pitch,
.final-live-archive-card.pitch {
  border-left-color: var(--live-teal);
}

.final-rundown-card.positive,
.final-live-archive-card.positive {
  border-left-color: var(--live-green);
}

.final-rundown-card.negative,
.final-live-archive-card.negative {
  border-left-color: var(--live-red);
}

.final-rundown-card.alert,
.final-live-archive-card.alert {
  border-left-color: var(--live-gold);
}

.final-rundown-card.winner-team-accent {
  border-left-color:
    var(--winner-team-accent) !important;
}

.final-game-summary-card {
  padding: 0;
  overflow: hidden;
}

.final-game-summary-card > summary {
  position: relative;
  display: block;
  padding: 9px 23px 9px 10px;
  cursor: pointer;
  list-style: none;
}

.final-game-summary-card
  > summary::-webkit-details-marker,
.final-live-archive
  > summary::-webkit-details-marker {
  display: none;
}

.final-game-summary-card > summary > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

.final-game-summary-card > summary > strong {
  display: block;
  margin-top: 5px;
  font-size: 0.56rem;
  line-height: 1.35;
}

.final-game-summary-card > summary > p {
  margin: 4px 0 0;
  color: rgba(201, 219, 207, 0.76);
  font-size: 0.5rem;
  line-height: 1.38;
}

.final-game-summary-card > summary > small {
  display: block;
  margin-top: 4px;
  color: rgba(122, 147, 132, 0.76);
  font-size: 0.43rem;
  line-height: 1.35;
}

.final-game-summary-card > summary > i {
  position: absolute;
  right: 8px;
  top: 50%;
  color: rgba(200, 222, 208, 0.68);
  font-style: normal;
  transform: translateY(-50%);
  transition: transform 150ms ease;
}

.final-game-summary-card[open]
  > summary > i {
  transform:
    translateY(-50%)
    rotate(180deg);
}

.final-game-summary-card[open]
  > summary {
  border-bottom:
    1px solid rgba(255, 255, 255, 0.06);
}

.final-game-detail-body {
  display: grid;
  gap: 7px;
  padding: 7px;
  background: rgba(0, 0, 0, 0.16);
}

.final-game-detail-score {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    auto
    minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 7px;
  border:
    1px solid rgba(255, 255, 255, 0.05);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.015);
}

.final-game-detail-score > div {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.final-game-detail-score > div:last-child {
  text-align: right;
}

.final-game-detail-score span {
  color: rgba(150, 177, 160, 0.72);
  font-size: 0.43rem;
  font-weight: 900;
}

.final-game-detail-score strong {
  font-size: 1rem;
}

.final-game-detail-score small {
  overflow: hidden;
  color: rgba(192, 211, 199, 0.72);
  font-size: 0.42rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.final-game-detail-score > b {
  color: rgba(208, 229, 216, 0.76);
  font-size: 0.44rem;
  letter-spacing: 0.08em;
}

.final-game-detail-totals {
  display: grid;
  gap: 3px;
  padding: 6px;
  border:
    1px solid rgba(255, 255, 255, 0.045);
  border-radius: 6px;
}

.final-game-detail-totals > header,
.final-game-detail-totals > div {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    repeat(3, 24px);
  align-items: center;
  gap: 4px;
}

.final-game-detail-totals > header {
  color: rgba(114, 139, 123, 0.68);
  font-size: 0.38rem;
}

.final-game-detail-totals > div {
  color: rgba(207, 225, 214, 0.84);
  font-size: 0.45rem;
}

.final-game-detail-totals
  > header span:not(:first-child),
.final-game-detail-totals
  > div span {
  text-align: center;
}

.final-game-detail-section {
  display: grid;
  gap: 5px;
  padding-top: 6px;
  border-top:
    1px solid rgba(255, 255, 255, 0.05);
}

.final-game-detail-section h4 {
  margin: 0;
  color: var(--live-teal);
  font-size: 0.42rem;
  letter-spacing: 0.08em;
}

.final-game-inning-grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.final-game-inning-grid > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  padding: 4px 5px;
  border:
    1px solid rgba(255, 255, 255, 0.04);
  border-radius: 5px;
  font-size: 0.4rem;
}

.final-game-inning-grid b {
  color: rgba(122, 148, 132, 0.68);
}

.final-game-decision-list {
  display: grid;
  gap: 4px;
}

.final-game-decision-list > div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 5px;
  padding: 4px 5px;
  border-left:
    2px solid rgba(72, 255, 147, 0.28);
  background: rgba(72, 255, 147, 0.02);
}

.final-game-decision-list span {
  color: rgba(114, 140, 123, 0.7);
  font-size: 0.38rem;
  font-weight: 900;
}

.final-game-decision-list strong {
  overflow: hidden;
  font-size: 0.44rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.final-game-scoring-list {
  display: grid;
  gap: 4px;
}

.final-game-scoring-list article {
  padding: 5px;
  border:
    1px solid rgba(255, 255, 255, 0.04);
  border-left:
    2px solid rgba(255, 214, 107, 0.4);
  border-radius: 4px;
  background: rgba(255, 214, 107, 0.018);
}

.final-game-scoring-list header {
  display: flex;
  justify-content: space-between;
  gap: 5px;
  color: rgba(145, 169, 153, 0.7);
  font-size: 0.38rem;
}

.final-game-scoring-list p {
  margin: 3px 0 0;
  color: rgba(207, 224, 213, 0.8);
  font-size: 0.43rem;
  line-height: 1.35;
}

.final-game-detail-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px;
  padding-top: 5px;
  border-top:
    1px solid rgba(255, 255, 255, 0.05);
  color: rgba(104, 128, 113, 0.66);
  font-size: 0.37rem;
}

.final-live-archive.event-card {
  padding: 0;
  overflow: hidden;
  border-left-color: rgba(143, 179, 158, 0.42);
}

.final-live-archive.event-card > summary {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    auto
    10px;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  cursor: pointer;
  list-style: none;
}

.final-live-archive
  > summary
  > span {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.final-live-archive
  > summary
  b {
  color: #a7f0bd;
  font-size: 0.5rem;
  font-weight: 900;
  letter-spacing: 0.07em;
}

.final-live-archive
  > summary
  small {
  overflow: hidden;
  color: rgba(206, 222, 212, 0.62);
  font-size: 0.42rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.final-live-archive
  > summary
  > strong {
  color: rgba(220, 235, 226, 0.7);
  font-size: 0.45rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.final-live-archive
  > summary
  i {
  color: rgba(188, 214, 198, 0.68);
  font-style: normal;
  transition: transform 150ms ease;
}

.final-live-archive[open]
  > summary {
  border-bottom:
    1px solid rgba(143, 179, 158, 0.12);
}

.final-live-archive[open]
  > summary
  i {
  transform: rotate(180deg);
}

.final-live-archive-body {
  padding: 6px;
}

/* END BORING BETS: CLEAN FINAL EVENTS PACKAGE CSS V1 */

/* BORING BETS: UNIFIED FINAL PLAY BY PLAY DISCLOSURE CSS V1 */

.final-play-by-play.event-card {
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-left-color: var(--live-teal);
}

.final-play-by-play
  > summary {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    12px;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  cursor: pointer;
  list-style: none;
}

.final-play-by-play
  > summary::-webkit-details-marker {
  display: none;
}

.final-play-by-play
  > summary
  > span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.final-play-by-play
  > summary
  header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.final-play-by-play
  > summary
  header
  span {
  color: rgba(167, 240, 189, 0.86);
  font-size: 0.45rem;
  font-weight: 900;
  letter-spacing: 0.07em;
}

.final-play-by-play
  > summary
  strong {
  color: rgba(222, 235, 226, 0.84);
  font-size: 0.56rem;
  line-height: 1.35;
}

.final-play-by-play
  > summary
  i {
  color: rgba(188, 214, 198, 0.68);
  font-style: normal;
  transition: transform 150ms ease;
}

.final-play-by-play[open]
  > summary {
  border-bottom:
    1px solid rgba(143, 179, 158, 0.12);
}

.final-play-by-play[open]
  > summary
  i {
  transform: rotate(180deg);
}

.final-play-by-play-body {
  display: grid;
  gap: 6px;
  padding: 6px;
}

.final-play-by-play-archive {
  display: grid;
  gap: 5px;
  padding-top: 6px;
  border-top:
    1px solid rgba(143, 179, 158, 0.12);
}

.final-play-by-play-archive
  > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.final-play-by-play-archive
  > header
  span {
  color: rgba(167, 240, 189, 0.86);
  font-size: 0.45rem;
  font-weight: 900;
  letter-spacing: 0.07em;
}

.final-play-by-play-archive
  > header
  strong {
  color: rgba(220, 235, 226, 0.7);
  font-size: 0.45rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.final-play-by-play-archive
  > small {
  color: rgba(206, 222, 212, 0.62);
  font-size: 0.42rem;
}

.final-play-by-play-archive
  .final-live-archive-body {
  padding: 0;
}

/* END BORING BETS: UNIFIED FINAL PLAY BY PLAY DISCLOSURE CSS V1 */

/* BORING BETS: SEARCHABLE CURRENT GAME EVENTS CSS V1 */

.final-play-by-play-search {
  display: grid;
  grid-template-columns:
    auto
    minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 6px 7px;
  border:
    1px solid rgba(143, 179, 158, 0.12);
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.12);
}

.final-play-by-play-search
  > span {
  color: rgba(167, 240, 189, 0.78);
  font-size: 0.4rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  white-space: nowrap;
}

.final-play-by-play-search
  > input {
  width: 100%;
  min-width: 0;
  border:
    1px solid rgba(143, 179, 158, 0.18);
  border-radius: 4px;
  padding: 6px 7px;
  background: rgba(3, 11, 7, 0.72);
  color: rgba(230, 240, 233, 0.92);
  font: inherit;
  font-size: 0.5rem;
  outline: none;
}

.final-play-by-play-search
  > input::placeholder {
  color: rgba(144, 165, 151, 0.48);
}

.final-play-by-play-search
  > input:focus {
  border-color: rgba(72, 255, 147, 0.48);
  box-shadow:
    0 0 0 2px rgba(72, 255, 147, 0.07);
}

/* END BORING BETS: SEARCHABLE CURRENT GAME EVENTS CSS V1 */

/* BORING BETS: EVENT FIELD LIVE PRIORITY REPLAY CSS V1 */

#ballparkStage {
  position: relative;
}

.final-rundown-card[
  data-final-field-at-bat-index
] {
  cursor: pointer;
}

.final-rundown-card[
  data-final-field-at-bat-index
]:hover,
.final-rundown-card[
  data-final-field-at-bat-index
]:focus-visible {
  border-color:
    rgba(72, 255, 147, 0.48);
  box-shadow:
    0 0 0 2px
    rgba(72, 255, 147, 0.09);
  outline: none;
}

.live-event-at-bat-card
.is-field-replay-selected,
.final-rundown-card
.is-field-replay-selected {
  border-color:
    rgba(72, 255, 147, 0.82);
  box-shadow:
    0 0 0 2px
      rgba(72, 255, 147, 0.14),
    0 0 18px
      rgba(72, 255, 147, 0.11);
}

.event-replay-ghost-trail {
  fill: none;
  stroke:
    rgba(147, 220, 171, 0.82);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 7 7;
  pointer-events: none;
}

.event-replay-ghost-ball {
  fill:
    rgba(219, 255, 231, 0.95);
  stroke:
    rgba(4, 18, 10, 0.9);
  stroke-width: 2;
  pointer-events: none;
}

.event-replay-ghost-throws {
  fill: none;
  stroke:
    rgba(255, 215, 118, 0.84);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-dasharray: 5 5;
  pointer-events: none;
}

.event-replay-fielder {
  position: absolute;
  z-index: 14;
  display: grid;
  justify-items: center;
  gap: 2px;
  min-width: 54px;
  transform:
    translate(-50%, -50%);
  pointer-events: none;
  will-change:
    left,
    top,
    transform;
}

.event-replay-selected-ghost-fielder,
.event-replay-live-ghost-fielder {
  z-index: 8;
}

.event-replay-fielder i {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border:
    1px solid
    rgba(72, 255, 147, 0.62);
  border-radius: 50%;
  background:
    rgba(3, 14, 8, 0.96);
  color:
    rgba(192, 255, 214, 0.96);
  box-shadow:
    0 0 0 2px
      rgba(0, 0, 0, 0.38),
    0 0 14px
      rgba(72, 255, 147, 0.18);
  font-size: 0.48rem;
  font-style: normal;
  font-weight: 950;
}

.event-replay-fielder span {
  max-width: 90px;
  padding: 2px 4px;
  border-radius: 3px;
  background:
    rgba(2, 8, 5, 0.86);
  color:
    rgba(235, 245, 238, 0.9);
  font-size: 0.42rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}

.event-replay-fielder.is-chasing {
  transform:
    translate(-50%, -50%)
    scale(1.08);
}

.event-replay-fielder.has-fielded i {
  background:
    rgba(32, 118, 66, 0.96);
  box-shadow:
    0 0 0 2px
      rgba(0, 0, 0, 0.38),
    0 0 18px
      rgba(72, 255, 147, 0.34);
}

.event-replay-priority-banner {
  position: absolute;
  z-index: 34;
  left: 12px;
  right: 12px;
  bottom: 12px;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    auto;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border:
    1px solid
    rgba(72, 255, 147, 0.4);
  border-radius: 6px;
  background:
    rgba(3, 11, 7, 0.94);
  box-shadow:
    0 8px 24px
    rgba(0, 0, 0, 0.36);
  backdrop-filter:
    blur(7px);
}

.event-replay-priority-banner[hidden] {
  display: none;
}

.event-replay-priority-banner > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.event-replay-priority-banner span {
  color:
    rgba(72, 255, 147, 0.88);
  font-size: 0.42rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.event-replay-priority-banner strong {
  color:
    rgba(235, 244, 238, 0.96);
  font-size: 0.56rem;
  line-height: 1.3;
}

.event-replay-priority-banner small {
  overflow: hidden;
  color:
    rgba(202, 220, 208, 0.72);
  font-size: 0.43rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-replay-priority-banner button {
  border:
    1px solid
    rgba(72, 255, 147, 0.38);
  border-radius: 4px;
  padding: 6px 8px;
  background:
    rgba(72, 255, 147, 0.09);
  color:
    rgba(182, 255, 207, 0.94);
  font: inherit;
  font-size: 0.42rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  cursor: pointer;
  white-space: nowrap;
}

/* END BORING BETS: EVENT FIELD LIVE PRIORITY REPLAY CSS V1 */

/* BORING BETS: HUD STATUS LIGHT ONLY CSS V1 */
.hud-status-light-only {
  justify-content: flex-end;
  min-width: 7px;
}

.hud-status-light-only .hud-feed-signal {
  display: inline-flex;
  align-items: center;
  gap: 0;
}

.hud-status-light-only .hud-status-copy {
  display: none !important;
}
/* END BORING BETS: HUD STATUS LIGHT ONLY CSS V1 */

/* BORING BETS: HIDE TOP HEADER FEED STATUS CSS V1 */
.live-site-header .feed-health {
  display: none !important;
}
/* END BORING BETS: HIDE TOP HEADER FEED STATUS CSS V1 */

/* BORING BETS: CALM LIVE PAGE SIGNAL LIGHT V2 */

.hud-statuses .green-dot {
  transition:
    background-color 0.65s ease,
    box-shadow 0.65s ease,
    opacity 0.65s ease;
  animation-timing-function: ease-in-out;
}

/* Neutral before the first successful refresh. */
.hud-statuses.feed-signal-waiting
  .green-dot {
  background: #718779;
  box-shadow: 0 0 5px rgba(113, 135, 121, 0.34);
  opacity: 0.48;
  animation-duration: 3s;
}

/* Fast updates remain identifiable without flashing. */
.hud-statuses.feed-signal-fast
  .green-dot {
  background: var(--live-green);
  box-shadow:
    0 0 6px rgba(72, 255, 147, 0.72),
    0 0 12px rgba(72, 255, 147, 0.28);
  opacity: 0.9;
  animation-duration: 1.55s;
}

/* Normal successful updates use a slow, soft pulse. */
.hud-statuses.feed-signal-healthy
  .green-dot {
  background: var(--live-green);
  box-shadow:
    0 0 7px rgba(72, 255, 147, 0.5);
  opacity: 0.76;
  animation-duration: 2.35s;
}

/* Slow or interrupted updates are dim orange. */
.hud-statuses.feed-signal-slow
  .green-dot {
  background: var(--live-gold);
  box-shadow:
    0 0 6px rgba(255, 214, 107, 0.46);
  opacity: 0.58;
  animation-duration: 3.65s;
}

/* Lost signal remains clear, but does not flash rapidly. */
.hud-statuses.feed-signal-broken
  .green-dot {
  background: var(--live-red);
  box-shadow:
    0 0 7px rgba(255, 94, 117, 0.5);
  opacity: 0.58;
  animation-duration: 4.8s;
}

/* END BORING BETS: CALM LIVE PAGE SIGNAL LIGHT V2 */

/* BORING BETS: HIDE FIELD HUD BASE DIAMOND V1 */
.field-hud-view .base-state {
  display: none !important;
}
/* END BORING BETS: HIDE FIELD HUD BASE DIAMOND V1 */

/* BORING BETS: HUD CORNER LIVE WIND CSS V3 */
.field-wind-corner {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 12;
  width: 82px;
  height: 44px;
  overflow: visible;
  pointer-events: none;
  filter: drop-shadow(0 0 8px rgba(44, 247, 232, 0.32));
}

.field-wind-corner .wind-arrow path {
  fill: none;
  stroke: var(--live-teal);
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: url(#fieldGlow);
}
/* END BORING BETS: HUD CORNER LIVE WIND CSS V3 */

/* BORING BETS: FINAL RUNDOWN THEN LIVE EVENTS CSS V1 */
.final-rundown-overview {
  margin: 0;
}

.final-rundown-overview
  + .final-play-by-play {
  margin-top: 0;
}

.final-rundown-overview
  > summary
  > header
  > span:first-child {
  color: var(--live-teal);
  letter-spacing: 0.08em;
}

.final-play-by-play
  > summary
  header
  > span:first-child {
  color: var(--live-green);
}
/* END BORING BETS: FINAL RUNDOWN THEN LIVE EVENTS CSS V1 */

/* BORING BETS: GEOMETRY STATUS HOVER CSS V1 */

/*
  Remove internal/debug geometry copy from the public HUD.
  The elements remain in the DOM because live.js still updates them.
*/
#ballparkConsole .hud-title-block {
  display: none !important;
}

/*
  Show the current geometry-quality note only while hovering over
  Field View. It appears above the outfield wall and never blocks
  clicks, player controls, or ball animations.
*/
#ballparkStage {
  position: relative;
}

#ballparkStage::before {
  content: attr(data-geometry-status);
  position: absolute;
  z-index: 40;
  top: 12px;
  left: 50%;
  width: max-content;
  max-width: min(88%, 560px);
  padding: 5px 9px;
  border: 1px solid rgba(112, 225, 184, 0.2);
  border-radius: 999px;
  background: rgba(4, 13, 10, 0.9);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
  color: rgba(194, 224, 207, 0.78);
  font-size: 0.43rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.25;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -5px);
  transition:
    opacity 130ms ease,
    transform 130ms ease;
}

/*
  The tooltip is limited to Field View. Modern Chrome and Safari
  support :has(), and both are used for Boring Bets testing.
*/
#ballparkConsole:has(#fieldViewButton.active)
  #ballparkStage:hover::before,
#ballparkConsole:has(#fieldViewButton.active)
  #ballparkStage:focus-within::before {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* END BORING BETS: GEOMETRY STATUS HOVER CSS V1 */

/* BORING BETS: FIELD CONTROL DOCK AND SCORE BAR CSS V1 */

.hud-controls-relocated > .hud-toolbar {
  display: none !important;
}

.field-hud-control-dock {
  position: absolute;
  z-index: 45;
  left: calc(50% + 42px);
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: calc(50% - 54px);
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, 0.055);
  border-radius: 6px;
  background: rgba(1, 7, 4, 0.62);
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(7px);
}

.field-hud-control-dock .hud-view-controls {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
}

.field-hud-control-dock .hud-view-controls button {
  min-height: 21px;
  padding: 0 6px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: rgba(151, 172, 159, 0.58);
  box-shadow: none;
  font-size: 0.39rem;
  letter-spacing: 0.035em;
  opacity: 0.76;
}

.field-hud-control-dock .hud-view-controls button:hover {
  color: rgba(220, 237, 226, 0.92);
  background: rgba(255, 255, 255, 0.035);
  opacity: 1;
}

.field-hud-control-dock .hud-view-controls button.active,
.field-hud-control-dock .hud-view-controls #autoViewButton[aria-pressed="true"] {
  background: rgba(72, 255, 147, 0.055);
  color: rgba(126, 232, 164, 0.82);
  box-shadow: inset 0 0 0 1px rgba(72, 255, 147, 0.12);
  opacity: 1;
}

.field-hud-control-dock .hud-statuses {
  display: inline-flex;
  min-width: 14px;
  padding: 0 3px;
  justify-content: center;
  gap: 0;
}

.field-hud-control-dock .hud-feed-signal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.field-hud-control-dock .green-dot {
  width: 6px;
  height: 6px;
}

.game-stage-column.has-score-banner-box-score {
  grid-template-rows: auto auto minmax(0, 1fr);
}

.score-banner-box-score {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
  min-height: 62px;
  border-radius: 9px;
  overflow: hidden;
}

.score-banner-box-score-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 6px 8px;
  border-right: 1px solid var(--live-border);
  background: rgba(255, 255, 255, 0.012);
}

.score-banner-box-score-heading span,
.score-banner-box-score-heading small {
  color: rgba(105, 130, 115, 0.72);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.38rem;
  font-weight: 900;
  letter-spacing: 0.07em;
}

.score-banner-box-score-heading #boxScoreStatus {
  color: rgba(164, 195, 176, 0.78);
  font-size: 0.4rem;
  letter-spacing: 0.025em;
}

.score-banner-box-score .full-box-score-wrap {
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.score-banner-box-score .full-box-score {
  width: 100%;
  min-width: 590px;
}

.score-banner-box-score .full-box-score th,
.score-banner-box-score .full-box-score td {
  height: 21px;
  padding: 2px 5px;
}

.score-banner-box-score .full-box-score thead th {
  height: 18px;
  font-size: 0.38rem;
}

.score-banner-box-score .full-box-score tbody td {
  font-size: 0.48rem;
}

.score-banner-box-score .full-box-score th:first-child,
.score-banner-box-score .full-box-score td:first-child {
  min-width: 72px;
}

.score-banner-box-score .full-box-score td:first-child img {
  width: 17px;
  height: 17px;
}

.score-banner-box-score .full-box-score .totals-cell {
  font-size: 0.5rem;
}

.score-banner-box-score .full-box-score .run-total {
  font-size: 0.6rem;
}

.box-score-relocated-source {
  display: none !important;
}

@media (max-width: 820px) {
  .field-hud-control-dock {
    left: auto;
    right: 8px;
    bottom: 7px;
    max-width: calc(100% - 16px);
  }

  .score-banner-box-score {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .score-banner-box-score-heading {
    padding: 5px;
  }
}

@media (max-width: 560px) {
  .field-hud-control-dock .hud-view-controls button {
    padding: 0 4px;
    font-size: 0.34rem;
  }

  .score-banner-box-score {
    min-height: 56px;
  }
}

/* END BORING BETS: FIELD CONTROL DOCK AND SCORE BAR CSS V1 */

/* BORING BETS: SCORE BAR FLOW AND ODDS CSS V2 */

/*
  The bar under the main score is now split evenly:
  left half = compact official box score
  right half = compact Flow of Game and Odds Center
*/
.score-banner-box-score.score-banner-combined-strip {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  align-items: stretch;
  min-height: 112px;
  overflow: hidden;
}

.score-banner-box-half {
  display: grid;
  grid-template-columns:
    52px
    minmax(0, 1fr);
  min-width: 0;
  border-right:
    1px solid
    var(--live-border);
}

.score-banner-box-half
  .score-banner-box-score-heading {
  padding: 5px 6px;
}

.score-banner-box-half
  .score-banner-box-score-heading span,
.score-banner-box-half
  .score-banner-box-score-heading small {
  font-size: 0.33rem;
}

.score-banner-box-half
  .full-box-score-wrap {
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
}

.score-banner-box-half
  .full-box-score {
  width: 100%;
  min-width: 455px;
}

.score-banner-box-half
  .full-box-score th,
.score-banner-box-half
  .full-box-score td {
  height: 17px;
  padding: 1px 3px;
}

.score-banner-box-half
  .full-box-score thead th {
  height: 15px;
  font-size: 0.31rem;
}

.score-banner-box-half
  .full-box-score tbody td {
  font-size: 0.39rem;
}

.score-banner-box-half
  .full-box-score th:first-child,
.score-banner-box-half
  .full-box-score td:first-child {
  min-width: 54px;
}

.score-banner-box-half
  .full-box-score td:first-child span {
  gap: 4px;
}

.score-banner-box-half
  .full-box-score td:first-child img {
  width: 13px;
  height: 13px;
}

.score-banner-box-half
  .full-box-score .totals-cell {
  font-size: 0.4rem;
}

.score-banner-box-half
  .full-box-score .run-total {
  font-size: 0.48rem;
}

/*
  The right half is split between the existing Flow and Odds modules.
  Moving the actual nodes keeps their current render IDs and updates.
*/
.score-banner-insight-half {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
}

.score-banner-insight-half
  .lower-module {
  min-width: 0;
  padding: 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.score-banner-insight-half
  .score-strip-flow-module {
  border-right:
    1px solid
    var(--live-border);
}

.score-banner-insight-half
  .lower-module-heading {
  align-items: center;
  gap: 6px;
  margin: 0 0 4px;
  padding: 0 0 4px;
}

.score-banner-insight-half
  .lower-module-heading span {
  font-size: 0.34rem;
}

.score-banner-insight-half
  .lower-module-heading strong {
  margin-top: 1px;
  font-size: 0.45rem;
}

.score-banner-insight-half
  .lower-module-heading small {
  font-size: 0.3rem;
}

/* Compact Flow of Game: graph, win probability/control and meter. */
.score-banner-insight-half
  .flow-chart-wrap,
.score-banner-insight-half
  .flow-chart {
  min-height: 58px;
  height: 58px;
}

.score-banner-insight-half
  .flow-chart-wrap {
  border-radius: 5px;
}

.score-banner-insight-half
  .flow-current-readout {
  top: 3px;
  right: 3px;
  max-width: 96px;
  padding: 3px 4px;
  border-radius: 4px;
}

.score-banner-insight-half
  .flow-current-readout span,
.score-banner-insight-half
  .flow-current-readout small {
  font-size: 0.28rem;
}

.score-banner-insight-half
  .flow-current-readout strong {
  margin: 1px 0;
  font-size: 0.38rem;
}

.score-banner-insight-half
  .deserve-meter-block {
  margin-top: 3px;
  padding: 3px 4px;
  border-radius: 4px;
}

.score-banner-insight-half
  .deserve-heading span,
.score-banner-insight-half
  .deserve-heading small,
.score-banner-insight-half
  .deserve-team-labels {
  font-size: 0.29rem;
}

.score-banner-insight-half
  .deserve-team-labels {
  margin: 2px 0;
}

.score-banner-insight-half
  .deserve-meter {
  height: 4px;
}

.score-banner-insight-half
  .deserve-meter b {
  top: -2px;
  height: 8px;
  width: 2px;
}

.score-banner-insight-half
  .deserve-meter-block p {
  display: none;
}

/* Compact Odds Center while retaining its main board and market tiles. */
.score-banner-insight-half
  .odds-scoreboard {
  gap: 2px;
}

.score-banner-insight-half
  .odds-scoreboard > div {
  padding: 3px 2px;
  border-radius: 4px;
}

.score-banner-insight-half
  .odds-scoreboard span,
.score-banner-insight-half
  .odds-scoreboard small {
  font-size: 0.27rem;
}

.score-banner-insight-half
  .odds-scoreboard strong {
  margin: 1px 0;
  font-size: 0.42rem;
}

.score-banner-insight-half
  .odds-grid {
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 2px;
  margin-top: 3px;
}

.score-banner-insight-half
  .odds-tile {
  min-width: 0;
  padding: 3px;
  border-radius: 4px;
}

.score-banner-insight-half
  .odds-tile span {
  font-size: 0.27rem;
}

.score-banner-insight-half
  .odds-tile strong {
  margin-top: 1px;
  font-size: 0.37rem;
}

.score-banner-insight-half
  .odds-tile small {
  display: none;
}

/* The movement strip is still available lower in the code, but is too
   large for this temporary compact location. */
.score-banner-insight-half
  .odds-movement {
  display: none;
}

/* Remove empty spacing left after moving Flow and Odds out of the grid. */
.lower-dashboard-grid.score-strip-modules-relocated:empty {
  display: none;
}

@media (max-width: 1180px) {
  .score-banner-box-score.score-banner-combined-strip {
    grid-template-columns:
      minmax(0, 0.92fr)
      minmax(0, 1.08fr);
  }

  .score-banner-box-half {
    grid-template-columns:
      46px
      minmax(0, 1fr);
  }
}

@media (max-width: 820px) {
  .score-banner-box-score.score-banner-combined-strip {
    grid-template-columns: 1fr;
  }

  .score-banner-box-half {
    border-right: 0;
    border-bottom:
      1px solid
      var(--live-border);
  }
}

@media (max-width: 560px) {
  .score-banner-insight-half {
    grid-template-columns: 1fr;
  }

  .score-banner-insight-half
    .score-strip-flow-module {
    border-right: 0;
    border-bottom:
      1px solid
      var(--live-border);
  }
}

/* END BORING BETS: SCORE BAR FLOW AND ODDS CSS V2 */

/* BORING BETS: HIDE BOX SCORE INNING STATUS V1 */

/*
  Remove the small inning-status line inside the box-score header
  (for example: BOTTOM 8TH). The main score banner already shows
  the live inning, so this duplicate status is unnecessary.
*/
#boxScoreStatus {
  display: none !important;
}

/* END BORING BETS: HIDE BOX SCORE INNING STATUS V1 */

/* BORING BETS: REMOVE BOX SCORE LABEL SECTION V1 */

/*
  Remove the entire left-hand box-score label block containing
  "BOX SCORE" and the inning status such as "BOTTOM 8TH".
*/
.score-banner-box-score-heading {
  display: none !important;
}

/* Let the actual inning table use the full box-score area. */
.score-banner-box-half,
.score-banner-box-score:not(.score-banner-combined-strip) {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* END BORING BETS: REMOVE BOX SCORE LABEL SECTION V1 */

/* BORING BETS: HOVER-ONLY FLOW ODDS DESERVE LABELS CSS V2 */

/*
  Remove the visible explanatory headings while preserving the
  same wording as hover help on the relevant live modules.
*/
.hover-label-flow
  .lower-module-heading,
.hover-label-odds
  .lower-module-heading,
.hover-label-deserve
  .deserve-heading {
  display: none !important;
}

.hover-label-module {
  position: relative;
}

/*
  The hidden wording appears only while the user hovers over
  or keyboard-focuses inside the related module.
*/
.hover-label-module::after {
  content: attr(data-hover-label);
  position: absolute;
  z-index: 80;
  top: 5px;
  left: 50%;
  width: max-content;
  max-width: calc(100% - 12px);
  padding: 5px 8px;
  border: 1px solid rgba(44, 247, 232, 0.22);
  border-radius: 6px;
  background: rgba(2, 9, 5, 0.94);
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.38);
  color: rgba(206, 231, 216, 0.9);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: 0.38rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -3px);
  transition:
    opacity 120ms ease,
    transform 120ms ease;
}

.hover-label-module:hover::after,
.hover-label-module:focus-within::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* Remove spacing that belonged only to the deleted headings. */
.hover-label-flow
  .flow-chart-wrap,
.hover-label-odds
  .odds-scoreboard {
  margin-top: 0;
}

.hover-label-deserve {
  margin-top: 3px;
}

/* END BORING BETS: HOVER-ONLY FLOW ODDS DESERVE LABELS CSS V2 */

/* BORING BETS: TIGHT BOX SCORE TEAM COLUMN CSS V2 */

/*
  Force the compact box score to respect an actual narrow team-code
  column. The earlier CSS changed min-width, but the browser was still
  sizing the column from the visible "TEAM" header and auto table layout.
*/
.score-banner-box-score .full-box-score,
.score-banner-box-half .full-box-score {
  table-layout: fixed !important;
}

.score-banner-box-score .full-box-score th:first-child,
.score-banner-box-score .full-box-score td:first-child,
.score-banner-box-half .full-box-score th:first-child,
.score-banner-box-half .full-box-score td:first-child {
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
}

.score-banner-box-score .full-box-score td:first-child span,
.score-banner-box-half .full-box-score td:first-child span {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

.score-banner-box-score .full-box-score td:first-child b,
.score-banner-box-half .full-box-score td:first-child b {
  display: block !important;
  width: 100% !important;
  font-size: 0.36rem !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

.score-banner-box-score .full-box-score th:nth-child(2),
.score-banner-box-score .full-box-score td:nth-child(2),
.score-banner-box-half .full-box-score th:nth-child(2),
.score-banner-box-half .full-box-score td:nth-child(2) {
  padding-left: 0 !important;
}

/* END BORING BETS: TIGHT BOX SCORE TEAM COLUMN CSS V2 */

/* BORING BETS: LOGO-ONLY FITTED BOX SCORE V2 */

/* Force the full box score to fit across the available width. */
.score-banner-box-score .full-box-score,
.score-banner-box-half .full-box-score,
.full-box-score {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

.score-banner-box-score .full-box-score-wrap,
.score-banner-box-half .full-box-score-wrap,
.full-box-score-wrap {
  overflow-x: hidden !important;
}

/* First column: logo only. */
.score-banner-box-score .full-box-score th:first-child,
.score-banner-box-score .full-box-score td:first-child,
.score-banner-box-half .full-box-score th:first-child,
.score-banner-box-half .full-box-score td:first-child,
.full-box-score th:first-child,
.full-box-score td:first-child {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  padding: 0 !important;
  text-align: center !important;
}

.full-box-score th:first-child {
  color: transparent !important;
  font-size: 0 !important;
}

.full-box-score td:first-child span {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  gap: 0 !important;
}

.full-box-score td:first-child b {
  display: none !important;
}

.full-box-score td:first-child img {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* Tight inning, run, hit and error columns. */
.full-box-score th:not(:first-child),
.full-box-score td:not(:first-child) {
  min-width: 0 !important;
  padding-left: 1px !important;
  padding-right: 1px !important;
  white-space: nowrap !important;
}

/* END BORING BETS: LOGO-ONLY FITTED BOX SCORE V2 */

/* BORING BETS: FLOW LINE ONLY V1 */

/*
  Keep only the live control/win-probability line.
  Remove axes, values, grid, fill, midpoint, marker and readout.
*/
.flow-grid-lines,
.flow-midline,
.flow-area,
.flow-axis-labels,
.flow-marker,
.flow-current-readout {
  display: none !important;
}

/* Remove the chart panel shading and frame. */
.flow-chart-wrap {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Preserve the live line itself. */
.flow-line {
  display: block !important;
  fill: none !important;
}

/* END BORING BETS: FLOW LINE ONLY V1 */

/* BORING BETS: FLOW LINE NO MARGINS V1 */

/*
  Remove all extra spacing around the control graph line.
*/
.flow-chart-wrap,
.flow-chart {
  margin: 0 !important;
  padding: 0 !important;
}

.score-strip-flow-module,
.score-strip-flow-module .flow-chart-wrap,
.score-strip-flow-module .flow-chart {
  margin: 0 !important;
}

/* END BORING BETS: FLOW LINE NO MARGINS V1 */

/* BORING BETS: FULL BOX CONTROL LINE CSS V1 */

/*
  Let the SVG occupy every available pixel in the control-line section.
  The Deserve-to-Win meter beneath it is not changed.
*/
.score-strip-flow-module
  .flow-chart-wrap {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

.score-strip-flow-module
  .flow-chart {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.score-strip-flow-module
  .flow-line {
  vector-effect: non-scaling-stroke;
  stroke-width: 4px !important;
}

/* END BORING BETS: FULL BOX CONTROL LINE CSS V1 */

/* BORING BETS: FULL FLOW BOX WITH DESERVE METER CSS V2 */

/*
  The control line and Deserve-to-Win meter form one complete box.
  The line fills all remaining space above the meter.
*/
.score-strip-flow-module {
  display: grid !important;
  grid-template-rows:
    minmax(0, 1fr)
    25px !important;
  gap: 0 !important;

  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

/* Remove any hidden heading from the layout entirely. */
.score-strip-flow-module
  .lower-module-heading {
  display: none !important;
}

/* The control line fills the entire upper portion. */
.score-strip-flow-module
  .flow-chart-wrap {
  grid-row: 1;

  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  overflow: hidden !important;
}

.score-strip-flow-module
  .flow-chart {
  display: block !important;

  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.score-strip-flow-module
  .flow-line {
  display: block !important;
  fill: none !important;
  stroke-width: 3px !important;
  vector-effect: non-scaling-stroke;
}

/* Keep all graph decorations removed. */
.score-strip-flow-module
  .flow-grid-lines,
.score-strip-flow-module
  .flow-midline,
.score-strip-flow-module
  .flow-area,
.score-strip-flow-module
  .flow-axis-labels,
.score-strip-flow-module
  .flow-marker,
.score-strip-flow-module
  .flow-current-readout {
  display: none !important;
}

/*
  The Deserve-to-Win meter occupies the complete bottom edge
  of the same box.
*/
.score-strip-flow-module
  .deserve-meter-block {
  grid-row: 2;

  display: grid !important;
  grid-template-rows:
    10px
    8px !important;
  align-content: center !important;
  gap: 1px !important;

  width: 100% !important;
  height: 25px !important;
  min-height: 25px !important;
  max-height: 25px !important;

  box-sizing: border-box !important;

  margin: 0 !important;
  padding: 2px 5px 3px !important;

  border: 0 !important;
  border-top:
    1px solid rgba(44, 247, 232, 0.16)
    !important;

  border-radius: 0 !important;
  background: transparent !important;

  overflow: hidden !important;
}

.score-strip-flow-module
  .deserve-heading,
.score-strip-flow-module
  .deserve-meter-block p {
  display: none !important;
}

.score-strip-flow-module
  .deserve-team-labels {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  height: 10px !important;
  margin: 0 !important;

  font-size: 0.32rem !important;
  line-height: 10px !important;
}

.score-strip-flow-module
  .deserve-meter {
  width: 100% !important;
  height: 8px !important;

  margin: 0 !important;
  padding: 0 !important;
}

.score-strip-flow-module
  .deserve-meter b {
  top: -2px !important;
  height: 12px !important;
}

/* END BORING BETS: FULL FLOW BOX WITH DESERVE METER CSS V2 */

/* BORING BETS: EXACT BOX SCORE STRIP HEIGHT CSS V3 */

/*
  The actual rendered box-score table determines the exact height.
  This removes both the space above and the space below it.
*/
.score-banner-box-score.score-banner-combined-strip {
  min-height: 0 !important;

  height:
    var(
      --bb-exact-score-strip-height
    ) !important;

  max-height:
    var(
      --bb-exact-score-strip-height
    ) !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: stretch !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Box score has no container spacing at all. */
.score-banner-box-half {
  display: block !important;

  min-height: 0 !important;

  height:
    var(
      --bb-exact-score-strip-height
    ) !important;

  max-height:
    var(
      --bb-exact-score-strip-height
    ) !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}

.score-banner-box-half
  .full-box-score-wrap {
  display: block !important;

  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

.score-banner-box-half
  .full-box-score {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  border-spacing: 0 !important;
  border-collapse: collapse !important;
}

/* Never stretch the inning heading or team rows. */
.score-banner-box-half
  .full-box-score thead,
.score-banner-box-half
  .full-box-score tbody,
.score-banner-box-half
  .full-box-score tr,
.score-banner-box-half
  .full-box-score th,
.score-banner-box-half
  .full-box-score td {
  height: auto !important;
  min-height: 0 !important;
}

.score-banner-box-half
  .full-box-score th,
.score-banner-box-half
  .full-box-score td {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  vertical-align: middle !important;
}

/*
  The graph and Markets match the measured table height.
  Neither one can make the shared strip taller.
*/
.score-banner-insight-half,
.score-strip-flow-module,
.persistent-test-market-module-v3,
.persistent-market-stack-v3 {
  min-height: 0 !important;

  height:
    var(
      --bb-exact-score-strip-height
    ) !important;

  max-height:
    var(
      --bb-exact-score-strip-height
    ) !important;

  margin-top: 0 !important;
  margin-bottom: 0 !important;

  align-self: stretch !important;
  box-sizing: border-box !important;
}

.score-banner-insight-half {
  align-items: stretch !important;
  overflow: visible !important;
}

/* Keep the market overlay independent from the shared strip. */
.persistent-market-panel-v3 {
  position: fixed !important;
}

/* END BORING BETS: EXACT BOX SCORE STRIP HEIGHT CSS V3 */

/* BORING BETS: READABLE BOX SCORE NUMBERS V1 */

/* Inning-number headings. */
.score-banner-box-half
  .full-box-score th:not(:first-child) {
  font-size: 0.43rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  font-variant-numeric: tabular-nums !important;
}

/* Runs by inning and final R/H/E values. */
.score-banner-box-half
  .full-box-score td:not(:first-child) {
  font-size: 0.56rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  font-variant-numeric: tabular-nums !important;
}

/* Make the R, H and E totals slightly stronger. */
.score-banner-box-half
  .full-box-score th:nth-last-child(-n + 3),
.score-banner-box-half
  .full-box-score td:nth-last-child(-n + 3) {
  font-size: 0.59rem !important;
  font-weight: 900 !important;
}

/* Preserve the compact natural row height. */
.score-banner-box-half
  .full-box-score th,
.score-banner-box-half
  .full-box-score td {
  padding-top: 1px !important;
  padding-bottom: 1px !important;
}

/* END BORING BETS: READABLE BOX SCORE NUMBERS V1 */

/* BORING BETS: CYCLING HEADER MODES CSS V6 */

/*
  One active header above the Field/Plate console:
  Mode 1 = matchup and score.
  Mode 2 = box score, control graph, and Markets.
*/
.game-stage-column.header-mode-carousel-v6,
.game-stage-column.header-mode-carousel-v6.has-score-banner-box-score {
  grid-template-rows:
    auto
    minmax(0, 1fr)
    !important;
}

.live-header-mode-shell-v6 {
  --bb-active-header-height: 92px;

  display: grid !important;

  grid-template-columns:
    minmax(0, 1fr)
    30px !important;

  gap: 4px !important;

  width: 100% !important;
  height:
    var(--bb-active-header-height)
    !important;

  min-width: 0 !important;
  min-height: 0 !important;

  transition:
    height 170ms ease !important;
}

.live-header-mode-viewport-v6 {
  position: relative !important;

  width: 100% !important;
  height: 100% !important;

  min-width: 0 !important;
  min-height: 0 !important;

  overflow: visible !important;
}

.live-header-mode-panel-v6 {
  position: absolute !important;

  top: 0 !important;
  right: 0 !important;
  left: 0 !important;

  width: 100% !important;

  margin: 0 !important;

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  transform:
    translateY(-2px);

  transition:
    opacity 130ms ease,
    transform 130ms ease,
    visibility 0s linear 130ms
    !important;
}

.live-header-mode-panel-v6.is-active-header-mode-v6 {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  transform:
    translateY(0);

  transition-delay:
    0s !important;
}

/* Side button that cycles the header modes. */
.live-header-mode-cycle-v6 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  width: 30px !important;
  height: 100% !important;

  min-width: 30px !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  border:
    1px solid
    var(--live-border)
    !important;

  border-radius:
    6px !important;

  background:
    rgba(2, 10, 6, 0.94)
    !important;

  color:
    var(--live-muted)
    !important;

  cursor: pointer !important;
}

.live-header-mode-cycle-v6:hover,
.live-header-mode-cycle-v6:focus-visible {
  border-color:
    var(--live-border-strong)
    !important;

  color:
    var(--live-green)
    !important;

  background:
    rgba(72, 255, 147, 0.055)
    !important;
}

.live-header-mode-cycle-v6 span {
  font-size: 1rem !important;
  line-height: 1 !important;
}

.live-header-mode-cycle-v6 small {
  margin-top: 4px !important;

  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace !important;

  font-size: 0.29rem !important;
  font-weight: 900 !important;
}

/* The original matchup header remains Mode 1. */
.live-header-team-panel-v6 {
  min-height: 78px !important;
}

/* The three compact data modules occupy all of Mode 2. */
.live-header-data-panel-v6 {
  min-width: 0 !important;

  border-radius:
    8px !important;

  overflow: hidden !important;

  background:
    rgba(2, 10, 6, 0.96)
    !important;
}

.live-header-data-panel-v6
  .score-banner-insight-half {
  grid-template-columns:
    minmax(0, 1fr)
    96px !important;

  align-items: stretch !important;
}

/* Compact four-button market module. */
.header-market-module-v6 {
  position: relative !important;

  display: block !important;

  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;

  height: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

.header-market-module-v6
  > :not(.header-market-stack-v6) {
  display: none !important;
}

.header-market-stack-v6 {
  display: grid !important;

  grid-template-rows:
    repeat(
      4,
      minmax(0, 1fr)
    ) !important;

  width: 100% !important;
  height: 100% !important;

  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

.header-market-display-v6,
.header-market-expand-v6 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 1px 2px !important;

  border: 0 !important;
  border-bottom:
    1px solid
    var(--live-border)
    !important;

  border-radius: 0 !important;

  background:
    rgba(255, 255, 255, 0.015)
    !important;

  color:
    var(--live-text)
    !important;

  text-align: center !important;
}

.header-market-display-v6 {
  pointer-events: none !important;
}

.header-market-display-v6 span {
  color:
    var(--live-muted)
    !important;

  font-size: 0.28rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.header-market-display-v6 strong {
  margin-top: 2px !important;

  font-size: 0.48rem !important;
  line-height: 1 !important;
}

.header-market-expand-v6 {
  flex-direction: row !important;
  gap: 4px !important;

  border-bottom: 0 !important;

  color:
    var(--live-muted)
    !important;

  cursor: pointer !important;
}

.header-market-expand-v6 span {
  font-size: 0.3rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.035em !important;
}

.header-market-expand-v6 b {
  font-size: 0.48rem !important;
  line-height: 1 !important;

  transition:
    transform 140ms ease !important;
}

.header-market-expand-v6:hover,
.header-market-expand-v6:focus-visible {
  color:
    var(--live-green)
    !important;
}

.header-market-open-v6
  .header-market-expand-v6 b {
  transform:
    rotate(180deg);
}

/*
  Expanded Markets remains beneath the Field/Plate view.
  It reduces the active view height rather than floating
  over the field.
*/
.ballpark-stage.has-header-market-panel-v6 {
  --bb-header-market-panel-height:
    138px;

  position: relative !important;
  overflow: hidden !important;
}

.ballpark-stage.header-market-expanded-v6
  .hud-view {
  bottom:
    var(
      --bb-header-market-panel-height
    ) !important;

  height: auto !important;

  transition:
    bottom 180ms ease !important;
}

.ballpark-stage.header-market-expanded-v6
  .field-hud-control-dock {
  bottom:
    calc(
      var(
        --bb-header-market-panel-height
      )
      + 8px
    ) !important;
}

.header-expanded-market-panel-v6 {
  position: absolute !important;
  z-index: 45 !important;

  right: 8px !important;
  bottom: 0 !important;
  left: 8px !important;

  height:
    var(
      --bb-header-market-panel-height
    ) !important;

  box-sizing: border-box !important;

  padding: 7px 8px 8px !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;

  border:
    1px solid
    rgba(72, 255, 147, 0.18)
    !important;

  border-bottom: 0 !important;

  border-radius:
    7px 7px 0 0
    !important;

  background:
    rgba(2, 10, 6, 0.99)
    !important;

  box-shadow:
    0 -10px 30px
    rgba(0, 0, 0, 0.48)
    !important;
}

.header-expanded-market-panel-v6[hidden] {
  display: none !important;
}

.header-market-panel-heading-v6 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  margin-bottom: 6px !important;
}

.header-market-panel-heading-v6 strong {
  color:
    var(--live-green)
    !important;

  font-size: 0.38rem !important;
  letter-spacing: 0.075em !important;
}

.header-market-panel-heading-v6 small {
  color:
    var(--live-muted)
    !important;

  font-size: 0.28rem !important;
}

.header-market-grid-v6 {
  display: grid !important;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    ) !important;

  gap: 5px !important;
}

.header-market-grid-v6 > div {
  min-width: 0 !important;

  padding: 5px 6px !important;

  border:
    1px solid
    rgba(255, 255, 255, 0.055)
    !important;

  border-radius: 5px !important;

  background:
    rgba(255, 255, 255, 0.018)
    !important;
}

.header-market-grid-v6 span,
.header-market-grid-v6 strong,
.header-market-grid-v6 small {
  display: block !important;
}

.header-market-grid-v6 span {
  color:
    var(--live-muted)
    !important;

  font-size: 0.3rem !important;
}

.header-market-grid-v6 strong {
  margin-top: 2px !important;
  font-size: 0.43rem !important;
}

.header-market-grid-v6 small {
  margin-top: 2px !important;

  color:
    rgba(110, 139, 121, 0.82)
    !important;

  font-size: 0.27rem !important;
}

@media (max-width: 900px) {
  .ballpark-stage.has-header-market-panel-v6 {
    --bb-header-market-panel-height:
      190px;
  }

  .header-market-grid-v6 {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      ) !important;
  }
}

/* END BORING BETS: CYCLING HEADER MODES CSS V6 */

/* BORING BETS: INTEGRATED HEADER SWITCH V2 */

/*
  The mode switch is now physically inside the header frame.
  The final 30 pixels belong exclusively to the switch.
*/
.live-header-mode-shell-v6 {
  position: relative !important;

  display: block !important;

  grid-template-columns: none !important;
  gap: 0 !important;

  box-sizing: border-box !important;

  padding: 0 !important;

  border:
    1px solid
    var(--live-border)
    !important;

  border-radius: 8px !important;

  background:
    rgba(2, 10, 6, 0.94)
    !important;

  overflow: hidden !important;
}

/*
  The header viewport fills the shell, but each mode ends before
  the integrated switch strip.
*/
.live-header-mode-viewport-v6 {
  position: relative !important;

  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;

  min-width: 0 !important;

  overflow: hidden !important;
}

.live-header-mode-panel-v6 {
  left: 0 !important;
  right: 30px !important;

  width: auto !important;
  max-width: none !important;

  box-sizing: border-box !important;

  border: 0 !important;
  border-radius: 0 !important;

  overflow: hidden !important;
}

/* Remove duplicate borders from the two panels. */
.live-header-team-panel-v6.team-marquee,
.live-header-data-panel-v6 {
  box-sizing: border-box !important;

  width: auto !important;
  max-width: none !important;

  border: 0 !important;
  border-radius: 0 !important;

  overflow: hidden !important;
}

/*
  The switch occupies the right edge of the same header instead
  of sitting in a separate grid column.
*/
.live-header-mode-cycle-v6 {
  position: absolute !important;
  z-index: 20 !important;

  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;

  height: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;

  border-left:
    1px solid
    var(--live-border)
    !important;

  border-radius: 0 !important;

  background:
    rgba(4, 15, 9, 0.97)
    !important;

  box-shadow:
    inset 1px 0
    rgba(255, 255, 255, 0.018)
    !important;
}

.live-header-mode-cycle-v6:hover,
.live-header-mode-cycle-v6:focus-visible {
  border-left-color:
    var(--live-border-strong)
    !important;

  background:
    rgba(72, 255, 147, 0.07)
    !important;
}

/* Keep the home side fully inside its allotted header space. */
.live-header-team-panel-v6
  .marquee-team.home {
  min-width: 0 !important;
  max-width: 100% !important;

  padding-right: 2px !important;

  overflow: hidden !important;
}

.live-header-team-panel-v6
  .marquee-team.home > div {
  min-width: 0 !important;
  overflow: hidden !important;
}

.live-header-team-panel-v6
  .marquee-team.home img,
.live-header-team-panel-v6
  .marquee-team.home b {
  flex-shrink: 0 !important;
}

/* END BORING BETS: INTEGRATED HEADER SWITCH V2 */

/* BORING BETS: FIXED FITTED CYCLING HEADER V3 */

/*
  Both header modes occupy one exact 78-pixel frame.
  This overrides the JavaScript-measured wrapper height that
  was leaving blank space below the visible header.
*/
.live-header-mode-shell-v6 {
  --bb-active-header-height: 78px !important;

  box-sizing: border-box !important;

  width: 100% !important;

  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

.live-header-mode-viewport-v6 {
  box-sizing: border-box !important;

  width: 100% !important;
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

/*
  Every mode fills the entire frame vertically and ends before
  the integrated 30-pixel switch area.
*/
.live-header-mode-panel-v6 {
  top: 0 !important;
  right: 30px !important;
  bottom: 0 !important;
  left: 0 !important;

  box-sizing: border-box !important;

  width: auto !important;

  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  margin: 0 !important;

  overflow: hidden !important;
}

/* Main matchup header. */
.live-header-team-panel-v6.team-marquee {
  display: grid !important;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(138px, 0.48fr)
    minmax(0, 1fr)
    !important;

  align-items: center !important;

  box-sizing: border-box !important;

  width: auto !important;

  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  margin: 0 !important;
  padding: 4px 8px !important;

  border: 0 !important;
  border-radius: 0 !important;

  overflow: hidden !important;
}

/* Keep both team sections inside their assigned grid columns. */
.live-header-team-panel-v6
  .marquee-team {
  display: flex !important;
  align-items: center !important;

  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;

  gap: 6px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

.live-header-team-panel-v6
  .marquee-team.home {
  justify-content: flex-end !important;

  padding-right: 4px !important;
}

/* Uniform compact logo frames. */
.live-header-team-panel-v6
  .marquee-team img {
  flex:
    0 0 40px !important;

  box-sizing: border-box !important;

  width: 40px !important;
  height: 40px !important;

  min-width: 40px !important;
  max-width: 40px !important;

  min-height: 40px !important;
  max-height: 40px !important;

  padding: 2px !important;

  object-fit: contain !important;
  object-position: center !important;

  overflow: hidden !important;
}

/* Team copy may shrink instead of pushing the logo outward. */
.live-header-team-panel-v6
  .marquee-team > div {
  flex:
    1 1 auto !important;

  min-width: 0 !important;
  max-width: 100% !important;

  overflow: hidden !important;
}

.live-header-team-panel-v6
  .marquee-team span {
  font-size: 0.42rem !important;
  line-height: 1 !important;
  letter-spacing: 0.055em !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.live-header-team-panel-v6
  .marquee-team strong {
  display: block !important;

  max-width: 100% !important;

  margin-top: 2px !important;

  font-size:
    clamp(
      0.63rem,
      0.71vw,
      0.78rem
    ) !important;

  line-height: 1.05 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Scores stay prominent but no longer crowd the team logos. */
.live-header-team-panel-v6
  .marquee-team b {
  flex:
    0 0 auto !important;

  font-size: 1.32rem !important;
  line-height: 1 !important;

  white-space: nowrap !important;
}

/* Compact center game-state block. */
.live-header-team-panel-v6
  .marquee-center {
  min-width: 0 !important;
  max-width: 100% !important;

  padding: 0 3px !important;

  overflow: hidden !important;
}

.live-header-team-panel-v6
  .live-state-row {
  gap: 4px !important;

  font-size: 0.51rem !important;
  line-height: 1 !important;

  white-space: nowrap !important;
}

.live-header-team-panel-v6
  .live-pill {
  padding: 3px 5px !important;
}

.live-header-team-panel-v6
  .marquee-center > span {
  margin-top: 3px !important;

  font-size: 0.54rem !important;
  line-height: 1 !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.live-header-team-panel-v6
  .marquee-center small {
  margin-top: 3px !important;

  font-size: 0.4rem !important;
  line-height: 1 !important;

  white-space: nowrap !important;
}

/* Switch is contained in the same exact 78-pixel frame. */
.live-header-mode-cycle-v6 {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  box-sizing: border-box !important;

  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;

  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  margin: 0 !important;
}

/*
  Header Mode 2 also fills the same frame instead of changing
  the wrapper height.
*/
.live-header-data-panel-v6.score-banner-box-score.score-banner-combined-strip {
  box-sizing: border-box !important;

  width: auto !important;

  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

.live-header-data-panel-v6
  .score-banner-box-half,
.live-header-data-panel-v6
  .score-banner-insight-half,
.live-header-data-panel-v6
  .score-strip-flow-module,
.live-header-data-panel-v6
  .header-market-module-v6,
.live-header-data-panel-v6
  .header-market-stack-v6 {
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  margin-top: 0 !important;
  margin-bottom: 0 !important;

  box-sizing: border-box !important;
}

/* Prevent the glow layers from affecting the measured header area. */
.live-header-team-panel-v6.team-marquee::before,
.live-header-team-panel-v6.team-marquee::after {
  top: 0 !important;
  bottom: auto !important;

  height: 78px !important;
  max-height: 78px !important;

  overflow: hidden !important;
}

/* END BORING BETS: FIXED FITTED CYCLING HEADER V3 */

/* BORING BETS: DOM RUN SCORE MODULE CSS V8 */

/*
  Header Mode 2:
  inning box score | game score | control graph | Markets.
*/
.score-banner-box-score.score-banner-combined-strip.has-run-score-module-v8 {
  display: grid !important;

  grid-template-columns:
    minmax(0, 1.5fr)
    68px
    minmax(0, 1fr)
    !important;

  align-items: stretch !important;

  box-sizing: border-box !important;

  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  overflow: hidden !important;
}

/*
  The R heading and both R values are removed from the
  inning table. H and E remain.
*/
.full-box-score
  .bb-hidden-run-column-v8 {
  display: none !important;
}

/* New second module. */
.header-run-score-module-v8 {
  display: grid !important;

  grid-template-rows:
    minmax(0, 1fr)
    minmax(0, 1fr)
    !important;

  box-sizing: border-box !important;

  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;

  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  margin: 0 !important;
  padding: 0 !important;

  border-right:
    1px solid
    var(--live-border)
    !important;

  border-left:
    1px solid
    var(--live-border)
    !important;

  background:
    rgba(255, 255, 255, 0.014)
    !important;

  overflow: hidden !important;
}

.header-run-score-row-v8 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  min-width: 0 !important;
  min-height: 0 !important;

  padding: 2px 3px !important;

  text-align: center !important;
}

.header-run-score-row-v8.away {
  border-bottom:
    1px solid
    var(--live-border)
    !important;
}

.header-run-score-row-v8 span {
  display: block !important;

  width: 100% !important;

  color:
    var(--live-muted)
    !important;

  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace !important;

  font-size: 0.3rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0.035em !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.header-run-score-row-v8 strong {
  display: block !important;

  margin-top: 2px !important;

  color:
    var(--live-text)
    !important;

  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace !important;

  font-size: 1.05rem !important;
  font-weight: 900 !important;
  line-height: 0.9 !important;

  font-variant-numeric:
    tabular-nums !important;
}

/*
  The existing insight half remains the third and fourth
  visual modules: graph and four market buttons.
*/
.has-run-score-module-v8
  .score-banner-insight-half {
  display: grid !important;

  grid-template-columns:
    minmax(0, 1fr)
    96px
    !important;

  min-width: 0 !important;

  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;

  overflow: hidden !important;
}

.has-run-score-module-v8
  .score-banner-box-half,
.has-run-score-module-v8
  .score-strip-flow-module,
.has-run-score-module-v8
  .header-market-module-v6,
.has-run-score-module-v8
  .header-market-stack-v6 {
  box-sizing: border-box !important;

  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;
}

/*
  Give the remaining inning, H and E columns the space
  previously used by R.
*/
.has-run-score-module-v8
  .full-box-score
  th:not(:first-child),
.has-run-score-module-v8
  .full-box-score
  td:not(:first-child) {
  min-width: 0 !important;

  padding-right: 2px !important;
  padding-left: 2px !important;
}

/* END BORING BETS: DOM RUN SCORE MODULE CSS V8 */

/* BORING BETS: TOP EXPANDING MARKET PANEL V1 */

/*
  Expanded Markets occupies the top of the Field/Plate area.
  The complete HUD view begins underneath the market panel.
*/
.ballpark-stage.header-market-expanded-v6
  .hud-view {
  top:
    var(
      --bb-header-market-panel-height
    ) !important;

  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;

  height: auto !important;

  transition:
    top 180ms ease !important;
}

/*
  Override the earlier bottom-expansion behavior.
  The panel is now attached to the top of the ballpark stage.
*/
.header-expanded-market-panel-v6 {
  top: 0 !important;
  right: 8px !important;
  bottom: auto !important;
  left: 8px !important;

  border:
    1px solid
    rgba(72, 255, 147, 0.18)
    !important;

  border-top: 0 !important;

  border-radius:
    0 0 7px 7px
    !important;

  box-shadow:
    0 10px 30px
    rgba(0, 0, 0, 0.48)
    !important;
}

/*
  The Field/Plate control dock stays at the bottom of the
  shortened view rather than moving above an old bottom panel.
*/
.ballpark-stage.header-market-expanded-v6
  .field-hud-control-dock {
  bottom: 8px !important;
}

/*
  Explicitly restore the normal full-stage position while the
  market panel is closed.
*/
.ballpark-stage:not(.header-market-expanded-v6)
  .hud-view {
  top: 0 !important;
}

/* END BORING BETS: TOP EXPANDING MARKET PANEL V1 */

/* BORING BETS: LIVE CAPPING SIGNALS V1 */

.field-intelligence-stack
.intelligence-alert {
  min-width: 0;
}

.field-intelligence-stack
.intelligence-alert small {
  display: block;
  margin-top: 4px;
  color: #8da99a;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: 0.45rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

.field-intelligence-stack
.intelligence-alert.neutral {
  border-color: var(--live-teal);
  box-shadow:
    0 0 18px
    rgba(44, 247, 232, 0.07);
}

.field-intelligence-stack
.intelligence-alert.negative small {
  color: #d7a1aa;
}

.field-intelligence-stack
.intelligence-alert.warning small {
  color: #d5bd7b;
}

.field-intelligence-stack
.intelligence-alert.positive small {
  color: #91c9a8;
}

/* END BORING BETS: LIVE CAPPING SIGNALS V1 */

/* BORING BETS: CENTER FIELD VIEW CONTROLS V1 */

.field-hud-control-dock {
  left: 50%;
  right: auto;
  bottom: 8px;
  max-width: calc(100% - 16px);
  transform: translateX(-50%);
}

@media (max-width: 820px) {
  .field-hud-control-dock {
    left: 50%;
    right: auto;
    bottom: 7px;
    max-width: calc(100% - 16px);
    transform: translateX(-50%);
  }
}

/* END BORING BETS: CENTER FIELD VIEW CONTROLS V1 */
/* BORING BETS: FIELD MINI PLATE DOCK V1
   Small current-at-bat pitch chart plus its color-mode switch,
   placed directly above the lower-left Pitcher card. */
.bb-field-mini-plate-dock {
  position: absolute;
  left: 12px;
  bottom: 79px;
  z-index: 12;
  display: grid;
  grid-template-columns: 86px auto;
  align-items: end;
  gap: 7px;
  padding: 7px;
  border: 1px solid rgba(44, 247, 232, .2);
  border-radius: 9px;
  background: rgba(2, 9, 6, .88);
  box-shadow:
    0 8px 22px rgba(0, 0, 0, .42),
    0 0 18px rgba(44, 247, 232, .05);
  backdrop-filter: blur(8px);
}

.bb-field-mini-plate-dock .mini-plate-animation,
.bb-field-mini-plate-dock .bb-field-mini-plate-chart {
  display: block;
  width: 86px;
  margin: 0;
  text-align: center;
}

.bb-field-mini-plate-dock .mini-zone {
  width: 62px;
  height: 72px;
  margin: 0 auto;
}

.bb-field-mini-plate-dock .mini-plate-animation small,
.bb-field-mini-plate-dock .bb-field-mini-plate-chart small {
  margin-top: 4px;
  color: #71897b;
  font-size: .4rem;
}

.bb-field-mini-plate-toggle {
  align-self: end;
  min-width: 74px;
  min-height: 28px;
  padding: 5px 7px;
  border: 1px solid rgba(44, 247, 232, .28);
  border-radius: 6px;
  background: rgba(44, 247, 232, .055);
  color: var(--live-teal);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: .43rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .06em;
  cursor: pointer;
}

.bb-field-mini-plate-toggle:hover,
.bb-field-mini-plate-toggle:focus-visible {
  border-color: rgba(44, 247, 232, .58);
  color: #dcfff8;
  outline: none;
  box-shadow: 0 0 16px rgba(44, 247, 232, .12);
}

@media (max-width: 620px) {
  .bb-field-mini-plate-dock {
    left: 9px;
    bottom: 78px;
    grid-template-columns: 72px auto;
    gap: 5px;
    padding: 5px;
  }

  .bb-field-mini-plate-dock .mini-plate-animation,
  .bb-field-mini-plate-dock .bb-field-mini-plate-chart {
    width: 72px;
  }

  .bb-field-mini-plate-dock .mini-zone {
    width: 54px;
    height: 63px;
  }

  .bb-field-mini-plate-toggle {
    min-width: 64px;
    padding: 4px 5px;
    font-size: .38rem;
  }
}

/* BORING BETS: CLEAN CLICKABLE FIELD PITCH CHART V3
   Large pitch chart, no PLATE label, no surrounding box.
   Clicking the chart switches RESULT / TYPE coloring. */

.bb-field-mini-plate-dock {
  width: min(300px, calc(100% - 24px));
  display: grid;
  grid-template-columns: 104px minmax(145px, 1fr);
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.bb-field-mini-plate-dock .mini-plate-animation,
.bb-field-mini-plate-dock .bb-field-mini-plate-chart {
  width: 104px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  outline: none;
}

.bb-field-mini-plate-dock .mini-zone {
  width: 86px;
  height: 96px;
  margin: 0 auto;
}

.bb-field-mini-plate-dock .mini-plate-animation > small,
.bb-field-mini-plate-dock .bb-field-mini-plate-chart > small {
  display: none !important;
}

.bb-field-mini-plate-dock .mini-plate-animation:hover .mini-zone,
.bb-field-mini-plate-dock .mini-plate-animation:focus-visible .mini-zone {
  border-color: rgba(44, 247, 232, .6);
  box-shadow:
    inset 0 0 20px rgba(0, 0, 0, .58),
    0 0 16px rgba(44, 247, 232, .13);
}

.bb-field-mini-plate-toggle,
.bb-field-mini-plate-dock #miniPitchColorToggle {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

.bb-field-pitch-list {
  display: grid;
  gap: 3px;
  min-width: 0;
  max-height: 102px;
  overflow: auto;
  padding-right: 3px;
}

.bb-field-pitch-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: 6px;
  align-items: baseline;
  min-width: 0;
  padding: 2px 0;
}

.bb-field-pitch-row b,
.bb-field-pitch-row strong,
.bb-field-pitch-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bb-field-pitch-row b {
  color: #667e70;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: .36rem;
  font-weight: 900;
}

.bb-field-pitch-row strong {
  color: #d9e9df;
  font-size: .45rem;
}

.bb-field-pitch-row small {
  grid-column: 2;
  color: #7b9284;
  font-size: .34rem;
}

.bb-field-pitch-row.latest strong {
  color: var(--live-teal);
}

.bb-field-pitch-empty {
  color: #71877a;
  font-size: .43rem;
}

@media (max-width: 620px) {
  .bb-field-mini-plate-dock {
    width: min(270px, calc(100% - 18px));
    grid-template-columns: 96px minmax(130px, 1fr);
    gap: 7px;
  }

  .bb-field-mini-plate-dock .mini-plate-animation,
  .bb-field-mini-plate-dock .bb-field-mini-plate-chart {
    width: 96px;
  }

  .bb-field-mini-plate-dock .mini-zone {
    width: 78px;
    height: 88px;
  }

  .bb-field-pitch-list {
    max-height: 94px;
  }
}

/* BORING BETS: FIELD PITCH NAME COLOR SYNC V1
   Each pitch name uses the exact visible color of its pitch dot. */

.bb-field-pitch-row strong {
  color: var(--bb-pitch-color, #d9e9df);
  text-shadow:
    0 0 8px color-mix(
      in srgb,
      var(--bb-pitch-color, #d9e9df) 38%,
      transparent
    );
}

.bb-field-pitch-row.latest strong {
  color: var(
    --bb-pitch-color,
    var(--live-teal)
  );
}

/* BORING BETS: LIVE GAME ARROWS AND SWIPE V1 */
.game-stage-column {
  touch-action: pan-y;
  overscroll-behavior-x: contain;
}
/* END BORING BETS: LIVE GAME ARROWS AND SWIPE V1 */

/* BORING BETS: COMPACT FIELD PITCH LEGEND V1
   Removes Pitch 1 / Pitch 2 / Pitch 3 labels and
   places pitch names close to the strike-zone grid. */

.bb-field-mini-plate-dock {
  grid-template-columns: 104px minmax(0, 1fr);
  column-gap: 2px;
}

.bb-field-pitch-row {
  grid-template-columns: minmax(0, 1fr);
  column-gap: 0;
}

.bb-field-pitch-row strong {
  grid-column: 1;
}

.bb-field-pitch-row small {
  grid-column: 1;
}

@media (max-width: 620px) {
  .bb-field-mini-plate-dock {
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: 2px;
  }
}
/* END BORING BETS: COMPACT FIELD PITCH LEGEND V1 */

/* BORING BETS: SHARED LIVE PITCH COLORS V1
   Event-log pitch names reuse the exact pitch-type
   color class and --pitch-dot-color used by the grid. */

.live-event-pitch-row[class*="pitch-type-"] {
  --event-pitch-color:
    var(--pitch-dot-color, #b1bcb5);
}

.live-event-pitch-row[class*="pitch-type-"]
  > span:first-of-type
  > strong {
  color: var(--event-pitch-color);
  text-shadow:
    0 0 8px color-mix(
      in srgb,
      var(--event-pitch-color) 34%,
      transparent
    );
}

.live-event-pitch-row[class*="pitch-type-"] > b {
  color: color-mix(
    in srgb,
    var(--event-pitch-color) 72%,
    #d9e9df
  );
  border-color: color-mix(
    in srgb,
    var(--event-pitch-color) 36%,
    transparent
  );
}

/* END BORING BETS: SHARED LIVE PITCH COLORS V1 */

/* BORING BETS: DISTINCT SITEWIDE PITCH COLORS V8.7 */

.pitch-type-four-seam {
  --pitch-dot-color: #59f2ff;
}

.pitch-type-two-seam {
  --pitch-dot-color: #2dd4bf;
}

.pitch-type-sinker {
  --pitch-dot-color: #4f83ff;
}

.pitch-type-cutter {
  --pitch-dot-color: #ff6a55;
}

.pitch-type-slider {
  --pitch-dot-color: #a855f7;
}

.pitch-type-sweeper {
  --pitch-dot-color: #ff4fd8;
}

.pitch-type-slurve {
  --pitch-dot-color: #d946ef;
}

.pitch-type-curveball {
  --pitch-dot-color: #ffb84d;
}

.pitch-type-knuckle-curve {
  --pitch-dot-color: #ffe066;
}

.pitch-type-slow-curve {
  --pitch-dot-color: #ff8a5b;
}

.pitch-type-changeup {
  --pitch-dot-color: #67ef9a;
}

.pitch-type-splitter {
  --pitch-dot-color: #a7ffe4;
}

.pitch-type-forkball {
  --pitch-dot-color: #eaf2ff;
}

.pitch-type-screwball {
  --pitch-dot-color: #ff7a90;
}

.pitch-type-knuckleball {
  --pitch-dot-color: #f7f7f7;
}

.pitch-type-eephus {
  --pitch-dot-color: #c7a7ff;
}

/* Keep legacy family classes aligned with the closest identity. */
.pitch-type-fastball {
  --pitch-dot-color: #59f2ff;
}

.pitch-type-moving-fastball {
  --pitch-dot-color: #4f83ff;
}

.pitch-type-slider {
  --pitch-dot-color: #a855f7;
}

.pitch-type-curve {
  --pitch-dot-color: #ffb84d;
}

.pitch-type-offspeed {
  --pitch-dot-color: #67ef9a;
}

.pitch-type-other {
  --pitch-dot-color: #b1bcb5;
}

/* END BORING BETS: DISTINCT SITEWIDE PITCH COLORS V8.7 */


/* BORING BETS: LIVE PITCH VELOCITY PEERS V1 */
.pitch-dot small.pitch-dot-speed-label{
  display:flex;
  align-items:center;
  gap:4px;
  width:max-content;
  white-space:nowrap;
  font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.015em;
}

.pitch-dot-speed-label > span,
.pitch-dot-speed-label > .pitch-speed-peer{
  display:inline;
  margin:0;
  padding:0;
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  vertical-align:baseline;
}

.pitch-dot-speed-label .pitch-speed-peer{
  color:var(--pitch-speed-color,#8a9b91);
  text-shadow:
    0 0 4px var(--pitch-speed-glow,transparent),
    0 0 9px var(--pitch-speed-glow,transparent);
}

.pitch-dot.latest .pitch-speed-peer{
  text-shadow:
    0 0 5px var(--pitch-speed-glow,transparent),
    0 0 12px var(--pitch-speed-glow,transparent),
    0 0 20px var(--pitch-speed-glow,transparent);
}
/* END BORING BETS: LIVE PITCH VELOCITY PEERS V1 */

/* BORING BETS: FIELD PITCH SPEED RANK V1 */
.bb-field-pitch-row strong{
  display:flex;
  align-items:baseline;
  gap:5px;
  min-width:0;
}

.bb-field-pitch-speed{
  display:inline;
  flex:0 0 auto;
  margin:0;
  padding:0;
  color:var(--bb-speed-color,#8a9b91);
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  font-style:normal;
  vertical-align:baseline;
  cursor:default;
  text-shadow:
    0 0 4px var(--bb-speed-glow,transparent),
    0 0 9px var(--bb-speed-glow,transparent);
}

.bb-field-pitch-row,
.bb-field-pitch-row *{
  cursor:default;
}
/* END BORING BETS: FIELD PITCH SPEED RANK V1 */

/* BORING BETS: LIVE EVENT VELOCITY RANK COLORS V1 */
.live-event-velocity-rank{
  display:inline;
  margin:0;
  padding:0;
  color:var(--pitch-speed-color,#8a9b91);
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  vertical-align:baseline;
  cursor:default;
  text-shadow:
    0 0 4px var(--pitch-speed-glow,transparent),
    0 0 9px var(--pitch-speed-glow,transparent);
}

.live-event-velocity-rank:hover{
  cursor:default;
}
/* END BORING BETS: LIVE EVENT VELOCITY RANK COLORS V1 */

/* BORING BETS: DIRECT LIVE EVENT VELOCITY RANK V2 */
.live-event-pitch-row .live-event-velocity-rank{
  display:inline;
  margin:0;
  padding:0;
  color:var(--pitch-speed-color,#8a9b91);
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  vertical-align:baseline;
  cursor:default;
  text-shadow:
    0 0 4px var(--pitch-speed-glow,transparent),
    0 0 9px var(--pitch-speed-glow,transparent);
}
/* END BORING BETS: DIRECT LIVE EVENT VELOCITY RANK V2 */


.bb-field-count-strip {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  min-width: 0;
  margin: 0 0 2px;
}

.bb-field-count-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.bb-field-count-item > span {
  color: #748b7d;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: .36rem;
  font-weight: 900;
  letter-spacing: .07em;
}

.bb-field-count-item > b {
  display: flex;
  align-items: center;
  gap: 3px;
}

.bb-field-count-item i {
  display: block;
  width: 8px;
  height: 8px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  background: rgba(255, 255, 255, .025);
}

.bb-field-count-item i.balls.active {
  border-color: var(--live-green);
  background: var(--live-green);
  box-shadow:
    0 0 7px rgba(72, 255, 147, .55);
}

.bb-field-count-item i.strikes.active {
  border-color: var(--live-gold);
  background: var(--live-gold);
  box-shadow:
    0 0 7px rgba(255, 214, 107, .55);
}

.bb-field-count-item i.outs.active {
  border-color: #ff8b55;
  background: #ff8b55;
  box-shadow:
    0 0 7px rgba(255, 139, 85, .6);
}

@media (max-width: 620px) {
  .bb-field-count-strip {
    gap: 9px;
  }

  .bb-field-count-item {
    gap: 4px;
  }

  .bb-field-count-item > span {
    font-size: .32rem;
  }

  .bb-field-count-item i {
    width: 7px;
    height: 7px;
  }
}

/* BORING BETS: FIELD COUNT NUMBERS WITH HEADER OUTS V1.8
   Balls and strikes show as a compact count above
   the Field View grid, nudged only slightly right. */

.live-pill-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  vertical-align: middle;
}

.header-out-lights {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 8px;
}

.header-out-lights i {
  display: block;
  width: 8px;
  height: 8px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  background: rgba(255, 255, 255, .025);
}

.header-out-lights i.active {
  border-color: #ff8b55;
  background: #ff8b55;
  box-shadow:
    0 0 7px rgba(255, 139, 85, .6);
}

.bb-field-mini-plate-dock {
  grid-template-rows: auto auto;
}

.bb-field-count-value {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  min-height: 12px;
  margin: 0 0 1px;
  padding: 0 0 0 8px;
  color: rgba(214, 255, 239, .94);
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: .62rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .04em;
  text-align: left;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, .95),
    0 0 8px rgba(44, 247, 232, .12);
  white-space: nowrap;
  pointer-events: none;
}

@media (max-width: 620px) {
  .live-pill-stack {
    gap: 3px;
  }

  .header-out-lights i {
    width: 7px;
    height: 7px;
  }

  .bb-field-count-value {
    min-height: 10px;
    margin-bottom: 1px;
    padding-left: 6px;
    font-size: .55rem;
  }
}
