:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--void:#181026;--void-2:#241834;--void-3:#2f2043;--sink:#0d0817;--flash:#ff2e88;--flash-dark:#a3155a;--aqua:#22e0d6;--aqua-dark:#128d86;--cream:#fff4fb;--wrong:#ff5252;--wrong-dark:#a32c2c;--ash:#9a86b5;--mono:"Consolas", ui-monospace, "SFMono-Regular", "JetBrains Mono", monospace;--sans:"Archivo", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--void);width:100%;min-height:100%;color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{overflow:hidden}#app{min-height:100dvh;padding:24px 18px calc(24px + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:clamp(20px,4vh,40px);display:flex;position:relative;overflow:hidden}#app:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 45% at 50% 32%,#ff2e882e,#0000 62%),radial-gradient(60% 45% at 50% 108%,#22e0d61f,#0000 60%);position:absolute;inset:0}.hidden{display:none!important}.nm-hud{z-index:2;align-items:stretch;gap:10px;display:flex;position:relative}.nm-hud__level,.nm-hud__best{letter-spacing:.18em;text-transform:uppercase;color:var(--ash);background:var(--void-2);box-shadow:0 3px 0 var(--sink);border-radius:12px;align-items:baseline;gap:8px;padding:8px 16px;font-size:10px;font-weight:800;display:flex}.nm-hud__level b,.nm-hud__best b{font-family:var(--mono);letter-spacing:0;color:var(--cream);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.nm-hud__level b{color:var(--aqua)}.nm-hud__mode{letter-spacing:.16em;text-transform:uppercase;color:var(--void);background:var(--flash);box-shadow:0 3px 0 var(--flash-dark);border-radius:12px;align-items:center;padding:8px 15px;font-size:10px;font-weight:900;display:flex}.nm-stage{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:22px;width:100%;min-height:clamp(140px,24vh,220px);display:flex;position:relative}.nm-number{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:clamp(4px,1.6vw,12px);white-space:nowrap;max-width:96vw;color:var(--cream);text-shadow:3px 3px 0 var(--flash-dark), -1px 1px 0 var(--flash-dark), 0 0 26px #ff2e8880;opacity:0;will-change:transform, filter, opacity;font-size:clamp(52px,13vw,108px);font-weight:700;line-height:1}.nm-number.is-shown{animation:.18s cubic-bezier(.2,.7,.3,1) forwards nm-reveal}.nm-number.is-vanishing{animation:.45s ease-in forwards nm-vanish}.nm-number.is-correct{color:var(--aqua);text-shadow:3px 3px 0 var(--aqua-dark), 0 0 26px #22e0d680;opacity:1;animation:.28s cubic-bezier(.2,.7,.3,1) nm-pop}.nm-number.is-wrong{color:var(--wrong);text-shadow:3px 3px 0 var(--wrong-dark), 0 0 26px #ff525273;opacity:1;animation:.4s nm-shake}@keyframes nm-reveal{0%{opacity:0;filter:blur(6px);transform:scale(.82)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes nm-vanish{0%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(10px);transform:translateY(-18px)}}@keyframes nm-pop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes nm-shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.nm-entry{flex-wrap:wrap;justify-content:center;gap:10px;max-width:96vw;display:none}.nm-entry.is-shown{display:flex}.nm-timer{align-items:center;gap:10px;width:min(260px,70vw);margin-top:4px;display:none}.nm-timer.is-shown{display:flex}.nm-timer__track{background:#fff4fb1f;border-radius:999px;flex:1;height:5px;overflow:hidden}.nm-timer__fill{background:var(--aqua);width:100%;height:100%;box-shadow:0 0 10px var(--aqua-dark);border-radius:999px}.nm-timer__text{text-align:right;font-variant-numeric:tabular-nums;min-width:32px;color:var(--aqua);font-size:13px;font-weight:700}.nm-timer.is-urgent .nm-timer__fill{background:var(--flash);box-shadow:0 0 12px var(--flash-dark)}.nm-timer.is-urgent .nm-timer__text{color:var(--flash)}.nm-slot{width:var(--nm-slot,58px);height:calc(var(--nm-slot,58px) * 1.34);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:calc(var(--nm-slot,58px) * .62);color:var(--cream);background:var(--void-2);box-shadow:0 4px 0 var(--sink);border-radius:12px;justify-content:center;align-items:center;font-weight:700;transition:box-shadow .14s,background .14s;display:flex}.nm-slot.is-filled{background:var(--void-3)}.nm-slot.is-active{box-shadow:0 4px 0 var(--flash-dark), 0 0 18px #ff2e8859;background:var(--void-3)}.nm-feedback{letter-spacing:.06em;text-transform:uppercase;min-height:20px;color:var(--ash);font-size:14px;font-weight:800}.nm-feedback.is-correct{color:var(--aqua)}.nm-feedback.is-wrong{color:var(--wrong)}.nm-feedback b{font-family:var(--mono);color:var(--cream)}.nm-feedback s{color:var(--wrong);opacity:.85}.nm-keypad{z-index:2;grid-template-columns:repeat(3,1fr);gap:clamp(9px,1.8vw,13px);width:min(324px,88vw);display:grid;position:relative}.nm-key{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--cream);background:var(--void-2);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 5px 0 var(--sink);border:none;border-radius:14px;justify-content:center;align-items:center;padding:16px 0;font-size:26px;font-weight:700;transition:transform 80ms,box-shadow 80ms,background .12s;display:flex}.nm-key:hover{background:var(--void-3)}.nm-key:active{box-shadow:0 1px 0 var(--sink);transform:translateY(4px)}.nm-key--back{color:var(--aqua)}.nm-key--ok{font-family:var(--sans);letter-spacing:.08em;color:var(--void);background:var(--flash);box-shadow:0 5px 0 var(--flash-dark);font-size:17px;font-weight:900}.nm-key--ok:hover{background:#ff4f9c}.nm-key--ok:active{box-shadow:0 1px 0 var(--flash-dark);transform:translateY(4px)}.countdown{z-index:25;font-family:var(--mono);letter-spacing:4px;color:var(--cream);text-shadow:4px 4px 0 var(--flash-dark), 0 0 32px #ff2e8880;pointer-events:none;opacity:0;justify-content:center;align-items:center;font-size:clamp(96px,24vw,168px);font-weight:700;display:flex;position:absolute;inset:0}.countdown.is-shown{animation:.7s forwards countdown-pop}@keyframes countdown-pop{0%{opacity:0;transform:scale(.5)}25%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}.overlay{z-index:20;padding:32px 22px calc(32px + env(safe-area-inset-bottom));text-align:center;background:radial-gradient(80% 70% at 50% 40%, #2f20438c, var(--void) 78%);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay__title{letter-spacing:1px;color:var(--cream);text-shadow:4px 4px 0 var(--flash-dark), -1px 1px 0 var(--flash-dark), 0 6px 18px #00000073;text-wrap:balance;font-size:clamp(34px,8vw,60px);font-weight:900}.overlay__subtitle{max-width:34ch;color:var(--ash);font-size:15px;line-height:1.55}.overlay__score{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cream);margin-top:2px;font-size:14px;font-weight:700}.overlay__hint{letter-spacing:.12em;text-transform:uppercase;color:var(--ash);margin-top:6px;font-size:12px;font-weight:800}.nm-modes{flex-wrap:wrap;justify-content:center;gap:14px;width:100%;max-width:560px;margin-top:8px;display:flex}.nm-mode{text-align:left;min-width:200px;color:var(--cream);background:var(--void-2);cursor:pointer;box-shadow:0 6px 0 var(--sink);border:none;border-radius:18px;flex:220px;align-items:center;gap:14px;padding:16px 18px;font-family:inherit;transition:transform .12s,box-shadow .12s,background .12s;display:flex}.nm-mode:hover,.nm-mode:focus-visible{background:var(--void-3);outline:none}.nm-mode:active{box-shadow:0 1px 0 var(--sink);transform:translateY(5px)}.nm-mode__icon{width:46px;height:46px;color:var(--void);background:var(--flash);box-shadow:0 3px 0 var(--flash-dark);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nm-mode--escalera .nm-mode__icon{background:var(--aqua);box-shadow:0 3px 0 var(--aqua-dark)}.nm-mode__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.nm-mode__label{letter-spacing:.02em;text-transform:uppercase;color:var(--cream);font-size:16px;font-weight:900}.nm-mode__tag{color:var(--ash);font-size:11.5px;line-height:1.3}.nm-mode__best{letter-spacing:.14em;text-transform:uppercase;color:var(--ash);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;font-size:8px;font-weight:800;display:flex}.nm-mode__best b{font-family:var(--mono);letter-spacing:0;color:var(--flash);font-variant-numeric:tabular-nums;font-size:19px;font-weight:700}.nm-mode--escalera .nm-mode__best b{color:var(--aqua)}@media (prefers-reduced-motion:reduce){.nm-number.is-shown,.nm-number.is-vanishing,.nm-number.is-correct,.nm-number.is-wrong,.countdown.is-shown{animation-duration:.01ms!important}.nm-number.is-vanishing{opacity:0}}
