@font-face{font-family:Fredoka;src:url(./fredoka-DOQG_Jwn.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}:root{--bg-1: #1b1238;--bg-2: #0e0a22;--panel: rgba(255, 255, 255, .05);--text: #f4f0ff;--text-dim: #a99fce;--gold: #ffce3a;--accent: #b06bff;--accent-2: #ff4d6b;--font: "Fredoka", "Trebuchet MS", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:var(--font);color:var(--text);background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#bg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}#app{position:relative;z-index:1;height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto}#hud{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 18px 6px;min-height:64px}.hud-block{display:flex;flex-direction:column;min-width:86px}.hud-right{align-items:flex-end}.hud-center{align-items:center;flex:1}.hud-label{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.hud-value{font-size:28px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(176,107,255,.45)}#hud-moves.low{color:var(--accent-2);animation:pulse-low .9s ease-in-out infinite}@keyframes pulse-low{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.hud-chain{font-size:18px;font-weight:600;color:var(--gold);opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.hud-chain.show{opacity:1;transform:scale(1);text-shadow:0 0 16px rgba(255,206,58,.7)}.hud-chain.bump{animation:chain-bump .3s cubic-bezier(.34,1.8,.64,1)}@keyframes chain-bump{0%{transform:scale(1.5)}to{transform:scale(1)}}#board-wrap{flex:1;position:relative;min-height:0}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;opacity:1;transition:opacity .3s ease,visibility .3s}.overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}#screen-title{background:radial-gradient(900px 500px at 50% -10%,rgba(59,37,121,.5) 0%,transparent 60%)}#screen-over{background:#0a061a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.title-inner{display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px;animation:rise-in .5s cubic-bezier(.34,1.56,.64,1)}@keyframes rise-in{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.logo{text-align:center;font-weight:700;font-size:clamp(52px,16vw,76px);line-height:.95;letter-spacing:.01em;display:flex;flex-direction:column}.logo span{background:linear-gradient(120deg,#ffe9a8 0%,var(--gold) 30%,#fff6d8 50%,var(--gold) 70%,#ff9d3d 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 0 rgba(0,0,0,.35)) drop-shadow(0 0 24px rgba(255,206,58,.35));animation:logo-shimmer 4.5s ease-in-out infinite}.logo .logo-2{background:linear-gradient(120deg,#e2c8ff 0%,var(--accent) 30%,#f4e6ff 50%,var(--accent) 70%,#6d3df0 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 0 rgba(0,0,0,.35)) drop-shadow(0 0 24px rgba(176,107,255,.4));animation:logo-shimmer 4.5s ease-in-out infinite .4s}@keyframes logo-shimmer{0%,to{background-position:0% 0}50%{background-position:100% 0}}.title-gems{display:flex;gap:8px;align-items:center}.title-gems canvas{width:56px;height:56px;animation:gem-dance 2.6s ease-in-out infinite}.title-gems canvas:nth-child(1){filter:drop-shadow(0 0 12px rgba(255,77,107,.55))}.title-gems canvas:nth-child(2){animation-delay:.22s;filter:drop-shadow(0 0 12px rgba(45,212,168,.55))}.title-gems canvas:nth-child(3){animation-delay:.44s;filter:drop-shadow(0 0 12px rgba(74,168,255,.55))}.title-gems canvas:nth-child(4){animation-delay:.66s;filter:drop-shadow(0 0 12px rgba(255,206,58,.55))}.title-gems canvas:nth-child(5){animation-delay:.88s;filter:drop-shadow(0 0 12px rgba(176,107,255,.55))}.title-gems canvas:nth-child(6){animation-delay:1.1s;filter:drop-shadow(0 0 12px rgba(255,138,61,.55))}@keyframes gem-dance{0%,to{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-9px) rotate(-7deg) scale(1.06)}50%{transform:translateY(0) rotate(0) scale(1)}75%{transform:translateY(-4px) rotate(7deg) scale(1.03)}}.tagline{color:var(--text-dim);font-size:16px;font-weight:500}.howto{color:var(--text-dim);font-size:13px;font-weight:400}.best-line{color:var(--gold);font-size:15px;font-weight:600;min-height:1.2em}.credit{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom));color:#a99fce80;font-size:12px}.btn{font-family:var(--font);font-weight:600;border:none;border-radius:18px;cursor:pointer;color:#2b1606;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}.btn-big{position:relative;overflow:hidden;font-size:24px;padding:16px 64px;background:linear-gradient(180deg,#ffe9a8 0%,var(--gold) 60%,#ffb13d 100%);box-shadow:0 6px #b97f14,0 12px 24px #00000073;animation:btn-breathe 2.8s ease-in-out infinite}@keyframes btn-breathe{0%,to{box-shadow:0 6px #b97f14,0 12px 24px #00000073,0 0 #ffce3a00}50%{box-shadow:0 6px #b97f14,0 12px 24px #00000073,0 0 32px #ffce3a80}}.btn-big:after{content:"";position:absolute;top:-20%;left:-60%;width:35%;height:140%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-20deg);animation:btn-shine 3.4s ease-in-out infinite}@keyframes btn-shine{0%,60%{left:-60%}to{left:140%}}@media(hover:hover){.btn-big:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 8px #b97f14,0 16px 32px #00000080,0 0 44px #ffce3aa6;animation:none}}.btn-big:active{transform:translateY(4px);box-shadow:0 2px #b97f14,0 6px 14px #00000073}.btn-ghost{font-size:17px;padding:12px 36px;background:#ffffff17;color:var(--text);box-shadow:inset 0 0 0 1.5px #ffffff38}.btn-ghost:active{transform:translateY(2px);background:#ffffff29}.over-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 44px;border-radius:28px;background:linear-gradient(180deg,#3a286eeb,#1e1440eb);box-shadow:inset 0 1px #ffffff2e,0 24px 60px #00000080,0 0 60px #b06bff40;animation:pop-in .55s cubic-bezier(.34,1.56,.64,1);margin:0 20px}.over-card:before{content:"";position:absolute;pointer-events:none;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:30px;padding:2px;background:conic-gradient(from 0deg,var(--gold),var(--accent),var(--accent-2),#4aa8ff,var(--gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:.7;animation:border-hue 6s linear infinite}@keyframes border-hue{to{filter:hue-rotate(360deg)}}.over-verdict{font-size:17px;font-weight:600;letter-spacing:.04em;background:linear-gradient(120deg,#ffe9a8,var(--gold),#fff6d8);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shimmer 3s ease-in-out infinite}@keyframes pop-in{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.over-title{font-size:40px;font-weight:700;background:linear-gradient(180deg,#ffd9e1 0%,var(--accent-2) 70%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.over-label{margin-top:6px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.over-score{font-size:52px;font-weight:700;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums;text-shadow:0 0 28px rgba(255,206,58,.55)}.over-best{font-size:15px;font-weight:600;color:var(--text-dim);min-height:1.3em}.over-best.record{color:var(--gold);animation:pulse-low .8s ease-in-out infinite}.over-buttons{display:flex;flex-direction:column;gap:12px;margin-top:16px;align-items:center}.mute-btn{position:fixed;top:calc(12px + env(safe-area-inset-top));right:12px;z-index:20;width:42px;height:42px;border-radius:50%;border:none;font-size:18px;background:#ffffff17;box-shadow:inset 0 0 0 1.5px #ffffff2e;cursor:pointer;transition:transform .1s ease}.mute-btn:active{transform:scale(.88)}.mute-btn.muted{opacity:.55}
