:root{--bg1:#eaf1ff;--bg2:#f6eeff;--blob1:#7fb2ff;--blob2:#c9a2ff;--blob3:#7fe3d6;--ink:#1c1c1e;--muted:#6c6c70;--glass:#ffffff6b;--glass-strong:#ffffff9e;--edge:#ffffffbf;--hl:#ffffffe6;--shadow:0 8px 30px #283c7824;--cell:#ffffff61;--found:#007aff;--found-ink:#fff;--hint-ink:#007aff;--tile:#ffffffd1;--tile-ink:#1c1c1e;--accent:#007aff;--accent-ink:#fff;--accent-text:#0058b8;--button:#0064d2;--bad:#c4000f;--scrim:#f0f4ff59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg1:#05070f;--bg2:#0b0618;--blob1:#1d4fd8;--blob2:#7a2bd9;--blob3:#0e9c8c;--ink:#f2f2f7;--muted:#aeaeb2;--glass:#ffffff14;--glass-strong:#2828348c;--edge:#ffffff2e;--hl:#ffffff47;--shadow:0 10px 34px #00000073;--cell:#ffffff12;--found:#0a84ff;--hint-ink:#64d2ff;--tile:#ffffff29;--tile-ink:#f2f2f7;--accent:#0a84ff;--accent-text:#64d2ff;--bad:#ff6961;--scrim:#0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg1:#05070f;--bg2:#0b0618;--blob1:#1d4fd8;--blob2:#7a2bd9;--blob3:#0e9c8c;--ink:#f2f2f7;--muted:#aeaeb2;--glass:#ffffff14;--glass-strong:#2828348c;--edge:#ffffff2e;--hl:#ffffff47;--shadow:0 10px 34px #00000073;--cell:#ffffff12;--found:#0a84ff;--hint-ink:#64d2ff;--tile:#ffffff29;--tile-ink:#f2f2f7;--accent:#0a84ff;--accent-text:#64d2ff;--bad:#ff6961;--scrim:#0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:inherit}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:linear-gradient(160deg,var(--bg1),var(--bg2));background-color:var(--bg1);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;font-family:-apple-system,SF Pro Rounded,SF Pro Text,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}body:after{content:"";z-index:-1;pointer-events:none;filter:blur(50px);opacity:.85;background:radial-gradient(38% 30% at 18% 22%,var(--blob1),transparent 70%), radial-gradient(34% 28% at 85% 40%,var(--blob2),transparent 70%), radial-gradient(40% 30% at 35% 88%,var(--blob3),transparent 70%);animation:26s ease-in-out infinite alternate drift;position:fixed;inset:-10%}@keyframes drift{0%{transform:translate(0)rotate(0)}50%{transform:translate(3%,-2%)rotate(7deg)}to{transform:translate(-3%,2%)rotate(-5deg)}}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.glass{background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--edge);box-shadow:inset 0 1px 0 var(--hl),var(--shadow)}.app{flex-direction:column;max-width:520px;height:100%;margin:0 auto;padding:10px 16px 16px;display:flex}.menu{justify-content:center;gap:28px;padding:24px 20px}.menu-top{text-align:center}.menu-top h1{letter-spacing:-.03em;margin:0;font-size:2.6rem;font-weight:800}.today{color:var(--muted);margin:4px 0 0;font-size:1rem}.modes{flex-direction:column;gap:14px;animation:.5s cubic-bezier(.3,1.3,.5,1) both rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.mode{text-align:left;color:var(--ink);cursor:pointer;border-radius:28px;flex-direction:column;gap:6px;padding:20px 20px 18px;transition:transform .2s cubic-bezier(.3,1.5,.5,1);display:flex}.mode:active{transform:scale(.97)}.mode:disabled{cursor:progress}.mode:focus-visible{outline-offset:3px}.mode-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.mode-name{letter-spacing:-.01em;font-size:1.35rem;font-weight:700}.mode-desc{color:var(--muted);font-size:.95rem;line-height:1.35}.mode-status{color:var(--accent-text);margin-top:4px;font-size:.95rem;font-weight:600}.chip{background:var(--glass);border:1px solid var(--edge);white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:.85rem;font-weight:600}.progress{background:var(--cell);border:1px solid var(--edge);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.progress span{background:var(--accent);border-radius:inherit;height:100%;transition:width .6s cubic-bezier(.3,1.2,.5,1);display:block}.menu-foot{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.pill{color:var(--muted);border-radius:999px;padding:7px 14px;font-size:.9rem}.pill b{color:var(--ink);font-variant-numeric:tabular-nums}.pill-button{cursor:pointer;color:var(--accent-text);font-weight:600}.bar-header{border-radius:999px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px 6px 6px;display:flex}.back{background:var(--glass);width:36px;height:36px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.back svg{width:20px;height:20px}.level{white-space:nowrap;letter-spacing:-.01em;text-overflow:ellipsis;flex:1;margin:0;font-size:1.05rem;font-weight:700;overflow:hidden}.stats{color:var(--muted);gap:5px;font-size:.78rem;font-weight:500;display:flex}.stats span{background:var(--glass);border:1px solid var(--edge);white-space:nowrap;border-radius:999px;padding:5px 9px}.stats b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650;display:inline-block}.timer{font-size:.85rem}.pulse{animation:.5s pulse}@keyframes pulse{50%{transform:scale(1.3)}}.board{flex:1;justify-content:center;align-items:center;min-height:0;padding:10px 0;display:flex}.grid{gap:5px;display:grid}.cell{border-radius:22%;justify-content:center;align-items:center;font-weight:650;display:flex}.cell.on{background:var(--cell);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--edge);box-shadow:inset 0 1px 0 var(--hl)}.cell.hint{color:var(--hint-ink)}.cell.got{background:linear-gradient(180deg,color-mix(in srgb,var(--found) 85%,#fff),var(--found));color:var(--found-ink);box-shadow:inset 0 1px 0 #ffffff73,0 4px 12px color-mix(in srgb,var(--found) 35%,transparent);border-color:#0000}.cell.pop{animation:.4s both pop}.cell.flash{animation:.5s flash}.cell.enter{animation:.45s cubic-bezier(.3,1.5,.5,1) both enter}.cell.hintnew{animation:.7s glow}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:none}}@keyframes flash{30%{filter:brightness(1.25);transform:scale(1.15)}}@keyframes enter{0%{opacity:0;transform:scale(.3)}}@keyframes glow{0%{transform:scale(.6)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 35%,transparent);transform:scale(1.18)}}.preview{justify-content:center;align-items:center;height:46px;display:flex}.preview span{letter-spacing:.06em;background:var(--glass-strong);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--edge);box-shadow:inset 0 1px 0 var(--hl),var(--shadow);border-radius:999px;padding:4px 18px;font-size:1.4rem;font-weight:650;transition:transform .15s}.preview span:empty{visibility:hidden}.preview.bad span{color:var(--bad);animation:.35s shake}.preview.same span{color:var(--muted)}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.toast{text-align:center;height:22px;color:var(--muted);font-size:.9rem;font-weight:500}.play{justify-content:center;display:flex;position:relative}.disc{aspect-ratio:1;border-radius:50%;width:min(76vw,290px)}.disc.spin{animation:.5s cubic-bezier(.4,1.4,.5,1) spin}@keyframes spin{50%{transform:rotate(-10deg)scale(.96)}}.wheel{touch-action:none;cursor:pointer;width:100%;height:100%;display:block}.wheel text{pointer-events:none;font-family:-apple-system,SF Pro Rounded,system-ui,Segoe UI,Roboto,sans-serif}.tile{transform-box:fill-box;transform-origin:50%;transition:transform .18s cubic-bezier(.3,1.6,.5,1)}.tile.sel{transform:scale(1.14)}.tile.move{transition:transform .5s cubic-bezier(.3,1.3,.5,1)}.side{width:54px;height:54px;color:var(--ink);cursor:pointer;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:.68rem;font-weight:650;display:flex;position:absolute;bottom:0}.side svg{width:22px;height:22px;transition:transform .35s}.side:active{transform:scale(.92)}.side:disabled{opacity:.4;cursor:default}.shuffle{left:0}.hint{right:0}.shuffle:active svg{transform:rotate(180deg)}.hint:active svg{transform:scale(1.2)}.overlay{background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.card{text-align:center;background:var(--glass-strong);border-radius:32px;width:min(100%,320px);padding:28px 24px 22px;animation:.35s both pop}.card h2{letter-spacing:-.02em;margin:0 0 6px;font-size:1.6rem}.card p{color:var(--muted);margin:0 0 18px;font-size:1rem}.countdown{font-variant-numeric:tabular-nums}.primary,.ghost{cursor:pointer;border:0;border-radius:999px;width:100%;padding:13px 24px;font-size:1.05rem;font-weight:600}.primary{background:var(--button);color:var(--accent-ink)}.ghost{color:var(--accent-text);background:0 0;margin-top:6px}:is(.primary:focus-visible,.ghost:focus-visible){outline-offset:3px}.fly{z-index:7;pointer-events:none;letter-spacing:.06em;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow);border-radius:999px;padding:4px 18px;font-size:1.4rem;font-weight:650;position:fixed}.confetti{pointer-events:none;z-index:6;width:100%;height:100%;position:fixed;inset:0}.modal{color:var(--ink);background:0 0;border:0;width:100%;max-width:min(92vw,380px);padding:0}.modal::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-body{background:var(--glass-strong);border:1px solid var(--edge);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);box-shadow:inset 0 1px 0 var(--hl),var(--shadow);border-radius:28px;max-height:85dvh;padding:22px 22px 20px;overflow:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.modal-header h2{letter-spacing:-.02em;margin:0;font-size:1.4rem}.icon-button{background:var(--glass);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.icon-button svg{width:18px;height:18px}.help-list{color:var(--ink);margin:0 0 18px;padding-left:1.1em;line-height:1.45}.help-list li{margin:8px 0}.app-toast{left:50%;top:calc(16px + env(safe-area-inset-top,0px));z-index:8;background:var(--glass-strong);border-radius:999px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:.95rem;font-weight:600;position:fixed;transform:translate(-50%)}.share-fallback{white-space:pre-wrap;-webkit-user-select:text;user-select:text;font-weight:500;display:block}.toast-action{color:var(--accent-text);cursor:pointer;background:0 0;border:0;padding:0 0 0 4px;font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
