:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141d33;--bg-2:#26314f;--tile-shadow:#0f1626;--violet:#7a3fd6;--violet-soft:#7c5cff;--orange:#ffb648;--orange-dark:#b3661a;--found:#58d68d;--found-dark:#2e8b57;--miss:#ff5a5f;--miss-dark:#a3282c;--ivory:#fff;--dusk:#ece4ff;--arcade:"Consolas", "Courier New", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);width:100%;min-height:100%;color:var(--ivory);font-family:var(--arcade)}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(24px,5vh,48px);display:flex;position:relative;overflow:hidden}#app:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 38%,#7c5cff38 0%,#140c2859 70%);position:absolute;inset:0}.hidden{display:none!important}.vm-hud{z-index:2;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.vm-hud__level{flex-direction:column;align-items:center;line-height:1;display:flex}.vm-hud__level em{letter-spacing:5px;color:var(--dusk);text-shadow:0 2px 4px #00000080;margin-bottom:6px;font-size:13px;font-style:normal;font-weight:700}.vm-hud__level b{letter-spacing:2px;color:var(--ivory);text-shadow:2px 2px 0 var(--violet), -2px 2px 0 var(--violet), 0 5px 10px #00000073;font-size:clamp(48px,12vw,68px);font-weight:700}.vm-hud__sub{align-items:center;gap:16px;display:flex}.vm-hud__best{letter-spacing:3px;color:var(--ivory);opacity:.9;text-shadow:0 2px 4px #00000080;font-size:13px}.vm-hud__best b{color:var(--orange);font-weight:700}.vm-hud__lives{gap:5px;display:flex}.vm-heart{color:var(--miss);filter:drop-shadow(0 2px 3px #00000080);transition:color .2s,transform .2s;display:flex}.vm-heart.is-lost{color:#ffffff38;transform:scale(.85)}.vm-board{z-index:2;grid-template-columns:repeat(var(--n,3), 1fr);gap:clamp(8px,2vw,14px);width:min(90vw,460px);display:grid;position:relative}.vm-cell{aspect-ratio:1;background:var(--bg-2);box-shadow:0 4px 0 var(--tile-shadow);cursor:pointer;border:none;border-radius:clamp(10px,2.4vw,16px);padding:0;transition:background .24s,box-shadow .14s,transform .1s}.vm-cell:hover{background:#2e3a5c}.vm-cell:active{box-shadow:0 1px 0 var(--tile-shadow);transform:translateY(3px)}.vm-cell.is-lit{background:var(--orange);box-shadow:0 5px 0 var(--orange-dark), 0 0 24px #ffb6488c}.vm-cell.is-found{background:var(--found);box-shadow:0 5px 0 var(--found-dark), 0 0 18px #58d68d73;animation:.26s cubic-bezier(.2,.7,.3,1) vm-pop}.vm-cell.is-wrong{background:var(--miss);box-shadow:0 5px 0 var(--miss-dark), 0 0 18px #ff5a5f73;animation:.34s vm-shake}.vm-cell.is-missed{background:#ffb6484d;box-shadow:0 4px #b3661a66}@keyframes vm-pop{0%{transform:scale(.82)}45%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes vm-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.countdown{z-index:25;letter-spacing:6px;color:var(--ivory);text-shadow:3px 3px 0 var(--violet), -2px 2px 0 var(--violet), 0 8px 26px #0000008c;pointer-events:none;opacity:0;justify-content:center;align-items:center;font-size:clamp(96px,24vw,150px);font-weight:700;display:flex;position:absolute;inset:0}.countdown.is-shown{animation:.75s ease-out countdown-pop}@keyframes countdown-pop{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1.12)}40%{transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.overlay{z-index:20;padding:32px 22px calc(32px + env(safe-area-inset-bottom));text-align:center;background:radial-gradient(circle,#7c5cff26 0%,#140c289e 90%);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay__title{letter-spacing:4px;color:var(--orange);text-shadow:3px 3px 0 var(--orange-dark), -1px -1px 0 var(--orange-dark), 0 6px 16px #00000080;font-size:clamp(34px,8vw,48px);font-weight:700}.overlay__subtitle{letter-spacing:2px;max-width:34ch;color:var(--ivory);text-shadow:0 2px 6px #0000008c;font-size:15px;line-height:1.6}.overlay__score{letter-spacing:2px;color:var(--ivory);text-shadow:0 2px 6px #0000008c;font-size:20px}.overlay__score b{color:var(--orange)}.overlay__hint{letter-spacing:2px;color:var(--dusk);opacity:.9;text-shadow:0 2px 6px #0000008c;margin-top:10px;font-size:13px}@media (prefers-reduced-motion:reduce){.vm-cell,.countdown.is-shown{transition-duration:.01ms!important;animation-duration:.01ms!important}}
