.odhq-live { --navy:#0d1e3d; --ink:#172033; --muted:#667085; --line:#d9dee8; --panel:#fff; --soft:#f5f7fb; --gold:#c99b2b; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); }
.odhq-live * { box-sizing:border-box; }
.odhq-live button,.odhq-live input,.odhq-live select { font:inherit; }
.odhq-live button { min-height:44px; cursor:pointer; }
.odhq-live button:disabled { cursor:not-allowed; opacity:.48; }
.odhq-live .od-shell { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:16px; align-items:start; }
.odhq-live .od-card { background:var(--panel); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.odhq-live .od-scoreboard { background:var(--navy); color:#fff; padding:16px; border-radius:18px; }
.odhq-live .od-score-top { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.odhq-live .od-live-badge { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.odhq-live .od-dot { width:9px; height:9px; border-radius:50%; background:#ff5c5c; }
.odhq-live .od-teams { display:grid; grid-template-columns:1fr auto 1fr; gap:18px; align-items:center; margin-top:12px; }
.odhq-live .od-team { min-width:0; }
.odhq-live .od-team:last-child { text-align:right; }
.odhq-live .od-team-name { font-size:13px; color:#c9d2e4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.odhq-live .od-score { font-size:44px; line-height:1; font-weight:850; letter-spacing:-.04em; }
.odhq-live .od-inning { text-align:center; font-weight:800; min-width:84px; }
.odhq-live .od-inning small { display:block; color:#c9d2e4; font-weight:600; margin-top:2px; }
.odhq-live .od-game-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:14px; padding-top:12px; border-top:1px solid rgba(255,255,255,.16); }
.odhq-live .od-stat { text-align:center; }
.odhq-live .od-stat strong { display:block; font-size:21px; }
.odhq-live .od-stat span { display:block; color:#c9d2e4; font-size:11px; text-transform:uppercase; letter-spacing:.06em; margin-top:2px; }
.odhq-live .od-main { display:grid; gap:16px; min-width:0; }
.odhq-live .od-atbat { padding:16px; }
.odhq-live .od-atbat-head { display:flex; gap:12px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
.odhq-live .od-kicker { font-size:11px; color:var(--muted); font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.odhq-live .od-name { font-size:23px; font-weight:850; letter-spacing:-.02em; margin-top:2px; }
.odhq-live .od-vs { color:var(--muted); font-size:13px; margin-top:3px; }
.odhq-live .od-count { display:flex; align-items:center; gap:9px; background:var(--soft); padding:9px 12px; border-radius:12px; }
.odhq-live .od-count strong { font-size:22px; }
.odhq-live .od-bases-wrap { display:grid; grid-template-columns:260px 1fr; gap:18px; align-items:center; margin-top:16px; }
.odhq-live .od-diamond { width:250px; height:155px; position:relative; margin:auto; }
.odhq-live .od-base { position:absolute; width:42px; height:42px; transform:rotate(45deg); background:#fff; border:2px solid #b8c0cf; border-radius:6px; display:flex; align-items:center; justify-content:center; z-index:2; }
.odhq-live .od-base.filled { background:var(--gold); border-color:var(--gold); }
.odhq-live .od-base span { transform:rotate(-45deg); font-size:10px; font-weight:800; max-width:52px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.odhq-live .od-base.second { left:104px; top:0; }
.odhq-live .od-base.third { left:49px; top:61px; }
.odhq-live .od-base.first { right:49px; top:61px; }
.odhq-live .od-base-runner { position:absolute; z-index:3; min-width:0; max-width:118px; padding:5px 7px; border:1px solid var(--line); border-radius:8px; background:var(--panel); font-size:11px; font-weight:800; line-height:1.15; text-align:center; box-shadow:0 1px 2px rgba(16,24,40,.06); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.odhq-live .od-base-runner.second { left:66px; top:50px; width:118px; }
.odhq-live .od-base-runner.third { left:0; top:110px; width:118px; }
.odhq-live .od-base-runner.first { right:0; top:110px; width:118px; }
.odhq-live .od-pitch-history { min-width:0; }
.odhq-live .od-pills { display:flex; gap:6px; flex-wrap:wrap; margin-top:7px; }
.odhq-live .od-pill { padding:5px 8px; border-radius:999px; background:var(--soft); font-size:11px; font-weight:700; color:#45516a; }
.odhq-live .od-controls { padding:16px; border-top:1px solid var(--line); }
.odhq-live .od-section-title { font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; color:#475467; margin-bottom:9px; }
.odhq-live .od-grid { display:grid; gap:8px; }
.odhq-live .od-grid.pitch { grid-template-columns:repeat(4,1fr); }
.odhq-live .od-grid.results { grid-template-columns:repeat(5,1fr); }
.odhq-live .od-action { border:1px solid #cfd6e2; background:#fff; color:var(--ink); border-radius:11px; padding:9px 7px; font-weight:750; }
.odhq-live .od-action.primary { background:var(--navy); border-color:var(--navy); color:#fff; }
.odhq-live .od-action.warn { background:#fff7ed; border-color:#fed7aa; color:#9a3412; }
.odhq-live .od-action.ghost { background:var(--soft); }
.odhq-live .od-sep { height:1px; background:var(--line); margin:14px 0; }
.odhq-live .od-side { display:grid; gap:16px; min-width:0; }
.odhq-live .od-side-card { padding:14px; }
.odhq-live .od-list { display:grid; gap:7px; margin-top:9px; }
.odhq-live .od-lineup-row { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:7px; padding:7px 0; border-bottom:1px solid #edf0f5; font-size:13px; }
.odhq-live .od-lineup-row:last-child { border-bottom:0; }
.odhq-live .od-order { color:var(--muted); font-weight:800; }
.odhq-live .od-current { font-weight:850; color:var(--navy); }
.odhq-live .od-recent { display:grid; gap:9px; margin-top:9px; }
.odhq-live .od-play { font-size:12px; line-height:1.35; border-left:3px solid #d5dae4; padding-left:9px; }
.odhq-live .od-play small { display:block; color:var(--muted); margin-top:2px; }
.odhq-live .od-toolbar { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.odhq-live .od-toolbar .od-action { padding-inline:12px; }
.odhq-live .od-form-row { display:grid; grid-template-columns:80px 1fr; gap:8px; }
.odhq-live input,.odhq-live select { width:100%; min-height:44px; border:1px solid #cfd6e2; border-radius:10px; padding:9px 10px; background:#fff; color:var(--ink); font-size:16px; }
.odhq-live .od-modal-backdrop { position:fixed; inset:0; background:rgba(9,18,36,.58); display:flex; align-items:center; justify-content:center; padding:16px; z-index:9999; }
.odhq-live .od-modal { width:min(620px,100%); max-height:90vh; overflow:auto; background:#fff; border-radius:18px; padding:18px; box-shadow:0 24px 70px rgba(0,0,0,.25); }
.odhq-live .od-modal h3 { margin:0; font-size:21px; }
.odhq-live .od-modal p { color:var(--muted); margin:5px 0 14px; font-size:13px; }
.odhq-live .od-runner-row { display:grid; grid-template-columns:minmax(0,1fr) 120px; gap:10px; align-items:center; margin:9px 0; }
.odhq-live .od-runner-row label { font-size:13px; font-weight:750; min-width:0; }
.odhq-live .od-modal-actions { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; margin-top:16px; }
.odhq-live .od-two { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.odhq-live .od-error { color:#b42318; background:#fef3f2; border:1px solid #fecdca; padding:9px 10px; border-radius:10px; font-size:12px; margin-top:10px; }
.odhq-live .od-readonly { padding:8px 11px; border-radius:999px; background:#eef2f7; color:#475467; font-size:12px; font-weight:800; }
.odhq-live .od-empty { color:var(--muted); font-size:12px; padding:6px 0; }
@media (max-width:900px) { .odhq-live .od-shell { grid-template-columns:1fr; } .odhq-live .od-side { grid-template-columns:1fr 1fr; } }
@media (max-width:620px) { .odhq-live .od-teams { gap:8px; } .odhq-live .od-score { font-size:36px; } .odhq-live .od-bases-wrap { grid-template-columns:1fr; } .odhq-live .od-grid.pitch { grid-template-columns:1fr 1fr; } .odhq-live .od-grid.results { grid-template-columns:1fr 1fr 1fr; } .odhq-live .od-side { grid-template-columns:1fr; } .odhq-live .od-game-strip { grid-template-columns:repeat(4,1fr); } .odhq-live .od-runner-row { grid-template-columns:1fr; } }


/* Opening Day HQ production integration */
.guest-live-site{min-height:100vh;background:var(--surface,#f5f7fa);color:var(--text,#152033)}
.guest-live-header{min-height:70px;padding:12px clamp(16px,4vw,34px);display:flex;align-items:center;gap:16px;background:#071b39;color:white;border-bottom:1px solid rgba(255,255,255,.12)}
.guest-live-header>div{display:flex;flex-direction:column;gap:2px}.guest-live-header small{opacity:.72}
.guest-live-brand img{width:118px;max-height:44px;object-fit:contain}.guest-live-main{max-width:1180px;margin:0 auto;padding:22px clamp(12px,3vw,26px) 42px}.guest-live-footer{text-align:center;padding:18px;color:var(--muted,#657184);font-size:.82rem}.guest-live-status{padding:14px 0;color:var(--muted,#657184)}
.live-view-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}.live-view-head h1{margin:0}.live-view-head p{margin:5px 0 0;color:var(--muted)}
.live-status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:var(--card);border:1px solid var(--border);font-size:.82rem;font-weight:700}.live-status-pill.live:before{content:'';width:8px;height:8px;border-radius:50%;background:#25a55f}
.scorekeeping-admin-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.scorekeeping-permission-wrap{display:flex;align-items:center;gap:7px;white-space:nowrap}.scorekeeping-permission-wrap input{width:18px;height:18px}.scorekeeping-permission-wrap label{font-size:.8rem;font-weight:700}.scorekeeping-account-note{color:var(--muted);font-size:.75rem}
.scorekeeping-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scorekeeping-manager-grid .field{min-width:0}.guest-link-box{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.guest-link-box input{flex:1;min-width:220px}.scorekeeping-setup-table input[type=number]{width:72px}.scorekeeping-setup-table select{min-width:110px}.scorekeeping-setup-table td:first-child{width:54px;text-align:center}.scorekeeping-setup-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}.live-manager-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--card);margin-bottom:12px}.live-manager-banner small{display:block;color:var(--muted);margin-top:2px}
@media(max-width:700px){.scorekeeping-manager-grid{grid-template-columns:1fr}.guest-live-main{padding-left:8px;padding-right:8px}.scorekeeping-admin-actions{justify-content:flex-start}.scorekeeping-setup-table th:nth-child(4),.scorekeeping-setup-table td:nth-child(4){display:none}}

/* v6.21.1 live-scoring polish */
.odhq-live .od-pitcher-ticker{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:13px}
.odhq-live .od-pitcher-ticker>span:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}
.odhq-live .od-pitcher-ticker b{font-size:14px}
.odhq-live .od-pitch-total{margin-left:auto;display:inline-flex;align-items:baseline;gap:4px;color:#475467;font-weight:750}
.odhq-live .od-pitch-total strong{font-size:20px;color:var(--ink)}
.odhq-live .od-atbat-metrics{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.odhq-live .od-atbat-metrics .od-count{min-width:82px;justify-content:space-between}
.odhq-live .od-atbat-metrics .od-count span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.odhq-live .od-half-batters{display:grid;gap:2px}
.odhq-live .od-half-batter{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid #edf0f5;font-size:12px}
.odhq-live .od-half-batter:last-child{border-bottom:0}
.odhq-live .od-half-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.odhq-live .od-half-batter strong{font-size:11px;text-align:right;color:#344054}
.odhq-live .od-play.substitution{border-left-color:var(--gold);background:#fffaf0;border-radius:0 8px 8px 0;padding-top:6px;padding-bottom:6px;padding-right:6px}
@media(max-width:620px){.odhq-live .od-pitch-total{margin-left:0;width:100%}.odhq-live .od-atbat-metrics{width:100%;justify-content:stretch}.odhq-live .od-atbat-metrics .od-count{flex:1;min-width:0}.odhq-live .od-half-batter{grid-template-columns:24px minmax(0,1fr) auto}}

/* v6.21.2 batting/defending clarity + pregame home/away control */
.odhq-live .od-team-role{display:inline-flex;align-items:center;margin-top:5px;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,255,255,.09);color:#d7dfed}
.odhq-live .od-team-role.batting{background:rgba(255,255,255,.18);color:#fff}
.odhq-live .od-team.is-batting .od-score{color:#fff}
.odhq-live .od-team.is-defending .od-score{color:#d3dbea}
.odhq-live .od-offense-defense{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.08);font-size:12px;color:#dbe3f0}
.odhq-live .od-offense-defense b{color:#fff;font-weight:850}
.odhq-live .od-offdef-divider{opacity:.55}
.odhq-live .od-lifecycle-toolbar [data-swap-home-away]{font-weight:800}
@media(max-width:620px){.odhq-live .od-team-role{font-size:9px;padding:4px 6px}.odhq-live .od-offense-defense{justify-content:flex-start}.odhq-live .od-offdef-divider{display:none}.odhq-live .od-offense-defense span{width:100%}}

/* v6.21.3 batter entry + defensive alignment */
.scorekeeping-defense-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.scorekeeping-defense-slot{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.scorekeeping-defense-slot>span{display:flex;flex-direction:column;gap:2px}.scorekeeping-defense-slot b{font-size:.92rem}.scorekeeping-defense-slot small{color:var(--muted);font-size:.72rem}.scorekeeping-defense-slot select{min-width:0}
@media(max-width:700px){.scorekeeping-defense-grid{grid-template-columns:1fr}.scorekeeping-defense-slot{grid-template-columns:78px minmax(0,1fr)}}

/* v6.21.4 running box score */
.od-box-card{overflow:hidden}
.od-box-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:8px}
.od-line-score,.od-box-table{width:100%;border-collapse:collapse;font-size:.78rem;white-space:nowrap}
.od-line-score th,.od-line-score td,.od-box-table th,.od-box-table td{padding:7px 8px;border-bottom:1px solid #e3e8f1;text-align:center}
.od-line-score th:first-child,.od-line-score td:first-child,.od-box-table th:first-child,.od-box-table td:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1;max-width:160px;overflow:hidden;text-overflow:ellipsis}
.od-line-score thead th,.od-box-table thead th{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#60708a;background:#f6f8fb}
.od-box-details{border-top:1px solid #e3e8f1;margin-top:10px;padding-top:8px}
.od-box-details summary{cursor:pointer;font-weight:800;color:#18253d;padding:4px 0;min-height:34px;display:flex;align-items:center}
.od-box-subtitle{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#60708a;margin:10px 0 2px}
@media(max-width:700px){.od-line-score,.od-box-table{font-size:.74rem}.od-line-score th,.od-line-score td,.od-box-table th,.od-box-table td{padding:7px 6px}.od-line-score th:first-child,.od-line-score td:first-child,.od-box-table th:first-child,.od-box-table td:first-child{max-width:130px}}

/* v6.21.9 fixed field-image defensive UI + clickable hotspots */
.odhq-live .od-pitch-count-metric{display:grid!important;grid-template-columns:auto auto;grid-template-areas:'label value' 'pitcher pitcher';column-gap:10px;row-gap:1px;align-items:center;min-width:150px!important}
.odhq-live .od-pitch-count-metric>span{grid-area:label}.odhq-live .od-pitch-count-metric>strong{grid-area:value;text-align:right}.odhq-live .od-pitch-count-metric>small{grid-area:pitcher;display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667085;font-size:10px;font-weight:750;text-align:right}
.scorekeeping-defense-stage{position:relative;width:min(100%,680px);margin:14px auto 0}
.scorekeeping-defense-field{position:relative;width:100%;aspect-ratio:1400/1000;background:#0e482a;overflow:hidden;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.scorekeeping-field-image{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none;pointer-events:none}
.scorekeeping-defense-node{position:absolute;z-index:4;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;padding:0;min-width:0;cursor:pointer;color:#183a73}
.scorekeeping-defense-node:hover .scorekeeping-defense-badge{filter:brightness(1.08)}
.scorekeeping-defense-node:focus-visible{outline:3px solid rgba(96,165,250,.35);outline-offset:3px;border-radius:10px}
.scorekeeping-defense-node .scorekeeping-defense-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 8px;border-radius:999px;background:#154fbd;color:#fff;border:1.5px solid rgba(255,255,255,.94);font-size:.82rem;font-weight:900;letter-spacing:.02em;box-shadow:0 2px 5px rgba(3,16,38,.24)}
.scorekeeping-defense-node strong{display:block;max-width:110px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 2px 7px rgba(15,23,42,.16);font-size:.68rem;line-height:1.08;font-weight:850;color:#16345e;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scorekeeping-defense-node:not(.assigned) strong{min-width:34px;color:#7f8ca0;background:rgba(255,255,255,.78);box-shadow:0 1px 4px rgba(15,23,42,.10)}
.scorekeeping-defense-node.pos-cf{left:50%;top:10%}
.scorekeeping-defense-node.pos-lf{left:18%;top:25%}
.scorekeeping-defense-node.pos-rf{left:82%;top:25%}
.scorekeeping-defense-node.pos-ss{left:37%;top:38%}
.scorekeeping-defense-node.pos-b2{left:63%;top:38%}
.scorekeeping-defense-node.pos-b3{left:27%;top:59%}
.scorekeeping-defense-node.pos-b1{left:73%;top:59%}
.scorekeeping-defense-node.pos-p{left:50%;top:59%}
.scorekeeping-defense-node.pos-c{left:50%;top:86%}
.scorekeeping-defense-picker{position:absolute;z-index:9;width:min(245px,calc(100% - 16px));padding:10px;border:1px solid #d7dfeb;border-radius:13px;background:#fff;box-shadow:0 18px 38px rgba(15,23,42,.22)}
.scorekeeping-defense-picker.hidden{display:none}
.scorekeeping-defense-picker-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.scorekeeping-defense-picker-head h3{margin:2px 0 0;font-size:.95rem;color:#17233a}
.scorekeeping-defense-search{width:100%;min-height:42px;margin:0 0 8px;padding:8px 10px;border:1px solid #d7dfeb;border-radius:10px;background:#f8fafc;color:#16233b;font-size:16px}
.scorekeeping-defense-player-list{display:grid;gap:5px;max-height:235px;overflow:auto;padding-right:2px}
.scorekeeping-defense-player{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:8px;width:100%;padding:8px 9px;border:1px solid transparent;border-radius:9px;background:#fff;color:#18253d;text-align:left;cursor:pointer}
.scorekeeping-defense-player:hover{background:#f3f7ff}.scorekeeping-defense-player.selected{background:#e5efff;border-color:#b8d0f5}.scorekeeping-defense-player .num{font-size:.76rem;font-weight:900;color:#52637e}.scorekeeping-defense-player b{font-size:.82rem;line-height:1.1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.scorekeeping-defense-stage{width:min(100%,560px)}.odhq-live .od-pitch-count-metric{min-width:128px!important}.odhq-live .od-pitch-count-metric>small{max-width:145px}.scorekeeping-defense-node .scorekeeping-defense-badge{min-width:28px;height:25px;font-size:.75rem}.scorekeeping-defense-node strong{max-width:88px;font-size:.59rem;padding:2px 5px}.scorekeeping-defense-node.pos-lf{left:15%;top:25%}.scorekeeping-defense-node.pos-rf{left:85%;top:25%}.scorekeeping-defense-node.pos-ss{left:34%;top:39%}.scorekeeping-defense-node.pos-b2{left:66%;top:39%}.scorekeeping-defense-node.pos-b3{left:22%;top:59%}.scorekeeping-defense-node.pos-b1{left:78%;top:59%}.scorekeeping-defense-node.pos-c{top:85.5%}}
@media(max-width:430px){.scorekeeping-defense-field{border-radius:10px}.scorekeeping-defense-node .scorekeeping-defense-badge{min-width:25px;height:22px;padding:0 6px;font-size:.69rem}.scorekeeping-defense-node strong{max-width:72px;font-size:.53rem;padding:2px 4px}.scorekeeping-defense-node.pos-lf{left:12%;top:25%}.scorekeeping-defense-node.pos-rf{left:88%;top:25%}.scorekeeping-defense-node.pos-ss{left:31%;top:39%}.scorekeeping-defense-node.pos-b2{left:69%;top:39%}.scorekeeping-defense-node.pos-b3{left:18%;top:59%}.scorekeeping-defense-node.pos-b1{left:82%;top:59%}.scorekeeping-defense-picker{width:min(215px,calc(100% - 12px));padding:9px}.scorekeeping-defense-player{grid-template-columns:44px 1fr;padding:7px 8px}}


/* v6.22.2 scorekeeping usability pass */
@keyframes od-live-heartbeat{0%,72%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,92,92,0)}6%{transform:scale(1.18);box-shadow:0 0 0 5px rgba(255,92,92,.13)}13%{transform:scale(1);box-shadow:0 0 0 9px rgba(255,92,92,0)}}
.odhq-live .od-live-badge:not(.is-live) .od-dot{opacity:.55}
.odhq-live .od-live-badge.is-live .od-dot{animation:od-live-heartbeat 5s ease-in-out infinite;transform-origin:center}
.odhq-live .od-lineup-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #d6deea;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.odhq-live .od-lineup-prompt>div{display:grid;gap:2px;min-width:0}.odhq-live .od-lineup-prompt b{font-size:15px}.odhq-live .od-lineup-prompt small{font-size:12px;color:var(--muted);line-height:1.3}.odhq-live .od-lineup-prompt.ready{background:#f7fbf8;border-color:#cfe4d5}.odhq-live .od-lineup-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.odhq-live .od-lineup-card-head .od-section-title{margin-bottom:0}.odhq-live .od-lineup-count{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:4px 7px;border-radius:999px;background:#eef2f7;color:#475467;font-size:11px;font-weight:850}.odhq-live .od-lineup-count.ready{background:#eaf7ee;color:#246b3d}.odhq-live .od-quick-lineup-label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#475467}.odhq-live .od-runner-row.od-runner-scored{grid-template-columns:minmax(0,1fr) auto;padding:10px 11px;border-radius:10px;background:#f3f8ff;border:1px solid #d7e6fb}.odhq-live .od-runner-row.od-runner-scored strong{color:#174a9b;font-size:13px}.odhq-live .od-auto-play-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;padding:11px 12px;margin-bottom:10px;border-radius:11px;background:#edf6ff;border:1px solid #cfe2f7}.odhq-live .od-auto-play-summary b{font-size:14px;color:#133f78}.odhq-live .od-auto-play-summary span{font-size:12px;color:#475467}
.scorekeeping-lineup-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.scorekeeping-lineup-progress>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.scorekeeping-lineup-progress b{font-size:.88rem}.scorekeeping-lineup-progress span{font-weight:850;color:#315f9d}.scorekeeping-lineup-builder{padding:14px}.scorekeeping-lineup-builder .card-title{margin-bottom:10px}.scorekeeping-lineup-builder .card-title small{display:block;color:var(--muted);margin-top:2px}.scorekeeping-lineup-slots{display:grid;gap:7px}.scorekeeping-lineup-slot{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center}.scorekeeping-lineup-slot>span{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#eef2f7;color:#475467;font-size:.78rem;font-weight:850}.scorekeeping-lineup-slot small{grid-column:2;color:var(--muted);font-size:.7rem;margin-top:-4px}.scorekeeping-lineup-slot.opponent{grid-template-columns:32px 82px minmax(0,1fr)}.scorekeeping-lineup-slot.opponent small{grid-column:2/4}.scorekeeping-lineup-slot select,.scorekeeping-lineup-slot input{min-height:42px}
.live-lineup-banner{border-color:#cdd8e7}.live-lineup-banner b{font-size:.92rem}
@media(max-width:620px){.odhq-live .od-lineup-prompt{align-items:flex-start;flex-direction:column}.odhq-live .od-lineup-prompt .od-action{width:100%}.scorekeeping-lineup-progress{grid-template-columns:1fr}.scorekeeping-lineup-slot.opponent{grid-template-columns:32px 72px minmax(0,1fr)}}


/* v6.22.2 flexible lineup editor — 30 batter maximum */
.scorekeeping-lineup-builder .card-title{align-items:flex-start;gap:10px;flex-wrap:wrap}
.scorekeeping-lineup-slot{grid-template-columns:32px minmax(0,1fr) auto}
.scorekeeping-lineup-slot small{grid-column:2/4}
.scorekeeping-lineup-slot.opponent{grid-template-columns:32px 82px minmax(0,1fr) auto}
.scorekeeping-lineup-slot.opponent small{grid-column:2/5}
.scorekeeping-lineup-remove{min-height:42px;white-space:nowrap}
@media(max-width:620px){
  .scorekeeping-lineup-builder .card-title>.btn{width:100%}
  .scorekeeping-lineup-slot{grid-template-columns:32px minmax(0,1fr)}
  .scorekeeping-lineup-slot .scorekeeping-lineup-remove{grid-column:2;width:100%;min-height:36px}
  .scorekeeping-lineup-slot small{grid-column:2}
  .scorekeeping-lineup-slot.opponent{grid-template-columns:32px 70px minmax(0,1fr)}
  .scorekeeping-lineup-slot.opponent .scorekeeping-lineup-remove{grid-column:2/4}
  .scorekeeping-lineup-slot.opponent small{grid-column:2/4}
}

/* v6.22.3 live flow polish: batting lineup swap + manual team batters */
.odhq-live .od-lineup-swap-stage{display:grid;grid-template-columns:1fr;gap:16px;min-width:0;isolation:isolate}
.odhq-live .od-lineup-card{position:relative;transition:border-color .2s ease,box-shadow .2s ease;transform-origin:center;will-change:transform}
.odhq-live .od-lineup-card.is-batting-lineup{border-color:#d6b65f;box-shadow:0 0 0 1px rgba(201,155,43,.14)}
.odhq-live .od-batting-chip{display:inline-flex;align-items:center;margin-top:5px;padding:3px 7px;border-radius:999px;background:#fff7df;color:#825f10;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
/* v6.22.5: staged lineup crossover. Both cards lift first, pause, cross deliberately, settle, then return to normal size. The UI defers rerenders until this finishes so the cards do not flash or restart mid-animation. */
@keyframes od-lineup-swap-incoming{
  0%{transform:translateY(calc(100% + 16px)) scale(1)}
  14%{transform:translateY(calc(100% + 16px)) scale(1.055)}
  25%{transform:translateY(calc(100% + 16px)) scale(1.055)}
  68%{transform:translateY(-8px) scale(1.07)}
  80%{transform:translateY(0) scale(1.055)}
  90%{transform:translateY(0) scale(1.055)}
  100%{transform:translateY(0) scale(1)}
}
@keyframes od-lineup-swap-outgoing{
  0%{transform:translateY(calc(-100% - 16px)) scale(1)}
  14%{transform:translateY(calc(-100% - 16px)) scale(1.045)}
  25%{transform:translateY(calc(-100% - 16px)) scale(1.045)}
  68%{transform:translateY(8px) scale(1.045)}
  80%{transform:translateY(0) scale(1.035)}
  90%{transform:translateY(0) scale(1.035)}
  100%{transform:translateY(0) scale(1)}
}
.odhq-live .od-lineup-swap-stage.is-swapping{pointer-events:none}
.odhq-live .od-lineup-swap-stage.is-swapping .od-lineup-card:first-child{z-index:4;animation:od-lineup-swap-incoming 1.65s cubic-bezier(.22,.68,.2,1) both}
.odhq-live .od-lineup-swap-stage.is-swapping .od-lineup-card:last-child{z-index:2;animation:od-lineup-swap-outgoing 1.65s cubic-bezier(.22,.68,.2,1) both}
.odhq-live .od-action[data-invalid-result]:disabled{opacity:.34;background:#f3f5f8;border-color:#d8dee8;color:#788397;box-shadow:none}
.scorekeeping-lineup-slot.manual{align-items:start}
.scorekeeping-lineup-manual-fields{grid-column:2/4;display:grid;grid-template-columns:90px minmax(0,1fr);gap:7px;margin-top:-1px}
.scorekeeping-lineup-manual-fields small{grid-column:1/-1;margin:0!important;color:var(--muted);font-size:.7rem}
.scorekeeping-lineup-manual-locked{grid-column:2/4;display:grid;gap:2px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--card)}
.scorekeeping-lineup-manual-locked b{font-size:.86rem}.scorekeeping-lineup-manual-locked small{grid-column:auto!important;margin:0!important;color:var(--muted);font-size:.7rem}
.odhq-live .od-fielding-detail{margin:12px 0;padding:12px;border:1px solid #dfe5ee;border-radius:12px;background:#f8fafc}
.odhq-live .od-fielding-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.odhq-live .od-fielding-detail-head b{font-size:13px;color:#24364f}.odhq-live .od-fielding-detail-head span{font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#667085;background:#eef2f6;border-radius:999px;padding:3px 7px}
.odhq-live .od-notation-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}
.odhq-live .od-notation-chip{min-height:34px;padding:6px 10px;border:1px solid #cfd8e5;border-radius:999px;background:#fff;color:#344054;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.odhq-live .od-notation-chip.selected{border-color:#315f9d;background:#edf4ff;color:#174a9b;box-shadow:0 0 0 1px rgba(49,95,157,.08)}
.odhq-live .od-notation-custom{display:grid;gap:5px;font-size:11px;font-weight:750;color:#667085}.odhq-live .od-notation-custom input{min-height:40px}
@media(max-width:900px){.odhq-live .od-lineup-swap-stage{grid-column:1/-1;grid-template-columns:1fr}}
@media(max-width:620px){.scorekeeping-lineup-manual-fields{grid-column:2;grid-template-columns:76px minmax(0,1fr)}.scorekeeping-lineup-manual-locked{grid-column:2}}
@media(prefers-reduced-motion:reduce){.odhq-live .od-lineup-swap-stage.is-swapping .od-lineup-card{animation:none!important;transform:none!important}}

/* v6.22.7 compact full-width score bug + aligned scoring/lineup columns */
.odhq-live .od-scorebug{
  grid-column:1 / -1;
  padding:10px 12px;
  border-radius:14px;
}
.odhq-live .od-scorebug-row{
  display:grid;
  grid-template-columns:auto minmax(150px,1fr) auto minmax(150px,1fr) auto auto;
  align-items:center;
  gap:12px;
  min-height:58px;
}
.odhq-live .od-scorebug .od-live-badge{
  white-space:nowrap;
}
.odhq-live .od-scorebug-team{
  min-width:0;
}
.odhq-live .od-scorebug-team-right{
  text-align:right;
}
.odhq-live .od-scorebug-team-meta{
  display:flex;
  gap:6px;
  align-items:center;
  margin-bottom:2px;
  color:#aebbd1;
  font-size:9px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.odhq-live .od-scorebug-team-right .od-scorebug-team-meta{
  justify-content:flex-end;
}
.odhq-live .od-scorebug-team-meta .batting{
  color:#fff;
}
.odhq-live .od-scorebug-team-meta .defending{
  color:#aebbd1;
}
.odhq-live .od-scorebug-team-line{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
.odhq-live .od-scorebug-team-right .od-scorebug-team-line{
  justify-content:flex-end;
}
.odhq-live .od-scorebug-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#d5ddec;
  font-size:13px;
  font-weight:700;
}
.odhq-live .od-scorebug-team.is-batting .od-scorebug-name{
  color:#fff;
  font-weight:850;
}
.odhq-live .od-scorebug-team-line strong{
  flex:0 0 auto;
  color:#fff;
  font-size:30px;
  line-height:.9;
  font-weight:900;
  letter-spacing:-.04em;
}
.odhq-live .od-scorebug-team.is-defending .od-scorebug-team-line strong{
  color:#d3dbea;
}
.odhq-live .od-scorebug-inning{
  display:grid;
  justify-items:center;
  gap:1px;
  min-width:64px;
  text-align:center;
}
.odhq-live .od-scorebug-inning strong{
  font-size:15px;
  line-height:1.1;
}
.odhq-live .od-scorebug-inning span{
  color:#bac5d8;
  font-size:10px;
  font-weight:700;
}
.odhq-live .od-scorebug-counts{
  display:flex;
  align-items:stretch;
  gap:4px;
}
.odhq-live .od-scorebug-counts>span{
  min-width:45px;
  padding:5px 7px;
  border-radius:9px;
  background:rgba(255,255,255,.08);
  text-align:center;
}
.odhq-live .od-scorebug-counts small{
  display:block;
  color:#aebbd1;
  font-size:8px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.odhq-live .od-scorebug-counts b{
  display:block;
  margin-top:1px;
  color:#fff;
  font-size:14px;
  line-height:1.05;
}
.odhq-live .od-scorebug-access{
  padding:6px 8px;
  white-space:nowrap;
  font-size:10px;
}
.odhq-live .od-live-tools-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.odhq-live .od-live-tools-row .od-pitcher-ticker{
  flex:1 1 280px;
  padding:8px 11px;
}
.odhq-live .od-live-tools-row .od-lifecycle-toolbar{
  flex:0 1 auto;
  margin:0;
}
.odhq-live .od-live-tools-row .od-lifecycle-toolbar .od-action{
  min-height:40px;
  padding:7px 10px;
}

@media(max-width:900px){
  .odhq-live .od-scorebug-row{
    grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);
    gap:8px 10px;
  }
  .odhq-live .od-scorebug-counts{
    grid-column:2 / 4;
    justify-content:center;
  }
  .odhq-live .od-scorebug-access{
    grid-column:4;
    justify-self:end;
  }
}
@media(max-width:620px){
  .odhq-live .od-scorebug{
    padding:9px 10px;
  }
  .odhq-live .od-scorebug-row{
    grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);
    min-height:0;
    gap:7px 8px;
  }
  .odhq-live .od-scorebug .od-live-badge{
    grid-column:1;
  }
  .odhq-live .od-scorebug-team{
    grid-row:2;
  }
  .odhq-live .od-scorebug-team:first-of-type{
    grid-column:1 / 3;
  }
  .odhq-live .od-scorebug-inning{
    grid-column:3;
    grid-row:2;
    min-width:52px;
  }
  .odhq-live .od-scorebug-team-right{
    grid-column:4;
    grid-row:2;
  }
  .odhq-live .od-scorebug-team-line strong{
    font-size:26px;
  }
  .odhq-live .od-scorebug-name{
    font-size:11px;
  }
  .odhq-live .od-scorebug-counts{
    grid-column:1 / 4;
    grid-row:3;
    justify-content:flex-start;
  }
  .odhq-live .od-scorebug-counts>span{
    min-width:42px;
    padding:4px 6px;
  }
  .odhq-live .od-scorebug-access{
    grid-column:4;
    grid-row:3;
    align-self:center;
  }
  .odhq-live .od-live-tools-row{
    align-items:stretch;
  }
  .odhq-live .od-live-tools-row .od-pitcher-ticker,
  .odhq-live .od-live-tools-row .od-lifecycle-toolbar{
    flex:1 1 100%;
  }
}

/* v6.22.8: remove redundant pitch-count strip and move lifecycle controls into a compact left rail */
.odhq-live .od-main{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-width:0;
}
.odhq-live .od-main.is-readonly{
  grid-template-columns:minmax(0,1fr);
}
.odhq-live .od-game-actions-rail{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-content:start;
  min-width:0;
}
.odhq-live .od-game-actions-rail .od-action{
  width:100%;
  min-height:46px;
  padding:10px 12px;
  text-align:left;
  line-height:1.15;
}
.odhq-live .od-game-actions-rail .od-finalize-control{
  margin-top:10px;
}
.odhq-live .od-scoring-card{
  min-width:0;
}
/* Retire the old horizontal tools row/ticker if stale markup is ever present. */
.odhq-live .od-live-tools-row,
.odhq-live .od-pitcher-ticker{
  display:none!important;
}
@media(max-width:760px){
  .odhq-live .od-main{
    grid-template-columns:minmax(0,1fr);
  }
  .odhq-live .od-game-actions-rail{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .odhq-live .od-game-actions-rail .od-action{
    text-align:center;
  }
  .odhq-live .od-game-actions-rail .od-finalize-control{
    margin-top:0;
  }
}
@media(max-width:430px){
  .odhq-live .od-game-actions-rail{
    gap:7px;
  }
  .odhq-live .od-game-actions-rail .od-action{
    min-height:44px;
    padding:9px 8px;
    font-size:13px;
  }
}

/* v6.23.0: true three-column scoring workspace. Controls occupy the dedicated
   left rail, the scoring card stays in the center, and the batting lineup stays
   aligned at the top of the right column. No standalone pitch-count strip. */
.odhq-live .od-shell{
  display:grid;
  grid-template-columns:170px minmax(0,1fr) 310px;
  gap:14px;
  align-items:start;
  min-width:0;
}
.odhq-live .od-scorebug{grid-column:1 / -1;grid-row:1}
.odhq-live .od-game-actions-rail{
  grid-column:1;
  grid-row:2;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-content:start;
  align-self:start;
  min-width:0;
}
.odhq-live .od-game-actions-rail .od-action{
  width:100%;
  min-height:46px;
  padding:10px 12px;
  text-align:left;
  line-height:1.15;
}
.odhq-live .od-game-actions-rail .od-finalize-control{margin-top:0}
.odhq-live .od-scoring-card{grid-column:2;grid-row:2;min-width:0}
.odhq-live .od-side{grid-column:3;grid-row:2;min-width:0}
.odhq-live .od-shell.is-readonly{grid-template-columns:minmax(0,1fr) 310px}
.odhq-live .od-shell.is-readonly .od-scoring-card{grid-column:1}
.odhq-live .od-shell.is-readonly .od-side{grid-column:2}
/* Hard retirement of every legacy standalone pitch ticker/tool row. */
.odhq-live .od-live-tools-row,
.odhq-live .od-pitcher-ticker{display:none!important}
@media(max-width:1050px) and (min-width:901px){
  .odhq-live .od-shell{grid-template-columns:150px minmax(0,1fr) 285px;gap:12px}
  .odhq-live .od-game-actions-rail .od-action{padding:9px 10px;font-size:13px}
}
@media(max-width:900px){
  .odhq-live .od-shell,
  .odhq-live .od-shell.is-readonly{grid-template-columns:minmax(0,1fr)}
  .odhq-live .od-scorebug{grid-column:1;grid-row:auto}
  .odhq-live .od-game-actions-rail{grid-column:1;grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
  .odhq-live .od-game-actions-rail .od-action{text-align:center}
  .odhq-live .od-scoring-card,
  .odhq-live .od-shell.is-readonly .od-scoring-card{grid-column:1;grid-row:auto}
  .odhq-live .od-side,
  .odhq-live .od-shell.is-readonly .od-side{grid-column:1;grid-row:auto;grid-template-columns:1fr}
}
@media(max-width:430px){
  .odhq-live .od-game-actions-rail{gap:7px}
  .odhq-live .od-game-actions-rail .od-action{min-height:44px;padding:9px 8px;font-size:13px}
}


/* v6.23.1: move the four common pitch actions into the unused at-bat white space.
   This keeps the result area flatter and gets more live-game information above the fold. */
.odhq-live .od-bases-wrap{
  grid-template-columns:240px minmax(0,1fr) 176px;
  gap:16px;
  align-items:center;
}
.odhq-live .od-pitch-rail{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  align-self:stretch;
  align-content:center;
  min-width:0;
  padding-left:4px;
}
.odhq-live .od-pitch-rail .od-section-title{
  margin-bottom:1px;
}
.odhq-live .od-pitch-rail .od-action{
  min-height:40px;
  padding:7px 9px;
  white-space:normal;
  line-height:1.08;
}
.odhq-live .od-results-only{
  padding-top:13px;
}
@media(max-width:1180px) and (min-width:901px){
  .odhq-live .od-bases-wrap{
    grid-template-columns:220px minmax(0,1fr) 158px;
    gap:12px;
  }
  .odhq-live .od-diamond{
    transform:scale(.92);
    transform-origin:center;
  }
  .odhq-live .od-pitch-rail .od-action{
    font-size:12px;
  }
}
@media(max-width:900px){
  .odhq-live .od-bases-wrap{
    grid-template-columns:240px minmax(0,1fr) 170px;
    gap:14px;
  }
}
@media(max-width:700px){
  .odhq-live .od-bases-wrap{
    grid-template-columns:1fr;
  }
  .odhq-live .od-pitch-rail{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding-left:0;
    margin-top:2px;
  }
  .odhq-live .od-pitch-rail .od-section-title{
    grid-column:1 / -1;
  }
  .odhq-live .od-pitch-rail .od-action{
    min-height:44px;
    font-size:14px;
  }
}

/* v6.23.2: use the full dead-space column inside the live at-bat for pitch actions.
   HBP lives with the pitch actions because it is initiated by a pitch, while still
   resolving through the normal plate-appearance workflow. */
.odhq-live .od-atbat{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:20px;
  align-items:stretch;
  padding:16px;
}
.odhq-live .od-atbat-main{min-width:0}
.odhq-live .od-atbat-main .od-bases-wrap{
  grid-template-columns:260px minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin-top:16px;
}
.odhq-live .od-atbat > .od-pitch-rail{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-content:center;
  align-self:stretch;
  min-width:0;
  padding:4px 0 4px 18px;
  border-left:1px solid var(--line);
}
.odhq-live .od-atbat > .od-pitch-rail .od-section-title{margin:0 0 2px}
.odhq-live .od-atbat > .od-pitch-rail .od-action{
  width:100%;
  min-height:48px;
  padding:9px 10px;
  line-height:1.08;
  white-space:normal;
}
.odhq-live .od-atbat > .od-pitch-rail .od-hbp-action{
  margin-top:3px;
  background:var(--soft);
}
@media(max-width:1180px) and (min-width:901px){
  .odhq-live .od-atbat{grid-template-columns:minmax(0,1fr) 180px;gap:14px}
  .odhq-live .od-atbat-main .od-bases-wrap{grid-template-columns:220px minmax(0,1fr);gap:12px}
  .odhq-live .od-atbat > .od-pitch-rail{padding-left:14px}
  .odhq-live .od-atbat > .od-pitch-rail .od-action{font-size:12px;min-height:44px}
}
@media(max-width:900px){
  .odhq-live .od-atbat{grid-template-columns:minmax(0,1fr) 180px;gap:14px}
  .odhq-live .od-atbat-main .od-bases-wrap{grid-template-columns:240px minmax(0,1fr);gap:14px}
}
@media(max-width:700px){
  .odhq-live .od-atbat{grid-template-columns:1fr;gap:12px}
  .odhq-live .od-atbat-main .od-bases-wrap{grid-template-columns:1fr}
  .odhq-live .od-atbat > .od-pitch-rail{
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-left:0;
    border-top:1px solid var(--line);
    padding:12px 0 0;
    margin-top:0;
  }
  .odhq-live .od-atbat > .od-pitch-rail .od-section-title{grid-column:1/-1}
  .odhq-live .od-atbat > .od-pitch-rail .od-hbp-action{margin-top:0}
}

/* v6.23.3: keep the compact score bug over the active scoring workspace only.
   It no longer stretches across the right-hand lineup/sidebar column. */
@media(min-width:901px){
  .odhq-live .od-scorebug{
    grid-column:1 / 3;
    grid-row:1;
  }
}


/* v6.23.4: center the compact score bug over the scoring/play-by-play column,
   lock the inning to the true visual center, and keep left/right zones balanced. */
@media(min-width:901px){
  .odhq-live .od-scorebug{
    grid-column:2;
    grid-row:1;
    width:100%;
    justify-self:stretch;
  }
  .odhq-live .od-scorebug-row{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:14px;
  }
  .odhq-live .od-scorebug-zone{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .odhq-live .od-scorebug-zone-left{justify-content:flex-start}
  .odhq-live .od-scorebug-zone-right{justify-content:flex-end}
  .odhq-live .od-scorebug-zone .od-scorebug-team{min-width:0;flex:1 1 auto}
  .odhq-live .od-scorebug-zone-right .od-scorebug-team{flex:0 1 190px}
  .odhq-live .od-scorebug-inning{
    min-width:92px;
    justify-self:center;
  }
}

.odhq-live .od-correction-batter{
  display:grid;
  gap:6px;
  margin-top:14px;
}
.odhq-live .od-correction-batter small{
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}

@media(max-width:900px){
  .odhq-live .od-scorebug-zone{
    display:contents;
  }
}

/* v6.23.5: balanced compact score bug. The scorer/version badge is removed.
   Symmetric outer tracks + equal team tracks keep the inning at the true center,
   while B-S / Outs / PA pitches stay grouped at the right edge. */
.odhq-live .od-scorebug-access{display:none!important}
@media(min-width:901px){
  .odhq-live .od-scorebug{
    grid-column:2;
    grid-row:1;
    width:100%;
    justify-self:stretch;
  }
  .odhq-live .od-scorebug-row{
    grid-template-columns:150px minmax(0,1fr) 96px minmax(0,1fr) 150px;
    gap:10px;
    align-items:center;
  }
  .odhq-live .od-scorebug-edge{
    min-width:0;
    display:flex;
    align-items:center;
  }
  .odhq-live .od-scorebug-edge-left{
    justify-content:flex-start;
    gap:8px;
  }
  .odhq-live .od-scorebug-edge-right{
    justify-content:flex-end;
  }
  .odhq-live .od-scorebug-team-left,
  .odhq-live .od-scorebug-team-right{
    min-width:0;
    width:auto;
    flex:none;
  }
  .odhq-live .od-scorebug-team-left{text-align:left}
  .odhq-live .od-scorebug-team-right{text-align:right}
  .odhq-live .od-scorebug-inning{
    width:96px;
    min-width:96px;
    justify-self:center;
  }
  .odhq-live .od-scorebug-counts{
    width:100%;
    justify-content:flex-end;
  }
  .odhq-live .od-scorebug-counts>span{
    flex:1 1 0;
    min-width:0;
    padding-left:5px;
    padding-right:5px;
  }
  .odhq-live .od-scorebug-viewonly{
    padding:4px 6px;
    white-space:nowrap;
    font-size:9px;
  }
}
@media(max-width:1180px) and (min-width:901px){
  .odhq-live .od-scorebug-row{
    grid-template-columns:126px minmax(0,1fr) 76px minmax(0,1fr) 126px;
    gap:8px;
  }
  .odhq-live .od-scorebug-inning{width:76px;min-width:76px}
  .odhq-live .od-scorebug-name{font-size:12px}
  .odhq-live .od-scorebug-team-line strong{font-size:27px}
  .odhq-live .od-scorebug-counts{gap:3px}
  .odhq-live .od-scorebug-counts>span{padding:4px 3px}
  .odhq-live .od-scorebug .od-live-badge{font-size:12px}
}
@media(max-width:900px){
  .odhq-live .od-scorebug-row{
    grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:7px 9px;
    min-height:0;
  }
  .odhq-live .od-scorebug-edge-left{
    grid-column:1;
    grid-row:1;
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
  }
  .odhq-live .od-scorebug-edge-right{
    grid-column:2 / 4;
    grid-row:1;
    display:flex;
    justify-content:flex-end;
    min-width:0;
  }
  .odhq-live .od-scorebug-team-left{
    grid-column:1;
    grid-row:2;
    min-width:0;
  }
  .odhq-live .od-scorebug-inning{
    grid-column:2;
    grid-row:2;
    width:72px;
    min-width:72px;
    justify-self:center;
  }
  .odhq-live .od-scorebug-team-right{
    grid-column:3;
    grid-row:2;
    min-width:0;
  }
  .odhq-live .od-scorebug-counts{
    grid-column:auto;
    width:auto;
    justify-content:flex-end;
  }
  .odhq-live .od-scorebug-viewonly{font-size:9px;white-space:nowrap}
}
@media(max-width:430px){
  .odhq-live .od-scorebug-row{grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);gap:6px}
  .odhq-live .od-scorebug-inning{width:60px;min-width:60px}
  .odhq-live .od-scorebug-counts>span{min-width:38px;padding:4px}
  .odhq-live .od-scorebug-name{font-size:10px}
  .odhq-live .od-scorebug-team-line strong{font-size:24px}
}

/* v6.23.6: scorebug space rebalance.
   The inning owns the true center track. Each side gets exactly half of the
   remaining width; LIVE is intentionally compact so the away team can use the
   otherwise-dead left space, while the right B-S / Outs / PA P group keeps its
   existing footprint. */
@media(min-width:901px){
  .odhq-live .od-scorebug-row{
    grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);
    gap:10px;
  }
  .odhq-live .od-scorebug-half{
    min-width:0;
    display:flex;
    align-items:center;
  }
  .odhq-live .od-scorebug-half-left{
    justify-content:flex-start;
    gap:10px;
  }
  .odhq-live .od-scorebug-half-right{
    justify-content:flex-end;
    gap:10px;
  }
  .odhq-live .od-scorebug-edge-left{
    flex:0 0 auto;
    width:auto;
    max-width:86px;
    gap:5px;
  }
  .odhq-live .od-scorebug .od-live-badge{
    padding-left:0;
    padding-right:0;
    font-size:12px;
    letter-spacing:.03em;
  }
  .odhq-live .od-scorebug-team-left{
    flex:1 1 auto;
    min-width:0;
    max-width:none;
  }
  .odhq-live .od-scorebug-team-right{
    flex:1 1 auto;
    min-width:0;
    max-width:none;
  }
  .odhq-live .od-scorebug-edge-right{
    flex:0 0 150px;
    width:150px;
  }
  .odhq-live .od-scorebug-inning{
    grid-column:2;
    width:96px;
    min-width:96px;
    justify-self:center;
  }
  .odhq-live .od-scorebug-name{
    max-width:none;
  }
}
@media(max-width:1180px) and (min-width:901px){
  .odhq-live .od-scorebug-row{
    grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);
    gap:8px;
  }
  .odhq-live .od-scorebug-inning{
    width:76px;
    min-width:76px;
  }
  .odhq-live .od-scorebug-edge-left{
    max-width:76px;
  }
  .odhq-live .od-scorebug-edge-right{
    flex-basis:126px;
    width:126px;
  }
}
@media(max-width:900px){
  .odhq-live .od-scorebug-half{
    display:contents;
  }
}

/* v6.23.7: clean four-part score bug.
   Visible structure: LIVE | away/team | inning + outs | home/opponent.
   A silent right balance track mirrors the compact LIVE track so the inning
   stays at the true center while both team sections remain exactly equal. */
.odhq-live .od-scorebug-counts{display:none!important}
.odhq-live .od-scorebug-balance{display:block;min-width:0}
@media(min-width:901px){
  .odhq-live .od-scorebug{
    grid-column:2;
    width:100%;
    padding:10px 14px;
  }
  .odhq-live .od-scorebug-row{
    display:grid;
    grid-template-columns:78px minmax(0,1fr) 108px minmax(0,1fr) 78px;
    gap:12px;
    align-items:center;
    min-height:68px;
  }
  .odhq-live .od-scorebug-edge-left{
    grid-column:1;
    min-width:0;
    max-width:none;
    width:auto;
    display:flex;
    align-items:center;
    justify-content:flex-start;
  }
  .odhq-live .od-scorebug .od-live-badge{
    padding:0;
    font-size:14px;
    line-height:1;
    font-weight:900;
    letter-spacing:.06em;
    white-space:nowrap;
  }
  .odhq-live .od-scorebug .od-live-badge .od-dot{
    width:10px;
    height:10px;
    margin-right:7px;
  }
  .odhq-live .od-scorebug-team-left{
    grid-column:2;
    min-width:0;
    width:100%;
    text-align:left;
  }
  .odhq-live .od-scorebug-inning{
    grid-column:3;
    width:108px;
    min-width:108px;
    justify-self:center;
    align-self:center;
  }
  .odhq-live .od-scorebug-team-right{
    grid-column:4;
    min-width:0;
    width:100%;
    text-align:right;
  }
  .odhq-live .od-scorebug-balance{
    grid-column:5;
    width:78px;
  }
  .odhq-live .od-scorebug-team-meta{
    margin-bottom:4px;
    gap:7px;
    font-size:10px;
    letter-spacing:.075em;
  }
  .odhq-live .od-scorebug-team-line{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-width:0;
  }
  .odhq-live .od-scorebug-team-right .od-scorebug-team-line{
    grid-template-columns:minmax(0,1fr) auto;
    justify-content:stretch;
  }
  .odhq-live .od-scorebug-name{
    min-width:0;
    max-width:none;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:clamp(14px,1.25vw,18px);
    line-height:1.12;
    font-weight:800;
  }
  .odhq-live .od-scorebug-team.is-batting .od-scorebug-name{font-weight:900}
  .odhq-live .od-scorebug-team-line strong{
    font-size:clamp(34px,3vw,44px);
    line-height:.92;
    letter-spacing:-.045em;
  }
  .odhq-live .od-scorebug-inning strong{
    font-size:20px;
    line-height:1.05;
    font-weight:900;
    white-space:nowrap;
  }
  .odhq-live .od-scorebug-inning span{
    margin-top:3px;
    font-size:12px;
    font-weight:800;
  }
}
@media(max-width:1180px) and (min-width:901px){
  .odhq-live .od-scorebug-row{
    grid-template-columns:66px minmax(0,1fr) 92px minmax(0,1fr) 66px;
    gap:9px;
  }
  .odhq-live .od-scorebug-balance{width:66px}
  .odhq-live .od-scorebug-inning{width:92px;min-width:92px}
  .odhq-live .od-scorebug .od-live-badge{font-size:12px}
  .odhq-live .od-scorebug-name{font-size:clamp(13px,1.35vw,16px)}
  .odhq-live .od-scorebug-team-line strong{font-size:clamp(31px,3.2vw,39px)}
  .odhq-live .od-scorebug-inning strong{font-size:18px}
}
@media(max-width:900px){
  .odhq-live .od-scorebug{
    padding:9px 10px;
  }
  .odhq-live .od-scorebug-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:6px 9px;
    min-height:0;
  }
  .odhq-live .od-scorebug-edge-left{
    grid-column:1 / 2;
    grid-row:1;
    max-width:none;
    width:auto;
    display:flex;
    align-items:center;
  }
  .odhq-live .od-scorebug .od-live-badge{
    padding:0;
    font-size:11px;
  }
  .odhq-live .od-scorebug-inning{
    grid-column:2;
    grid-row:1 / 3;
    width:76px;
    min-width:76px;
    align-self:center;
    justify-self:center;
  }
  .odhq-live .od-scorebug-team-left{
    grid-column:1;
    grid-row:2;
    min-width:0;
  }
  .odhq-live .od-scorebug-team-right{
    grid-column:3;
    grid-row:2;
    min-width:0;
  }
  .odhq-live .od-scorebug-balance{
    grid-column:3;
    grid-row:1;
    display:block;
  }
  .odhq-live .od-scorebug-name{
    font-size:clamp(11px,3vw,14px);
  }
  .odhq-live .od-scorebug-team-line strong{
    font-size:28px;
  }
  .odhq-live .od-scorebug-inning strong{font-size:16px}
  .odhq-live .od-scorebug-inning span{font-size:10px}
}
@media(max-width:430px){
  .odhq-live .od-scorebug-row{
    grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);
    gap:5px 7px;
  }
  .odhq-live .od-scorebug-inning{width:62px;min-width:62px}
  .odhq-live .od-scorebug-team-meta{font-size:8px;gap:4px}
  .odhq-live .od-scorebug-name{font-size:10px}
  .odhq-live .od-scorebug-team-line{gap:5px}
  .odhq-live .od-scorebug-team-line strong{font-size:24px}
  .odhq-live .od-scorebug .od-live-badge{font-size:10px}
}


/* v6.23.9: persistent regulation end-game prompt */
.odhq-live .od-endgame-summary{display:grid;gap:4px;padding:13px 14px;margin:10px 0 12px;border:1px solid #cfe2f7;border-radius:12px;background:#f2f7fd}.odhq-live .od-endgame-summary strong{font-size:18px;color:#102a54}.odhq-live .od-endgame-summary span{font-size:13px;line-height:1.4;color:#5f6f86}

/* v6.24.2 — live scorekeeping collapsible lists: obvious chevron, full header target, expanded by default */
.odhq-live details.od-collapsible-card.od-side-card{
  padding:0;
  overflow:hidden;
}
.odhq-live .od-collapsible-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-height:48px;
  padding:13px 14px;
  margin:0;
  cursor:pointer;
  user-select:none;
}
.odhq-live .od-collapsible-summary::-webkit-details-marker,
.odhq-live .od-box-details>summary::-webkit-details-marker{display:none}
.odhq-live .od-collapsible-summary::marker,
.odhq-live .od-box-details>summary::marker{content:''}
.odhq-live .od-collapsible-summary .od-section-title{margin-bottom:0}
.odhq-live .od-collapsible-summary-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.odhq-live .od-collapsible-body{padding:0 14px 14px}
.odhq-live .od-collapse-chevron{
  display:inline-block;
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  color:#667085;
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.odhq-live details:not([open])>.od-collapsible-summary .od-collapse-chevron{transform:rotate(225deg)}
.odhq-live .od-collapsible-summary:hover{background:#f8faff}
.odhq-live .od-collapsible-summary:focus-visible,
.odhq-live .od-box-details>summary:focus-visible{
  outline:3px solid rgba(30,99,255,.18);
  outline-offset:-3px;
}

/* Nested batting/pitching box-score sections use the same clear arrow language. */
.odhq-live .od-box-details>summary{
  list-style:none;
  justify-content:space-between;
  gap:10px;
  width:100%;
  user-select:none;
}
.odhq-live .od-box-details>summary::after{
  content:'';
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  color:#667085;
  transform:rotate(225deg);
  transition:transform .18s ease;
  margin-left:auto;
}
.odhq-live .od-box-details[open]>summary::after{transform:rotate(45deg)}

@media(max-width:620px){
  .odhq-live .od-collapsible-summary{padding:12px}
  .odhq-live .od-collapsible-body{padding:0 12px 12px}
}
