/* Night-game art direction. World motion stays behind stationary controls. */
#cameraRig:has(#startScreen:not([style*="none"])){min-height:calc(100dvh - 90px)}
#startScreen{min-height:calc(100dvh - 110px);box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;width:100%;background:linear-gradient(#071f3277,#071f3299);gap:16px}
#startScreen h1{font-family:'Bungee',sans-serif;font-size:clamp(32px,7vw,52px);line-height:1.15;color:#f5e7bd;margin:0}
.opening-emblem{width:90px;height:90px;border:1px solid #d8dfac88;border-radius:50%;display:grid;place-items:center;background:#163940bb;font-size:48px;box-shadow:0 0 0 12px #c9dba111,0 0 60px #e5e8a333}
.opening-kicker{color:#d9e9b2;letter-spacing:3px;font-size:10px}
#startScreen .opening-rules{margin:0;color:#f3ebd4}
#loadingLabel{font-size:12px!important;letter-spacing:1px}
#vsIntro{min-height:calc(100dvh - 90px);box-sizing:border-box;justify-content:center;gap:26px;background:linear-gradient(#082735aa,#082735ee);backdrop-filter:blur(3px)}
#vsIntro .vs-team{font-size:13px;letter-spacing:4px;font-style:normal;color:#d6e7bd}
#vsIntro .vs-team small{margin-top:10px;font-size:9px;color:#c7d6ce}
#vsIntro .vs-text{font-size:56px;line-height:1.05;transform:none;color:#f7ebcb;-webkit-text-stroke:0;text-shadow:0 5px 0 #526b57}
#vsIntro .vs-rays{background:none;border:1px solid #deedaa55;box-shadow:0 0 0 15px #d8e9b011;transform:rotate(45deg);border-radius:25px}
#vsIntro .vs-roster{display:none}
#cameraRig:has(#vsIntro.show) #startScreen{visibility:hidden}
#vsIntro .vs-skip{padding:13px 20px;border:1px solid #d0e7a9;border-radius:6px;background:#daecad;color:#18382f;font:700 13px inherit;cursor:pointer}
#stampOverlay{inset:auto 20px 175px;height:92px;justify-content:center;overflow:hidden;border-radius:8px;background:#123d35f2;border:1px solid #e1efac;box-shadow:0 8px 26px #001a2c66;transform:translateY(8px);transition:opacity .15s,transform .15s}
#stampOverlay.show{transform:translateY(0)}
#stampOverlay:has(.tier-ready){display:none}
#stampOverlay:has(.tier-miss){background:#512f2af2;border-color:#eab199}
#stampOverlay .stamp-text{font-size:30px!important;font-style:normal;letter-spacing:1px;background:none!important;-webkit-text-fill-color:#e4efb9;-webkit-text-stroke:0!important;filter:none!important;transform:none!important;opacity:1}
#stampOverlay:has(.tier-miss) .stamp-text{-webkit-text-fill-color:#ffceb7}
#stampOverlay::before{content:'HOME RUN';position:absolute;top:9px;font-size:9px;letter-spacing:4px;color:#e4efb9}
#stampOverlay:has(.tier-miss)::before{content:'STRIKE · NEXT CHANCE';color:#ffceb7}
#stampOverlay::after{content:'';position:absolute;bottom:9px;width:70%;height:2px;background:linear-gradient(90deg,transparent,#e3efb8,transparent)}
#stampOverlay.sparkle::before{content:'HOME RUN';left:auto;top:9px;font-size:9px;animation:none}
#stampOverlay.sparkle::after{content:'';right:auto;bottom:9px;animation:none}
#fullCountHud{min-height:44px}
.lamp-row .lamp{width:15px;height:15px;border-radius:3px;transform:rotate(45deg);box-shadow:inset 0 0 0 1px #749084;background:#1c3b41}
.lamp-row.lamp-enemy .lamp.lit{background:#dcecab;box-shadow:0 0 10px #dcecab44}
.lamp-row.lamp-friend .lamp.lit{background:#f0caa5;box-shadow:0 0 10px #f0caa544}
#resultScreen::before{content:'★';display:grid;place-items:center;width:90px;height:90px;margin:5px auto 24px;border:2px solid #dbeaab;border-radius:50%;color:#e4efb9;font-size:50px;box-shadow:0 0 0 10px #dbeaab11,0 0 55px #dbeaab22}
#resultScreen[data-outcome='loss']::before{content:'×';color:#edbba5;border-color:#edbba5;box-shadow:0 0 0 10px #edbba511}
#resultTitle{font-size:clamp(30px,7vw,46px);color:#e4efb9!important;-webkit-text-stroke:0!important;text-shadow:none!important;line-height:1.2}
#resultScreen[data-outcome='loss'] #resultTitle{color:#edbba5!important}
#resultSub{font-size:10px;letter-spacing:2px;color:#c9d6c8}
#resultHearts{padding:18px 0;border-block:1px solid #b8c7a333}
#resultScreen{min-height:520px}
@media(prefers-reduced-motion:no-preference){#vsIntro.show .vs-center{animation:league-entry .6s cubic-bezier(.16,1,.3,1) both}#resultScreen.show::before{animation:league-entry .65s cubic-bezier(.16,1,.3,1) both}#stampOverlay.show::after{animation:judgment-line 1.1s linear both}#stampOverlay.show .stamp-text{animation:league-entry .25s ease-out both}@keyframes league-entry{from{opacity:0;transform:translateY(16px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes judgment-line{from{transform:scaleX(1)}to{transform:scaleX(0)}}}
#stage{background:#102e33}
#ballparkBg{opacity:0;pointer-events:none}
.ballpark-world{position:absolute;inset:-16px;background:linear-gradient(180deg,#09282d12,#09282d45),url('/play/assets/night-stadium.png') center/cover;pointer-events:none;transform-origin:50% 38%}
.ballpark-foreground{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#061e2bd9,transparent 28%),linear-gradient(90deg,#09232b55,transparent 15%,transparent 85%,#09232b55)}
#gameArea{position:relative;padding-bottom:22px}
.ballpark-title{padding:22px 20px 16px;text-align:center;color:#fff4d9;text-shadow:0 3px 12px #09232b}
.ballpark-title small{display:block;color:#c4dfcb;letter-spacing:3px;font-size:10px;font-weight:700;margin-bottom:5px}
.ballpark-title strong{display:block;font-size:clamp(24px,5vw,34px);line-height:1.1;letter-spacing:-1px;font-family:'Bungee',sans-serif}
.play-toolbar{background:#0b242ded;border-bottom:1px solid #71918455;gap:6px}
#playPackName{color:#c6dbd3;font-size:12px;flex:1 1 100px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.play-toolbar button{background:#1c3c42;color:#f5edd9;border-color:#66868166;border-radius:5px;font-size:12px}
#progressLabel{background:#102d35ed;color:#e2d8bb;font-size:12px;padding:7px 12px}
#hud{margin:0 20px;padding:10px 16px;background:#0b262ee8;border:1px solid #b9c8a550;border-radius:12px 12px 0 0;box-shadow:0 8px 24px #001a2533}
#hud .team-name{text-shadow:none;color:#e4ddc8;font-size:10px;letter-spacing:1px}
#hud .avatar-frame{width:42px;height:42px;border:2px solid #e8ddbd;box-shadow:0 3px 0 #061d23}
#clockWrap .timeup-label{background:transparent;color:#d5dfc9;letter-spacing:2px;font-size:9px}
#clockRing{width:46px;height:46px;box-shadow:none;background:conic-gradient(#dfef9d calc(var(--pct)*1%),#365259 0)}
#clockRing .clock-inner{width:38px;height:38px;background:#102d35;color:#f8eed0;font-variant-numeric:tabular-nums}
#questionCard{margin:0 20px 12px;border:8px solid #f3eddc;outline:none;border-radius:0 0 12px 12px;background:#f3eddc;box-shadow:0 12px 30px #00182066,0 3px 0 #b6b298;overflow:visible}
#questionNo{top:12px;left:12px;border:0;border-radius:3px;background:#102d35;color:#f4edcf;font-size:12px;padding:6px 10px;box-shadow:0 2px 6px #00182033}
#questionImageWrap{border-radius:5px;background:#e8e4d6;aspect-ratio:auto;height:clamp(170px,24dvh,270px)}
#questionImage{object-fit:contain}
#questionText{padding:13px 9px 6px;margin:0;background:transparent;color:#18363b;font-weight:750;font-size:17px;line-height:1.35}
#answers{margin:0;padding:0 20px;gap:10px}
.answer-btn{min-height:56px;border:1px solid #b2c5b8;border-radius:7px;background:#f4f0e3;color:#17373c;box-shadow:0 4px 0 #8b9e90;text-shadow:none;text-align:left;font-size:16px;padding:12px;transition:background .15s,transform .15s,box-shadow .15s}
.answer-btn::before{color:#57776d;border:1px solid #b7c8b6;border-radius:3px;padding:3px 6px;font-size:11px;margin-right:10px}
@media(hover:hover) and (pointer:fine){
 .answer-btn:hover:not(:disabled){background:#e5efcf;transform:translateY(-2px);box-shadow:0 6px 0 #8b9e90}
}
.answer-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #8b9e90}
.answer-btn.correct{background:#d9ef9e;color:#173e28;box-shadow:0 4px 0 #6c933e;border-color:#d9ef9e}
.answer-btn.wrong{background:#f4b296;color:#4c2420;box-shadow:0 4px 0 #ad654c;border-color:#f4b296}
.answer-btn:focus-visible{outline:3px solid #f8d78c;outline-offset:4px}
#fullCountHud{position:relative;inset:auto;margin:18px 20px 0;padding:12px 16px;background:#0b262ee8;border:1px solid #b9c8a550;border-radius:8px}
.lamp-row{flex-direction:row;padding:0;gap:7px;background:none;box-shadow:none}
.lamp-row::before{font-size:9px;font-weight:700;letter-spacing:1px;color:#e2ddc6;margin-right:4px}
.lamp-friend::before{content:'LIVES'}
.lamp-enemy::before{content:'RIVALS'}
.play-feedback{margin:14px 20px 0;border-radius:7px;background:#eef2da;color:#16363b}
#resultScreen{margin:24px 20px;padding:24px 12px;background:#0c2c36ed;border:1px solid #aabd9555;border-radius:14px;box-shadow:0 20px 60px #061c29aa}
#resultBanner{background:none;box-shadow:none;transform:none;border:none}
#resultScreen .play-progress{background:transparent;color:#ede4c9}
#resultScreen .big-button{background:#d9ef9e;color:#18382c;border-radius:7px;box-shadow:0 4px 0 #728d49}
#sadFace{display:none!important}
@media(prefers-reduced-motion:no-preference){
 .cam-homerun .ballpark-world{animation:stadium-hit .8s cubic-bezier(.16,1,.3,1)}
 .cam-homerun .ballpark-foreground{animation:rail-hit .8s ease-out}
 .cam-homerun #questionCard{animation:card-hit .65s cubic-bezier(.16,1,.3,1)}
 .cam-strikeout #questionCard{animation:card-miss .4s ease-out}
 @keyframes stadium-hit{0%,100%{transform:scale(1)}35%{transform:scale(1.09) translateY(6px);filter:brightness(1.25)}}
 @keyframes rail-hit{0%,100%{transform:translateY(0)}35%{transform:translateY(18px)}}
 @keyframes card-hit{0%,100%{transform:translateY(0)}30%{transform:translateY(-6px);box-shadow:0 15px 35px #d9ef9e66}}
 @keyframes card-miss{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}65%{transform:translateX(3px)}}
@media(max-width:600px){.ballpark-title{padding:14px 12px 12px}.ballpark-title strong{font-size:25px}#hud{margin:0 14px;padding:7px 12px}#questionCard{margin:0 14px 12px}#answers{padding:0 14px}.answer-btn{min-height:52px;padding:10px}#fullCountHud{margin:16px 14px 0}#questionImageWrap{height:clamp(150px,22dvh,230px)}#questionText{font-size:15px}.play-toolbar button{padding:7px 9px;font-size:11px}}

/* Broadcast composition: one scoreboard, one collectible question card. */
#gameArea .ballpark-title,#progressLabel,#fullCountHud{display:none}
#hud{margin:24px 20px 0;padding:18px 20px;align-items:center;border:1px solid #c7ceb266;border-bottom:4px solid #d8e5aa;border-radius:4px 4px 0 0;background:repeating-linear-gradient(0deg,#102e35 0 3px,#123239 3px 4px);box-shadow:0 8px 30px #00182155}
.league-score{color:#f3ead1;text-align:left}.score-kicker{font:700 9px sans-serif;letter-spacing:2px;color:#b8cfad}.league-score strong{display:block;font-family:'Bungee',sans-serif;font-size:27px;line-height:1.02;letter-spacing:-1px;margin:9px 0}.league-score p{font:700 11px monospace;letter-spacing:1px;margin:8px 0 0;color:#dceab7}
#clockWrap{border-left:1px solid #c7ceb244;padding-left:20px}#clockRing{width:54px;height:54px}#clockRing .clock-inner{width:46px;height:46px;font:700 24px monospace}
#questionCard{border:0;border-radius:0 0 4px 4px;padding:12px;background:#f2ecda;box-shadow:0 7px 0 #c4bea8,0 15px 30px #071d2866;margin-bottom:22px}
.card-edition{display:flex;justify-content:space-between;gap:10px;padding:0 0 10px;color:#29463f;font:700 9px monospace;letter-spacing:1px;border-bottom:1px solid #9ca995;margin-bottom:10px}.card-edition span{font-size:8px;color:#68766a}
#questionNo{top:49px;left:20px;border-radius:0;font:700 10px monospace;background:#193b37}
#questionImageWrap{background:repeating-linear-gradient(90deg,#e3e0d1 0 1px,#ebe7d9 1px 6px);height:clamp(170px,26dvh,260px);border-radius:0}
#questionImage{filter:drop-shadow(0 4px 6px #514b3920)}
#questionText{font-size:15px;line-height:1.45;padding:12px 4px 2px;font-weight:650}
#answers{gap:10px;padding-bottom:12px}.answer-btn{border-radius:3px;min-height:58px;font-size:14px;border:1px solid #d1cfb9;box-shadow:0 3px 0 #9ba592}.answer-btn::before{border-radius:50%;min-width:18px;text-align:center;background:#183c36;color:#f2ecd7;border:0;padding:5px}
.answer-btn.unselected{opacity:.55;background:#dce1d6;box-shadow:0 3px 0 #788f80}.answer-btn.slide-out{animation:none!important;opacity:.55;transform:none}
.answer-btn.correct{outline:2px solid #dceaac;outline-offset:2px}.answer-btn.wrong{outline:2px solid #e9a58b;outline-offset:2px}
#answerFeedback{margin:5px 20px 12px;border-radius:3px;border-left:4px solid #d8e8a3;background:#0d3038;color:#f1ebd5;min-height:62px;box-sizing:border-box;font-size:13px}#answerFeedback button{background:transparent;color:#e6edc9;border:1px solid #a4bd8e66;border-radius:3px;font-size:11px;min-height:36px}
#stampOverlay{bottom:auto;top:135px;left:28px;right:28px;height:76px}
#resultHearts .team-name{font-family:monospace;font-style:normal;text-shadow:none}
#gameColumn{background:#0b242c}.ballpark-world{background-position:center bottom}.ballpark-foreground{background:linear-gradient(#09293433,#09293455)}
@media(max-width:600px){#hud{margin:14px 14px 0;padding:14px 16px}.league-score strong{font-size:23px}#questionCard{margin-inline:14px}#questionImageWrap{height:clamp(150px,24dvh,220px)}#questionText{font-size:14px}.card-edition{font-size:8px;letter-spacing:.4px}.answer-btn{font-size:13px;min-height:56px}#stampOverlay{top:115px;left:22px;right:22px}#answerFeedback{margin-inline:14px}}
/* Compact head-to-head scoreboard and a full-size scouting image. */
#hud{display:grid;grid-template-columns:1fr 76px 1fr;gap:8px;margin-top:10px;padding:10px 14px;border-bottom-width:3px;transition:border-color .2s,box-shadow .2s}
.duel-team{display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;color:#ddebab}.duel-team span{font:800 10px sans-serif;letter-spacing:1px}.duel-team strong{font:800 35px/1 monospace;font-variant-numeric:tabular-nums;text-shadow:0 0 18px #ddebab44}.duel-team small{font:700 8px monospace;letter-spacing:1px;color:#cbd8ca}.away-team{color:#f2b39b}.duel-pips{font-size:12px;letter-spacing:3px;min-height:15px}.duel-vs{font:900 10px sans-serif;color:#e3d7b7;letter-spacing:3px}
#clockWrap{border:0;padding:0;gap:4px}#clockWrap .timeup-label{font-size:8px;letter-spacing:1px}#clockRing{width:52px;height:52px}#clockRing .clock-inner{width:44px;height:44px;font-size:25px}
#questionCard{padding:8px;margin-bottom:15px}.card-edition{padding-bottom:6px;margin-bottom:6px}#questionNo{top:36px;left:15px}#questionImageWrap{height:clamp(250px,39dvh,420px);background:#eee9dd}#questionText{padding:9px 4px 2px;font-size:14px;line-height:1.35}
#answers{gap:8px}.answer-btn{min-height:50px;padding:10px}#gameArea{padding-bottom:8px}
#hud.urgent{border-color:#ffad79;box-shadow:0 0 0 1px #ffad7955,0 0 24px #f8834533}#hud.urgent #clockRing .clock-inner{color:#ffc28f}#hud.urgent .timeup-label{color:#ffc28f}#hud.expired{border-color:#ec947b}#hud.expired .clock-inner{color:#ec947b}
@media(prefers-reduced-motion:no-preference){#hud.urgent #clockRing{animation:deadline-beat 1s ease-out infinite}#hud.urgent #clockNum{animation:deadline-number 1s ease-out infinite}.cam-homerun .home-team strong{animation:score-impact .65s ease-out}.cam-strikeout .duel-pips{animation:score-impact .45s ease-out}@keyframes deadline-beat{0%{box-shadow:0 0 0 0 #ffac7866}85%,100%{box-shadow:0 0 0 12px #ffac7800}}@keyframes deadline-number{0%{transform:scale(1.14)}35%,100%{transform:scale(1)}}@keyframes score-impact{0%,100%{transform:scale(1)}30%{transform:scale(1.22);filter:brightness(1.4)}}}
#gameArea:has(#pauseButton[aria-pressed='true']) #clockRing,#gameArea:has(#pauseButton[aria-pressed='true']) #clockNum{animation-play-state:paused}
@media(max-width:600px){#hud{margin:8px 14px 0;padding:9px 10px}.duel-team strong{font-size:30px}.duel-team span{font-size:9px}#questionImageWrap{height:clamp(230px,35dvh,340px)}#questionText{font-size:14px}.answer-btn{min-height:48px}#stampOverlay{top:110px}}
@media(max-height:740px){#questionImageWrap{height:clamp(180px,32dvh,270px)}}
/* Auxiliary controls belong to the scoreboard, pack identity to the card. */
.hud-controls{grid-column:1/-1;display:flex;align-items:center;gap:6px;padding:0 0 7px;border-bottom:1px solid #c6d4b326;margin-bottom:2px}.match-label{margin-right:auto;font:700 8px sans-serif;letter-spacing:1.5px;color:#b9cbb7}.hud-controls button{font:600 10px sans-serif;color:#e5ead7;background:transparent;border:1px solid #9bb49b44;border-radius:3px;min-height:32px;padding:6px 9px;cursor:pointer}.hud-controls button:hover{background:#d4e4ad18}.hud-controls button:focus-visible{outline:2px solid #e2ecac;outline-offset:2px}.hud-controls #pauseButton{margin-left:0}.card-edition #playPackName{font:700 10px sans-serif;color:#3b5548;white-space:normal;line-height:1.3;letter-spacing:.2px;overflow:visible}.card-edition{min-height:13px}#hud{row-gap:5px}#questionNo{top:38px}#stampOverlay{top:105px}
@media(pointer:coarse){.hud-controls button{min-height:44px;padding-inline:12px}}
.hud-controls #pauseNotice{padding:0;background:none;color:#efd09b;font:700 10px sans-serif;line-height:1.2;text-align:left;white-space:nowrap}.hud-controls #pauseNotice::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:5px}.hud-controls #pauseNotice[hidden]{display:none}
/* Stadium glass and image/word reveal: scenery moves, controls stay anchored. */
#hud{background:linear-gradient(120deg,#0a303bcc,#173d3c99);backdrop-filter:blur(9px);border-color:#dce6c344;box-shadow:inset 0 1px #ffffff22,0 8px 24px #001e2944}
#questionCard{background:linear-gradient(125deg,#f2ecdacb,#ece9d4a6);backdrop-filter:blur(7px);box-shadow:inset 0 1px #ffffff77,0 3px 0 #c4bea866,0 14px 35px #071d2855;border:1px solid #f7f3df77}
#questionImageWrap{background:radial-gradient(ellipse,#f2eddf77,transparent 75%);overflow:hidden}
#questionImage{mix-blend-mode:multiply}#questionText{color:#122e2e;text-shadow:0 1px #fff6}
.answer-btn{background:#f2eedbdd;backdrop-filter:blur(7px);border-color:#fffa;box-shadow:inset 0 1px #fff8,0 3px 0 #9ba59288}
.ballpark-world{inset:-35px;background-image:linear-gradient(#09282d00,#09282d15),url('/play/assets/night-stadium.png');background-position:50% 70%;transform-origin:50% 62%;will-change:transform}
.ballpark-foreground{background:linear-gradient(0deg,#061e2b77,transparent 35%);pointer-events:none}
#wordMatch{position:absolute;z-index:3;left:8%;right:8%;bottom:12px;padding:12px 14px;text-align:center;border:1px solid #ecf4c588;background:#103a36e8;color:#f1f5d3;box-shadow:0 7px 20px #092b3966;border-radius:5px;backdrop-filter:blur(12px)}
#wordMatch[hidden]{display:none}#wordMatch small{display:block;font:700 8px sans-serif;letter-spacing:1.5px;color:#d3e5a6;margin-bottom:5px}#wordMatch strong{font:800 clamp(18px,4vw,26px)/1.15 sans-serif;overflow-wrap:anywhere}#wordMatch[data-correct='false']{background:#3e302de8}#wordMatch[data-correct='false'] small{color:#f0c3a5}
#stampOverlay{display:none!important}
@media(prefers-reduced-motion:no-preference){
 .cam-homerun .ballpark-world{animation:ballpark-drive .8s cubic-bezier(.2,.8,.2,1) both}
 .cam-homerun .ballpark-foreground{animation:ballpark-near .8s ease-out both}
 .cam-strikeout .ballpark-world{animation:ballpark-catch .5s ease-out both}
 #wordMatch:not([hidden]){animation:word-lock .4s cubic-bezier(.16,1,.3,1) both}
 #questionImageWrap:has(#wordMatch:not([hidden])) #questionImage{animation:picture-lock .5s ease-out both}
 @keyframes ballpark-drive{0%{transform:scale(1) translate(0,0)}40%{transform:scale(1.16) translate(-10px,18px)}75%{transform:scale(1.12) translate(-6px,10px)}100%{transform:scale(1) translate(0,0)}}
 @keyframes ballpark-near{0%,100%{transform:translate(0,0)}40%{transform:translate(12px,28px)}}
 @keyframes ballpark-catch{0%,100%{transform:scale(1)}30%{transform:scale(1.06) translateY(-7px)}65%{transform:scale(1.03) translateY(3px)}}
 @keyframes word-lock{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
 @keyframes picture-lock{0%,100%{transform:scale(1)}40%{transform:scale(1.045)}}
}
/* Full-height world, lighter glass, and restored tier callouts. */
#stage{background:linear-gradient(#09293422,#09293444),url('/play/assets/night-stadium.png') center bottom/cover}
#cameraRig{min-height:100%}#gameColumn{background:#092934}
#hud{background:linear-gradient(120deg,#0a303b9e,#173d3c70);backdrop-filter:blur(5px)}
#questionCard{background:linear-gradient(125deg,#f2ecdaaa,#ece9d47a);backdrop-filter:blur(4px)}
#questionText{background:#f1ecdab8;border-radius:3px;padding:8px;margin-top:6px}
#resultScreen{background:linear-gradient(145deg,#0c2c36b8,#0c2c3670);backdrop-filter:blur(4px);min-height:0;margin-block:16px;padding:20px 12px}
#resultScreen::before{content:'';width:110px;height:110px;background:url('/play/assets/bear-player.png') center/contain no-repeat;border:0;border-radius:0;box-shadow:none;margin:0 auto 10px}
#resultScreen[data-outcome='loss']::before{content:'';border:0;box-shadow:none;filter:saturate(.65)}
#resultHearts{margin-bottom:16px;padding:10px 0}#resultDetail{margin-top:10px}#restartCountdown{margin-top:12px}
.home-team{padding-left:42px}.home-team::before{content:'';position:absolute;left:-7px;bottom:0;width:65px;height:82px;background:url('/play/assets/bear-player.png') center/contain no-repeat;filter:drop-shadow(0 3px 3px #001b2944)}
#stampOverlay{display:flex!important;inset:auto 12px auto auto;top:165px;width:fit-content;max-width:85%;height:auto;min-height:56px;padding:14px 18px;background:#103c37e8;border:2px solid #ddefa8;border-radius:8px 2px 8px 2px;overflow:visible;box-shadow:4px 5px 0 #082b32aa;transform:rotate(-5deg)}
#stampOverlay.show{transform:rotate(-5deg)}#stampOverlay:has(.tier-ready){display:none!important}
#stampOverlay .stamp-text{font-size:clamp(27px,6vw,40px)!important;letter-spacing:1px;text-shadow:2px 3px #10352c}
#stampOverlay::before,#stampOverlay.sparkle::before{content:'★';position:absolute;left:-14px;top:-16px;font-size:29px;color:#f8d67a;text-shadow:2px 2px #394b28;animation:none}
#stampOverlay:has(.tier-miss)::before{content:'!';color:#f0b095}
#stampOverlay::after,#stampOverlay.sparkle::after{content:'';position:absolute;left:10%;right:10%;width:80%;height:2px;bottom:7px;background:#ddefa8}
@media(max-width:600px){#stampOverlay{top:160px}.home-team{padding-left:30px}.home-team::before{width:48px;height:68px;left:-9px}.duel-team span{font-size:8px}}
#stage{display:flex;flex-direction:column}#cameraRig{flex:1;width:100%}.ballpark-world{min-height:100%;background-size:cover}
.team-faceoff{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;max-width:440px;margin:0 auto}.team-faceoff>div{width:42%;display:flex;flex-direction:column;align-items:center;gap:8px}.team-faceoff img{width:100%;height:clamp(120px,22dvh,210px);object-fit:contain;filter:drop-shadow(0 8px 8px #001e2966)}.team-faceoff strong{font:800 12px sans-serif;letter-spacing:1px;color:#dceaaf}.team-faceoff>div:last-child strong{color:#f3b59a}.team-faceoff>b{font:900 italic 25px sans-serif;color:#f3dfb0;text-shadow:0 3px #18342e}
#vsIntro .vs-center{display:none}#vsIntro{gap:20px}#startScreen h1{font-size:clamp(25px,5vw,37px)}#startScreen{gap:12px}#resultScreen::before,#resultScreen[data-outcome='loss']::before{display:none}.result-teams{margin-bottom:16px}.result-teams img{height:145px}#resultScreen[data-outcome='win'] .result-teams>div:last-child img{filter:saturate(.55) drop-shadow(0 6px 8px #001e2966);transform:scale(.9)}#resultScreen[data-outcome='loss'] .result-teams>div:first-child img{filter:saturate(.55) drop-shadow(0 6px 8px #001e2966);transform:scale(.9)}
.away-team{padding-right:42px}.away-team::after{content:'';position:absolute;right:-7px;bottom:0;width:65px;height:82px;background:url('/play/assets/fox-player.png') center/contain no-repeat;filter:drop-shadow(0 3px 3px #001b2944)}
@media(max-width:600px){.away-team{padding-right:30px}.away-team::after{width:48px;height:68px;right:-9px}.team-faceoff strong{font-size:10px}.result-teams img{height:120px}}
@media(prefers-reduced-motion:no-preference){#vsIntro.show .team-faceoff>div:first-child{animation:team-home .6s cubic-bezier(.16,1,.3,1) both}#vsIntro.show .team-faceoff>div:last-child{animation:team-away .6s cubic-bezier(.16,1,.3,1) both}@keyframes team-home{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes team-away{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}}
/* Matched portrait frames accommodate the illustrated opponent backdrop. */
.team-faceoff img{border-radius:16px;border:1px solid #d6dcb555;background:radial-gradient(ellipse,#b39b6a55,#102d35);padding:5px;box-sizing:border-box}.team-faceoff>div:last-child img{border-color:#edb99e66}
.away-team::after,.home-team::before{height:58px;width:42px;bottom:10px;border-radius:9px;border:1px solid #c9d6b766;background-size:cover;background-position:center 20%;background-color:#183b3c}.home-team::before{background-size:contain;background-repeat:no-repeat}
/* One visual hierarchy for entrance, final score and answer feedback. */
#wordMatch,#wordMatch[data-correct='false']{background:#f2eddbeF;color:#173b3c;border:1px solid #fff8;border-left:4px solid #6d9681;box-shadow:0 5px 18px #06232e44;backdrop-filter:blur(8px)}
#wordMatch small,#wordMatch[data-correct='false'] small{color:#506e63}#wordMatch[data-correct='false']{border-left-color:#be8266}
#answerFeedback{background:#f2eddbdf;color:#173b3c;border:1px solid #fff7;border-left:3px solid #8fa980;box-shadow:0 3px 12px #06232e33;backdrop-filter:blur(8px)}#answerFeedback button{color:#244c43;border-color:#758f7666;background:#ffffff22}#answerFeedbackText{font-size:12px}
#startScreen{background:linear-gradient(180deg,#08273533,#08273566 60%,#082735cc)}#startScreen h1{font-size:clamp(30px,6vw,44px);line-height:1.05;text-shadow:0 3px 0 #153d3c,0 6px 24px #031a2b}
#vsIntro{background:linear-gradient(115deg,#153d3dc9,#08273577 48%,#6f4934aa);backdrop-filter:blur(2px);gap:26px}#vsIntro .vs-team{font-size:11px;letter-spacing:3px}#vsIntro .team-faceoff{padding:22px 0;border-block:1px solid #e4dbb844;background:linear-gradient(90deg,#abc68d11,transparent,#e9b08a11)}#vsIntro .team-faceoff img{height:clamp(170px,30dvh,270px)}#vsIntro .team-faceoff>b{font-family:'Bungee',sans-serif;font-size:38px;color:#f7e3a9;transform:rotate(-8deg)}#vsIntro .vs-skip{min-height:46px;padding:13px 28px;box-shadow:0 4px 0 #6e8662;font-size:13px}
#resultScreen{position:relative;display:none;flex-direction:column;gap:10px;padding:22px 18px;margin:16px 20px;background:linear-gradient(#0b3035d9,#0b303599);border-radius:9px}#resultScreen.show{display:flex}
#resultBanner{order:0;margin:0;padding:0}#resultTitle{font-size:32px!important;letter-spacing:1px;margin:0 0 5px}#resultSub{font-size:8px;letter-spacing:2px}
.result-teams{order:1;margin:2px auto 0;max-width:300px;gap:12px}.result-teams img{height:110px;border:none;box-shadow:none}.result-teams strong{font-size:9px}.result-teams>b{font-size:17px}
#resultDetail{display:none}#resultStats{order:2;padding:10px 0;margin:0;border-bottom:1px solid #c6d5b533;font-size:12px}#resultHearts{display:none}
#restartButton{order:3;width:min(100%,300px);font-size:17px;min-height:48px;margin:5px auto 0!important;border:1px solid #e7efc0;box-shadow:0 3px 0 #748a54!important}
#reviewResultButton{order:4;margin:0 auto;padding:5px 12px;min-height:34px;background:none;border:0;border-radius:0;color:#e0e5c9;text-decoration:underline;font-size:12px}
#restartCountdown{order:5;margin:0;padding:0;font-size:11px;color:#c6d6ca;gap:4px}#restartCountdownNum{font:700 12px monospace!important;background:none!important;color:#e6eacb!important;padding:0!important;min-width:0!important;width:auto!important;height:auto!important;box-shadow:none!important;border:0!important}
#resultReview{order:6;margin:0;padding:10px 10px 10px 28px;font-size:12px;background:#eee9d7;color:#24443b}
@media(prefers-reduced-motion:no-preference){#vsIntro.show .team-faceoff>b{animation:versus-hit .6s cubic-bezier(.16,1,.3,1) both}#resultScreen.show #resultBanner{animation:league-entry .4s ease-out both}@keyframes versus-hit{from{opacity:0;transform:rotate(-8deg) scale(1.7)}to{opacity:1;transform:rotate(-8deg) scale(1)}}}
/* Centered end state and a three-beat deadline. */
#cameraRig:has(#resultScreen.show){display:flex;align-items:center;justify-content:center;min-height:calc(100dvh - 90px)}
#cameraRig:has(#resultScreen.show) .stage-content{width:100%;min-height:0}
#resultScreen.show{margin:24px auto;width:calc(100% - 40px);max-width:510px;box-sizing:border-box}
#answerFeedback{background:#e9ecdc66;backdrop-filter:blur(12px);border-color:#eef2dc55;color:#102f31;box-shadow:inset 0 1px #ffffff33,0 3px 12px #06232e22}#answerFeedbackText{background:#f0eddd77;padding:5px 7px;border-radius:3px}#answerFeedback button{background:#eff0df77;border-color:#e9ecd666}
.hud-controls button{display:inline-flex;align-items:center;gap:7px;border-radius:20px;min-height:34px;padding:7px 11px;background:#e0e8c411;border-color:#e0e8c433;font-size:10px;box-shadow:inset 0 1px #ffffff11}.hud-controls #pauseButton::before{content:'Ⅱ';font:900 15px sans-serif;color:#e6ecc4}.hud-controls #pauseButton[aria-pressed='true']::before{content:'▶';font-size:12px}.hud-controls #playModeButton::before{content:'▶';font-size:10px;color:#d7e6a4}.hud-controls #playModeButton[aria-pressed='true']::before{content:'↻';font-size:16px}
#clockWrap{position:relative}#finalCount{position:absolute;z-index:25;top:50%;left:50%;width:96px;height:96px;margin:-48px 0 0 -48px;display:grid;place-items:center;pointer-events:none;font:900 78px/1 'Bungee',sans-serif;color:#ffe1a0;text-shadow:0 4px 0 #8b4b32,0 8px 20px #001924cc;background:radial-gradient(ellipse,#15333cec 30%,#15333c00 72%)}#finalCount[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){#finalCount.count-impact{animation:count-slam 1s both cubic-bezier(.16,1,.3,1)}@keyframes count-slam{0%{opacity:0;transform:translateY(-30px) scale(1.65)}15%{opacity:1;transform:translateY(4px) scale(.91)}27%{transform:translateY(-2px) scale(1.04)}40%,75%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:scale(.94)}}}
#gameArea:has(#pauseButton[aria-pressed='true']) #finalCount{animation-play-state:paused}
@media(pointer:coarse){.hud-controls button{min-height:44px}}
/* Keep each mascot and its score together rather than pinned to HUD edges. */
#hud .duel-team{width:fit-content;min-width:98px;justify-self:center;box-sizing:content-box}
#hud .home-team{padding-left:48px;padding-right:0}
#hud .away-team{padding-right:48px;padding-left:0}
#hud .home-team::before{left:0;right:auto;bottom:8px;width:40px;height:58px}
#hud .away-team::after{right:0;left:auto;bottom:8px;width:40px;height:58px}
@media(max-width:420px){#hud{grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);gap:4px}#hud .duel-team{min-width:65px}#hud .home-team{padding-left:32px}#hud .away-team{padding-right:32px}#hud .home-team::before,#hud .away-team::after{width:28px;height:44px;bottom:10px}.duel-team span{font-size:8px;letter-spacing:.3px}.duel-team small{font-size:7px;letter-spacing:0}.duel-pips{letter-spacing:1px}}
/* Give the center clock breathing room without separating team portraits. */
#hud .home-team{justify-self:start;margin-left:6px}
#hud .away-team{justify-self:end;margin-right:6px}
@media(max-width:420px){#hud .home-team{margin-left:0}#hud .away-team{margin-right:0}}
/* Double the final three-second impact without changing the normal timer. */
#finalCount{width:192px;height:192px;margin:-96px 0 0 -96px;font-size:156px}
/* Escalating warm red countdown with a stable dark silhouette. */
#finalCount{color:#ff9471;-webkit-text-stroke:3px #4a1422;text-shadow:0 5px 0 #4a1422,0 9px 18px #081b2de6,0 0 18px #ff684466;background:radial-gradient(ellipse,#142633e8 22%,#14263377 48%,transparent 72%)}
#finalCount[data-seconds='3']{color:#ff9471}
#finalCount[data-seconds='2']{color:#ff604f;text-shadow:0 5px 0 #4a1422,0 9px 18px #081b2de6,0 0 25px #ff453b99}
#finalCount[data-seconds='1']{color:#ff3049;text-shadow:0 5px 0 #4a1422,0 9px 18px #081b2de6,0 0 34px #ff244bbb}
/* Finished judgement badge: restrained outline, tier hierarchy, clean exit. */
#stampOverlay{top:165px;right:18px;left:auto;bottom:auto;min-height:0;height:auto;padding:19px 22px 14px;border:1px solid #f0f4ce99;border-radius:6px;background:linear-gradient(135deg,#193f3ff5,#092a32f5);box-shadow:0 2px 0 #e3ecb833,inset 0 1px #ffffff22,0 9px 20px #00192466;transform:rotate(-4deg);transition:opacity .18s ease,transform .18s ease}
#stampOverlay.show{transform:rotate(-4deg)}
#stampOverlay .stamp-text{font-size:clamp(27px,6vw,38px)!important;line-height:1.05;letter-spacing:1px;font-style:normal;-webkit-text-fill-color:#dfedb4;text-shadow:0 2px 0 #18312b;filter:none!important}
#stampOverlay::before,#stampOverlay.sparkle::before{content:'NICE HIT';top:6px;left:0;width:100%;text-align:center;font:700 7px sans-serif;letter-spacing:2px;color:#c8d8ba;text-shadow:none}
#stampOverlay:has(.tier-perfect){border-color:#ffe6a8;background:linear-gradient(135deg,#655037f5,#233c36f5)}
#stampOverlay:has(.tier-perfect) .stamp-text{-webkit-text-fill-color:#ffe9b0}
#stampOverlay:has(.tier-perfect)::before{content:'★  PERFECT TIMING  ★';color:#ffe5a4}
#stampOverlay:has(.tier-great)::before{content:'CLEAN HIT';color:#deedb7}
#stampOverlay:has(.tier-miss){border-color:#ebbaa488;background:linear-gradient(135deg,#513b38f5,#302e32f5)}
#stampOverlay:has(.tier-miss) .stamp-text{-webkit-text-fill-color:#f1c0aa;text-shadow:0 2px 0 #3a242a}
#stampOverlay:has(.tier-miss)::before{content:'NEXT CHANCE';color:#e5bbaa}
#stampOverlay::after,#stampOverlay.sparkle::after{left:22px;right:22px;width:auto;bottom:7px;height:1px;background:linear-gradient(90deg,transparent,#e3ebbc88,transparent)}
@media(prefers-reduced-motion:no-preference){#stampOverlay.show .stamp-text{animation:judgement-settle .32s cubic-bezier(.16,1,.3,1) both}#stampOverlay.show::after{animation:none}@keyframes judgement-settle{0%{opacity:0;transform:translateY(-7px) scale(1.16)}60%{opacity:1;transform:translateY(1px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}}
@media(max-width:420px){#stampOverlay{right:16px;top:165px;padding-inline:16px}}
/* Give the reveal a readable hold, then let the world settle before advancing. */
@media(prefers-reduced-motion:no-preference){
 .cam-homerun .ballpark-world{animation:answer-camera 2.8s cubic-bezier(.2,.7,.3,1) both}
 .cam-homerun .ballpark-foreground{animation:answer-foreground 2.8s ease-in-out both}
 .cam-strikeout .ballpark-world{animation:answer-camera-miss 2.8s ease-in-out both}
 @keyframes answer-camera{0%{transform:scale(1)}22%{transform:scale(1.12) translate(-7px,12px)}72%{transform:scale(1.12) translate(-7px,12px)}100%{transform:scale(1)}}
 @keyframes answer-foreground{0%,100%{transform:translate(0,0)}22%,72%{transform:translate(9px,20px)}}
 @keyframes answer-camera-miss{0%,100%{transform:scale(1)}18%,72%{transform:scale(1.045) translateY(-4px)}}
}
/* A short at-bat between selection and the learning reveal. */
.atbat-scene{display:none;position:absolute;inset:110px 8px auto;height:300px;z-index:30;pointer-events:none;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at 50% 70%,#10362dbb,#082534dd);box-shadow:0 12px 40px #001c2a66}
.atbat-batter{position:absolute;width:150px;height:190px;left:12%;bottom:25px;background:url('/play/assets/bear-player.png') center/contain no-repeat;transform-origin:50% 85%;filter:drop-shadow(0 9px 4px #021b2977)}
.atbat-bat{position:absolute;left:35%;bottom:102px;width:112px;height:12px;border-radius:50% 8px 8px 50%;background:linear-gradient(#ffe0a0,#b87837);border:1px solid #f7cb82;transform-origin:8% 50%;opacity:0}
.atbat-ball{position:absolute;left:85%;top:46%;width:19px;height:19px;border-radius:50%;background:#fff4d6;border:2px solid #e8ddbd;box-shadow:0 0 12px #fff1b0}
.atbat-ball::after{content:'';position:absolute;inset:2px 5px;border-inline:2px dashed #c96651;border-radius:50%}
.atbat-impact{position:absolute;left:43%;top:43%;width:58px;height:58px;background:#ffe7a2;clip-path:polygon(50% 0,60% 33%,90% 10%,72% 44%,100% 55%,68% 64%,83% 97%,52% 76%,25% 100%,31% 66%,0 48%,34% 39%);opacity:0}
.atbat-call{position:absolute;right:8%;top:20px;font:900 clamp(26px,6vw,44px)/1.05 'Bungee',sans-serif;color:#ffedb2;text-shadow:0 4px #36523b;white-space:pre;text-align:right;opacity:0}
.cam-homerun .atbat-call::after{content:'HOME\A RUN!'}
.cam-strikeout .atbat-call::after{content:'SWING\A & MISS';color:#f4b59d;text-shadow:0 4px #493131}
@media(prefers-reduced-motion:no-preference){
 .cam-homerun .atbat-scene,.cam-strikeout .atbat-scene{display:block;animation:atbat-cut 2.8s both}
 .cam-homerun .atbat-batter,.cam-strikeout .atbat-batter{animation:batter-swing 1.2s both}
 .cam-homerun .atbat-bat,.cam-strikeout .atbat-bat{animation:bat-sweep 1.2s both}
 .cam-homerun .atbat-ball{animation:ball-homerun 1.7s linear both}
 .cam-strikeout .atbat-ball{animation:ball-missed 1.3s linear both}
 .cam-homerun .atbat-impact{animation:contact-flash 1.3s both}
 .cam-homerun .atbat-call,.cam-strikeout .atbat-call{animation:atbat-title 2.8s both}
 #cameraRig.cam-homerun #wordMatch,#cameraRig.cam-strikeout #wordMatch{animation:learning-after-hit 2.8s both}
 @keyframes atbat-cut{0%{opacity:0;transform:translateY(8px)}8%,59%{opacity:1;transform:translateY(0)}76%,100%{opacity:0;transform:translateY(-8px)}}
 @keyframes batter-swing{0%,25%{transform:rotate(-9deg) translateX(-5px)}48%{transform:rotate(10deg) translateX(9px)}70%,100%{transform:rotate(0) translateX(0)}}
 @keyframes bat-sweep{0%,26%{opacity:0;transform:rotate(-110deg)}30%{opacity:1;transform:rotate(-110deg)}52%{opacity:1;transform:rotate(24deg)}70%,100%{opacity:0;transform:rotate(55deg)}}
 @keyframes ball-homerun{0%{left:90%;top:42%;transform:scale(.65)}32%{left:45%;top:46%;transform:scale(1)}40%{left:52%;top:35%;transform:scale(1.25)}100%{left:100%;top:-25%;transform:scale(.25)}}
 @keyframes ball-missed{0%{left:90%;top:42%}42%{left:45%;top:51%}100%{left:-10%;top:69%}}
 @keyframes contact-flash{0%,40%{opacity:0;transform:scale(.2)}45%{opacity:1;transform:scale(1.35)}65%,100%{opacity:0;transform:scale(1.8)}}
 @keyframes atbat-title{0%,27%{opacity:0;transform:scale(1.3) rotate(-5deg)}38%,65%{opacity:1;transform:scale(1) rotate(-5deg)}80%,100%{opacity:0}}
 @keyframes learning-after-hit{0%,60%{opacity:0}80%,100%{opacity:1}}
}
@media(max-width:420px){.atbat-scene{height:260px}.atbat-batter{width:125px;height:165px;left:5%}.atbat-bat{left:30%;width:90px}}
.atbat-scene{display:none!important}.flight-world{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:0}.flight-active .stage-content{position:relative;z-index:3}.flight-active #questionCard,.flight-active #answers,.flight-active #answerFeedback{opacity:0;pointer-events:none}.flight-active #hud{background:#0b303855}.flight-active #stampOverlay{top:40%;right:10%;z-index:4}#questionCard,#answers,#answerFeedback{transition:opacity .25s}
/* Time the grade independently from the short non-WebGL fallback timer. */
.flight-active #stampOverlay{display:flex!important;opacity:1!important;z-index:6;top:32%;left:50%;right:auto;transform:translateX(-50%) rotate(-4deg);pointer-events:none}
.flight-active #stampOverlay:has(.tier-ready){display:none!important}
.flight-active .flight-call{display:none!important}
#hud{transition:opacity .35s ease}
.flight-active #hud{opacity:0;pointer-events:none}
.flight-active.flight-returning #hud{opacity:0}
.flight-call{position:absolute;top:32%;left:0;width:100%;text-align:center;z-index:5;pointer-events:none;color:#ffe4a2;font:900 clamp(26px,6vw,48px) 'Bungee',sans-serif;text-shadow:0 4px #243f39,0 7px 25px #001e2b}.flight-call[hidden]{display:none}
.replay-inspector{position:fixed;bottom:8px;left:8px;right:8px;z-index:9999;display:flex;justify-content:center;gap:5px;padding:8px;background:#102d35ee}.replay-inspector button{min-height:36px;background:#f3edd9;color:#173b3c;border:0;padding:6px 9px;border-radius:4px;font-size:11px}

/* Only one ball and one camera sequence during the Unity replay. */
.flight-active #flyBall{display:none!important}

/* Crossfade back only after the camera has settled at home. */
#questionCard,#answers,#answerFeedback{transition:opacity .45s ease}
.flight-active.flight-returning #questionCard,.flight-active.flight-returning #answers,.flight-active.flight-returning #answerFeedback{opacity:1}
/* The image already carries the answer. Keep useful review/next controls without a second message panel. */
#answerFeedback{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:4px 0!important;min-height:0!important;justify-content:flex-end;gap:8px}
#answerFeedbackText{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#answerFeedback button{background:#092b3480;color:#fff1d4;border:1px solid #dbe9db55;border-radius:18px;padding:7px 13px;min-height:36px}
@media(prefers-reduced-motion:reduce){#questionCard,#answers,#answerFeedback{transition:none}}

.flight-active[data-judgement="hidden"] #stampOverlay{opacity:0!important;transform:translate(-50%,-14px) scale(.92) rotate(-4deg)}
.flight-active[data-judgement="intro"] #stampOverlay,.flight-active[data-judgement="result"] #stampOverlay{opacity:1!important;transform:translateX(-50%) rotate(-4deg)}
@media(prefers-reduced-motion:no-preference){.flight-active[data-judgement="result"] #stampOverlay .stamp-text{animation:judgement-settle .32s cubic-bezier(.16,1,.3,1) both}}

/* The opening grade and the baseball outcome are different HUD beats. */
.flight-active[data-judgement="result"] #stampOverlay{opacity:0!important;transform:translate(-50%,-14px) scale(.92) rotate(-4deg)}
.flight-active[data-judgement="result"] .flight-call:not([hidden]){display:block!important}
@media(prefers-reduced-motion:no-preference){.flight-active[data-judgement="result"] .flight-call{animation:judgement-settle .32s cubic-bezier(.16,1,.3,1) both}}

/* Shared control metrics prevent glyph size from changing button height. */
.hud-controls #playModeButton,.hud-controls #pauseButton{box-sizing:border-box;height:36px;min-height:36px;padding:0 11px;line-height:14px;border-width:1px;align-items:center;justify-content:center;flex-shrink:0}
.hud-controls #playModeButton::before,.hud-controls #pauseButton::before{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;line-height:16px;flex:0 0 16px}
@media(pointer:coarse){.hud-controls #playModeButton,.hud-controls #pauseButton{height:44px;min-height:44px}}

#replayResume{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:25;min-height:48px;padding:12px 22px;border:1px solid #dce6c388;border-radius:12px;background:#10343ae8;color:#fff7e6;font:600 15px/1.4 sans-serif;cursor:pointer;}
.flight-active:has(#pauseButton[aria-pressed="true"]) #replayResume{display:block;}
