@import"https://fonts.googleapis.com/css2?family=Barlow:wght@400;600;700&display=swap";:root{--bg: #0f1115;--panel: #1a1d24;--muted: #98a1b3;--text: #e9edf7;--accent: #f5c400;--accent-2: #3fb8ff;--border: #242a35;--home: #1d3b6b;--visitor: #b21e35}*{box-sizing:border-box}body{margin:0;font-family:Barlow,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent-2);text-decoration:none}.app-shell{width:100%;margin:0;padding:8px 8px 12px}.header{display:flex;align-items:center;justify-content:center;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.profile-header-bar{position:relative;align-items:center;overflow:visible}.profile-header-side{position:absolute;top:0;bottom:0;width:var(--banner-left-safe-width);height:100%;display:flex;align-items:center;min-width:56px;max-width:240px}.profile-header-side-left{left:0;justify-content:flex-start}.profile-header-side-right{right:0;justify-content:flex-end}.profile-header-title-safe-area{position:absolute;top:0;bottom:0;left:var(--banner-left-safe-width);right:var(--banner-right-safe-width);display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;padding:0 8px}.profile-header-image-slot{width:100%;height:100%}.profile-header-image{display:block}.profile-header-center-text{min-width:0;width:100%;max-width:100%;text-wrap:nowrap;letter-spacing:.02em}@media (max-width: 980px){.profile-header-side{min-width:68px;max-width:220px}.profile-header-center-text{font-size:clamp(14px,3.6vw,52px)!important}.record-separator,.team-abbr-inline{display:none}}@media (max-width: 640px){.profile-header-side{min-width:56px;max-width:132px}.profile-header-center-text{font-size:clamp(12px,3.9vw,34px)!important}}.base-diamond{position:relative;width:126px;height:126px;transform:rotate(45deg);border:2px solid var(--border);border-radius:10px;background:#ffffff05}.base-bag{position:absolute;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:#2a2f39;color:var(--muted);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transform:rotate(-45deg)}.base-bag.occupied{background:var(--accent);color:#111;border-color:var(--accent)}.base-bag.first{right:-18px;top:46px}.base-bag.second{left:46px;top:-18px}.base-bag.third{left:-18px;top:46px}.load-banner{margin:10px 0;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:#ffffff0a;font-weight:600;color:var(--text)}.load-banner.loading{border-color:var(--accent-2)}.load-banner.error{border-color:#b21e35;color:#ffd7d7}.load-banner.loaded{border-color:#2fa84f}.nav{display:flex;gap:10px;justify-content:center;flex-wrap:nowrap;overflow-x:auto}.nav.full-row{width:100%}.nav button{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-weight:600;cursor:pointer}.nav button.active{background:var(--accent);color:#111;border-color:var(--accent)}.load-indicator{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;margin-left:8px;border-radius:999px;border:1px solid var(--border);font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}.viewer-build-marker{margin-left:auto;display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.3px;white-space:nowrap}.load-indicator .load-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.load-indicator.loading{border-color:var(--accent-2);color:var(--text)}.load-indicator.loading .load-dot{background:var(--accent-2)}.load-indicator.error{border-color:#b21e35;color:#ffd7d7}.load-indicator.error .load-dot{background:#b21e35}.load-indicator.loaded{border-color:#2fa84f;color:#c7ffdf}.load-indicator.loaded .load-dot{background:#2fa84f}.badge{padding:4px 8px;border-radius:6px;background:var(--border);color:var(--muted);font-weight:600;font-size:14px}.team-chip{padding:4px 8px;border-radius:8px;font-weight:700;font-size:14px;letter-spacing:.3px;color:#111;background:var(--accent)}.team-chip[data-team=H]{background:var(--home);color:#fff}.team-chip[data-team=V]{background:var(--visitor);color:#fff}.score-ribbon{margin-top:12px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 10px;min-height:105px;display:grid;grid-template-columns:28% auto 1fr auto 28%;gap:10px;align-items:center}.score-ribbon.light{background:#fff;border:1px solid var(--border);color:#111}.score-ribbon.light .score-meta,.score-ribbon.light .fouls-badge{color:#555}.score-ribbon.light .clock-large{color:#111}.team-info{display:grid;grid-template-columns:18px 48px 1fr;gap:8px;align-items:center}.team-info-right{grid-template-columns:1fr 48px 18px}.team-info h2,.team-info-right h2{margin:0;font-size:21px}.score-value{font-size:36px;font-weight:700}.score-meta{display:flex;gap:8px;align-items:center;color:var(--muted)}.score-meta-nowrap{white-space:nowrap;overflow:hidden}.score-meta-nowrap .badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-abbr-inline,.record-separator{white-space:nowrap;flex:0 0 auto}.score-center{text-align:center}.score-center-row{display:flex;align-items:center;justify-content:center;gap:12px}.clock-large{font-size:36px;font-weight:700;color:var(--text)}.poss-arrow{width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;opacity:.35;transition:opacity .2s ease,filter .2s ease}.poss-arrow.left{border-right:12px solid var(--muted)}.poss-arrow.right{border-left:12px solid var(--muted)}.poss-arrow.left.active{border-right-color:var(--accent)}.poss-arrow.right.active{border-left-color:var(--accent)}.poss-arrow.active{opacity:1;filter:drop-shadow(0 0 4px rgba(255,255,255,.15))}.ball-indicator{width:14px;height:14px;border-radius:50%;border:2px solid var(--muted);background:transparent;display:inline-block;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.ball-indicator.active{background:#d87a1c;border-color:#d87a1c;box-shadow:0 0 0 4px #d87a1c1f}.bonus-stack{display:grid;gap:6px;justify-items:center}.bonus-spacer{width:18px;height:18px;display:block}.bonus-dot{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#111;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 0 0 3px #f5c4001f}.bonus-dot.inactive{background:transparent;color:var(--muted);border:1px solid var(--border);box-shadow:none;opacity:.5}.timeout-tokens{display:inline-flex;gap:4px;align-items:center}.timeout-token{width:20px;height:20px;border-radius:10px;background:transparent;border:1px solid var(--border);font-weight:700;font-size:12px;letter-spacing:.2px;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.timeout-token.active[data-team=H]{background:var(--home);border-color:var(--home);color:#fff;box-shadow:0 0 0 3px #1d3b6b2e}.timeout-token.active[data-team=V]{background:var(--visitor);border-color:var(--visitor);color:#fff;box-shadow:0 0 0 3px #b21e352e}.fouls-row{margin-top:4px;display:inline-flex;align-items:center;gap:8px}.fouls-badge{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}.offense-card{font-size:14px}.offense-vertical{display:grid;gap:8px}.offense-row{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:6px}.offense-value{text-align:left}.team-highs-vertical{display:grid;gap:8px;font-size:14px}.high-row{display:grid;grid-template-columns:48px 1fr 50px;align-items:center;gap:0}.high-player{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-highs-vertical .badge{min-width:40px;padding:4px 8px;font-size:14px}.timeout-banner{margin-top:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;display:inline-flex;gap:8px;align-items:center;animation:slideIn .25s ease,pulseBorder 2s ease-in-out infinite}.timeout-placeholder{margin-top:10px;height:36px}.timeout-banner[data-team=H]{border-color:var(--home)}.timeout-banner[data-team=V]{border-color:var(--visitor)}.timeout-pill{padding:4px 8px;border-radius:999px;background:var(--border);font-weight:700;letter-spacing:.3px}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseBorder{0%{box-shadow:0 0 #ffffff14}50%{box-shadow:0 0 0 4px #ffffff05}to{box-shadow:0 0 #fff0}}.composite-row{margin-top:4px;display:grid;grid-template-columns:3fr 5fr 2fr;gap:4px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px}.panel h3{margin:0 0 8px;font-size:16px}.table{width:100%;border-collapse:collapse;font-size:15px}.table th,.table td{padding:4px 6px;border-bottom:1px solid var(--border);text-align:right}.table th:first-child,.table td:first-child{text-align:left}.table th:nth-child(2),.table td:nth-child(2){text-align:left}.table thead tr{color:var(--muted)}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:4px}.team-detail-grid{display:grid;grid-template-columns:52.5% 47.5%;gap:4px;align-items:start}.panel-stack{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-items:start}.recent-list{list-style:none;padding:0;margin:0;display:grid;gap:6px;max-height:140px;overflow:auto}.recent-item{display:grid;grid-template-columns:62px 1fr 70px;gap:8px;padding:8px;border:1px solid var(--border);border-radius:8px;font-size:14px}.sub-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.sub-item{display:grid;grid-template-columns:60px 40px 1fr 70px;gap:8px;padding:8px;border:1px solid var(--border);border-radius:8px;font-size:15px}.tag{background:var(--border);color:var(--text);padding:2px 6px;border-radius:6px;font-size:14px;font-weight:600}.small-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.muted{color:var(--muted)}.trend{display:inline-flex;align-items:center;gap:6px;background:#2c222a;color:#f0bacd;padding:6px 10px;border-radius:8px;font-weight:600}.baseball-layout-shell{margin-top:10px;display:grid;grid-template-rows:10% 1fr;gap:10px;min-height:72vh;height:auto;overflow:visible}.baseball-layout-shell.baseball-layout-shell--playbyplay{height:72vh}.baseball-banner-area,.baseball-tab-content{min-height:0}.baseball-banner-area .baseball-score-banner{margin-top:0;height:100%}.baseball-live-shell{margin-top:0;display:grid;grid-template-rows:auto auto auto;gap:10px;height:auto}.baseball-pregame-shell{margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.baseball-pregame-lineup-panel{min-width:0}.baseball-pregame-lineup-table{table-layout:fixed;width:100%;font-size:13px}.baseball-pregame-lineup-table th,.baseball-pregame-lineup-table td{padding:4px 6px;text-align:left;vertical-align:middle}.baseball-pregame-lineup-table th:nth-child(1),.baseball-pregame-lineup-table td:nth-child(1){width:56px;text-align:center}.baseball-pregame-lineup-table th:nth-child(2),.baseball-pregame-lineup-table td:nth-child(2){width:44px}.baseball-pregame-lineup-table th:nth-child(3),.baseball-pregame-lineup-table td:nth-child(3){width:48px}.baseball-pregame-lineup-table th:nth-child(5),.baseball-pregame-lineup-table td:nth-child(5),.baseball-pregame-lineup-table th:nth-child(6),.baseball-pregame-lineup-table td:nth-child(6),.baseball-pregame-lineup-table th:nth-child(7),.baseball-pregame-lineup-table td:nth-child(7){width:52px;text-align:center}.baseball-pregame-name-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.baseball-pregame-order-chip{min-width:24px;padding:2px 6px;font-size:12px;line-height:1;text-align:center}.baseball-pregame-empty{padding:10px 0}.baseball-score-banner-grid{display:grid;grid-template-columns:27fr 8fr 30fr 8fr 27fr;gap:12px;align-items:center}.baseball-team-block{display:grid;gap:6px}.baseball-team-identity{display:flex;align-items:center;gap:10px;min-width:0}.baseball-team-identity-home{justify-content:flex-end}.baseball-team-labels{display:grid;gap:4px;min-width:0}.baseball-team-labels h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.baseball-team-labels-home{justify-items:end;text-align:right}.baseball-team-logo{display:inline-block;flex:0 0 auto}.baseball-team-logo-spacer{display:inline-block;width:56px;height:56px;flex:0 0 auto}.baseball-team-record-pill{justify-self:start;font-size:12px;line-height:1;padding:3px 8px}.baseball-team-labels-home .baseball-team-record-pill{justify-self:end}.baseball-team-block-home{text-align:right}.baseball-team-score{font-size:34px;font-weight:800;text-align:center}.baseball-state-block{display:flex;align-items:center;justify-content:center}.baseball-state-inline{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap;white-space:nowrap}.baseball-state-badges{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap}.baseball-inning-state{font-size:22px;font-weight:800;letter-spacing:.8px}.baseball-count-badge,.baseball-outs-badge{min-width:72px;text-align:center}@media (max-width: 700px){.baseball-state-inline{flex-wrap:wrap;row-gap:6px}.baseball-team-identity{gap:6px}.baseball-team-logo,.baseball-team-logo-spacer{width:40px;height:40px}}.baseball-middle-row{display:grid;grid-template-columns:39fr 59fr;gap:10px}.baseball-bottom-row{display:grid;grid-template-columns:35fr 30fr 35fr;gap:10px}.baseball-fourth-row{display:grid;grid-template-columns:minmax(0,24fr) minmax(0,50fr) minmax(0,24fr);gap:10px;align-items:stretch}.baseball-middle-row .panel,.baseball-bottom-row .panel,.baseball-fourth-row .panel{overflow:auto}.baseball-bottom-row .baseball-content-aware{overflow:visible}.baseball-bottom-row .baseball-content-aware .recent-list,.baseball-bottom-row .baseball-content-aware .baseball-content-aware-list{max-height:none;overflow:visible}.baseball-bottom-row .baseball-matchup-container{overflow-y:auto;overflow-x:hidden}.baseball-fourth-row>.panel{min-width:0;height:100%}.baseball-fourth-row .baseball-fourth-panel{min-height:210px;overflow:visible}.baseball-fourth-row .baseball-fourth-panel .recent-list,.baseball-fourth-row .baseball-fourth-panel .baseball-content-aware-list{max-height:none;overflow:visible}.baseball-playbyplay-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.baseball-playbyplay-shell{margin-top:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.baseball-playbyplay-subtabs{flex:0 0 auto}.baseball-playbyplay-scroll{flex:1;min-height:0;overflow:auto;padding-right:2px}.baseball-playbyplay-inning-shell{min-height:0}.baseball-matchup-container{display:flex;flex-direction:column}.baseball-matchup-stack{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.baseball-matchup-block{display:grid;gap:2px}.baseball-matchup-previous{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}.baseball-matchup-previous-list{margin-top:0;max-height:none;overflow:visible}.baseball-content-aware{padding:8px 10px}.baseball-content-aware h3{margin:0 0 4px}.baseball-content-aware-list{max-height:100%;margin-top:6px;gap:4px}.baseball-batting-list,.baseball-fielding-list{gap:2px}.baseball-content-aware-row{padding:4px 6px;align-items:center}.baseball-lineup-row{padding:3px 6px}.baseball-batting-player{display:flex;flex-direction:column;gap:2px;min-width:0}.baseball-batting-player--inline{flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 8px;width:100%}.baseball-batting-player--inline>span:first-child{min-width:0;flex:1 1 160px}.baseball-lineup-badge--compact{display:inline-flex;align-items:center;width:fit-content;max-width:100%;white-space:nowrap;font-size:.875rem;line-height:1.2;padding:.15rem .45rem;border-radius:.3rem;font-weight:600}.baseball-batting-stats{white-space:nowrap}.baseball-batting-player--inline .baseball-batting-stats{margin-left:auto;flex:0 1 auto}.baseball-fielding-player{display:flex;flex-direction:column;gap:2px;min-width:0}.baseball-fielding-player--inline{flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 8px;width:100%}.baseball-fielding-player--inline>span:first-child{min-width:0;flex:1 1 160px}.baseball-fielding-stats{white-space:nowrap}.baseball-fielding-player--inline .baseball-fielding-stats{margin-left:auto;flex:0 1 auto}.baseball-content-aware-pitcher{margin-top:6px}.baseball-content-aware-pitcher-line{margin-top:2px}.baseball-fourth-comparison-panel{padding:8px 10px;display:flex;flex-direction:column}.baseball-fourth-comparison-panel h3{margin:0 0 4px}.baseball-fourth-comparison-table{table-layout:fixed;width:100%;font-size:12px}.baseball-fourth-comparison-table th,.baseball-fourth-comparison-table td{padding:3px;text-align:center;white-space:nowrap}.baseball-fourth-comparison-table th:first-child,.baseball-fourth-comparison-table td:first-child{text-align:left}.baseball-comparison-shell{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:0}.baseball-comparison-card{padding:8px 10px;display:flex;flex-direction:column;min-height:0}.baseball-comparison-card h3{margin:0 0 6px}.baseball-comparison-table{table-layout:fixed;width:100%;font-size:12px}.baseball-comparison-table th,.baseball-comparison-table td{padding:4px 5px;text-align:center;white-space:nowrap}.baseball-comparison-table th:first-child,.baseball-comparison-table td:first-child{text-align:left;white-space:normal}.baseball-lineups-shell{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:0}.baseball-lineup-card{padding:8px 10px;display:flex;flex-direction:column;min-height:0}.baseball-lineup-card h3{margin:0 0 6px}.baseball-lineup-card-table{table-layout:fixed;width:100%;font-size:13px}.baseball-lineup-card-table td{padding:4px 6px;vertical-align:top;white-space:nowrap;text-align:left}.baseball-lineup-card-col-order{text-align:left}.baseball-lineup-card-col-name{text-align:left;overflow:hidden;text-overflow:ellipsis}.baseball-lineup-card-row-sub .baseball-lineup-card-col-name{padding-left:1.25rem}.baseball-lineup-card-row-sub .baseball-lineup-card-col-order{opacity:.35}.baseball-current-batter{background:#3fb8ff1f;border-left:2px solid var(--accent-2);font-weight:600}.baseball-playbyplay-list{overflow-y:auto;overflow-x:hidden;margin-top:0;padding-right:4px}.baseball-playbyplay-list--inning{max-height:none;overflow:visible;padding-right:0;gap:4px}.baseball-playbyplay-divider-row{display:block;padding:2px 2px 0}.baseball-playbyplay-divider{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.baseball-pbp-list--three-plays{--baseball-pbp-row-height: 42px;max-height:calc((var(--baseball-pbp-row-height) * 3) + 12px)}.baseball-blank-tab{margin-top:0;min-height:0;height:100%}.baseball-game-setup-shell{margin-top:0;min-height:0;height:100%;overflow:auto}.baseball-game-setup-card{border:1px solid var(--border);border-radius:8px;overflow:hidden}.baseball-game-setup-row{display:grid;grid-template-columns:180px 1fr;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border)}.baseball-game-setup-row:last-child{border-bottom:0}.baseball-game-setup-label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.baseball-game-setup-value{color:var(--text);font-size:14px;font-weight:600;text-align:left}.baseball-game-setup-umpires{list-style:none;margin:0;padding:0;display:grid;gap:4px}.baseball-game-setup-umpire-row{color:var(--text)}.baseball-box-shell{display:grid;grid-template-rows:auto auto 1fr;gap:10px;min-height:0}.baseball-box-header-panel h3{margin:0 0 8px}.baseball-box-subtabs{justify-content:flex-start}.baseball-box-batting-fielding{min-height:0}.baseball-box-batting-fielding-table{table-layout:fixed;width:100%;font-size:12px}.baseball-box-batting-fielding-table .baseball-box-jersey-col{width:40px;max-width:40px;text-align:center;white-space:nowrap}.baseball-box-batting-fielding-table .baseball-box-player-col{width:190px;max-width:190px;text-align:left}.baseball-box-player-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.baseball-box-group-separator{border-left:3px solid var(--accent)!important}.baseball-box-totals-row td{border-top:2px solid var(--border);font-weight:700;background:#ffffff0a}.baseball-box-pitching{min-height:0}.baseball-box-pitching-table{table-layout:fixed;width:100%;font-size:13px}.baseball-box-pitcher-name{font-weight:600}.baseball-box-pitcher-badges{display:inline-flex;align-items:center;gap:4px;margin-left:6px}.baseball-box-decision-badge{padding:2px 6px;font-size:11px;line-height:1}@media (max-width: 1100px){.baseball-lineups-shell{grid-template-columns:1fr}}@media (max-width: 980px){.baseball-comparison-shell{grid-template-columns:1fr}}.baseball-box-situational-empty{min-height:220px}@media (max-width: 1080px){.score-ribbon,.composite-row,.grid-two{grid-template-columns:1fr}.baseball-layout-shell{height:auto;grid-template-rows:auto auto}.baseball-layout-shell.baseball-layout-shell--playbyplay{height:76vh;grid-template-rows:10% 1fr}.baseball-live-shell{height:auto;grid-template-rows:auto auto auto}.baseball-middle-row,.baseball-bottom-row,.baseball-pregame-shell{grid-template-columns:1fr}}@media (max-width: 700px){.baseball-fourth-row{grid-template-columns:1fr}.baseball-game-setup-row{grid-template-columns:1fr;gap:4px}.baseball-batting-player--inline,.baseball-fielding-player--inline{gap:1px 8px}}
