/* PLAY EDITION 03 — shared game chrome and device-safe controls. */
.refined-art>.ball,.refined-art>.spark,.refined-art>.castle,.refined-art>.maze-art,.refined-art>.aliens,.refined-art>.new-art{display:none}.illustration{position:absolute;inset:18px 0 0;pointer-events:none}.game-illustration{width:100%;height:100%;transition:transform .3s}.card:hover .game-illustration{transform:translateY(-4px)}.card{box-shadow:0 8px 28px #0002}.card-body h3{font-size:23px}.art{height:200px}.art:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 80%,transparent,#09142338);pointer-events:none}.art .tag,.art .number{z-index:2}.card-body p{font-size:12px}.brand img{border-radius:10px}.garden-label{backdrop-filter:blur(6px)}
body.game-open{overflow:hidden}dialog{--game-accent:#7ae8fa;max-width:700px;width:min(700px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border-color:#36566d;background:#0b1b2c;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#010915e8}.game-shell{padding-bottom:8px}.game-top{gap:8px;padding:12px 15px;border-bottom:1px solid #263a4f}.game-top h2{flex:1;white-space:nowrap;font-size:17px;margin-left:3px}.game-top button{font-size:12px;min-height:38px;border:1px solid #355069;padding:8px 11px;background:#142b41}.game-top #pause{font-size:17px;min-width:39px}.game-tools{display:flex}.game-tools button{white-space:nowrap}.hud{background:#102337;padding:11px 20px}.hud b{color:var(--game-accent);display:inline-block;font-variant-numeric:tabular-nums}.hud #status{color:#c3d9e7;font-size:10px;text-align:center}.playfield{width:min(100%,calc(100dvh - 205px));min-width:260px;margin:0 auto;background:#0b1a2c;border-left:1px solid #253d50;border-right:1px solid #253d50;aspect-ratio:1}canvas{width:100%;height:100%;max-height:none;aspect-ratio:1;object-fit:contain}.playfield:has(#overlay:not(.hidden)){min-height:430px;aspect-ratio:auto;width:100%;max-width:600px}.playfield:has(#overlay:not(.hidden)) canvas{position:absolute;inset:0}.playfield:has(#overlay:not(.hidden)) #overlay{position:relative;min-height:430px}.game-shell #overlay{background:radial-gradient(ellipse at 50% 0%,#24455bee,#071726f7 70%);padding:22px 25px;gap:9px;justify-content:center;border-top:2px solid var(--game-accent)}#overlay .overlay-icon{font-size:34px;line-height:1.2;margin:0}#overlay h3{font-size:29px;margin:0;color:#f1f8ff}#overlay #instructions{font-size:13px;max-width:440px;line-height:1.65;color:#b7cede;margin:3px 0}#overlay fieldset{margin:5px 0 0}#overlay fieldset label{display:inline-flex;align-items:center;gap:6px;border:1px solid #426179;background:#132b41;padding:10px 15px;font-size:12px}#overlay fieldset label:has(input:checked){border-color:var(--game-accent);background:#254558}#difficultyDetail{color:var(--game-accent);font-size:11px;margin:0 0 1px;min-height:16px}.nickname{font-size:10px;margin:0 0 3px}.nickname input{font-size:13px;padding:8px 12px}#overlay .primary{min-width:220px;padding:14px 22px;background:var(--game-accent);margin-top:2px}#overlay .secondary{border:0;background:none;color:#adcedd;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:7px}#resultStats{display:grid;grid-template-columns:1fr 1fr;gap:20px;border:1px solid #385567;border-radius:12px;background:#0c2236;padding:15px 22px;width:min(100%,350px)}#resultStats small{display:block;color:#92b1c6;font-size:8px;letter-spacing:1px}#resultStats strong{display:block;font-size:31px;color:var(--game-accent);line-height:1.2;margin-top:7px}.storage-status{font-size:9px;color:#91abbf;line-height:1.5;margin:0}#resultStats[hidden],#viewScores[hidden],#specialControls[hidden],#flapButton[hidden],#hintButton[hidden],#storageStatus[hidden],#difficultyDetail[hidden]{display:none!important}
#controls{padding-top:12px;gap:14px}#controls button{width:70px;height:48px;font-size:24px;background:linear-gradient(#203e56,#152c41);border:1px solid #43627a;box-shadow:0 3px 0 #071523;transition:background .12s}#controls button:active{background:#296776;transform:translateY(2px);box-shadow:0 1px 0 #071523}dialog[data-game="maze"] #controls{gap:9px;align-items:center}dialog[data-game="maze"] #controls>div{display:flex;gap:6px}#specialControls{display:flex;justify-content:center;padding-top:11px}#specialControls button{background:#1b3850;border:1px solid #4a6d83;border-radius:10px;padding:11px 20px;color:#d4ecf4;min-width:220px;min-height:47px;font-weight:600;touch-action:none;user-select:none}#specialControls span{padding-left:25px;color:var(--game-accent)}#specialControls button:active{background:#2b586b}#specialControls button:disabled{opacity:.45;cursor:default}.control-hint{font-size:10px;line-height:1.6;margin:9px 15px 3px;color:#93afc2}dialog[data-state="ready"] #controls,dialog[data-state="over"] #controls,dialog[data-state="paused"] #controls,dialog[data-state="ready"] #specialControls,dialog[data-state="over"] #specialControls,dialog[data-state="paused"] #specialControls{display:none!important}.score-bump{animation:scoreBump .2s ease-out}@keyframes scoreBump{50%{transform:scale(1.18)}}
@media(max-width:650px){.card-body h3{font-size:19px}.card-body p{font-size:11px}.art{height:175px}.game-top{padding:10px;gap:5px}.game-top button{padding:7px 8px;font-size:10px}.game-top h2{font-size:15px}.game-tools button{font-size:10px}.hud{padding:10px 13px}.hud b{font-size:18px;margin-left:4px}.hud>span{font-size:9px}dialog{width:100%;max-width:none;max-height:100dvh;border-radius:0;border-width:0;margin:auto 0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.playfield{width:min(100%,calc(100dvh - 202px));min-width:230px}.playfield:has(#overlay:not(.hidden)){min-height:410px}.playfield:has(#overlay:not(.hidden)) #overlay{min-height:410px}.game-shell #overlay{padding:18px 18px;gap:7px}#overlay h3{font-size:25px}#overlay #instructions{font-size:12px;line-height:1.55}#overlay .overlay-icon{font-size:27px}#controls button{width:65px;height:47px}#resultStats{padding:12px 15px}#resultStats strong{font-size:28px}.control-hint{font-size:9px}}@media(max-height:550px) and (orientation:landscape){dialog{max-width:760px}.playfield{width:330px}.game-shell{position:relative;padding-bottom:0}.game-top{padding:5px 12px}.hud{padding:5px 15px}.game-shell #controls,.game-shell #specialControls{padding:5px;position:absolute;right:4px;bottom:30px;flex-direction:column;max-width:135px}.game-shell #controls>div{flex-direction:column}.game-shell #specialControls button{min-width:0;width:120px;font-size:11px}.game-shell .control-hint{display:none}.playfield:has(#overlay:not(.hidden)),.playfield:has(#overlay:not(.hidden)) #overlay{min-height:360px}.game-shell #overlay{gap:3px;padding:12px 20px}#overlay .overlay-icon{display:none}#overlay #instructions{font-size:11px}#overlay h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.game-illustration{transition:none}.score-bump{animation:none}}
