.game-main{padding-block:32px 45px}.game-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.game-title h1{font-size:clamp(1.8rem,3.8vw,3rem);margin-top:10px}.game-title .eyebrow{font-size:10px}.sound-button,.share-button,.pause-button{background:transparent;border:1px solid #ffffff40;padding:9px 14px;border-radius:3px;font-size:12px;white-space:nowrap}.sound-button[aria-pressed=true]{border-color:var(--orange);color:var(--orange)}.game-board{border:1px solid #78906566;background:#122713;border-radius:6px;overflow:hidden}.scoreboard{display:grid;grid-template-columns:repeat(4,1fr);padding:17px 25px;border-bottom:1px solid #ffffff25;background:#091b0c}.scoreboard>div{border-right:1px solid #ffffff25;display:flex;flex-direction:column;align-items:center}.scoreboard>div:last-child{border:0}.scoreboard span{font-size:10px;letter-spacing:.12em;color:var(--muted)}.scoreboard strong{font-family:var(--display);font-size:32px;line-height:1.3;font-weight:900}.scoreboard small{font-family:Noto,Arial,sans-serif;font-size:12px;color:var(--muted)}#score{color:var(--orange)}.field-wrap{position:relative;background:#0c1c22}.field-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:900/510;max-height:470px;object-fit:contain}.wind-pill{position:absolute;top:18px;right:18px;background:#06160ee0;padding:8px 14px;border:1px solid #ffffff40;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.07em}.kicks{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:14px;background:#071a0fbb;padding:4px 18px;border-radius:20px;font-size:20px;line-height:1.5}.kicks .made{color:var(--orange)}.kicks .miss{color:#b1bcb2}.field-result{position:absolute;top:32%;left:0;width:100%;text-align:center;font-family:var(--display);font-size:clamp(2rem,6vw,4rem);color:var(--orange);text-shadow:0 4px 25px #000;background:#071a0f88;padding:18px 0;pointer-events:none}.field-result small{display:block;font-family:Noto,Arial,sans-serif;font-size:14px;color:white}.game-controls{display:grid;grid-template-columns:1fr 1fr .72fr;gap:32px;padding:25px}.game-controls label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:750;letter-spacing:.07em;color:var(--muted)}.game-controls output,.game-controls label>span{color:var(--white);font-size:11px;letter-spacing:0}.game-controls input{width:100%;height:22px;margin:13px 0 0;accent-color:var(--orange);cursor:ew-resize;touch-action:pan-y}.control-hints{display:flex;justify-content:space-between;font-size:9px;color:#9aac94;margin-top:5px;letter-spacing:.08em}.game-controls p{font-size:11px;line-height:1.6;margin-top:10px}.power-track{height:12px;background:#071509;margin-top:22px;position:relative;border-radius:3px;margin-bottom:8px;border:1px solid #ffffff35}.power-safe{position:absolute;background:#ff8c00b0;right:0;top:0;height:100%;width:30%;border-radius:0 2px 2px 0}.power-fill{width:0;position:absolute;height:100%;background:#f5f5e988}.power-marker{height:20px;background:white;width:3px;position:absolute;top:-5px;left:0;box-shadow:0 0 7px #ffffff66}.kick-control{display:flex;flex-direction:column;justify-content:center;gap:10px}.kick-control .button{font-size:13px;justify-content:center;min-height:52px;padding:13px 14px;gap:14px}.pause-button{align-self:center;border:0;padding:2px 15px;color:var(--muted)}.pause-button:disabled{opacity:.35}.game-status{display:flex;justify-content:space-between;gap:20px;padding-top:16px}.game-status p{font-size:13px;color:var(--white)}.game-status>span{font-size:10px;white-space:nowrap;color:var(--muted);padding-top:3px}.how-to-play{margin-top:30px;border-top:1px solid var(--line);padding-top:20px;font-size:14px}.how-to-play summary{cursor:pointer;font-weight:700;color:var(--muted)}.how-to-play div{display:grid;grid-template-columns:1fr 1fr;gap:15px 30px;padding-top:20px}.how-to-play strong{color:var(--white)}.how-to-play p{font-size:13px}.game-summary{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#214615;padding:30px;margin-top:25px;border-left:3px solid var(--orange)}.game-summary h2{font-size:32px;margin-block:8px}.game-summary p{font-size:13px}.game-summary>div:last-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.game-summary .share-button{min-height:49px}#share-status{width:100%;max-width:300px;overflow-wrap:anywhere}#storage-note{margin-top:10px}
@media(min-width:1100px){.game-main{width:min(1060px,calc(100% - 80px))}}@media(max-width:700px){.game-main{padding-top:24px}.game-title{align-items:start}.game-title h1{font-size:27px;max-width:280px}.sound-button{font-size:10px;padding:7px 9px}.scoreboard{padding:13px 5px}.scoreboard span{font-size:8px;letter-spacing:.05em}.scoreboard strong{font-size:25px}.scoreboard small{font-size:9px}.field-wrap canvas{min-height:235px;object-fit:cover}.wind-pill{top:10px;right:10px;font-size:9px;padding:5px 8px}.kicks{font-size:15px;gap:12px;bottom:8px}.game-controls{grid-template-columns:1fr 1fr;gap:20px;padding:20px 15px 12px}.game-controls label{font-size:9px;letter-spacing:0;flex-wrap:wrap;gap:2px}.game-controls label>span,.game-controls output{font-size:10px}.kick-control{grid-column:1/-1;flex-direction:row;align-items:center}.kick-control .button{min-width:220px}.game-status{flex-direction:column;gap:5px}.game-status p{font-size:12px}.game-status>span{font-size:9px}.game-summary{flex-direction:column;align-items:start;padding:24px}.how-to-play div{grid-template-columns:1fr}.game-controls p{font-size:10px}}
/* Blitz arcade: two-tap meters and a persistent countdown. */
.scoreboard{grid-template-columns:repeat(5,1fr)}#combo{color:var(--orange)}#clock{color:#fff}#clock[data-urgent=true]{color:#ff7256}.field-wrap canvas{max-height:350px}.field-result{font-size:clamp(1.8rem,4.5vw,3.6rem);line-height:1.06;top:27%;padding:20px 8px}.field-result small{margin-top:12px;font-size:11px;letter-spacing:.09em}.level-pill{position:absolute;top:18px;left:18px;font-size:11px;letter-spacing:.1em;font-weight:800;background:#06160ed9;padding:8px 14px;border:1px solid #ffffff40}.streak-pill{position:absolute;bottom:18px;left:18px;color:var(--orange);font-size:12px;letter-spacing:.1em;font-weight:850}.kicks{left:auto;right:18px;transform:none;font-size:19px;bottom:10px}.kicks .miss{color:#ff7256}.shot-timer{height:4px;background:#030d07}#shot-fill{background:var(--orange);width:100%;height:100%}.game-controls{gap:20px;padding:20px}.aim-control,.power-control{padding:12px;border:1px solid transparent;border-radius:4px;transition:border-color .12s,background .12s}.game-controls [data-active=true]{border-color:var(--orange);background:#ff8c000a}.meter-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:750;color:var(--muted)}.meter-label span{font-size:10px;color:var(--orange)}.power-track{height:18px;margin-top:18px;border-radius:2px}.power-safe{right:auto;border-radius:0;background:#ff8c00c9}.power-marker{height:30px;width:4px;top:-7px;background:white;z-index:3}.perfect-zone{position:absolute;width:4%;height:100%;background:#fff4cc;z-index:1}#aim-perfect{width:6%}.power-fill{opacity:.2}.game-controls p{font-size:11px}.kick-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.kick-control .button{font-size:17px;text-transform:uppercase;min-height:60px;touch-action:manipulation}.kick-control{min-width:165px}.game-controls[data-paused=true] .power-track{visibility:hidden}.game-controls[data-paused=true] .kick-control{opacity:.6}.arcade-bottom{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;margin-top:32px}.leaderboard-panel{border-top:3px solid var(--orange);padding-top:18px}.leaderboard-panel h2{font-size:30px;margin-top:7px}#leaderboard{list-style:none;margin:18px 0 0;padding:0}#leaderboard li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}#leaderboard li:first-child strong{color:var(--orange)}#leaderboard strong{font-size:22px;font-family:var(--display);color:var(--white)}#leaderboard small{font-family:Noto,Arial,sans-serif;font-size:10px}.leaderboard-note{font-size:11px;margin-top:15px}.arcade-bottom .how-to-play{margin-top:0}.how-to-play div{grid-template-columns:1fr;gap:12px}.game-summary h2{color:var(--orange)}canvas{touch-action:manipulation}
@media(max-width:700px){.scoreboard span{font-size:8px}.scoreboard strong{font-size:24px}.field-wrap canvas{min-height:200px;max-height:250px}.field-result{font-size:28px}.field-result small{font-size:9px;line-height:1.5;margin-top:8px}.level-pill{top:10px;left:10px;font-size:9px;padding:5px 8px}.streak-pill{font-size:9px;left:10px;bottom:15px}.kicks{font-size:16px;right:8px;bottom:6px}.game-controls{padding:10px;gap:8px}.aim-control,.power-control{padding:8px}.meter-label{font-size:10px;flex-direction:column;gap:2px}.game-controls p{font-size:10px}.kick-control{flex-direction:column;gap:3px;width:100%}.kick-control .button{width:100%;min-height:52px}.kick-meta{width:100%;padding-inline:8px}.power-track{margin-top:12px}.arcade-bottom{grid-template-columns:1fr;gap:25px}.game-status>span{display:none}}
.field-result[data-kind=perfect]{color:#fff4cc;text-shadow:0 0 20px #ff8c00,0 0 50px #ff8c0088}.field-result[data-kind=miss]{color:#ff9b78}.field-result[data-kind=goal]{color:var(--orange)}
/* Mobile play surface: the whole round fits without chasing controls by scrolling. */
#exit-game{display:none}.game-page[data-playing=true] #exit-game{display:inline-block}
.pause-button,.sound-button,.share-button{min-height:44px;min-width:44px;font-size:14px}
#kick{touch-action:none;user-select:none;-webkit-user-select:none}
.field-wrap>*:not(canvas){pointer-events:none}
.game-controls>*,.scoreboard>div{min-width:0}.scoreboard strong{font-variant-numeric:tabular-nums}
@media(max-width:700px),(max-height:500px) and (pointer:coarse){
 .game-page .site-header{min-height:64px}.game-page .site-header .logo{height:44px;width:140px}
 .game-page .site-header .text-link{font-size:13px;text-align:right}
 .game-main{padding-top:16px}.game-title{gap:12px;margin-bottom:18px}.game-title h1{font-size:26px;line-height:1.1}.game-title .eyebrow{font-size:12px;letter-spacing:.05em}
 .sound-button{padding:8px;flex-shrink:0;font-size:12px}
 .scoreboard{padding:10px 4px}.scoreboard span{font-size:10px;letter-spacing:0}.scoreboard strong{font-size:clamp(18px,5vw,26px)}.scoreboard small{font-size:10px}
 .field-wrap canvas{height:100%;width:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain}
 .field-wrap{height:clamp(160px,28svh,240px);overflow:hidden}
 .level-pill,.wind-pill{font-size:11px;letter-spacing:0;top:8px;padding:5px 7px}.level-pill{left:8px}.wind-pill{right:8px}
 .streak-pill{font-size:11px;letter-spacing:0;left:8px;bottom:12px}.kicks{padding:3px 12px;right:6px;bottom:5px}
 .field-result{font-size:clamp(22px,6vw,30px);top:25%;padding:10px 8px}.field-result small{font-size:11px;line-height:1.4;letter-spacing:0;margin-top:8px}
 .game-controls{grid-template-columns:minmax(0,1fr);gap:4px;padding:10px 12px}
 .aim-control,.power-control{padding:9px 8px}.meter-label{flex-direction:row;font-size:12px;line-height:1.3;gap:8px}.meter-label span{font-size:11px}
 .power-track{height:22px;margin-top:12px;margin-bottom:4px}.control-hints{font-size:10px;margin-top:5px}
 .game-controls p{display:none}.kick-control{grid-column:1;gap:4px;min-width:0}.kick-control .button{min-height:56px;width:100%;min-width:0;font-size:20px}
 .kick-meta{font-size:12px;gap:8px;padding:0}.pause-button{padding:5px 12px}.game-status p{font-size:14px}
 .arcade-bottom p,.how-to-play p,.game-summary p{font-size:14px}.leaderboard-note{line-height:1.65}.how-to-play summary{min-height:44px;padding-block:8px}
 .game-page[data-playing=true]{overflow:hidden}
 .game-page[data-playing=true]>.site-header,.game-page[data-playing=true]>footer,.game-page[data-playing=true] .game-main>:not(.game-board){display:none}
 .game-page[data-playing=true] .game-main{padding:0;margin:0;width:100%}
 .game-page[data-playing=true] .game-board{position:fixed;z-index:20;inset:0;box-sizing:border-box;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border:0;border-radius:0;display:grid;grid-template-rows:auto minmax(70px,1fr) 4px auto;background:#091b0c}
 .game-page[data-playing=true] .field-wrap{height:auto;min-height:0}
 .game-page[data-playing=true] .game-controls{padding-bottom:4px}
 .game-page[data-playing=true] .game-controls[data-paused=true]{opacity:1}
}
@media(max-width:700px) and (max-height:650px){
 .game-page[data-playing=true] .control-hints{display:none}
 .game-page[data-playing=true] .game-controls{gap:2px;padding-top:6px}
 .game-page[data-playing=true] .aim-control,.game-page[data-playing=true] .power-control{padding-block:7px}
 .game-page[data-playing=true] .power-track{height:18px;margin-top:10px}
}
@media(orientation:landscape) and (max-height:500px) and (pointer:coarse){
 .game-page[data-playing=true] .game-board{grid-template-columns:minmax(0,1fr) minmax(280px,40%);grid-template-rows:auto minmax(0,1fr)}
 .game-page[data-playing=true] .scoreboard{grid-column:1/-1;padding-block:5px}
 .game-page[data-playing=true] .field-wrap{grid-column:1;grid-row:2}
 .game-page[data-playing=true] .game-controls{grid-column:2;grid-row:2;padding:6px 10px;align-content:center;gap:2px}
 .game-page[data-playing=true] .shot-timer{display:none}
 .game-page[data-playing=true] .control-hints{display:none}
 .game-page[data-playing=true] .field-result{font-size:23px}
 .game-page[data-playing=true] .aim-control,.game-page[data-playing=true] .power-control{padding-block:7px}
 .game-page[data-playing=true] .power-track{height:18px;margin-top:10px}
}
@media(max-width:700px) and (orientation:portrait){
 .game-page[data-playing=true] .field-wrap canvas{object-fit:cover}
}
@media(max-width:700px),(max-height:500px) and (pointer:coarse){
 .game-page[data-playing=true] .game-main>.game-status{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
