*{box-sizing:border-box}body{margin:0;background:#edf5f7;color:#14354a;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}header{max-width:1180px;margin:auto;padding:24px 20px;display:flex;justify-content:space-between;align-items:center}header a{text-decoration:none;font-size:23px;letter-spacing:2px;font-weight:950;color:#173f51}header a span{color:#ef7757}header div{display:flex;gap:8px}button{font:inherit;font-weight:750;cursor:pointer;border:0;border-radius:10px;padding:12px 19px;background:#fff;color:#23475a;box-shadow:0 3px 0 #cadae0;touch-action:none}button:hover{filter:brightness(.97)}button:focus-visible{outline:3px solid #ef7757;outline-offset:2px}button:disabled{opacity:.4;cursor:default}main{max-width:1180px;margin:auto;padding:0 20px}.game-shell{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#cdeaf0;box-shadow:0 16px 50px #163b4b20;border:5px solid white}canvas{width:100%;height:100%;display:block}#hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:8px;background:#ffffffde;padding:12px 16px;font-size:13px;font-variant-numeric:tabular-nums;pointer-events:none}#hud[hidden]{display:none}#overlay{position:absolute;inset:0;display:flex;align-items:safe center;justify-content:center;padding:18px;background:#e6f4f6d9;backdrop-filter:blur(3px);overflow:auto}#overlay:empty{display:none}.panel{text-align:center;width:90%;max-width:670px}.eyebrow{font-weight:850;letter-spacing:4px;font-size:12px;color:#528398}.panel h1{font-size:clamp(30px,5vw,65px);line-height:.95;letter-spacing:-2px;margin:18px 0;color:#18465a}.panel h1 span{color:#ed7659}.panel h2{font-size:clamp(22px,3vw,37px);margin:12px 0}.panel p{font-size:14px;line-height:1.8}.panel .actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.primary{background:#ef7757;color:white;box-shadow:0 4px 0 #bb503d}.secondary{background:#235c70;color:white;box-shadow:0 4px 0 #153f4e}.stage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.stage-grid button{padding:15px 5px;font-size:12px;line-height:1.8}.stage-grid strong{display:block;font-size:25px}.stage-grid .done{background:#d8f0e5}.gold #overlay{background:#fff2c8d9}.gold header a span{color:#c09221}.stats{display:flex;justify-content:center;gap:20px;margin:20px 0}.stats b{display:block;font-size:25px}.stats small{font-size:10px;letter-spacing:1px}#toast{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:#153f4eed;color:white;padding:10px 18px;border-radius:30px;pointer-events:none;white-space:nowrap;font-size:13px}#toast:empty{display:none}.controls{display:flex;justify-content:space-between;align-items:center;margin:16px 0;user-select:none;-webkit-user-select:none}.controls>div{display:flex;gap:10px}.controls button{width:76px;height:60px;font-size:24px;border:2px solid white}.controls button.jump,.controls button.dash{font-size:14px;width:90px}.controls .jump{background:#245e74;color:white}.controls .dash{background:#ed785b;color:white}.controls button.pressed{transform:translateY(3px);box-shadow:none;filter:brightness(.85)}.controls p{letter-spacing:3px;font-size:11px;color:#74909b}footer{text-align:center;font-size:12px;color:#6b8592;padding:0 0 25px}@media(max-width:650px){header{padding:12px 10px}header a{font-size:17px}header button{padding:8px 10px;font-size:10px}main{padding:0 6px}.game-shell{border-width:3px;border-radius:12px}#hud{font-size:9px;padding:6px 7px}.controls{margin:10px 2px}.controls p{display:none}.controls button{width:58px;height:58px}.controls button.jump,.controls button.dash{width:70px;font-size:12px}.panel{width:100%}.panel p{font-size:11px;margin:6px}.panel h1{margin:8px 0}.panel .actions{margin-top:9px;gap:6px}.panel button{padding:9px 11px;font-size:11px}.stage-grid{gap:5px}.stage-grid button{padding:5px 2px;font-size:8px}.stage-grid strong{font-size:17px}.panel h2{margin:5px}.stats{margin:8px;gap:12px}.stats b{font-size:18px}footer{font-size:9px}.eyebrow{font-size:9px;letter-spacing:2px}#toast{font-size:10px;padding:6px 10px;bottom:8px}}@media(max-height:520px) and (orientation:landscape){header{padding:4px 12px}main{max-width:800px}.game-shell{max-height:72vh;margin:auto;width:auto}.controls{position:fixed;bottom:5px;left:8px;right:8px;margin:0;pointer-events:none}.controls>div{pointer-events:auto}.controls p,footer{display:none}.controls button{opacity:.86;height:48px;width:52px}}
