:root{--bg:#0b0c1d;--text:#eef0ff;--muted:#9aa0c7;--glass:#ffffff0f;--glass-border:#ffffff1f;--accent:#7c5cff;--accent-2:#22d3ee;--ok:#34d399;--bad:#f43f5e;--gold:#fbbf24;--radius:18px;--cell-radius:12px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:radial-gradient(1200px 800px at 10% -10%, #1e1b4b 0%, transparent 60%), radial-gradient(900px 700px at 110% 110%, #0e3a4a 0%, transparent 55%), var(--bg);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}body{padding:max(12px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom));justify-content:center;display:flex}.bg-blob{filter:blur(80px);opacity:.35;z-index:-1;pointer-events:none;border-radius:50%;width:42vmax;height:42vmax;animation:18s ease-in-out infinite alternate drift;position:fixed}.b1{background:#7c3aed;top:-12vmax;left:-10vmax}.b2{background:#0891b2;animation-delay:-6s;bottom:-15vmax;right:-12vmax}.b3{opacity:.18;background:#db2777;width:26vmax;height:26vmax;animation-delay:-11s;top:40%;left:55%}@keyframes drift{to{transform:translate(4vmax,3vmax)scale(1.08)}}.app{flex-direction:column;gap:14px;width:min(100%,720px);display:flex}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px)saturate(140%);box-shadow:0 10px 40px #00000059,inset 0 1px #ffffff0f}.top{grid-template-columns:auto 1fr;align-items:center;gap:10px 16px;padding:14px 16px 12px;display:grid}.logo{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.logo span{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.stat{background:#ffffff0a;border-radius:12px;flex-direction:column;align-items:center;padding:6px 4px;transition:background .25s,transform .25s;display:flex;position:relative}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.68rem}.value{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.stat.bump .value{animation:.35s bump}@keyframes bump{40%{color:var(--ok);transform:scale(1.3)}}.stat.combo.active{background:linear-gradient(135deg,#fbbf2440,#f43f5e33)}.stat.combo.active .value{color:var(--gold)}.combo-meter{background:#ffffff0f;border-radius:3px;height:3px;position:absolute;bottom:3px;left:10%;right:10%;overflow:hidden}.combo-meter span{background:var(--gold);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.timebar{background:#ffffff14;border-radius:8px;grid-column:1/-1;height:8px;overflow:hidden}.timebar span{background:linear-gradient(90deg, var(--accent-2), var(--accent));transform-origin:0;height:100%;transition:background .4s;display:block}.timebar.low span{background:linear-gradient(90deg, var(--bad), #fb923c);animation:.8s ease-in-out infinite alternate pulse}@keyframes pulse{to{opacity:.55}}.board-wrap{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:crosshair;padding:10px;position:relative}.grid{grid-template-columns:repeat(var(--cols,10), minmax(0, 1fr));gap:clamp(3px,1vw,7px);display:grid}.cell{aspect-ratio:1;border-radius:var(--cell-radius);font-variant-numeric:tabular-nums;color:#fff;background:linear-gradient(145deg, hsla(var(--h), 80%, 62%, .9), hsla(var(--h), 75%, 45%, .9));text-shadow:0 1px 2px #00000059;--h:250;place-items:center;font-size:clamp(.95rem,4.2vw,1.6rem);font-weight:800;transition:transform .12s,filter .12s,box-shadow .12s;display:grid;box-shadow:inset 0 1px #ffffff40,0 3px 8px #00000040}.cell[data-v="1"]{--h:200}.cell[data-v="2"]{--h:215}.cell[data-v="3"]{--h:232}.cell[data-v="4"]{--h:252}.cell[data-v="5"]{--h:272}.cell[data-v="6"]{--h:292}.cell[data-v="7"]{--h:318}.cell[data-v="8"]{--h:340}.cell[data-v="9"]{--h:12}.cell.empty{background:#ffffff06;box-shadow:inset 0 0 0 1px #ffffff0a}.cell.sel:not(.empty){filter:brightness(1.2);transform:scale(.92)}.cell.deal{animation:.4s cubic-bezier(.2,1.4,.4,1) both deal}@keyframes deal{0%{opacity:0;transform:scale(.2)rotate(-12deg)}}.cell.hint{animation:.5s ease-in-out infinite alternate hint}@keyframes hint{0%{box-shadow:0 0 0 2px var(--gold), 0 0 12px #fbbf2499}to{box-shadow:0 0 0 4px var(--gold), 0 0 26px #fbbf24e6;transform:scale(1.06)}}.cell.pop{animation:.36s ease-out forwards pop}@keyframes pop{30%{filter:brightness(1.8);transform:scale(1.25)}to{opacity:0;filter:brightness(2);transform:scale(0)}}.selection{pointer-events:none;background:#ffffff14;border:2px solid #ffffffb3;border-radius:14px;transition:border-color .12s,background .12s,box-shadow .12s;position:absolute;top:0;left:0}.selection.ok{border-color:var(--ok);background:#34d39929;box-shadow:0 0 22px #34d3998c}.selection.over{border-color:var(--bad);background:#f43f5e24}.sum-badge{text-align:center;color:#fff;pointer-events:none;z-index:3;background:#141630e6;border:1px solid #ffffff40;border-radius:999px;min-width:2.4em;padding:4px 10px;font-size:1.05rem;font-weight:800;position:absolute;top:0;left:0}.sum-badge.ok{background:var(--ok);color:#052e1f;border-color:#0000}.sum-badge.over{background:var(--bad);border-color:#0000}.start-tip{color:var(--text);white-space:nowrap;pointer-events:none;background:#0a0a1ebf;border-radius:999px;margin:0;padding:8px 14px;font-size:.9rem;animation:1.6s ease-in-out infinite alternate float-tip;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.start-tip.error{white-space:normal;text-align:center;background:#f43f5ed9;width:90%;animation:none}@keyframes float-tip{to{transform:translate(-50%,-5px)}}.float{color:var(--ok);text-shadow:0 2px 10px #00000080;pointer-events:none;white-space:nowrap;z-index:4;font-size:1.6rem;font-weight:900;animation:.9s ease-out forwards float-up;position:absolute;transform:translate(-50%,-50%)}.float.combo{color:var(--gold)}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}to{opacity:0;transform:translate(-50%,-160%)scale(1)}}.controls{justify-content:center;gap:12px;display:flex}.btn{appearance:none;font:inherit;color:#fff;background:linear-gradient(135deg, var(--accent), #5b8cff);cursor:pointer;border:0;border-radius:999px;padding:12px 22px;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .2s;box-shadow:0 8px 24px #7c5cff66}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;filter:grayscale(.6)}.btn.ghost{border:1px solid var(--glass-border);box-shadow:none;background:#ffffff14}.btn small{opacity:.8;font-weight:600}.rules{text-align:center;color:var(--muted);margin:0;font-size:.8rem}.toast{border:1px solid var(--glass-border);z-index:20;pointer-events:none;background:#1e1b4beb;border-radius:999px;padding:10px 18px;font-weight:600;transition:transform .35s cubic-bezier(.2,1.3,.4,1);position:fixed;top:18px;left:50%;transform:translate(-50%,-140%)}.toast.show{transform:translate(-50%)}.modal{-webkit-backdrop-filter:blur(6px);z-index:10;background:#05061499;place-items:center;padding:16px;animation:.3s fade;display:grid;position:fixed;inset:0}.modal-card{text-align:center;background:#1e1e3cbf;width:min(100%,360px);padding:26px 22px;animation:.4s cubic-bezier(.2,1.3,.4,1) rise}.modal-card h2{margin:0 0 8px}.new-record{color:var(--gold);margin:0 0 8px;font-weight:800}.final{justify-content:space-around;margin:14px 0 22px;display:flex}.final div{flex-direction:column;display:flex}.big{font-size:2.4rem;font-weight:900}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(30px)scale(.9)}}@media (width<=540px){.top{grid-template-columns:1fr;padding:10px}.logo{text-align:center;font-size:1.25rem}.value{font-size:1.1rem}.board-wrap{padding:6px}.cell{--cell-radius:8px;border-radius:8px}.start-tip{font-size:.8rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
