:root{color-scheme:dark;--bg:#071322;--panel:#081724ef;--line:#476372;--text:#f1f1db;--muted:#b1c6cd;--lime:#d5f481;--gold:#ffda80;--pixel:'VT323','Courier New',monospace;font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;color:inherit;border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1:focus{outline:none}h1,h2,p{margin:0}h1,h2{font-family:var(--pixel);font-weight:400}p{line-height:1.5}a{color:var(--lime)}.full{width:100%}.muted{color:var(--muted)}.gold{color:var(--gold)}.mint{color:var(--lime)}.eyebrow{font:12px monospace;letter-spacing:2px}.text-button{background:transparent;color:var(--muted);padding:9px 4px;font-size:13px}.primary,.secondary{font-family:var(--pixel);font-size:27px;letter-spacing:1px;min-height:52px;padding:12px 18px;border:2px solid #f0f7b9;background:var(--lime);color:#142920;box-shadow:0 5px #648046,inset 0 -3px #acc969;text-decoration:none;display:flex;align-items:center;justify-content:center;transition:filter .15s,transform .15s}.secondary{background:#0a1b2aec;color:#e9eddd;border-color:#577889;box-shadow:0 4px #020b15,inset 0 2px #233d4d;font-size:23px}.primary:hover,.secondary:hover{filter:brightness(1.16)}button:active:not(:disabled){transform:translateY(2px)}
/* The illustration is the world. UI floats above it; nothing frames the pitch. */
#world{position:fixed;inset:0;overflow:hidden;z-index:-1;background:#071322;pointer-events:none}.stadium-plane{position:absolute;top:0;left:0;width:max(100vw,calc(var(--scene-height,100dvh)*1.5));height:100dvh;transform:translateX(calc((100vw - max(100vw,calc(var(--scene-height,100dvh)*1.5)))*var(--camera)));animation:camera-track .95s ease-out both}.stadium-art{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.stadium-light{position:absolute;inset:0;background:linear-gradient(#04101c42,transparent 35%,transparent 72%,#04111bb5);box-shadow:inset 0 0 100px #020b1645}.crowd-glints i{position:absolute;width:3px;height:3px;background:#ffe5a0;box-shadow:0 0 6px #ffdd92;animation:crowd-glint 3.7s steps(2) infinite}.air-particles i{position:absolute;width:3px;height:3px;background:#ffdd88;opacity:0;animation:mote 7s linear var(--delay) infinite}.field-player{position:absolute;left:var(--player);top:65%;width:clamp(55px,8dvh,90px);height:clamp(65px,10dvh,108px);transform:translate(-50%,-100%);filter:drop-shadow(3px 4px 1px #061d2755)}.field-player img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;transform-origin:50% 95%;animation:breathe 2.5s ease-in-out infinite}.field-ball{position:absolute;left:var(--ball-start);top:65%;width:clamp(13px,2.1dvh,22px);height:auto;image-rendering:pixelated;transform:translate(-50%,-100%)}.field-keeper{position:absolute;left:85%;top:64%;width:clamp(45px,6.5dvh,75px);height:clamp(58px,8dvh,88px);transform:translate(-50%,-100%)}.field-keeper img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.running .field-player{animation:run-across .95s ease-out both}.running .field-player img{animation:running-step .15s steps(2) 6}.running .field-ball{animation:ball-dribble .95s ease-out both}.shooting .field-player img{animation:kick .45s .2s ease-in-out both}.shooting .field-ball{animation:shot-flight .75s .48s cubic-bezier(.16,.5,.5,1) both}.shooting .field-keeper img{animation:keeper-dive .65s .7s ease-out forwards}.shooting.saved .field-keeper img{animation:keeper-save .65s .7s ease-out forwards}.shooting.saved .field-ball{animation:shot-stopped .85s .48s ease-out both}.shot-announcement{position:absolute;top:22%;left:0;right:0;text-align:center;font:clamp(65px,12vw,130px)/.85 var(--pixel);color:var(--gold);text-shadow:5px 5px #071321,0 0 35px #ffdb8260;animation:shot-caption 2.3s both}.shot-announcement small{display:block;font:14px monospace;letter-spacing:2px;margin-top:22px}.shot-announcement.saved{color:#e8c1be}
@keyframes camera-track{from{transform:translateX(calc((100vw - max(100vw,calc(var(--scene-height,100dvh)*1.5)))*var(--camera-from)))}to{transform:translateX(calc((100vw - max(100vw,calc(var(--scene-height,100dvh)*1.5)))*var(--camera)))}}
@keyframes run-across{from{left:var(--previous)}to{left:var(--player)}}@keyframes ball-dribble{0%{left:calc(var(--previous) + 3%);margin-top:0}35%{margin-top:-5px}70%{margin-top:0}100%{left:var(--ball-start)}}@keyframes running-step{50%{transform:translateY(-5px) rotate(6deg)}}@keyframes breathe{50%{transform:translateY(-2px)}}@keyframes kick{50%{transform:rotate(-16deg) translateX(-5px)}100%{transform:rotate(9deg) translateX(7px)}}@keyframes shot-flight{0%{left:var(--ball-start);margin-top:0}60%{margin-top:var(--ball-rise)}100%{left:var(--ball-end);margin-top:-22px;transform:translate(-50%,-100%) scale(.65) rotate(540deg)}}@keyframes shot-stopped{0%{left:var(--ball-start)}65%{left:84%;margin-top:-12px}100%{left:81%;margin-top:3px;transform:translate(-50%,-100%) rotate(400deg)}}@keyframes keeper-dive{to{transform:translate(-32px,12px) rotate(-68deg)}}@keyframes keeper-save{to{transform:translate(-15px,6px) rotate(-30deg)}}@keyframes shot-caption{0%,40%{opacity:0;transform:scale(.8)}55%,85%{opacity:1;transform:scale(1)}100%{opacity:0}}@keyframes crowd-glint{0%,80%,100%{opacity:.05}85%,90%{opacity:.9}}@keyframes mote{0%{opacity:0;transform:translate(0,12px)}25%,65%{opacity:.5}100%{opacity:0;transform:translate(var(--drift),-28px)}}
header{height:54px;padding:8px 24px;display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:auto;position:relative;z-index:2}.brand{background:none;font:32px var(--pixel);letter-spacing:0;text-shadow:2px 3px #06101d;padding:0}.brand span{color:var(--lime)}.brand i{display:none}nav{display:flex;gap:7px}nav button{min-height:32px;min-width:32px;background:#081725d9;border:1px solid #496674;color:#e1e5d9;font-size:12px;padding:5px 10px}#sound-toggle{display:flex;align-items:center;gap:5px}main{max-width:690px;padding:0 20px;margin:auto}footer{display:none}.home{height:calc(100dvh - 54px);min-height:450px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:5dvh 0 4dvh}.home-heading{text-align:center;text-shadow:3px 3px #071320}.home-heading .eyebrow{color:#e3deba}.home-heading h1{font-size:clamp(65px,12vw,100px);line-height:.9;margin:16px 0}.home-heading h1 span{color:var(--lime)}.home-heading>p:last-child{font-size:16px;color:#d8dfda}.home-controls{width:100%;max-width:460px;text-align:center;background:linear-gradient(transparent,#06151bb8);padding:12px 0 0}.home-controls .secondary{margin-top:12px}.daily-label{font:14px monospace;color:#fff0c5;letter-spacing:2px;margin-bottom:13px;text-shadow:2px 2px #03131c}.home-rule{font-size:12px;color:#dbe2ce;margin-top:15px;text-shadow:2px 2px #03131c}.invite-note{font-size:14px;margin-bottom:12px}.home-controls>.text-button{font-size:12px;color:#d1d8c5}
body.playing main{height:calc(100dvh - 54px)}.playing #records-button{display:none}.game{height:100%;display:flex;flex-direction:column;position:relative;padding-bottom:6px}.round-top{display:flex;align-items:center;justify-content:space-between;font:13px monospace;color:#f0efcf;text-shadow:2px 2px #04121e;height:30px;flex-shrink:0}.round-top .text-button{color:#e5e8d6}.progress{height:6px;display:flex;gap:5px;margin:2px 0 10px;flex-shrink:0}.progress i{flex:1;background:#142c3e;border:1px solid #506979}.progress .hit{background:var(--lime);border-color:#e8fbbc}.progress .miss{background:#ad7680;border-color:#d4a7ad}.progress .active{background:#f1db9b}.question-head{display:flex;justify-content:space-between;font:11px monospace;color:#cedbdc;height:20px;flex-shrink:0;text-shadow:2px 2px #06111d}.question{min-height:0;flex:1;display:grid;grid-template-rows:auto minmax(40px,1fr) auto 94px;gap:10px}.question-card{padding:15px 19px;background:linear-gradient(115deg,#081523f2,#0c2030e8);border:1px solid #72827a;box-shadow:4px 4px #04101a9c,inset 0 3px #eddaa433;position:relative}.question-card:before{content:'';position:absolute;top:-1px;left:18px;width:35px;height:3px;background:var(--gold)}.event-meta{font:12px monospace;color:#b8cdd0;margin-bottom:5px}.match-title{font-size:29px;line-height:1;color:var(--lime);margin-bottom:9px}.versus{font:13px monospace;color:#b9cdd2}.question h1{font-size:34px;line-height:1.02}.field-space{min-height:40px;pointer-events:none}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option{display:flex;align-items:center;gap:10px;min-width:0;min-height:60px;padding:11px;text-align:left;background:linear-gradient(#122b39f7,#071a28f5);border:2px solid #657e83;box-shadow:0 4px #020d16,inset 0 2px #acc4be18;transition:background .15s,border .15s}.option-letter{width:25px;height:25px;flex-shrink:0;display:grid;place-items:center;font:13px monospace;background:#243b44;color:#e7edc8}.option strong{font:24px/1 var(--pixel);overflow-wrap:anywhere}.option-status{margin-left:auto;width:13px;flex-shrink:0}@media(hover:hover) and (pointer:fine){.option:hover:not(:disabled){border-color:#e5e4cf;background:#203442;box-shadow:0 4px #020d16,inset 0 2px #ffffff16}}.option.correct{background:#234831;color:#edffc8;border-color:var(--lime);animation:answer-lock .3s}.option.incorrect{background:#462c3c;border-color:#e5a0a8;animation:nudge .25s}.option.dim{opacity:.65}.feedback-space{height:94px;position:relative}.round-feedback{--reward:var(--lime);padding:7px 11px;background:#071624ed;border-left:3px solid var(--reward);position:relative;min-height:62px;animation:feedback-in .2s}.feedback-main{display:flex;justify-content:space-between;align-items:center}.feedback-label{display:none}.round-feedback h2{font-size:25px;color:var(--reward);line-height:1}.feedback-points{font:27px var(--pixel);color:var(--reward)}.round-feedback p{font-size:12px;line-height:1.25;color:#d5dee0;margin-top:3px}.feedback-spark{position:absolute;right:40px;top:25px;pointer-events:none}.feedback-spark i{position:absolute;width:4px;height:4px;background:var(--reward);animation:spark .65s ease-out var(--delay) both}.advance-row{height:28px;display:flex;align-items:center;justify-content:space-between;background:#061725b0;padding:0 8px}.advance-row>span{font-size:11px;color:#c9d7d9}.advance-row button{font-size:12px;padding:4px;color:#edf3e1}.advance-meter{height:2px;background:#17313c;overflow:hidden}.advance-meter i{display:block;height:100%;background:var(--lime);animation:drain var(--advance-duration) linear forwards;transform-origin:left}.advance-meter.paused i{animation-play-state:paused}.question-note{text-align:center;padding-top:10px;color:#e4eadb;font-size:12px;text-shadow:2px 2px #031521}.goat-alert{position:absolute;top:31px;right:0;font:12px var(--pixel);color:var(--gold);background:#091922ed;padding:4px 8px;z-index:2}.round-enter .question-card{animation:feedback-in .2s}
.finish,.records-page{margin:22px auto 35px;background:#071624ed;border:1px solid #637d80;box-shadow:5px 5px #030e1880;padding:26px;text-align:center}.finish-arrival{animation:result-arrive .3s 2.1s both}.final-rank{font-size:62px;line-height:1;color:var(--rank-color);margin:18px 0 8px}.rank-line{font-size:14px;color:var(--muted)}.final-score{font:100px/1.1 var(--pixel)}.final-score span{font-size:45px;color:var(--muted)}.result-tiles{display:flex;gap:6px;justify-content:center;margin:12px 0}.result-tiles i{display:grid;place-items:center;width:30px;height:30px;font-style:normal;background:#34434b}.result-tiles .hit{background:var(--lime);color:#182820}.score-caption,.record-save-status{font-size:12px;color:var(--muted);margin:15px 0}.finish .secondary{margin:12px 0 7px}.friend-result{padding:13px;background:#153043;margin:15px 0;font-size:14px}.friend-result small{font-size:11px;color:var(--muted)}details{text-align:left;border-top:1px solid var(--line);margin-top:22px}summary{cursor:pointer;padding:17px 0;font-size:14px}summary span{float:right;font-size:12px;color:var(--muted)}.review-row{display:flex;gap:12px;border-top:1px solid #304856;padding:15px 0;font-size:14px}.review-row small{display:block;font-size:12px;color:var(--muted)}.review-row p{margin:7px 0}.review-row strong{color:var(--lime)}.review-story{color:var(--muted)}.review-row a{display:block;font-size:12px;margin-top:8px}.trophy-ladder{list-style:none;padding:0}.trophy-ladder li{display:flex;gap:12px;padding:12px 0;align-items:center;border-bottom:1px solid var(--line)}.trophy-ladder strong{display:block;color:var(--rank-color)}.trophy-ladder li div>span{font-size:12px;color:var(--muted)}.ladder-node,.you-badge{color:var(--rank-color);font-size:12px}.you-badge{margin-left:auto}.current{background:#ffffff0b}.share-label{display:block;font-size:13px}.share-label textarea{width:100%;min-height:120px;background:var(--bg);color:var(--text);margin-top:10px;padding:12px}
dialog{max-width:460px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;padding:27px;background:#0a1c2a;color:var(--text);border:2px solid #6d858c;box-shadow:8px 8px #020b17}dialog::backdrop{background:#02101bba}dialog h2{font-size:37px;margin:10px 0}dialog p{font-size:14px;color:var(--muted);margin:13px 0}.close{position:absolute;right:10px;top:8px;background:none;font-size:25px}.auto-setting{display:flex;gap:10px;font-size:14px;margin:16px 0}.auto-setting input{accent-color:var(--lime);width:18px;height:18px}#toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,12px);background:#102638;border:1px solid #74928d;padding:12px 20px;font-size:13px;max-width:90%;opacity:0;pointer-events:none;z-index:10;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}.records-page{text-align:left}.records-heading h1{font-size:44px;margin:12px 0}.records-heading p,.records-signin p{color:var(--muted);font-size:14px}.records-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:20px 0}.records-stats>div{padding:12px 5px;background:#173140;text-align:center}.records-stats strong{display:block;color:var(--lime);font:35px var(--pixel)}.records-stats span{font-size:11px}.records-subtitle{font-size:29px;margin:24px 0 10px}.records-modes>div{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.records-modes small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.records-account,.records-note{font-size:12px;color:var(--muted);margin:18px 0;overflow-wrap:anywhere}.records-notice{padding:18px 0;font-size:14px}.records-signin p{margin:16px 0}.records-page a.text-button{display:inline-block}.record-save-status button{color:var(--lime)}
@keyframes result-arrive{from{opacity:0;transform:translateY(10px);visibility:hidden}to{opacity:1;transform:translateY(0);visibility:visible}}@keyframes feedback-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes answer-lock{50%{box-shadow:0 0 18px #d5f48166}}@keyframes nudge{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes spark{from{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}@keyframes drain{to{transform:scaleX(0)}}
@media(max-width:540px){header{padding:8px 14px}.brand{font-size:29px}nav{gap:5px}nav button{padding:4px 8px}.sound-label{display:none}main{padding:0 14px}.home-heading h1{font-size:66px}.home{padding-top:5dvh}.question h1{font-size:29px}.match-title{font-size:26px}.question-card{padding:12px 14px}.option strong{font-size:22px}.option{gap:7px;padding:9px}.records-stats{grid-template-columns:1fr 1fr}}
@media(max-height:650px){header{height:44px}.playing main{height:calc(100dvh - 44px)}.home{height:calc(100dvh - 44px);min-height:0;padding:3dvh 0 10px}.home-heading h1{font-size:58px;margin:8px 0}.home-heading>p:last-child{font-size:14px}.home-rule{margin-top:10px;font-size:11px}.home-controls{max-width:430px}.primary{min-height:45px;font-size:24px;padding:8px}.secondary{min-height:42px;font-size:21px;padding:8px}.home-controls .secondary{margin-top:10px}.round-top{height:27px}.progress{margin-bottom:6px;height:5px}.question-head{height:17px;font-size:10px}.question{gap:7px;grid-template-rows:auto minmax(28px,1fr) auto 83px}.question-card{padding:8px 11px}.event-meta{font-size:11px;margin-bottom:3px}.match-title{font-size:24px;margin-bottom:5px}.question h1{font-size:26px}.field-space{min-height:28px}.option{min-height:48px;padding:7px;gap:6px}.option strong{font-size:21px}.option-letter{width:21px;height:23px}.options{gap:8px}.feedback-space{height:83px}.round-feedback{min-height:55px;padding:4px 8px}.round-feedback h2{font-size:23px}.round-feedback p{font-size:11px}.advance-row{height:25px}.field-player{top:63%}.field-ball{top:63%}}
@media(max-height:480px) and (min-width:560px){header{height:38px}.playing main{height:calc(100dvh - 38px);max-width:1000px}.round-top{height:24px}.progress{margin:0 0 4px}.question-head{height:16px}.question{grid-template-columns:1fr 1fr;grid-template-rows:auto 72px;gap:6px 20px}.question-card{grid-column:1;grid-row:1;align-self:start}.question h1{font-size:25px}.field-space{grid-column:1;grid-row:2}.options{grid-column:2;grid-row:1}.feedback-space{grid-column:2;grid-row:2;height:72px}.round-feedback{min-height:44px;padding:3px 7px}.round-feedback h2{font-size:21px}.round-feedback p{font-size:10px}.feedback-points{font-size:22px}.field-player,.field-ball{top:72%}.field-player{width:50px;height:57px}.home{height:calc(100dvh - 38px);display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start;padding-top:12px}.home-heading h1{font-size:52px}.home-heading .eyebrow{font-size:10px}.home-controls{padding:0}.home-controls .daily-label{margin-bottom:7px;font-size:12px}.home-rule{font-size:10px}.shot-announcement{top:18%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.air-particles,.crowd-glints,.feedback-spark{display:none}.shot-announcement{display:none}.shooting .field-ball{left:var(--ball-end)}.finish-arrival{opacity:1;visibility:visible}}
/* Match the actors to the painted touchline and the goal mouth. */
.stadium-art{top:-6%;height:100%}.field-keeper{top:66%}.shooting{animation:camera-track .8s .45s ease-out both}
@media(max-height:650px){.stadium-art{top:-10%}.field-player,.field-ball{top:60%}.field-keeper{top:62%}}
@media(max-height:480px) and (min-width:560px){.stadium-art{top:-6%}.field-player,.field-ball{top:70%}.field-keeper{top:66%}}
/* The wordmark has transparent breathing room in its source artwork. */
.pixel-wordmark{position:relative;display:block;width:100%;aspect-ratio:6.1;overflow:hidden}.pixel-wordmark img{position:absolute;left:-4%;top:50%;width:109%;height:auto;transform:translateY(-50%);image-rendering:pixelated}.brand{width:162px;flex-shrink:0}.brand .pixel-wordmark{width:100%}.home-heading{width:100%}.home-heading .home-logo{width:min(100%,480px);margin:18px auto 14px;line-height:1}.home-logo .pixel-wordmark{width:100%}.option:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
/* Phone composition: safe edges, clear touch targets, and a visible playing lane. */
@media(max-width:600px) and (orientation:portrait){
 :root{--phone-header:52px}
 header{height:calc(var(--phone-header) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0;gap:8px}.brand{width:143px}nav{gap:6px}nav button{min-height:36px;min-width:36px;padding:5px 9px}.sound-label{display:none}
 main{padding:0 12px;max-width:520px}.playing main{height:calc(100dvh - var(--phone-header) - env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom)}
 .home{height:calc(100dvh - var(--phone-header) - env(safe-area-inset-top));min-height:440px;padding:4dvh 0 max(14px,env(safe-area-inset-bottom));gap:20px}.home-heading .eyebrow{font-size:11px;letter-spacing:1.2px}.home-heading .home-logo{width:min(100%,380px);margin:16px auto}.home-heading>p:last-child{font-size:15px}.home-controls{padding-top:10px;max-width:420px}.home-controls .primary{min-height:52px;font-size:26px}.home-controls .secondary{min-height:46px;font-size:23px}.home-rule{font-size:12px;margin-top:14px;line-height:1.45}.daily-label{font-size:13px;letter-spacing:1px}.home-controls>.text-button{min-height:38px;font-size:12px}
 .game{padding-bottom:4px}.round-top{height:30px;font-size:12px}.round-top .text-button{font-size:12px}.progress{margin:2px 0 8px;height:6px;gap:6px}.question-head{height:20px;font-size:11px}.question{grid-template-rows:auto minmax(58px,1fr) auto 92px;gap:9px}.question-card{padding:12px 14px}.event-meta{font-size:12px;line-height:1.3}.match-title{font-size:28px;line-height:1.05;margin-bottom:8px}.question h1{font-size:30px;line-height:1.03}.field-space{min-height:58px}.options{gap:9px}.option{min-height:60px;gap:7px;padding:9px 8px}.option strong{font-size:23px;line-height:1.03}.option-letter{width:23px;height:25px;font-size:12px}.option-status{width:10px}.feedback-space{height:92px}.round-feedback{min-height:62px;padding:6px 9px}.round-feedback h2{font-size:25px}.round-feedback p{font-size:12px;line-height:1.25}.advance-row{height:28px}.advance-row button{min-width:74px;min-height:28px}.question-note{font-size:12px;padding-top:9px}.goat-alert{font-size:13px;max-width:100%;top:32px}
 .stadium-art{top:calc(var(--ground,65dvh) - 71dvh)}.field-player,.field-ball{top:var(--ground,65dvh)}.field-keeper{top:calc(var(--ground,65dvh) + 1dvh)}.field-player{width:58px;height:74px}.field-keeper{width:47px;height:63px}.field-ball{width:16px}
 .finish,.records-page{padding:20px 16px;margin:14px auto 24px}.final-rank{font-size:53px}.finish .primary{font-size:25px}.finish .secondary{font-size:22px}.records-heading h1{font-size:37px}.records-stats{grid-template-columns:1fr 1fr}.shot-announcement{top:24%;font-size:80px}.shot-announcement small{font-size:12px;letter-spacing:1px;padding:0 15px}
}
@media(max-width:600px) and (orientation:portrait) and (max-height:700px){
 :root{--phone-header:46px}.home{padding-top:2dvh;min-height:0}.home-heading .home-logo{width:290px;max-width:100%;margin:10px auto}.home-heading>p:last-child{font-size:14px}.home-controls .primary{min-height:46px;font-size:24px}.home-controls .secondary{min-height:42px;font-size:21px}.home-rule{font-size:11px;margin-top:10px}.daily-label{margin-bottom:9px}.home-controls>.text-button{min-height:30px;padding:5px}
 .round-top{height:26px}.progress{margin-bottom:6px;height:5px}.question-head{height:17px;font-size:10px}.question{grid-template-rows:auto minmax(42px,1fr) auto 82px;gap:7px}.question-card{padding:9px 11px}.event-meta{font-size:11px;margin-bottom:3px}.match-title{font-size:25px;margin-bottom:5px}.question h1{font-size:27px}.field-space{min-height:42px}.option{min-height:52px;padding:7px;gap:6px}.option strong{font-size:21px}.options{gap:8px}.feedback-space{height:82px}.round-feedback{min-height:55px;padding:4px 8px}.round-feedback h2{font-size:23px}.round-feedback p{font-size:11px}.advance-row{height:25px}.advance-row button{min-height:25px}.field-player{width:46px;height:58px}.field-keeper{width:39px;height:52px}.field-ball{width:14px}
}
@media(max-width:360px) and (orientation:portrait){.brand{width:125px}nav button{padding:4px 7px;font-size:11px}.option-status{width:8px}.question h1{font-size:25px}.match-title{font-size:24px}.option strong{font-size:20px}.home-rule{font-size:11px}.question-card{padding:8px 10px}}

/* Compact bilingual controls and a restrained arcade response. */
#language-toggle{font-size:11px;letter-spacing:.04em;white-space:nowrap;padding:7px 8px;color:#fff2cb;border:1px solid #fff2cb44;background:#182d35b3}
@media(max-width:420px){header nav{gap:5px}header .brand{max-width:116px}#records-button{font-size:11px;padding:6px}#language-toggle{padding:6px;font-size:10px}.question-card h1{font-size:clamp(20px,5.6vw,27px)}.option strong{line-height:1.04}.home-rule{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.option.correct{animation:answer-lock .34s steps(4,end) both}.feedback-hit .feedback-points{animation:score-pop .38s cubic-bezier(.2,.8,.3,1.3) both}.round-enter .question-card{animation:question-settle .22s ease-out both}}
@keyframes answer-lock{0%{transform:translateY(0);box-shadow:0 0 0 0 #c7f36a88}45%{transform:translateY(-3px);box-shadow:0 0 0 5px #c7f36a44}100%{transform:translateY(0);box-shadow:0 0 0 0 #c7f36a00}}
@keyframes score-pop{0%{transform:scale(.65);opacity:.2}65%{transform:scale(1.13)}100%{transform:scale(1);opacity:1}}
@keyframes question-settle{from{transform:translateY(5px);opacity:.5}to{transform:translateY(0);opacity:1}}
.question-clock{display:inline-block;min-width:42px;margin-left:8px;padding:2px 5px;background:#112d35;border-bottom:3px solid #c7f36a;color:#fff2cb;font:16px 'VT323',monospace;text-align:center}.question-clock.urgent{color:#ffb49f;border-color:#ff9174}.question-head{height:28px}
.written-form,.written-result{padding:13px;background:#102630ed;border:2px solid #eed9a0;box-shadow:4px 4px #04131b;color:#fff2cb}.written-form label,.written-result>span{display:block;font:20px 'VT323',monospace;margin-bottom:8px}.written-entry{display:flex;gap:8px}.written-entry input{min-width:0;flex:1;border:2px solid #829aa0;border-radius:0;background:#fff3d0;color:#102630;padding:12px;font:20px 'VT323',monospace;outline-offset:3px}.written-entry button{padding:8px 15px;font-size:21px}.written-form small{display:block;font-size:12px;line-height:1.4;margin-top:7px;color:#c4d6d6}.written-result strong{display:block;font:30px 'VT323',monospace;color:#c7f36a}#answer-suggestion{font-size:14px;line-height:1.3}#answer-suggestion:empty{display:none}#answer-suggestion span{display:block;margin-top:9px}#answer-suggestion button{border:1px solid #c7f36a;color:#c7f36a;background:#173747;padding:8px;margin:7px 7px 0 0;min-height:36px}
.daily-board{margin-top:22px;padding:18px;background:#0c2330ef;border:2px solid #a2b49b;box-shadow:4px 4px #06121c;text-align:left}.daily-board h2{font:30px 'VT323',monospace;color:#e9d696}.daily-board p{font-size:14px;line-height:1.4;margin:12px 0}.board-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.board-stats strong{display:block;font:40px 'VT323',monospace;color:#c7f36a}.board-stats small{font-size:22px;color:#bac9c8}.board-stats span{font-size:13px}.score-histogram{display:flex;align-items:end;gap:7px;height:100px}.score-histogram>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font:13px monospace}.score-histogram i{display:block;background:#647e89;width:100%;min-height:3px}.score-histogram .your-bin i{background:#c7f36a}.score-histogram .your-bin{color:#c7f36a}.leader-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:18px}.leader-table td,.leader-table th{padding:7px;text-align:left;border-bottom:1px solid #37535b}.your-row{color:#c7f36a}.daily-board .board-note{font-size:12px;color:#b8cdd0}
@media(max-height:480px) and (min-width:560px){.written-form,.written-result{grid-column:2;grid-row:1}.question-head{height:25px}}
/* Home navigation is a single pixel-style icon, visible only during a match. */
#brand.home-button{width:42px;max-width:42px;height:40px;display:grid;place-items:center;visibility:hidden;pointer-events:none;padding:7px;background:#112b38d9;border:1px solid #718985;box-shadow:0 3px #04131b;color:#e8edcc}
body.playing #brand.home-button{visibility:visible;pointer-events:auto}#brand svg{display:block;shape-rendering:crispEdges}
.progress i:nth-last-child(-n+2):not(.hit):not(.miss){border-color:#c7a775;background:#302e2b}.written-round .question-card:before{background:#ffda80}.written-round .question-head>span:first-child{color:#ffda80;font-size:11px;letter-spacing:.04em}
/* Desktop keeps the open pitch above the answer, as before. */
.written-round .question{grid-template-rows:auto minmax(40px,1fr) auto 94px}.written-round .written-form,.written-round .written-result{grid-row:3}.written-round .field-space{grid-row:2;min-height:40px}.written-round .feedback-space{grid-row:4}
.written-form{position:relative;background:linear-gradient(120deg,#132d3cf5,#0a1d2bf5);border:1px solid #a4a787;border-top:2px solid #ebd498;padding:12px 14px;box-shadow:3px 4px #04131b80}.written-form label{font-size:18px;margin-bottom:7px;color:#e7d59f}.written-entry input{border:1px solid #8ea9a3;border-radius:0;background:#fff3d7;font-size:22px;line-height:1.1;padding:10px 12px;min-height:46px}.written-entry input:focus{outline:2px solid #d5f481;outline-offset:2px}.written-entry button{min-height:46px;box-shadow:0 3px #648046;font-size:23px;padding:7px 15px;letter-spacing:0}.written-form small{font-size:12px;line-height:1.3;margin-top:8px}.written-result{min-height:104px;border:1px solid #a4a787;background:#102630ed}.written-result strong{overflow-wrap:anywhere}
#answer-suggestion{position:relative}#answer-suggestion:empty{display:block}#answer-suggestion span{font-size:14px}#answer-suggestion button{min-height:40px;border-color:#8ca58a;font-size:13px}
@media(max-width:600px) and (orientation:portrait){
 body.playing{height:100svh;min-height:0;overflow:hidden;overscroll-behavior:none}
 body.playing main{height:calc(var(--visible-height,100svh) - 52px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding-bottom:env(safe-area-inset-bottom)}
 body.playing main::-webkit-scrollbar{display:none}
 .stadium-plane{height:var(--scene-height,100svh);width:max(100vw,calc(var(--scene-height,100svh)*1.5))}
 .stadium-art{top:calc(var(--ground,65svh) - var(--scene-height,100svh)*.71)}.field-keeper{top:calc(var(--ground,65svh) + var(--scene-height,100svh)*.01)}
 .written-round .written-form,.written-round .written-result{grid-row:2}.written-round .field-space{grid-row:3}
 .game{min-height:0}.question-head{height:29px}.written-round .question{grid-template-rows:auto auto minmax(0,1fr) 82px;gap:9px}.written-round .question-card{padding:10px 12px}.written-round .question h1{font-size:clamp(22px,6vw,27px);line-height:1.06}.written-round .match-title{font-size:26px;line-height:1.05}.written-round .field-space{min-height:0}.written-round .feedback-space{height:82px}
 .written-form{padding:10px 12px}.written-form label{font-size:18px;margin-bottom:6px}.written-entry input{font-size:20px;min-height:44px;padding:9px}.written-entry button{min-height:44px;font-size:21px;padding:8px 12px}.written-form small{font-size:12px}.written-result{min-height:110px;padding:12px}.written-result strong{font-size:28px}
 .keyboard-open .written-round .question{grid-template-rows:auto auto minmax(0,1fr) 0;gap:7px}.keyboard-open .written-round .feedback-space{height:0;overflow:hidden}.keyboard-open .written-round .field-space{min-height:0}.keyboard-open .written-round .written-form small{display:none}.keyboard-open .written-round .written-form{padding:8px 10px}
 .keyboard-open .written-round .round-top{height:24px}.keyboard-open .written-round .progress{margin-bottom:5px}
 .home-controls{backdrop-filter:none}.home-heading .home-logo{filter:drop-shadow(0 3px 0 #05152070)}
}
@media(max-height:480px) and (min-width:601px){.written-round .question{grid-template-columns:1fr 1fr;grid-template-rows:auto 72px}.written-round .written-form,.written-round .written-result{grid-row:1;grid-column:2}.written-round .field-space{grid-row:2;grid-column:1}.written-round .feedback-space{grid-row:2;grid-column:2}}
@media(prefers-reduced-motion:no-preference){.written-entry input:focus{transition:outline-color .15s}.running .crowd-glints i{animation-duration:1.2s}.shooting.goal .stadium-light,.shooting.wondergoal .stadium-light{animation:stadium-cheer .55s 1.13s ease-out both}}
@keyframes stadium-cheer{0%{filter:brightness(1)}35%{filter:brightness(1.4)}100%{filter:brightness(1)}}
/* The clock belongs to the question, leaving the pitch and answers in place. */
.question-card{display:grid;grid-template-columns:68px minmax(0,1fr);column-gap:15px;align-items:start}.question-copy{min-width:0}
#question-clock{--clock-color:#d5f481;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;width:100%;margin:0;padding:9px 6px 7px;border:2px solid #81978a;border-bottom:4px solid #425a50;background:linear-gradient(#193845,#0a202e);box-shadow:3px 3px #030e18,inset 0 2px #d5f48122;color:var(--clock-color);text-shadow:2px 2px #04141e;position:relative}
#question-clock .clock-icon{width:20px;height:20px;shape-rendering:crispEdges}#clock-seconds{font:46px/.9 var(--pixel);font-variant-numeric:tabular-nums;letter-spacing:0}#question-clock .clock-unit{font:10px/1 monospace;letter-spacing:2px;color:#c5d4ce;margin:2px 0 4px}.clock-track{width:100%;height:5px;background:#06141d;position:relative;overflow:hidden}.clock-track i{display:block;width:100%;height:100%;background:var(--clock-color);transform:scaleX(var(--time,1));transform-origin:left;transition:transform .2s linear}.clock-track:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.666% - 2px),#0a202e calc(16.666% - 2px),#0a202e 16.666%)}
#question-clock.warning{--clock-color:#ffda80;border-color:#b99b5c}#question-clock.pressure{--clock-color:#ffb575;border-color:#c38a56}#question-clock.urgent{--clock-color:#ff9c91;border-color:#dc8076;background:linear-gradient(#482c35,#251e2b)}#question-clock.clock-stopped{opacity:.6}
@media(prefers-reduced-motion:no-preference){#question-clock.clock-alert{animation:clock-emphasis .38s ease-out}@keyframes clock-emphasis{0%{box-shadow:0 0 0 0 var(--clock-color)}45%{box-shadow:0 0 0 4px #ffda8040;transform:scale(1.045)}100%{box-shadow:3px 3px #030e18;transform:scale(1)}}}
@media(max-width:600px){.question-card{grid-template-columns:46px minmax(0,1fr);column-gap:10px}#question-clock{padding:7px 3px 5px;gap:2px;border-width:1px;border-bottom-width:3px}#question-clock .clock-icon{width:17px;height:17px}#clock-seconds{font-size:36px}#question-clock .clock-unit{font-size:9px;letter-spacing:1px;margin-bottom:3px}.clock-track{height:4px}.question-card .match-title{font-size:clamp(22px,5.7vw,27px)}.question-card h1{font-size:clamp(21px,5.6vw,27px)}}
@media(max-width:360px){.question-card{grid-template-columns:39px minmax(0,1fr);column-gap:8px}#clock-seconds{font-size:32px}.question-card .match-title{font-size:22px}.question-card h1{font-size:21px}}
@media(max-height:480px) and (min-width:601px){.question-card{grid-template-columns:46px minmax(0,1fr);gap:10px}#clock-seconds{font-size:34px}#question-clock{padding:5px 3px}#question-clock .clock-icon{width:15px;height:15px}}

/* The record book uses the stadium's pixel scoreboard palette. */
.records-streaks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.records-streaks>div{display:flex;align-items:center;gap:12px;background:#102d31;border:2px solid #568177;padding:14px;box-shadow:3px 3px 0 #071b24}.records-streaks strong{font:26px var(--pixel,monospace);color:#f3d67c}.records-streaks span{font-size:14px;color:#e8f2df}.records-calendar{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:5px}.record-day{border:2px solid #42635e;background:#122b30;text-align:center;padding:7px 1px;color:#bed1c3}.record-day span{display:block;font-size:12px}.record-day strong{display:block;margin-top:6px;font-size:16px}.record-day.done{border-color:#8bc592;background:#254b3a;color:#ecf3de}.record-day.perfect{border-color:#f3d67c;background:#574822;color:#fff0b4}.record-bin{display:grid;grid-template-columns:34px 1fr 32px;align-items:center;gap:10px;margin:8px 0;font-size:14px}.record-bin>div{height:14px;background:#102a2e;border:1px solid #395c57}.record-bin i{display:block;height:100%;background:#92c69a;min-width:0;box-shadow:inset 0 3px #c1dfaa}.record-bin i.perfect{background:#e5bd5f;box-shadow:inset 0 3px #fff0aa}.record-bin strong{text-align:right}.records-subtitle{margin-top:24px}.records-page{padding-bottom:36px}@media(max-width:600px){.records-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.records-streaks>div{padding:10px;gap:8px}.records-streaks strong{font-size:24px}}

/* Player collection: compact pixel wardrobe, cosmetic-only. */
.home-extras{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.wardrobe-entry{color:var(--text)}.coin-mini{color:var(--gold);margin-left:6px;white-space:nowrap}#player-customize{position:fixed;z-index:2;appearance:none;background:transparent;border:0;box-shadow:none;padding:0;cursor:pointer}#player-customize[hidden],body.playing #player-customize{display:none}#player-customize:focus-visible{outline:none}
/* A short silhouette glow invites interaction without covering the pitch. */
body:has(#player-customize:not([hidden])):not(:has(#wardrobe-dialog[open])) .field-player img{animation:breathe 2.5s ease-in-out infinite,player-hint-glow 3s ease-in-out infinite}
@keyframes player-hint-glow{0%,66%,100%{filter:brightness(1) drop-shadow(0 0 0 transparent)}78%{filter:brightness(1.2) drop-shadow(0 0 2px #ffe7a0) drop-shadow(0 0 6px #f5c45a99)}88%{filter:brightness(1.06) drop-shadow(0 0 2px #f5c45a55)}}
body:has(#player-customize:focus-visible) .field-player img{animation:breathe 2.5s ease-in-out infinite;filter:brightness(1.15) drop-shadow(0 0 2px #ffe7a0) drop-shadow(0 0 6px #f5c45a99)}
@media(hover:hover) and (pointer:fine){body:has(#player-customize:hover) .field-player img{animation:breathe 2.5s ease-in-out infinite;filter:brightness(1.15) drop-shadow(0 0 2px #ffe7a0) drop-shadow(0 0 6px #f5c45a99)}}
@media(prefers-reduced-motion:reduce){body:has(#player-customize:not([hidden])) .field-player img{animation:none;filter:drop-shadow(0 0 2px #f5c45a88)}}
#wardrobe-dialog{width:min(560px,calc(100% - 24px));max-width:560px;padding:24px;border:3px solid #8aaa91;box-shadow:7px 7px #03121c,inset 0 4px #d5f48122;max-height:90dvh}#wardrobe-dialog .close{min-width:40px;min-height:40px;z-index:1}.wardrobe-heading{display:flex;justify-content:space-between;align-items:center;padding-right:32px;gap:16px}.wardrobe-heading h2{font-size:36px;margin:6px 0}.wardrobe-heading .eyebrow{font-size:12px;letter-spacing:1px}.coin-wallet{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 7px;color:var(--gold)}.coin-wallet strong{font:32px var(--pixel)}.coin-wallet>span:last-child{grid-column:2;font-size:12px}.coin-symbol{font-size:23px;text-shadow:2px 2px #875b21}.skin-stage{display:flex;gap:24px;align-items:center;justify-content:center;min-height:196px;padding:14px;background:linear-gradient(0deg,#213e36,#102331);border:1px solid #58766a;margin:16px 0}.skin-stage>img{width:112px;height:152px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(5px 6px #081b2666);animation:wardrobe-idle 2s steps(2) infinite}.skin-stage h3{font:32px/1 var(--pixel);color:var(--lime);margin:8px 0}.skin-stage p{font-size:14px;margin:4px 0;max-width:190px}.skin-stage .skin-type{font:12px monospace;color:var(--gold)}.skin-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.skin-card{background:#142b36;border:2px solid #476775;padding:8px 4px;min-width:0;box-shadow:0 3px #03111c}.skin-card.selected{border-color:var(--gold);background:#293b36}.skin-card>img{display:block;margin:auto;width:61px;height:82px;object-fit:contain;image-rendering:pixelated}.skin-card strong{display:block;font:20px/1.1 var(--pixel);margin:8px 0 4px}.skin-card span{font-size:12px;color:var(--gold)}.wardrobe-action{min-height:80px;margin-top:18px}.wardrobe-action .primary:disabled{filter:saturate(.35);opacity:.65}.wardrobe-action p{font-size:14px;text-align:center}.wardrobe-error{color:#ffb8ba!important}.coin-progress{margin:8px 0!important;color:var(--gold)!important}.coin-rules{margin-top:12px}.coin-rules summary{font-size:14px;padding:14px 0}.coin-rules p{font-size:14px;line-height:1.5}.coin-payouts{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.coin-payouts>div{background:#172f3b;text-align:center;padding:10px 2px;border:1px solid #476775}.coin-payouts strong,.coin-payouts span{display:block;font-size:14px}.coin-payouts span{color:var(--gold);margin-top:5px}.coin-payouts .perfect{border-color:var(--gold);background:#3c3827}.daily-coins{display:block;font:22px var(--pixel);color:var(--gold);margin-top:10px}@keyframes wardrobe-idle{50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.skin-stage>img{animation:none}}@media(max-width:600px){#wardrobe-dialog{padding:18px 14px}.wardrobe-heading h2{font-size:32px}.skin-stage{gap:16px;min-height:155px;padding:10px;margin:12px 0}.skin-stage>img{width:86px;height:116px}.skin-stage h3{font-size:27px}.skin-stage p{font-size:14px}.skin-collection{gap:7px}.skin-card strong{font-size:18px}.home-extras{gap:4px 12px}.home-extras .text-button{font-size:12px;padding:6px 2px}}@media(max-height:650px){.home-extras .text-button{padding:3px 2px}.skin-stage{min-height:125px}.skin-stage>img{height:96px;width:72px}}

/* Confirmed Daily coins move into the wallet after the shot celebration. */
#daily-coin-reward:empty{display:none}#daily-coin-reward{margin:16px 0 18px}.coin-collection{display:grid;grid-template-columns:1fr minmax(48px,.8fr) 1fr;align-items:center;position:relative;padding:14px 10px;border:1px solid #927b45;background:linear-gradient(110deg,#35332299,#142b30);box-shadow:3px 3px #020f1980}.coin-earned>span,.coin-total>span{display:block;font:12px monospace;letter-spacing:.5px;color:#dfd9b5}.coin-earned strong,.coin-total strong{display:block;font:38px/1.1 var(--pixel);color:var(--gold);margin-top:5px}.coin-earned i{font-style:normal;font-size:25px}.coin-total{border-left:1px solid #82734166}.coin-total strong{color:#f3f0d2}.coin-transfer{position:relative;height:44px}.coin-transfer i{position:absolute;left:0;top:12px;font-style:normal;color:#ffe297;font-size:19px;opacity:0;text-shadow:2px 2px #8e6428;animation:coin-to-wallet .6s ease-in-out var(--coin-delay) both;pointer-events:none}.collecting .coin-total strong{animation:wallet-receive .28s .72s ease-out 2}.coin-confirmation{font-size:12px;color:var(--muted);min-height:18px;margin:7px 0 0}.coin-unlock{font:21px var(--pixel);color:var(--gold);margin:7px 0}.coin-wardrobe{padding:5px 10px;color:var(--lime);font-size:14px}@keyframes coin-to-wallet{0%{left:0;opacity:0;transform:translateY(4px) scale(.6)}20%{opacity:1}55%{transform:translateY(-13px) scale(1)}85%{opacity:1}100%{left:100%;opacity:0;transform:translateY(3px) scale(.5)}}@keyframes wallet-receive{50%{color:#ffdc7a;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.coin-transfer i,.collecting .coin-total strong{animation:none}}@media(max-width:380px){.coin-earned>span,.coin-total>span{font-size:12px;letter-spacing:0}.coin-earned strong,.coin-total strong{font-size:32px}}

/* Keep the expanded wardrobe compact on phones; only the skin strip scrolls sideways. */
.collection-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;color:var(--muted);font-size:14px}.collection-nav>div{display:flex;gap:8px}.collection-step{min-width:40px;min-height:40px;padding:0;background:#142b36;border:1px solid #58766a;color:var(--gold);font:30px var(--pixel);box-shadow:0 2px #03111c}.collection-step:focus-visible,.skin-card:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.skin-collection{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#8aaa91 #102331;padding:3px 3px 9px}.skin-card{flex:0 0 calc((100% - 20px)/3);scroll-snap-align:center}.skin-card>img{pointer-events:none}.skin-card span{display:block;line-height:1.3}.skin-card.selected{box-shadow:0 3px #03111c,inset 0 0 0 1px #e6cb7333}@media(max-width:600px){.skin-card{flex-basis:calc((100% - 14px)/3)}.collection-nav{margin:5px 0}.collection-step{min-width:40px;min-height:40px}}

/* Quiet arcade polish: immediate touch feedback and a short, staggered entrance. */
.option{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.option:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #020d16,inset 0 2px #acc4be18}
@media(prefers-reduced-motion:no-preference){
 .round-enter .option{animation:choice-arrive .18s ease-out both}
 .round-enter .option:nth-child(2){animation-delay:.025s}
 .round-enter .option:nth-child(3){animation-delay:.05s}
 .round-enter .option:nth-child(4){animation-delay:.075s}
 .progress .active{box-shadow:0 0 8px #d5f48155}
 @keyframes choice-arrive{from{opacity:.3;translate:0 4px}to{opacity:1;translate:0 0}}
}
.written-entry:focus-within{outline:2px solid var(--lime);outline-offset:3px}
#answer-suggestion button{min-height:40px;touch-action:manipulation}
.review-row a:focus-visible,.text-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Quiet ready stance; the sprite alone identifies the daily keeper. */
.field-keeper img{transform-origin:50% 95%;animation:keeper-ready 2.8s steps(2,end) infinite}
@keyframes keeper-ready{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.field-keeper img{animation:none!important}}


/* Friends' league noticeboard: pixel edges, quiet colours, full-width mobile rows. */
.leagues-page{margin:16px auto 32px;padding:22px;background:#081a27f5;border:1px solid #627c80;box-shadow:5px 5px #030e1880;text-align:left;min-width:0}
.league-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}.league-top button{min-height:40px}
.league-heading .eyebrow{color:var(--gold);font-size:10px;letter-spacing:1.5px}.league-heading h1{font:48px/1 var(--pixel);margin:10px 0;overflow-wrap:anywhere}.league-heading p:last-child{font-size:14px;color:var(--muted);max-width:430px}
.league-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 16px}.league-actions button{font-size:23px;letter-spacing:0;padding:10px 8px;min-width:0}
.league-empty{text-align:center;padding:30px 16px;background:#102a34;border:1px dashed #54717c;margin:24px 0}.league-empty>span{font:42px var(--pixel);color:var(--gold)}.league-empty h2{font-size:31px;margin:8px 0}.league-empty p{font-size:14px;color:var(--muted)}
.league-rules{margin-top:24px}.league-rules summary{min-height:48px;font-size:13px}.league-rules ol{padding-left:20px;margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.6}.league-rules li+li{margin-top:9px}
.league-form{display:grid;gap:17px;margin:24px 0}.league-form label,.league-share-label{display:grid;gap:8px;font-size:13px}.league-form input,.league-share-label input{width:100%;min-width:0;font:16px 'DM Sans',sans-serif;color:var(--text);background:#071420;border:2px solid #526c78;padding:13px 12px;border-radius:0;min-height:48px}.league-form input:focus,.league-share-label input:focus{outline:2px solid var(--gold);outline-offset:2px}.league-form button:disabled{opacity:.6}.league-error{color:#ffb8ba;font-size:13px;line-height:1.5}.league-error:empty{display:none}.league-note,.league-code{font-size:12px;color:var(--muted);line-height:1.6;margin:14px 0}.league-code{font-family:monospace;text-align:center}.league-code b{color:var(--text);letter-spacing:1px}
.league-season{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-bottom:1px solid #476372;padding:18px 0 12px;font-size:12px}.league-season span{color:var(--gold)}.league-season strong{font-weight:500;color:var(--muted)}.league-callout{background:#173330;border-left:3px solid var(--lime);padding:14px;margin:18px 0}.league-callout strong{color:var(--lime);font-size:14px}.league-callout p{margin-top:5px;font-size:12px;color:#c8d7cf}
.league-board-title{display:flex;align-items:center;justify-content:space-between;margin:25px 0 8px}.league-board-title h2{font-size:30px}.league-board-title button{min-height:44px}
.league-row{display:grid;grid-template-columns:26px minmax(0,1fr) 54px;gap:10px;align-items:center;padding:14px 10px;border-bottom:1px solid #314d5a;background:#0c2230}.league-row.is-you{background:#17352f;border-left:3px solid var(--lime);padding-left:7px}.league-rank{font:27px var(--pixel);color:var(--muted);text-align:center}.league-person{min-width:0}.league-person>strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}.league-person small{font-size:10px;color:var(--lime);font-weight:400}.league-days{display:grid;grid-template-columns:repeat(7,minmax(0,25px));gap:4px;margin-top:8px}.league-days span{display:grid;place-items:center;min-height:25px;font:20px var(--pixel);background:#233947;color:#c1cdd1}.league-days .counted{background:var(--lime);color:#142920}.league-days .empty{color:#80949f;background:#152d3a}.league-days .dropped{opacity:.7}.league-total{text-align:right;white-space:nowrap}.league-total b{font:34px var(--pixel)}.league-total small{font-size:11px;color:var(--muted)}.league-crown,.league-champions{color:var(--gold)}.league-champions{font:25px var(--pixel);padding:10px 0}.league-waiting{padding:15px 0}.league-waiting h2{font-size:25px}.league-waiting p{font-size:13px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.league-loading{padding:45px 0;color:var(--muted);font-size:14px}
.league-list{display:grid;gap:12px;margin:25px 0}.league-card{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #53727b;background:#102b37;padding:18px 14px;box-shadow:0 3px #030e18}.league-card>div{min-width:0}.league-card strong{font:28px var(--pixel);display:block;overflow-wrap:anywhere}.league-card span{font-size:12px;color:var(--muted);display:block;margin-top:7px}.league-card>b{font:25px var(--pixel);color:var(--lime);white-space:nowrap}
@media(max-width:600px){.leagues-page{padding:16px 12px;margin-top:12px}.league-heading h1{font-size:40px}.league-actions{gap:9px}.league-actions button{font-size:21px}.league-row{grid-template-columns:20px minmax(0,1fr) 44px;gap:6px;padding:13px 7px}.league-row.is-you{padding-left:4px}.league-days{gap:3px}.league-days span{min-height:23px;font-size:18px}.league-total b{font-size:30px}.league-person>strong{font-size:13px}.league-top{margin-bottom:12px}.league-note{font-size:12px}}

/* Main-menu social entry and prominent match context. */
.home-friends{display:flex;align-items:center;gap:13px;text-align:left;margin-top:12px;padding:11px 15px;min-height:66px;background:linear-gradient(110deg,#29362c,#132b34);border:2px solid #d8bc78;box-shadow:0 4px #58472c,inset 0 2px #ffe3a221;color:#ffe2a0;transition:filter .15s,transform .15s}
.home-friends>svg{flex-shrink:0;color:#ffda80}.home-friends>span:not(.friends-arrow){flex:1;min-width:0}.home-friends strong{display:block;font:29px/1 var(--pixel);font-weight:400}.home-friends small{display:block;font:12px/1.3 'DM Sans',sans-serif;color:#e1e6d3;margin-top:5px}.friends-arrow{font:28px var(--pixel)}
@media(hover:hover){.home-friends:hover{filter:brightness(1.12)}}
.question-card>.event-meta{grid-column:1/-1;display:flex;align-items:center;gap:10px;font:600 17px/1.3 'DM Sans',sans-serif;color:#fff0c7;margin:0 0 10px;padding:0 0 9px;border-bottom:1px solid #a28e585c;text-wrap:pretty;min-width:0}
.event-year{flex-shrink:0;background:#f0d18e;color:#12212a;padding:3px 7px;font:700 15px/1.2 'DM Sans',sans-serif;box-shadow:2px 2px #060f1a;letter-spacing:.3px}.event-competition{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.home-friends{min-height:62px;padding:10px 12px;gap:11px}.home-friends strong{font-size:27px}.home-friends small{font-size:12px}.question-card>.event-meta{font-size:15px;gap:8px;padding-bottom:7px;margin-bottom:8px}.event-year{font-size:14px;padding:3px 6px}}
@media(max-height:650px){.home-friends{min-height:54px;margin-top:9px;padding:8px 12px}.home-friends strong{font-size:25px}.home-friends small{margin-top:3px;font-size:11px}.home-heading .home-logo{width:min(100%,260px);margin:8px auto}.question-card>.event-meta{font-size:14px;margin-bottom:6px;padding-bottom:6px}.event-year{font-size:13px}}
@media(max-height:480px) and (min-width:560px){.home-friends{min-height:49px;padding:6px 10px}.home-friends strong{font-size:23px}.home-friends>svg{width:24px;height:24px}.question-card>.event-meta{font-size:14px;margin-bottom:2px;padding-bottom:4px}.question-card{row-gap:3px}}

/* Written reveal on phones: keep a dedicated, unobstructed strip for the striker.
   The viewport stays full-height while Safari dismisses the keyboard. Desktop unchanged. */
@media(max-width:600px) and (orientation:portrait){
 .written-round.round-revealed .question{grid-template-rows:auto auto minmax(96px,1fr) minmax(82px,auto)}
 .written-round.round-revealed .field-space{min-height:96px}
 .written-round.round-revealed .written-result{min-height:0;padding:8px 12px;box-shadow:2px 3px #04131b80}
 .written-round.round-revealed .written-result>span{font-size:16px;margin-bottom:3px}
 .written-round.round-revealed .written-result strong{font-size:25px;line-height:1.05}
 .written-round.round-revealed .feedback-space{height:auto;min-height:82px;overflow:hidden}
 body.keyboard-closing.playing main{overflow-y:hidden}
}

/* Pause decoration in background tabs; preserve gameplay feedback in the foreground. */
.page-hidden #world *{animation-play-state:paused!important}
.lite-effects .crowd-glints,.lite-effects .air-particles{display:none}
@media(max-width:600px){.crowd-glints i:nth-child(n+10),.air-particles i:nth-child(n+8){display:none}}

/* Small arcade details, no new textures or constantly running UI effects. */
.daily-label{display:flex;justify-content:center;align-items:center;gap:9px;min-height:20px}
.daily-status{font:12px/1 monospace;letter-spacing:0;color:var(--gold);background:#142b34;border:1px solid #8f845d;padding:3px 6px}
.daily-status.complete{color:var(--lime);border-color:#879b69;background:#19362d}
.home-rule time{color:var(--gold);font-variant-numeric:tabular-nums}
.option-letter{border:1px solid #6a828455;box-shadow:inset 0 -2px #091c2955}
.option.correct .option-letter{color:#162c22;background:var(--lime);border-color:#edfbc5}
.option.incorrect .option-letter{color:#331d29;background:#e5a0a8;border-color:#f6c9ce}
.option-status{font-weight:700}.option.dim .option-letter{opacity:.65}
.finish{border-top:3px solid var(--rank-color);background:linear-gradient(155deg,#152b31f5,#071624f5 45%)}
.final-rank{text-shadow:3px 3px #030f1c}
.result-tiles i{border:1px solid #718187;box-shadow:0 3px #020d18}
.result-tiles .hit{border-color:#e4fab3;box-shadow:0 3px #587b42}
.result-tiles .miss{color:#ecc0c6;background:#3b2e3b;border-color:#8c6875}
.daily-board{border-top:1px solid #587079}
.review-list summary,.rank-details summary,.league-rules summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}
.review-list summary::-webkit-details-marker,.rank-details summary::-webkit-details-marker,.league-rules summary::-webkit-details-marker{display:none}
.review-list summary::after,.rank-details summary::after,.league-rules summary::after{content:'+';font:25px/1 var(--pixel);color:var(--gold);flex-shrink:0}
.review-list[open]>summary::after,.rank-details[open]>summary::after,.league-rules[open]>summary::after{content:'−'}
.league-card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.league-card:hover{border-color:var(--gold);background:#18363c}.text-button:hover{color:var(--text)}}
@media(prefers-reduced-motion:no-preference){
 .finish-arrival .result-tiles i{animation:tile-settle .22s 2.35s ease-out both}
 .finish-arrival .result-tiles i:nth-child(2n){animation-delay:2.40s}
 .finish-arrival .result-tiles i:nth-child(3n){animation-delay:2.45s}
 @keyframes tile-settle{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){.option.correct,.option.incorrect,.round-enter .question-card,.round-feedback{animation:none}}
@media(max-width:600px){nav button{min-height:40px}nav{gap:5px}.daily-label{letter-spacing:1px}}

/* Competition first, phase second; year stays a compact pixel badge.
   The two metadata lines wrap instead of truncating important match context. */
.question-card>.event-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px;padding:0 0 8px}
.event-labels{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 11px;min-width:0}
.event-labels .event-competition{font:600 16px/1.25 'DM Sans',sans-serif;color:#ffe2a0;letter-spacing:.1px}
.event-stage{font:500 13px/1.3 'DM Sans',sans-serif;color:#d2e0da}
.event-meta .event-year{align-self:flex-start;font:700 14px/1.25 'DM Sans',sans-serif;margin-top:1px}
@media(max-width:600px){
 .question-card>.event-meta{gap:8px;margin-bottom:7px;padding-bottom:7px}
 .event-labels{display:grid;gap:2px}
 .event-labels .event-competition{font-size:15px}
 .event-stage{font-size:12px;line-height:1.25}
 .event-meta .event-year{font-size:13px;padding:3px 6px}
}
@media(max-height:650px){.question-card>.event-meta{margin-bottom:5px;padding-bottom:5px}.event-labels .event-competition{font-size:14px}.event-stage{font-size:12px}}

.privacy-entry{display:block;text-align:center;font-size:12px;line-height:1.6;color:#bccbd5;text-underline-offset:3px;margin-top:3px}.privacy-entry:focus-visible{outline:2px solid #ffd36a;outline-offset:3px}
