html,body{color:#f4f4f4;overscroll-behavior:none;background:linear-gradient(#1b2434 0%,#0d1220 100%);height:100%;margin:0;font-family:system-ui,sans-serif}header{z-index:2;padding:.25rem .5rem;font-size:.75rem;line-height:1;position:absolute;inset:0 0 auto}nav a{color:#f4f4f48c;text-decoration:none}nav a:hover{color:#f4f4f4d9}main{height:100%;position:relative}#game{touch-action:none;cursor:pointer;width:100%;height:100%;display:block}#confetti{z-index:2;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}#hud{z-index:1;background:#0a0d1480;border-radius:999px;align-items:center;gap:2rem;padding:.7rem 1.5rem;display:flex;position:absolute;top:1.5rem;left:1.5rem}.hud-stat{font-variant-numeric:tabular-nums;color:#f4f4f4eb;align-items:center;gap:.75rem;font-size:2.1rem;font-weight:700;display:flex}.score-icon{flex:none;justify-content:center;align-items:center;width:1em;height:1em;display:flex}.score-icon--player{background:#ffb454;border-radius:27%}.score-icon--trophy{color:#f2c94c}.score-icon--trophy svg{fill:currentColor;width:100%;height:100%}.icon-trophy-handle{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}#icon-defs{width:0;height:0;position:absolute;overflow:hidden}#difficulty{z-index:1;gap:.5rem;display:flex;position:absolute;top:1.5rem;right:1.5rem}#difficulty[hidden]{display:none}.difficulty-btn{color:#f4f4f4b3;cursor:pointer;background:0 0;border:1px solid #f4f4f459;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.difficulty-btn:hover{color:#f4f4f4;border-color:#f4f4f499}.difficulty-btn.selected{color:#1b2434;background:#ffb454;border-color:#ffb454}#overlay{z-index:3;background:#0a0d148c;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex;position:absolute;inset:0}#overlay[hidden]{display:none}#overlay-message{color:#f4f4f4;margin:0;font-size:1.1rem}#overlay-message.won{letter-spacing:.03em;color:#ffb454;font-size:1.6rem;font-weight:800}#overlay-message.lost{letter-spacing:.03em;color:#ff8080;font-size:1.3rem;font-weight:700}#overlay-new-best{letter-spacing:.05em;color:#ffb454;margin:0;font-size:.9rem;font-weight:700}#overlay-new-best[hidden]{display:none}#overlay-stats{flex-direction:column;gap:.25rem;margin:.25rem 0;display:flex}.stat{justify-content:space-between;align-items:center;gap:1rem;min-width:10rem;display:flex}.stat dt{color:#f4f4f48c;align-items:center;gap:.45rem;font-size:.9rem;display:flex}.stat dt .score-icon{width:1.15rem;height:1.15rem}.stat dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}#restart{color:#1b2434;cursor:pointer;background:#ffb454;border:none;border-radius:999px;padding:.6rem 1.5rem;font-size:1rem;font-weight:600}#restart:hover{background:#ffc478}#start-hint{z-index:1;pointer-events:none;align-items:center;gap:.5rem;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}#start-hint[hidden]{display:none}.key-icon{flex-direction:column;align-items:center;gap:.35rem;display:flex}.key-icon-arrow{clip-path:polygon(35% 0%,65% 0%,65% 50%,100% 50%,50% 100%,0% 50%,35% 50%);background:#c0501f;width:1.3rem;height:1.9rem;animation:1.4s ease-in-out infinite arrow-bounce}@keyframes arrow-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.key-icon-key{width:10rem;height:4rem;position:relative}.key-icon-key-svg{fill:#fff;stroke:#111;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;position:absolute;inset:0}.key-icon-label{color:#111;font-family:system-ui,sans-serif;font-size:1.2rem;font-weight:700;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.key-icon--pressed{animation:.22s ease-out key-press}@keyframes key-press{0%{transform:scale(1)}40%{transform:scale(.92)}to{transform:scale(1)}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=600px){#hud{gap:1rem;padding:.45rem .9rem;top:.75rem;left:.75rem}.hud-stat{font-size:1.35rem}#difficulty{gap:.35rem;inset:auto auto .75rem 50%;transform:translate(-50%)}.difficulty-btn{padding:.35rem .7rem;font-size:.75rem}.key-icon-key{width:8rem;height:3.2rem}#overlay{padding:0 1.25rem}}
