:root{--dg-bg:#eff8ff;--dg-card:#fff;--dg-text:#15324d;--dg-sub:#47647d;--dg-line:#c9dfef;--dg-soft:#e3f2ff;--dg-accent:#1267b1;--dg-on:#fff;--dg-gold:#f5c451;--dg-purple:#6b478f;--dg-danger:#b42336;--dg-radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--dg-text);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:#cadded;width:100%;height:100%;margin:0;overflow:hidden}body{height:100svh}#root{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}[hidden]{display:none!important}button{font:inherit;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .16s,opacity .16s,color .16s}button:active:not(:disabled){opacity:.72}button:disabled{cursor:default;opacity:.45}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--dg-gold);outline-offset:2px}h1,h2,h3,p{margin:0}h2{font-size:24px;font-weight:750;line-height:1.3}h3{font-size:17px;font-weight:700;line-height:1.4}small{font-size:14px}.muted{color:var(--dg-sub)}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.phone{background:var(--dg-bg);flex-direction:column;flex:1;width:100%;min-width:0;max-width:430px;height:100%;min-height:0;margin:0 auto;display:flex;overflow:hidden}@media (width>=600px){body{padding:24px 0}.phone{border:1px solid var(--dg-line);border-radius:28px;box-shadow:0 12px 32px #0a1f3112}}.phone>:not(main),.game-shell>header{flex-shrink:0}.phone>main,.phone>.game-shell>main{overscroll-behavior:none;touch-action:pan-y pinch-zoom;overflow-anchor:none;min-width:0;min-height:0;overflow:hidden auto}.phone>main>*,.game-shell>main>*{flex-shrink:0;min-width:0;max-width:100%}.app-header{padding:8px 16px;padding-top:max(8px, env(safe-area-inset-top));background:var(--dg-card);border-bottom:1px solid var(--dg-line);justify-content:space-between;align-items:center;gap:8px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:var(--dg-accent);width:38px;height:38px;color:var(--dg-on);border-radius:11px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 3px #0a2136}.brand strong{letter-spacing:-.6px;font-size:16px;display:block}.brand small{color:var(--dg-sub);font-size:14px;display:block}.icon-button{border:1px solid var(--dg-line);width:48px;min-height:48px;color:var(--dg-text);background:var(--dg-card);border-radius:14px;flex-shrink:0;place-items:center;display:grid}main{flex-direction:column;flex:1;display:flex}.screen{flex-direction:column;flex:1;gap:18px;padding:20px;display:flex}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.kicker{letter-spacing:1.5px;text-transform:uppercase;font-size:14px;font-weight:750}.tag{white-space:nowrap;color:var(--dg-accent);background:var(--dg-soft);border-radius:7px;align-items:center;gap:5px;padding:4px 8px;font-size:14px;font-weight:650;display:inline-flex}.dg-panel{background:var(--dg-card);border:1px solid var(--dg-line);border-radius:var(--dg-radius);padding:16px;box-shadow:0 3px #0f2b4409}.profile{color:#ebf2f8;background:linear-gradient(125deg,#146db3 0%,#2184bd 100%);border:0;padding:20px;position:relative;overflow:hidden}.profile:after{content:attr(data-number);color:#ffe6a02b;pointer-events:none;font-size:112px;font-weight:850;line-height:1;position:absolute;top:14px;right:10px;transform:rotate(-8deg)}.profile:before{content:"";pointer-events:none;border:2px solid #bbd3e830;width:180px;height:180px;position:absolute;top:-55px;right:-40px;transform:rotate(45deg)}.profile .tag{color:#c8dff3;background:#d5e6f41b}.player-name{letter-spacing:-1px;margin-top:12px;font-size:28px;font-weight:800}.player-name small{letter-spacing:0;font-size:14px;font-weight:600}.profile .player-meta{color:#b3cee6;margin-top:3px;font-size:14px}.profile-stats{z-index:1;border-top:1px solid #9abedd38;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;padding-top:14px;display:grid;position:relative}.profile-stats span{color:#b3cee6;font-size:14px;display:block}.profile-stats strong{font-size:22px;font-weight:700}.matchup{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:14px 0 12px;display:grid}.crest{background:var(--dg-soft);width:48px;height:48px;color:var(--dg-purple);border:2px solid;border-radius:14px 14px 22px 22px;place-items:center;margin:0 auto 6px;font-size:23px;font-weight:850;display:grid}.crest.opp{color:var(--dg-accent)}.team-name{font-size:14px;font-weight:700}.matchup small{color:var(--dg-sub);font-size:14px;display:block}.versus{color:var(--dg-sub);letter-spacing:1px;font-size:14px}.match-note{color:var(--dg-sub);border-top:1px solid var(--dg-line);justify-content:center;align-items:center;gap:7px;padding:10px 0;font-size:14px;display:flex}.primary{background:var(--dg-accent);width:100%;min-height:64px;color:var(--dg-on);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:17px;font-weight:750;display:flex;box-shadow:0 4px #0c253a}.secondary{border:1px solid var(--dg-line);background:var(--dg-card);min-height:48px;color:var(--dg-text);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:650}.ghost{min-height:48px;color:var(--dg-sub);background:0 0;border:0;border-radius:12px;padding:8px;font-size:14px}.danger{color:var(--dg-danger)}.actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.status-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.status-row>div{background:var(--dg-card);border:1px solid var(--dg-line);border-radius:14px;padding:12px 14px;font-size:14px}.status-row strong{margin-top:3px;font-size:15px;display:block}.list-row{border-bottom:1px solid var(--dg-line);justify-content:space-between;align-items:center;gap:10px;padding:12px 0;font-size:14px;display:flex}.list-row:last-child{border-bottom:0}.bottom-push{margin-top:auto}.segmented{gap:8px;display:flex}.segmented button{border:1px solid var(--dg-line);background:var(--dg-card);min-width:0;min-height:48px;color:var(--dg-text);border-radius:11px;flex:1;padding:8px 4px;font-size:14px}.segmented button[aria-pressed=true]{border-color:var(--dg-accent);background:var(--dg-soft);color:var(--dg-accent);font-weight:750}.game-screen{gap:0;padding:0;container-type:size}.scoreboard{color:#fff6de;background:#0e2a43;padding:6px 12px}.scoreboard .muted,.scoreboard .countline{color:#bed5e9}.scoreboard .inning{color:#fff6de;background:#ffffff0c;border-color:#2979bf}.scoreline{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.scoreline .club{font-size:14px;font-weight:650;line-height:1.3}.scoreline .club.mine{color:#ffe29a}.scoreline .score{letter-spacing:3px;white-space:nowrap;font-size:34px;font-weight:850}.team-score{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.team-score-card{color:#eef4f9;background:#10314d;border:1px solid #297cc4;border-radius:12px;min-width:0;padding:7px 8px}.team-score-card.mine{color:#0f2c46;background:#f8d47b;border-color:#ffecb7;box-shadow:inset 0 0 0 1px #ffecb7}.team-score-heading{justify-content:center;align-items:center;gap:5px;min-height:28px;display:flex}.team-score-label{white-space:nowrap;border:1px solid;border-radius:4px;flex-shrink:0;padding:1px 4px;font-size:10px;font-weight:700}.team-score-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.team-score-value{justify-content:center;align-items:center;gap:7px;min-height:40px;display:flex}.team-score-value strong{font-size:34px;font-weight:850;line-height:1.15}.score-unit{opacity:.8;font-size:12px}.score-gain{color:#0f2e49;background:#e8f0f8;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:800}.team-score-card.mine .score-gain{color:#fff4d5;background:#123452}.final-hero .team-score{margin:16px 0}.scoreboard .team-score{gap:8px}.scoreboard .team-score-card{border-radius:9px;padding:4px 6px}.scoreboard .team-score-heading{gap:4px;height:20px;min-height:20px}.scoreboard .team-score-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.scoreboard .team-score-value{gap:5px;height:28px;min-height:28px}.scoreboard .team-score-value strong{font-size:26px;line-height:28px}.scoreboard .score-gain,.scoreboard .score-unit{white-space:nowrap;height:14px;padding:0 3px;font-size:10px;line-height:14px}.my-team-row{background:#fff0c6}.team-venue-label{color:var(--dg-sub);white-space:nowrap;font-size:10px;font-weight:650}.linescore{table-layout:fixed;overflow-wrap:anywhere}.linescore td:first-child,.linescore th:first-child{white-space:normal;width:45px}.countline{color:var(--dg-sub);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:14px;display:flex}.inning{border:1px solid var(--dg-line);color:var(--dg-text);border-radius:6px;padding:3px 7px;font-size:14px;font-weight:750;display:inline-block}.game-countbar{color:#f5f5e9;border-bottom:2px solid var(--dg-gold);background:#091c2d;justify-content:space-between;align-items:center;gap:10px;padding:9px 16px;display:flex}.ball-count{flex-shrink:0;gap:12px;display:flex}.count-group,.count-lights{align-items:center;gap:4px;display:flex}.count-group b{margin-right:1px;font-size:14px;font-weight:850}.count-lights i{border:1px solid #74aee1;border-radius:50%;width:11px;height:11px}.count-b{--lamp:#7eb4e4}.count-s{--lamp:#ffe17f}.count-o{--lamp:#ff968a}.count-lights .on{background:var(--lamp);border-color:var(--lamp);box-shadow:0 0 4px color-mix(in srgb, var(--lamp) 30%, transparent)}.count-situation{flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;line-height:1.35;display:flex}.count-situation .inning{color:#fff6de;border:0;padding:0;font-size:13px}.field{color:#fff;touch-action:none;background:#2267a3;height:360px;position:relative;overflow:hidden}.field canvas{width:100%;height:100%;display:block}.pitch-field{height:320px}.field-hud{justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;top:8px;left:10px;right:10px}.field-label{letter-spacing:.3px;color:#fff;background:#0a1f31d9;border-radius:7px;min-width:0;padding:5px 9px;font-size:14px}.field-bottom{color:#fff;background:#0a1f31c9;border-radius:5px;padding:3px 7px;font-size:14px;display:block}.action-panel{padding:16px 20px 20px;padding-bottom:max(20px, env(safe-area-inset-bottom));background:var(--dg-bg);flex-direction:column;flex:1;gap:12px;display:flex}.phone>.game-shell>.game-screen{overflow:hidden}.game-shell>.game-screen>.game-view{overscroll-behavior:none;overflow-anchor:none;touch-action:pan-y pinch-zoom;flex:1 1 0;min-height:0;overflow:hidden auto}.game-view>.field{height:auto;min-height:max(330px,100%);padding-top:8px;padding-bottom:12px}.game-view>.field>canvas{position:absolute;inset:0}.game-view .field-hud{margin:0 10px;position:relative;top:auto;left:auto;right:auto}.game-view .play-result,.game-view .play-celebration{margin:8px 16px 0;position:relative;top:auto;left:auto;right:auto}.game-view>.field-scrollable{touch-action:pan-y pinch-zoom}.game-details{flex-direction:column;gap:12px;padding:12px 16px;display:flex}.game-details:empty{display:none}.game-screen>.action-panel{z-index:9;padding:10px 16px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--dg-line);flex:none;gap:8px;position:relative}.action-meta{justify-content:flex-end;height:8px}.game-screen .action-panel>.action-main{flex-shrink:0;height:72px;min-height:72px;margin:0}.action-panel>.segmented{height:48px}.pitch-options-slot{height:56px;position:relative}.pitch-options-slot>.pitch-options{z-index:10;max-height:min(380px,100svh - 400px);max-height:max(56px, min(380px, calc(100cqh - 160px - max(12px, env(safe-area-inset-bottom)))));overscroll-behavior:none;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.pitch-options-slot>.pitch-options[open]{box-shadow:0 -6px 20px #0a1f3130}.pitch-options-slot summary{min-height:54px;font-size:15px}.pitch-options-slot summary>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pitch-options-idle{border:1px solid var(--dg-line);height:56px;color:var(--dg-sub);border-radius:12px;align-items:center;padding:0 12px;font-size:12px;display:flex}.release-gauge{height:51px}.release-gauge.inactive{opacity:.5}.play-result{pointer-events:none;justify-content:center;display:flex;position:absolute;top:112px;left:16px;right:16px}.play-result strong{color:#fff;text-align:center;overflow-wrap:anywhere;background:#0a1f31e6;border-radius:9px;max-width:100%;padding:8px 16px;font-size:20px;font-weight:700;line-height:1.4}.action-hint{text-align:center;color:var(--dg-sub);min-height:21px;font-size:14px}.action-main{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-height:72px;font-size:21px}.action-main.armed{box-shadow:0 0 0 3px var(--dg-gold) inset;background:#153e61}.budget-dots{align-items:center;gap:5px;display:flex}.budget-dots i{background:var(--dg-line);border:1px solid var(--dg-sub);border-radius:50%;width:8px;height:8px}.budget-dots i.filled{background:var(--dg-accent);border-color:var(--dg-accent)}.pitch-layout{justify-content:space-between;align-items:center;gap:16px;display:flex}.zone-grid{background:var(--dg-soft);border-radius:12px;flex-shrink:0;grid-template-columns:repeat(3,48px);gap:8px;padding:4px;display:grid}.zone-grid button{border:1px solid var(--dg-line);background:var(--dg-card);width:48px;min-height:48px;color:var(--dg-sub);border-radius:5px;padding:0;font-size:14px}.zone-grid button[aria-pressed=true]{background:var(--dg-accent);color:var(--dg-on);border-color:var(--dg-accent)}.zone-grid button.recommended:not([aria-pressed=true]){border:2px dashed var(--dg-accent);color:var(--dg-accent)}.pitch-info{color:var(--dg-sub);flex:1;min-width:0;font-size:14px}.pitch-info strong{color:var(--dg-text);margin:6px 0 4px;font-size:16px;display:block}.pitch-info{word-break:keep-all;overflow-wrap:anywhere}.pitch-chase-label{white-space:nowrap;display:block}.pitch-info-player{flex-wrap:wrap;gap:0 5px;display:flex}.pitch-info-player>span:last-child{white-space:nowrap}.toggle{align-items:center;gap:8px;min-height:48px;font-size:14px;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--dg-accent)}.release-track{background:var(--dg-soft);border:1px solid var(--dg-line);border-radius:12px;height:24px;position:relative;overflow:hidden}.release-valid{background:repeating-linear-gradient(90deg,#153f6433 0 4px,#153f641a 4px 8px);position:absolute;top:0;bottom:0}.release-target{background:var(--dg-accent);opacity:.7;border-left:2px solid var(--dg-text);border-right:2px solid var(--dg-text);position:absolute;top:0;bottom:0}.release-marker{background:var(--dg-text);border-radius:4px;width:5px;margin-left:-2px;position:absolute;top:2px;bottom:2px;left:0;box-shadow:0 0 0 1px #fff}.result-inline{background:var(--dg-card);border:1px solid var(--dg-line);border-radius:14px;padding:14px;font-size:15px}.result-inline strong{color:var(--dg-accent);margin-bottom:4px;font-size:21px;display:block}.result-inline small{color:var(--dg-sub);margin-top:6px;display:block}.play-celebration{--celebration:#acd8ff;border-block:2px solid var(--celebration);text-align:center;pointer-events:none;background:linear-gradient(100deg,#081b2ceb,#113452f5,#081b2ceb);flex-direction:column;align-items:center;padding:12px 10px;animation:.42s cubic-bezier(.16,1,.3,1) both result-arrive;display:flex;position:absolute;top:112px;left:16px;right:16px;box-shadow:0 8px 26px #071d2555}.celebration-homer{--celebration:#ffe294;background:linear-gradient(100deg,#3f2a12ed,#70501af5,#3f2a12ed)}.celebration-strikeout{--celebration:#b8eaff;background:linear-gradient(100deg,#102b47ed,#174963f5,#102b47ed)}.celebration-eyebrow{letter-spacing:3px;color:var(--celebration);font-size:11px;font-weight:850}.play-celebration strong{letter-spacing:-1px;color:#fff;text-shadow:0 3px #0005;margin:2px 0 5px;font-size:clamp(32px,9vw,43px);font-weight:950;line-height:1.2}.celebration-homer strong{color:#fff1be}.celebration-detail{color:#fff;font-size:15px;font-weight:750}.celebration-score{color:var(--celebration);letter-spacing:1px;align-items:center;gap:9px;margin-top:7px;font-size:10px;display:flex}.celebration-score b{color:#fff;letter-spacing:2px;font-size:19px}.result-positive{background:#f1f6fa;border:1px solid #6daae0;border-left:4px solid #1b5180}.result-homer{background:#fff8e5;border-color:#d5b56a #d5b56a #d5b56a #99701a}.result-strikeout{background:#eff8ff;border-color:#9bc4db #9bc4db #9bc4db #276489}.result-reward{color:#123553;flex-wrap:wrap;align-items:baseline;gap:5px 10px;margin-bottom:8px;font-size:25px;font-weight:850;display:flex}.result-reward span{font-size:14px;font-weight:650}.result-positive>strong{font-size:16px}@keyframes result-arrive{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:none}}.play-celebration.motion-reduced{animation:none}@media (prefers-reduced-motion:reduce){.play-celebration{animation:none}}.intermission{color:var(--dg-sub);background:var(--dg-card);border:1px solid var(--dg-line);border-radius:12px;padding:10px 12px;font-size:14px}.intermission ul{margin:4px 0 0;padding-left:18px}details{border-top:1px solid var(--dg-line);padding-top:4px}.details-body{flex-direction:column;gap:8px;padding-bottom:8px;display:flex}summary{min-height:48px;color:var(--dg-sub);cursor:pointer;justify-content:space-between;align-items:center;font-size:14px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}details .actions{margin:0}.notice{background:var(--dg-soft);color:var(--dg-text);border-radius:12px;padding:12px 16px;font-size:14px}.notice.error{color:var(--dg-danger);background:#fbe9eb}.notice .row{margin-top:8px}.overlay{z-index:10;background:#071522b3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.overlay .dg-panel{flex-direction:column;gap:10px;width:100%;max-width:360px;display:flex}.result-hero{text-align:center;background:linear-gradient(135deg,#e0ebf5,#f8e9bc);border:1px solid #dfd7b6;border-radius:18px;padding:22px 12px}.result-hero .tag{margin-bottom:12px}.win-score{letter-spacing:4px;margin:10px 0 4px;font-size:46px;font-weight:800;line-height:1.3}.result-hero p{color:var(--dg-sub);font-size:14px}.result-stats{text-align:center;border-top:1px solid var(--dg-line);grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding-top:12px;display:grid}.result-stats span{color:var(--dg-sub);font-size:14px;display:block}.result-stats b{margin-top:2px;font-size:21px;display:block}.linescore{border-collapse:collapse;text-align:center;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.linescore th,.linescore td{border-bottom:1px solid var(--dg-line);padding:6px 2px}.linescore th{color:var(--dg-sub);font-weight:500}.linescore td:first-child,.linescore th:first-child{text-align:left;white-space:normal}.linescore .total{font-weight:800}@media (width<=360px){.screen{gap:16px;padding:16px}.scoreboard,.action-panel{padding-left:16px;padding-right:16px}.pitch-layout{gap:10px}.game-screen{gap:0;padding:0}.field{height:330px}.pitch-field{height:300px}.field-label{padding:5px 7px}}@media (prefers-reduced-motion:reduce){button{transition:none}}.pitch-options{border:1px solid var(--dg-line);background:var(--dg-card);border-radius:12px;padding:0 12px}.pitch-options summary{color:var(--dg-text);gap:10px}.pitch-options summary span:last-child{color:var(--dg-accent);flex-shrink:0;font-weight:700}.pitch-options .segmented{margin-bottom:12px}.pitch-options .pitch-layout{margin-top:8px}.keyboard-hint{color:var(--dg-sub);flex-wrap:wrap;justify-content:center;gap:4px 8px;font-size:12px;line-height:1.5;display:flex}.keyboard-hint kbd{border:1px solid var(--dg-line);font:inherit;color:var(--dg-text);border-radius:4px;padding:0 5px}.runner-status{color:#f5f5e9;background:#0e2a43;align-items:center;gap:10px;padding:7px 16px;display:flex}.base-diamond{flex:0 0 56px;width:56px;height:46px;overflow:visible}.base-path{fill:none;stroke:#2c82ce;stroke-width:1.3px}.base-bag{fill:#0e2a43;stroke:#accae3;stroke-width:1.3px}.base-bag.occupied{fill:#ffe17f;stroke:#ffe17f}.base-bag.my-runner{stroke:#fff;stroke-width:3px}.base-diamond text{fill:#d0e1f0;text-anchor:middle;font-size:9px;font-weight:800}.base-diamond text.occupied-number{fill:#0e2a42}.home-bag{fill:#a5c5e1}.runner-status-copy{flex:1;min-width:0}.runner-status-heading{color:#c0d6ea;flex-wrap:wrap;gap:4px 8px;font-size:11px;display:flex}.runner-status-heading strong{color:#ffe17f;font-size:13px}.runner-names{flex-wrap:wrap;gap:3px 10px;margin-top:3px;display:flex}.runner-names>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.runner-names b{color:#ffe17f}.runner-names em{color:#0e2a43;background:#ffe17f;border-radius:3px;margin-left:3px;padding:1px 3px;font-size:9px;font-style:normal}.play-context{color:#123757;background:#f4edda;margin:0;padding:7px 16px;font-size:12px;font-weight:700}.result-next{border-top:1px solid #c3d8eb;margin-top:5px;padding-top:7px;font-weight:650}.game-transition{z-index:8;background:#091c2ddc;place-items:center;padding:22px;display:grid;position:absolute;inset:0}.game-progress{color:inherit;align-items:center;gap:16px;display:flex}.game-progress p{margin:5px 0 0;font-size:13px;line-height:1.5}.progress-basepath{opacity:.9;flex:0 0 48px;width:48px;height:48px}.progress-basebag{fill:currentColor;animation:1.2s ease-in-out infinite base-progress}@keyframes base-progress{0%,to{opacity:.3}40%{opacity:1}}.game-progress.motion-reduced .progress-basebag{animation:none}@media (prefers-reduced-motion:reduce){.progress-basebag{animation:none}}.final-hero.final-win{background:linear-gradient(135deg,#e2ecf5,#f8e7ad);border-color:#d5bd72}.final-hero.final-loss{border-color:var(--dg-line);background:linear-gradient(135deg,#e0ebf5,#f4f2e9)}.final-performance{color:var(--dg-accent);margin-top:14px;font-size:16px;display:block}.final-play-log{border-top:1px solid var(--dg-line);margin-top:12px;padding-top:12px}.final-play-log summary{cursor:pointer;color:var(--dg-sub);padding:4px 0;font-size:14px}.final-play-log-list{overscroll-behavior:contain;max-height:240px;overflow-y:auto}.final-play-log-list .list-row{align-items:start;gap:10px;font-size:13px}.final-play-log-list .list-row strong{text-align:right}.field-caption{flex-direction:column;flex:1;align-items:flex-start;gap:6px;min-width:0;display:flex}.field-caption .field-label{font-size:12px;line-height:1.5}.field-caption .field-label,.field-caption .field-bottom{word-break:keep-all;overflow-wrap:anywhere}.field-inning{color:#ffe4a3;font-size:11px;font-weight:750;display:block}.field-caption .field-bottom{overflow-wrap:anywhere;font-size:11px;line-height:1.5}.field-status-panel{background:#091b2aed;border:1px solid #bed5ea55;border-radius:10px;flex:0 0 138px;padding:9px;position:relative;box-shadow:0 3px 12px #071c252e}.field-status-panel .ball-count{flex-direction:column;gap:5px;position:absolute;top:10px;right:9px}.field-status-panel .count-group{gap:5px}.field-status-panel .count-group b{width:10px;font-size:11px}.field-status-panel .count-lights{gap:3px}.field-status-panel .count-lights i{width:8px;height:8px}.field-status-panel .runner-status{background:0 0;flex-direction:column;align-items:stretch;gap:5px;padding:0;display:flex}.field-status-panel .base-diamond{flex:0 0 50px;width:50px;height:50px}.field-status-panel .runner-status-copy{border-top:1px solid #bed5ea33;padding-top:5px}.field-status-panel .runner-status-heading{gap:2px 5px;font-size:10px;line-height:1.4;display:flex}.field-status-panel .runner-status-heading strong{font-size:11px}.field-status-panel .runner-names{flex-direction:column;gap:2px;margin-top:4px;display:flex}.field-status-panel .runner-names>span{font-size:10px;line-height:1.4}@media (width<=360px){.field-hud{gap:6px;left:8px;right:8px}.field-status-panel{flex-basis:130px;padding:7px}.field-status-panel .ball-count{top:8px;right:7px}}.celebration-scoreboard{width:min(260px,100%);margin-top:8px}.celebration-play{margin:3px 0;font-size:13px;font-weight:650;line-height:1.4}.celebration-scoreboard .team-score-card{border-radius:8px;padding:4px 8px}.celebration-scoreboard .team-score-heading{gap:4px;min-height:30px;line-height:1.3}.celebration-scoreboard .team-score-name{font-size:11px}.celebration-scoreboard .team-score-value{min-height:30px}.celebration-scoreboard .team-score-value strong{color:inherit;text-shadow:none;margin:0;font-size:24px;line-height:1}.celebration-scoreboard .score-gain{font-size:10px}.linescore+.linescore{margin-top:12px}.linescore th:nth-last-child(-n+2),.linescore td:nth-last-child(-n+2){white-space:nowrap;width:26px}@media (width<=360px){.linescore{font-size:11px}}.pitch-confirm{z-index:1;box-shadow:0 -4px 8px var(--dg-card);background:var(--dg-accent);width:100%;min-height:52px;color:var(--dg-on);border:0;border-radius:10px;margin:0 0 12px;font-size:16px;font-weight:700;position:sticky;bottom:0}.pitch-result-info{text-align:center;min-height:24px;color:var(--dg-sub);font-size:14px;line-height:24px}.linescore-team{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.brand>div{min-width:0}.brand .service-title{word-break:keep-all;overflow-wrap:normal;font-size:clamp(12px,3.4vw,16px);line-height:1.35;display:block}.brand-mark>img{border-radius:8px;display:block}.plate-intro{z-index:8;color:#163e60;text-align:center;background:#eaf6fff2;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.plate-intro>span{color:#1267b1;letter-spacing:2px;font-size:13px;font-weight:800}.plate-intro h2{font-size:27px}.plate-intro p{font-size:14px}.plate-intro small{color:#47647d;font-size:13px}.plate-intro .previous-plate{border-top:1px solid #b5d3e9;margin-top:4px;padding-top:12px}.plate-ended{color:#155388;background:#dceeff;border-left:4px solid #247abb;padding:12px;font-weight:750}.game-transition{color:#f4faff}.final-highlight{color:#145c91;justify-content:center;align-items:center;gap:7px;font-size:13px;line-height:1.6;display:flex}.final-highlight svg{flex-shrink:0}
