:root {
    --baseball-gold: #d6ad43;
    --baseball-gold-bright: #f1ca61;
    --baseball-green: #113629;
    --baseball-green-light: #1d5942;
    --baseball-red: #b93434;
    --baseball-ink: #080a0d;
    --baseball-panel: #11151b;
    --baseball-panel-soft: #181e26;
    --baseball-line: #313944;
    --baseball-text: #f6f7f8;
    --baseball-muted: #aeb7c2;
}

.baseball-scorekeeper-page { background: #080a0d; }
.baseball-app { min-height: 100vh; color: var(--baseball-text); background: radial-gradient(circle at 50% 18%, #18241f 0, #0a0d10 42rem); }
.baseball-app button, .baseball-app input, .baseball-app select { font: inherit; }
.baseball-app button { min-height: 44px; border: 1px solid #46505d; border-radius: .55rem; color: #fff; background: #202731; cursor: pointer; font-weight: 800; }
.baseball-app button:hover { border-color: var(--baseball-gold); }
.baseball-app button:focus-visible, .baseball-app input:focus-visible, .baseball-app select:focus-visible { outline: 3px solid var(--baseball-gold-bright); outline-offset: 2px; }
.baseball-app button:disabled { opacity: .45; cursor: not-allowed; }

.baseball-intro { position: fixed; inset: 0; z-index: 9999; display: none; place-items: center; padding: 1.5rem; background: #060708; text-align: center; }
.baseball-intro.is-running { display: grid; }
.baseball-intro__content { width: min(34rem, 100%); }
.baseball-intro img { width: min(22rem, 78vw); height: auto; }
.baseball-intro p { margin: 1.25rem 0 .25rem; color: var(--baseball-gold-bright); letter-spacing: .16em; text-transform: uppercase; }
.baseball-intro h1 { margin: 0; font-size: clamp(2rem, 7vw, 4rem); }
.baseball-intro span { display: block; margin-top: .65rem; color: #cbd1d8; }
.baseball-intro__progress { height: .35rem; margin-top: 1.5rem; overflow: hidden; border-radius: 99px; background: #242932; }
.baseball-intro__progress i { display: block; width: 0; height: 100%; background: var(--baseball-gold); transition: width 5s linear; }
.baseball-intro.is-running .baseball-intro__progress i { width: 100%; }

.baseball-toolbar { border-bottom: 1px solid var(--baseball-line); background: rgba(8, 10, 13, .96); }
.baseball-toolbar__inner, .baseball-statusbar__inner { width: min(94rem, calc(100% - 2rem)); margin: 0 auto; }
.baseball-toolbar__inner { display: flex; align-items: center; gap: 1rem; min-height: 4.25rem; padding: .6rem 0; }
.baseball-toolbar__inner > span { color: var(--baseball-muted); white-space: nowrap; }
.baseball-toolbar__inner > span strong { color: #fff; }
.baseball-toolbar__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; margin-left: auto; }
.baseball-toolbar__actions button { min-height: 36px; padding: .35rem .65rem; font-size: .82rem; }
.baseball-offline-status { display: inline-flex; align-items: center; gap: .4rem; }
.baseball-offline-status i { width: .65rem; height: .65rem; border-radius: 50%; background: #49c47b; box-shadow: 0 0 .6rem #49c47b; }
.baseball-offline-status.is-offline i { background: var(--baseball-gold); box-shadow: none; }

.baseball-line-score { width: min(94rem, calc(100% - 2rem)); margin: 1rem auto 0; border: 1px solid var(--baseball-line); border-radius: .8rem; background: #0e1217; overflow: hidden; }
.baseball-line-score__scroll { overflow-x: auto; }
.baseball-line-score table { width: 100%; min-width: 40rem; border-collapse: collapse; text-align: center; }
.baseball-line-score caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.baseball-line-score th, .baseball-line-score td { min-width: 3.15rem; padding: .55rem .4rem; border-right: 1px solid #2b333d; }
.baseball-line-score tr > :first-child { position: sticky; left: 0; z-index: 1; min-width: 6.7rem; text-align: left; background: #111820; }
.baseball-line-score thead th { color: #bac3ce; background: #151b22; font-size: .75rem; letter-spacing: .08em; }
.baseball-line-score tbody th { color: #fff; }
.baseball-line-score .is-current { color: #111; background: var(--baseball-gold-bright); font-weight: 900; }
.baseball-line-score .is-total { color: var(--baseball-gold-bright); font-weight: 900; }

.baseball-board { display: grid; grid-template-columns: minmax(15rem, 1fr) minmax(25rem, 1.55fr) minmax(15rem, 1fr); gap: 1rem; width: min(94rem, calc(100% - 2rem)); margin: 1rem auto; }
.baseball-team, .baseball-centre { border: 1px solid var(--baseball-line); border-radius: 1rem; background: linear-gradient(180deg, var(--baseball-panel-soft), var(--baseball-panel)); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .18); }
.baseball-team { align-self: start; overflow: hidden; }
.baseball-team header { display: flex; justify-content: space-between; align-items: center; padding: .8rem 1rem; background: #151b22; letter-spacing: .09em; }
.baseball-team header span { font-size: 1.15rem; font-weight: 900; }
.baseball-team header strong { color: var(--baseball-muted); font-size: .72rem; }
.baseball-team.is-batting { border-color: var(--baseball-gold); box-shadow: 0 0 0 1px rgba(214,173,67,.25), 0 1rem 2.5rem rgba(0,0,0,.2); }
.baseball-team.is-batting header strong { color: var(--baseball-gold-bright); }
.baseball-team__score { display: grid; justify-items: center; padding: 1.2rem 1rem .6rem; }
.baseball-team__score output { font: 900 clamp(4.5rem, 9vw, 8rem)/.85 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: -.08em; }
.baseball-team__score small { margin-top: .55rem; color: var(--baseball-muted); letter-spacing: .2em; }
.baseball-team__totals { display: grid; grid-template-columns: 1fr 1fr; margin: .8rem; border: 1px solid var(--baseball-line); border-radius: .65rem; text-align: center; }
.baseball-team__totals span { padding: .7rem .25rem; color: var(--baseball-muted); font-size: .72rem; }
.baseball-team__totals span + span { border-left: 1px solid var(--baseball-line); }
.baseball-team__totals b { display: block; color: #fff; font-size: 1.55rem; }
.baseball-team__controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; padding: 0 .8rem .8rem; }
.baseball-team__controls button { padding: .45rem .25rem; }

.baseball-centre { padding: 1rem; }
.baseball-segment { display: grid; grid-template-columns: auto auto auto; justify-content: center; align-items: end; column-gap: .45rem; text-align: center; }
.baseball-segment > span { align-self: center; padding: .25rem .5rem; border-radius: .35rem; color: #111; background: var(--baseball-gold-bright); font-weight: 950; letter-spacing: .08em; }
.baseball-segment > strong { font: 900 3.25rem/.8 ui-monospace, SFMono-Regular, Consolas, monospace; }
.baseball-segment > small { color: var(--baseball-muted); letter-spacing: .14em; }
.baseball-segment > b { grid-column: 1 / -1; margin-top: .7rem; color: var(--baseball-gold-bright); letter-spacing: .12em; }

.baseball-diamond { position: relative; width: min(19rem, 76vw); aspect-ratio: 1.45 / 1; margin: 1rem auto .5rem; }
.baseball-base { position: absolute; width: 4.6rem; min-height: 4.6rem !important; padding: 0; border: 2px solid #66717d !important; border-radius: .55rem !important; transform: rotate(45deg); background: #202832 !important; }
.baseball-base span { display: grid; place-items: center; height: 100%; transform: rotate(-45deg); font-size: 1.15rem; }
.baseball-base b { position: absolute; left: 50%; bottom: -.9rem; width: 7rem; transform: translateX(-50%) rotate(-45deg); color: var(--baseball-gold-bright); font-size: .58rem; line-height: 1.05; text-align: center; }
.baseball-base[aria-pressed="true"] b { color: #111; }
.baseball-base small { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.baseball-base[aria-pressed="true"] { border-color: var(--baseball-gold-bright) !important; background: var(--baseball-gold) !important; box-shadow: 0 0 1.2rem rgba(241, 202, 97, .6); color: #111 !important; }
.baseball-base--second { top: .25rem; left: calc(50% - 2.3rem); }
.baseball-base--third { top: 45%; left: 1rem; }
.baseball-base--first { top: 45%; right: 1rem; }
.baseball-home-plate { position: absolute; bottom: .2rem; left: calc(50% - 1rem); width: 2rem; height: 1.65rem; background: #f1f1ee; clip-path: polygon(0 0, 100% 0, 100% 58%, 50% 100%, 0 58%); }

.baseball-counts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; }
.baseball-counts section { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .2rem .5rem; padding: .65rem; border: 1px solid var(--baseball-line); border-radius: .7rem; background: #0c1116; }
.baseball-counts span { color: var(--baseball-muted); font-size: .72rem; letter-spacing: .12em; }
.baseball-counts output { grid-row: 1 / span 2; grid-column: 2; font-size: 2.3rem; font-weight: 900; }
.baseball-counts button { min-height: 38px; }
.baseball-batter { display: grid; gap: .3rem; margin-top: .75rem; color: #dfe3e8; font-weight: 800; }
.baseball-batter > span { color: var(--baseball-muted); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.baseball-batter > strong { color: var(--baseball-gold-bright); font-size: 1.05rem; }
.baseball-batter label[hidden] { display: none; }
.baseball-batter small { color: var(--baseball-muted); font-weight: 500; }
.baseball-batter input { width: 100%; margin-top: .4rem; padding: .72rem; border: 1px solid #55606d; border-radius: .55rem; color: #fff; background: #080c10; }
.baseball-active-pitcher { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .2rem .6rem; margin-top: .35rem; padding: .55rem .65rem; border: 1px solid var(--baseball-line); border-radius: .55rem; background: #0a0f14; }
.baseball-active-pitcher span { grid-column: 1; color: var(--baseball-muted); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.baseball-active-pitcher strong { grid-column: 1; color: #fff; }
.baseball-active-pitcher button { grid-column: 2; grid-row: 1 / span 2; min-height: 34px; padding: .25rem .55rem; font-size: .72rem; }
.baseball-centre__actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .45rem; margin-top: .75rem; }
.baseball-centre__actions .baseball-record-play { border-color: var(--baseball-gold); color: #111; background: var(--baseball-gold-bright); }

.baseball-statusbar { border-block: 1px solid var(--baseball-line); background: #0b0f14; }
.baseball-statusbar__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; min-height: 4.1rem; padding: .55rem 0; }
.baseball-statusbar__inner p { margin: 0; color: #d7dce2; }
.baseball-statusbar__inner > span { color: var(--baseball-gold-bright); font-size: .8rem; white-space: nowrap; }

.baseball-history, .baseball-guide, .baseball-lineups, .baseball-position-legend { width: min(78rem, calc(100% - 2rem)); margin: 2rem auto; padding: 1.25rem; border: 1px solid var(--baseball-line); border-radius: 1rem; background: #11161c; }
.baseball-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.baseball-section-heading span, .baseball-guide > span { color: var(--baseball-gold-bright); font-size: .72rem; letter-spacing: .17em; }
.baseball-section-heading h2, .baseball-guide h2 { margin: .2rem 0 0; }
.baseball-section-heading p { max-width: 34rem; margin: 0; color: var(--baseball-muted); }
.baseball-history ol { max-height: 25rem; margin: 1rem 0; padding-left: 1.6rem; overflow: auto; }
.baseball-history li { padding: .45rem .2rem; border-bottom: 1px solid #272f38; color: #d5dae0; }
.baseball-history li.is-voided { color: #aeb7c2; text-decoration: line-through; text-decoration-color: #d06161; }
.baseball-danger-actions { display: flex; justify-content: flex-end; gap: .55rem; }
.baseball-danger-actions .baseball-new-game { border-color: #4fa66e; background: #1f6d3e; }
.baseball-lineups__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.baseball-lineup-card { overflow: hidden; border: 1px solid var(--baseball-line); border-radius: .8rem; background: #0c1116; }
.baseball-lineup-card > header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .75rem 1rem; background: #171d24; }
.baseball-lineup-card h3 { margin: 0; }
.baseball-lineup-card > header span { color: var(--baseball-muted); font-size: .75rem; }
.baseball-lineup-card form { display: grid; grid-template-columns: 1fr minmax(6.5rem, .55fr) minmax(7rem, .6fr) auto; align-items: end; gap: .55rem; padding: .75rem; border-bottom: 1px solid var(--baseball-line); }
.baseball-lineup-card label { color: var(--baseball-muted); font-size: .72rem; font-weight: 800; }
.baseball-lineup-card input, .baseball-lineup-card select { width: 100%; margin-top: .3rem; padding: .65rem; border: 1px solid #55606d; border-radius: .45rem; color: #fff; background: #080c10; }
.baseball-pitcher-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .15rem .55rem; padding: .55rem .75rem; border-bottom: 1px solid var(--baseball-line); background: #101820; }
.baseball-pitcher-card span { color: var(--baseball-muted); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.baseball-pitcher-card strong { grid-column: 1; color: var(--baseball-gold-bright); font-size: .82rem; }
.baseball-pitcher-card button { grid-column: 2; grid-row: 1 / span 2; min-height: 34px; padding: .25rem .5rem; font-size: .68rem; }
.baseball-lineup-card ol { margin: 0; padding: .45rem .75rem .75rem; list-style-position: inside; }
.baseball-lineup-card li { padding: .45rem 0; border-bottom: 1px solid #28313a; }
.baseball-lineup-card li:last-child { border-bottom: 0; }
.baseball-lineup-empty { color: var(--baseball-muted); list-style: none; }
.baseball-lineup-player { display: grid; grid-template-columns: 1.7rem minmax(6.5rem, auto) 1fr auto; align-items: center; gap: .45rem; }
.baseball-lineup-player__order { color: var(--baseball-muted); font-weight: 900; text-align: center; }
.baseball-lineup-player > strong { color: #fff; }
.baseball-lineup-player > small { color: var(--baseball-muted); }
.baseball-lineup-player__identity { display: flex; align-items: center; flex-wrap: wrap; gap: .28rem; }
.baseball-position-badge, .baseball-pitcher-symbol, .baseball-role-symbol { display: inline-grid; min-width: 1.65rem; min-height: 1.35rem; place-items: center; padding: .08rem .3rem; border: 1px solid #4a5562; border-radius: 99px; color: #dce2e8; background: #18212a; font-size: .63rem; font-weight: 900; }
.baseball-role-symbol.is-lineup-starter { border-color: #71859a; color: #fff; background: #263846; }
.baseball-pitcher-symbol.is-starter { color: #111; background: var(--baseball-gold-bright); }
.baseball-pitcher-symbol.is-active { border-color: #4fc47b; color: #d9ffe6; background: #17472e; }
.baseball-lineup-player__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .3rem; }
.baseball-lineup-player.is-current > strong { color: var(--baseball-gold-bright); }
.baseball-lineup-player.is-unavailable { opacity: .58; }
.baseball-lineup-player button { min-height: 34px; padding: .25rem .45rem; font-size: .7rem; }
.baseball-lineup-player button[aria-pressed="true"] { border-color: var(--baseball-gold); color: #111; background: var(--baseball-gold-bright); }
.baseball-lineups__note { margin: .8rem 0 0; color: var(--baseball-muted); font-size: .78rem; }
.baseball-guide > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; }
.baseball-guide p { margin: .9rem 0 0; color: #c6cdd5; }
.baseball-guide strong { color: #fff; }
.baseball-position-legend > span { color: var(--baseball-gold-bright); font-size: .72rem; letter-spacing: .17em; }
.baseball-position-legend h2 { margin: .2rem 0 .9rem; }
.baseball-position-legend dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem .8rem; margin: 0; }
.baseball-position-legend dl div { display: grid; grid-template-columns: minmax(2.8rem, auto) 1fr; gap: .45rem; padding: .35rem .45rem; border: 1px solid #29323c; border-radius: .4rem; }
.baseball-position-legend dt { color: var(--baseball-gold-bright); font-weight: 900; }
.baseball-position-legend dd { margin: 0; color: #ccd2d9; }
.baseball-position-legend p { margin: .8rem 0 0; color: var(--baseball-muted); font-size: .8rem; }

.baseball-fullscreen-brand { display: none; }
.baseball-app:fullscreen { overflow: auto; background: #080a0d; }
.baseball-app:fullscreen .baseball-toolbar, .baseball-app:fullscreen .baseball-history, .baseball-app:fullscreen .baseball-guide, .baseball-app:fullscreen .baseball-lineups, .baseball-app:fullscreen .baseball-position-legend, .baseball-app:fullscreen ~ * { display: none; }
.baseball-app:fullscreen .baseball-fullscreen-brand { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 2rem auto; color: #cbd1d7; }
.baseball-fullscreen-brand img { width: 8rem; height: auto; }
.baseball-fullscreen-brand b { color: var(--baseball-gold); }

.baseball-dialog { width: min(38rem, calc(100% - 2rem)); padding: 0; border: 1px solid #4a5562; border-radius: .9rem; color: #fff; background: #11171e; }
.baseball-dialog::backdrop { background: rgba(0, 0, 0, .78); }
.baseball-dialog header { padding: 1.25rem 1.25rem .5rem; }
.baseball-dialog h2 { margin: 0; }
.baseball-dialog p { color: #c2c9d1; }
.baseball-dialog form > label, .baseball-dialog__fields { display: block; margin: .5rem 1.25rem 1rem; }
.baseball-dialog__fields { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.baseball-dialog__fields--three { grid-template-columns: repeat(3, 1fr); }
.baseball-dialog label { color: #dfe3e8; font-weight: 700; }
.baseball-dialog input, .baseball-dialog select { width: 100%; margin-top: .35rem; padding: .7rem; border: 1px solid #55606b; border-radius: .45rem; color: #fff; background: #080c10; }
.baseball-dialog footer { display: flex; justify-content: flex-end; gap: .55rem; padding: 1rem 1.25rem 1.25rem; }
.baseball-dialog footer button { padding-inline: 1rem; }
.baseball-dialog .dialog-primary { border-color: var(--baseball-gold); color: #111; background: var(--baseball-gold-bright); }
.baseball-dialog .dialog-danger { border-color: #df6868; background: #8f2626; }
.baseball-shortcuts { margin: 0 1.25rem; }
.baseball-shortcuts div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid #2b333d; }
.baseball-shortcuts dt { color: var(--baseball-gold-bright); font-weight: 900; }
.baseball-shortcuts dd { margin: 0; }
.baseball-play-preview { min-height: 8.5rem; padding: .8rem; border: 1px solid var(--baseball-line); border-radius: .55rem; color: #dbe1e7; background: #080c10; }
.baseball-play-preview h3 { margin: 0 0 .45rem; color: var(--baseball-gold-bright); }
.baseball-play-preview ul { margin: 0; padding-left: 1.2rem; }
.baseball-play-preview p { margin: .4rem 0 0; }
.baseball-play-errors { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin: 0; padding: .65rem; border: 1px solid var(--baseball-line); border-radius: .55rem; }
.baseball-play-errors[hidden] { display: none; }
.baseball-play-errors legend { color: #fff; font-weight: 900; }
.baseball-play-errors legend small, .baseball-play-errors > small { color: var(--baseball-muted); }
.baseball-play-errors > small { grid-column: 1 / -1; }
.baseball-play-runners { grid-column: 1 / -1; display: grid; gap: .5rem; margin: 0; padding: .65rem; border: 1px solid var(--baseball-line); border-radius: .55rem; }
.baseball-play-runners legend { color: #fff; font-weight: 900; }
.baseball-play-runners p { margin: 0; color: var(--baseball-muted); }
.baseball-dialog__notice { margin: .25rem 1.25rem 1rem; padding: .65rem .75rem; border: 1px solid var(--baseball-line); border-radius: .55rem; color: #dbe1e7; background: #080c10; }
.baseball-pitcher-groups { display: grid; gap: .8rem; margin: .5rem 1.25rem 1rem; }
.baseball-pitcher-group { padding: .7rem; border: 1px solid var(--baseball-line); border-radius: .6rem; background: #0a0f14; }
.baseball-pitcher-group.is-preferred { border-color: #8b6c22; background: #18150d; }
.baseball-pitcher-group h3 { margin: 0 0 .5rem; color: var(--baseball-gold-bright); font-size: .82rem; }
.baseball-pitcher-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: .4rem; }
.baseball-pitcher-option { display: flex; align-items: center; gap: .45rem; padding: .5rem; border: 1px solid #39434e; border-radius: .45rem; background: #111820; cursor: pointer; }
.baseball-pitcher-option input { width: auto; margin: 0; }
.baseball-pitcher-option strong { color: #fff; }
.baseball-pitcher-option small { margin-left: auto; color: var(--baseball-muted); }
.baseball-dialog--out { width: min(52rem, calc(100% - 2rem)); max-height: min(92vh, 58rem); overflow-y: auto; }
.baseball-out-quick { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .5rem 1.25rem 1rem; padding: .8rem; border: 1px solid #8b6c22; border-radius: .6rem; background: #18150d; }
.baseball-out-quick h3, .baseball-out-detail > h3 { margin: 0; color: var(--baseball-gold-bright); }
.baseball-out-quick p { margin: .2rem 0 0; }
.baseball-out-quick button { flex: 0 0 auto; padding-inline: 1rem; }
.baseball-out-detail { margin: 0 1.25rem; padding-top: .85rem; border-top: 1px solid var(--baseball-line); }
.baseball-out-detail > .baseball-dialog__fields { margin-inline: 0; }
.baseball-out-runners { display: grid; gap: .5rem; margin-bottom: 1rem; }
.baseball-out-runners h4 { margin: 0; color: #fff; }
.baseball-out-runner { display: grid; grid-template-columns: minmax(9rem, 1fr) minmax(13rem, 1.25fr); align-items: center; gap: .75rem; padding: .55rem .65rem; border: 1px solid var(--baseball-line); border-radius: .5rem; background: #0a0f14; }
.baseball-out-runner strong { color: #fff; }
.baseball-out-runner small { display: block; color: var(--baseball-muted); }
.baseball-out-runner select { margin-top: 0; }
.baseball-out-fielders { margin: 0 0 1rem; padding: .7rem; border: 1px solid var(--baseball-line); border-radius: .55rem; }
.baseball-out-fielders legend { padding: 0 .35rem; color: #fff; font-weight: 800; }
.baseball-out-fielders legend small { color: var(--baseball-muted); font-weight: 500; }
.baseball-out-fielders .baseball-dialog__fields { margin: 0; }
.baseball-out-third-rule { display: block; margin: 0 0 1rem; padding: .7rem; border: 1px solid #a33f3f; border-radius: .55rem; background: #211010; }
.baseball-out-third-rule[hidden] { display: none; }
.baseball-out-detail > .baseball-play-preview { margin-bottom: .25rem; }

.baseball-print { display: none; color: #111; background: #fff; }
.baseball-print > header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #111; }
.baseball-print > header > div { display: flex; align-items: center; }
.baseball-print > header img { width: 7.2rem; height: auto; }
.baseball-print > header b { color: #9a7312; }
.baseball-print > header section { text-align: right; }
.baseball-print > header h2 { margin: .1rem 0; }
.baseball-print__details { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: .5rem; padding: .65rem 0; font-size: .82rem; }
.baseball-print table { width: 100%; border-collapse: collapse; text-align: center; }
.baseball-print th, .baseball-print td { padding: .28rem; border: 1px solid #333; }
.baseball-print__rosters { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: .75rem; }
.baseball-print__rosters h3, .baseball-print__notes h3 { margin: 0 0 .25rem; font-size: .9rem; }
.baseball-print__rosters p { height: 1.4rem; margin: 0; border-bottom: 1px solid #777; font-size: .72rem; }
.baseball-print__notes { margin-top: .65rem; }
.baseball-print__notes span { display: block; height: 1.45rem; border-bottom: 1px solid #777; }
.baseball-print__promotion { margin-top: .7rem; padding: .45rem .6rem; border: 1px solid #777; }
.baseball-print__promotion h3 { margin: 0; font-size: .85rem; }
.baseball-print__promotion > div { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.baseball-print__promotion p { margin: .25rem 0; font-size: .7rem; }
.baseball-print__promotion > span { display: block; text-align: center; font-size: .68rem; font-weight: 800; }
.baseball-print__events { margin: .5rem 0; padding-left: 1.2rem; columns: 2; font-size: .7rem; }
.baseball-print__events li { break-inside: avoid; margin-bottom: .12rem; }
.baseball-print__lineups { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: .65rem; }
.baseball-print__lineups h3 { margin: 0 0 .2rem; font-size: .85rem; }
.baseball-print__lineups ol { margin: 0; padding-left: 1.3rem; columns: 2; font-size: .68rem; }
.baseball-print > footer { margin-top: .6rem; padding-top: .35rem; border-top: 1px solid #777; text-align: center; font-size: .66rem; }
.baseball-player-stats__page { min-height: 7.75in; break-after: page; page-break-after: always; }
.baseball-player-stats__page:last-child { break-after: auto; page-break-after: auto; }
.baseball-player-stats__page > header { display: flex; justify-content: space-between; align-items: center; padding-bottom: .12in; border-bottom: 2px solid #111; }
.baseball-player-stats__page > header > div:last-child { text-align: right; }
.baseball-player-stats__page > header h2, .baseball-player-stats__page > header p { margin: 0; }
.baseball-player-stats__page > header h2 { font-size: 14pt; }
.baseball-player-stats__page > header p { color: #555; font-size: 6.5pt; }
.baseball-player-stats__brand { display: flex; align-items: center; }
.baseball-player-stats__brand img { width: 1.25in; height: auto; }
.baseball-player-stats__brand b { color: #8b6815; }
.baseball-player-stats__score { display: flex; justify-content: space-between; padding: .07in .1in; color: #fff; background: #263846; font-size: 7pt; }
.baseball-player-stats__score span { color: #f1ca61; font-weight: 900; }
.baseball-player-stats__team { margin-top: .09in; break-inside: avoid; page-break-inside: avoid; }
.baseball-player-stats__team > header { display: flex; align-items: center; justify-content: space-between; padding: .04in .08in; color: #fff; background: #8b6815; }
.baseball-player-stats__team h3, .baseball-player-stats__team p { margin: 0; }
.baseball-player-stats__team h3 { font-size: 7pt; letter-spacing: .08em; }
.baseball-player-stats__team p { font-size: 5.5pt; }
.baseball-player-stats__team table { font-size: 5.5pt; line-height: 1; }
.baseball-player-stats__team thead { color: #fff; background: #263846; }
.baseball-player-stats__team th, .baseball-player-stats__team td { height: .15in; padding: .018in .035in; }
.baseball-player-stats__team tbody th { text-align: left; background: #f2ead6; }
.baseball-player-stats__team tbody tr:nth-child(even) td { background: #f5f6f7; }
.baseball-player-stats__team .baseball-player-stats__totals > * { font-weight: 900; background: #e6e8ea; }
.baseball-player-stats__note { margin-top: .09in; padding: .06in .08in; border: 1px solid #8b6815; background: #fbf8ef; font-size: 5.5pt; }
.baseball-player-stats__note p { margin: .02in 0 0; line-height: 1.15; }
.baseball-player-stats__page > footer { margin-top: .08in; padding-top: .05in; border-top: 1px solid #777; text-align: center; font-size: 5.5pt; }
.baseball-print__setup-note { color: #555; font-size: .65rem; font-style: italic; }
.baseball-print__audit { break-before: page; page-break-before: always; margin-top: .5rem; }
.baseball-print__audit h3 { margin: 0 0 .35rem; }
.baseball-print__audit table { font-size: .64rem; text-align: left; }
.baseball-print__audit th, .baseball-print__audit td { padding: .18rem .25rem; }
.baseball-print__audit thead { color: #fff; background: #263846; }
.baseball-print__audit tr.is-voided td { color: #777; text-decoration: line-through; text-decoration-color: #b93434; }
.baseball-print__audit p { color: #555; font-size: .62rem; }

@media (max-width: 900px) {
    .baseball-toolbar__inner { align-items: flex-start; flex-wrap: wrap; }
    .baseball-toolbar__actions { width: 100%; justify-content: flex-start; margin-left: 0; }
    .baseball-board { grid-template-columns: 1fr 1fr; }
    .baseball-centre { grid-column: 1 / -1; grid-row: 1; }
    .baseball-team--visitor { grid-column: 1; }
    .baseball-team--home { grid-column: 2; }
    .baseball-guide > div { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
    .baseball-toolbar__inner, .baseball-statusbar__inner, .baseball-line-score, .baseball-board, .baseball-history, .baseball-guide, .baseball-lineups, .baseball-position-legend { width: min(100% - 1rem, 94rem); }
    .baseball-toolbar__inner > span:nth-child(2) { min-width: 0; margin-left: auto; white-space: normal; text-align: right; }
    .baseball-toolbar__actions { display: grid; grid-template-columns: repeat(3, 1fr); }
    .baseball-toolbar__actions button { padding-inline: .25rem; }
    .baseball-board { gap: .5rem; }
    .baseball-centre { padding: .7rem; }
    .baseball-team header { padding: .6rem; }
    .baseball-team header span { font-size: .95rem; }
    .baseball-team__score output { font-size: clamp(4rem, 22vw, 6rem); }
    .baseball-team__controls { grid-template-columns: 1fr 1fr; }
    .baseball-counts { gap: .3rem; }
    .baseball-counts section { display: flex; flex-direction: column; padding: .45rem .25rem; }
    .baseball-counts output { font-size: 2rem; }
    .baseball-counts button { width: 100%; }
    .baseball-centre__actions { grid-template-columns: 1fr; }
    .baseball-statusbar__inner { grid-template-columns: auto 1fr; gap: .55rem; }
    .baseball-statusbar__inner > span { display: none; }
    .baseball-section-heading { display: block; }
    .baseball-section-heading p { margin-top: .5rem; }
    .baseball-lineups__grid { grid-template-columns: 1fr; }
    .baseball-lineup-player { grid-template-columns: 1.7rem 1fr; }
    .baseball-lineup-player > small { grid-column: 2; }
    .baseball-lineup-card form { grid-template-columns: 1fr 1fr; }
    .baseball-lineup-card form button { grid-column: 1 / -1; }
    .baseball-lineup-player__actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); }
    .baseball-guide > div { grid-template-columns: 1fr; }
    .baseball-position-legend dl { grid-template-columns: 1fr 1fr; }
    .baseball-pitcher-options { grid-template-columns: 1fr; }
    .baseball-out-quick { align-items: stretch; flex-direction: column; }
    .baseball-out-runner { grid-template-columns: 1fr; gap: .35rem; }
    .baseball-dialog__fields { grid-template-columns: 1fr; }
    .baseball-dialog footer { flex-direction: column-reverse; }
    .baseball-dialog footer button { width: 100%; }
}

@media print {
    @page { size: Letter portrait; margin: .3in; }
    @page playerStats { size: Letter landscape; margin: .3in; }
    html, body.print-baseball-player-stats, body.print-baseball-report { background: #fff !important; }
    body.print-baseball-player-stats > *, body.print-baseball-report > * { display: none !important; }
    body.print-baseball-player-stats > main#main-content, body.print-baseball-report > main#main-content { display: block !important; min-height: 0; color: #111; background: #fff; }
    body.print-baseball-player-stats > main#main-content > *, body.print-baseball-report > main#main-content > * { display: none !important; }
    body.print-baseball-player-stats > main#main-content > .baseball-print--player-stats, body.print-baseball-report > main#main-content > .baseball-print--report { display: block !important; position: static; width: 100%; }
    body.print-baseball-player-stats { page: playerStats; }
    body.print-baseball-player-stats .baseball-print--player-stats { font-size: 8pt; }
    body.print-baseball-report .baseball-print--report { font-size: 9pt; }
}

@media (prefers-reduced-motion: reduce) {
    .baseball-intro__progress i { transition: none; }
}
