*{box-sizing:border-box}body{background:#10233c;color:#edf4ff;font-family:system-ui,sans-serif;margin:0}main{max-width:1200px;margin:auto;padding:20px}header{display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:1px;color:#9fbeda}a{color:#e9c775}h1{font-size:clamp(25px,4vw,36px);margin:20px 0 5px}.intro{font-size:14px;color:#efce91;margin:8px 0 18px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.stage{border:1px solid #617c98;border-radius:15px;overflow:hidden;align-self:start;background:#f6f0e4}.status{display:flex;justify-content:space-between;background:#203c5c;padding:12px;gap:10px;font-size:12px}canvas{display:block;width:100%;height:auto;aspect-ratio:1000/940;touch-action:none;user-select:none}aside{padding:18px;background:#1b3555;border:1px solid #3b587b;border-radius:15px;min-width:0}.count{margin-top:14px}.count span{font-size:52px;font-weight:900;color:#ffe0a0}.count small{font-size:13px}.total{font-size:26px;font-weight:850;color:#ffdf97;overflow-wrap:anywhere;margin:10px 0}#message{font-size:14px;line-height:1.7;min-height:65px}button{font:inherit;cursor:pointer;touch-action:manipulation;border:0;border-radius:10px;padding:15px;width:100%;font-weight:800;background:#f0c66f;color:#30251c;min-height:52px;position:sticky;top:10px}button:focus-visible,a:focus-visible{outline:3px solid #90ceff;outline-offset:3px}dl{font-size:12px;line-height:1.7}dt{color:#9db9d4;margin-top:13px}dd{margin:2px 0;overflow-wrap:anywhere}details,#storage,footer{font-size:12px;color:#aac2d9;line-height:1.8}summary{cursor:pointer}footer{margin-top:18px}#storage{color:#e0bd84}@media(max-width:820px){main{padding:12px}.layout{grid-template-columns:minmax(0,1fr)}aside{padding:14px}.count span{font-size:42px}.total{font-size:28px}#message{min-height:0}}@media(max-width:400px){header{font-size:9px}.status{font-size:10px}h1{font-size:24px}}

.playfield{position:relative}.game-over[hidden]{display:none}.game-over{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:12px;background:rgba(18,25,40,.32);animation:over-flash .45s ease-out;overflow:auto}.over-card{margin:auto;width:min(94%,460px);padding:clamp(12px,3vw,25px);text-align:center;border:2px solid #ed8879;border-radius:16px;background:rgba(18,36,59,.94);box-shadow:0 12px 45px #101b3b66;color:#fff2db}.over-card h2{font-size:clamp(30px,5vw,58px);line-height:1;margin:0 0 12px;color:#ffa48b;letter-spacing:2px}.over-card p{font-size:clamp(12px,2vw,15px);margin:10px 0;line-height:1.5}.over-label,.over-card small{font-size:11px;color:#bdcce0}.over-score{display:block;font-size:clamp(20px,3vw,34px);color:#ffe098;overflow-wrap:anywhere;line-height:1.3;margin:6px 0}.over-card .over-best{color:#ffe098;font-weight:800}.over-card button{position:static;margin:4px 0 8px;box-shadow:0 3px 0 #8e6234}.over-card small{display:block}@keyframes over-flash{from{background:rgba(220,67,50,.48)}to{background:rgba(18,25,40,.32)}}@media(prefers-reduced-motion:reduce){.game-over{animation:none}}@media(max-width:400px){.game-over{padding:6px}.over-card{padding:12px}.over-card h2{font-size:30px}.over-card p{margin:6px 0}.over-card button{min-height:48px;padding:10px}}

header{align-items:center;flex-wrap:wrap}header nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}#language{position:static;top:auto;width:auto;min-height:40px;padding:8px 12px;font-size:12px;letter-spacing:0}h1,.status,aside{overflow-wrap:anywhere}.status strong{min-width:0}.status span{flex-shrink:0}
