.hc-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.hc-board{position:relative;overflow:hidden;border-radius:26px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:none;background:linear-gradient(180deg,#1b0d22,#0c0612);box-shadow:0 0 0 1.5px #e2b85cbf,0 0 0 6px #120819,0 0 0 7.5px #e2b85c66,0 24px 50px #0009,0 0 calc(30px + var(--hc-tier, 0) * 12px) rgb(255 77 126 / calc(14% + var(--hc-tier, 0) * 6%));animation:hc-enter .6s cubic-bezier(.22,1,.36,1) both;transition:box-shadow .5s ease}.hc-board.phase-ready,.hc-board.phase-paused,.hc-board.phase-won,.hc-board.phase-lost{cursor:default}@keyframes hc-enter{0%{opacity:0;transform:scale(.96)}}.hc-stage,.hc-photo,.hc-frost,.hc-sky{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hc-photo{background:center / cover no-repeat;filter:saturate(1.05);transition:filter 1.4s ease}.hc-frost{transition:opacity 1.6s ease-in-out .2s}.hc-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#0c061273,#0c061200 22%),linear-gradient(0deg,#0c06128c,#0c061200 14%);transition:opacity 1.2s ease}.hc-board.slow .hc-photo{filter:saturate(.7) hue-rotate(-12deg)}.hc-hud{position:absolute;inset:10px 10px auto;display:flex;align-items:center;gap:8px;z-index:4;pointer-events:none}.hc-lives{display:flex;align-items:center;gap:2px}.hc-life{fill:#ffffff24;stroke:#ffffff4d;stroke-width:1.2;transition:fill .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.hc-life.on{fill:#ff3d6e;stroke:#f3cf6b;filter:drop-shadow(0 0 6px rgb(255 61 110 / 70%))}.hc-life:not(.on){transform:scale(.82)}.hc-score{margin-left:auto;font:800 1.05rem var(--font-ui, system-ui);font-variant-numeric:tabular-nums;color:#fff1c4;text-shadow:0 2px 10px rgb(0 0 0 / 70%),0 0 14px rgb(243 207 107 / 45%)}.hc-pause{pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff1c4;background:#1208198c;border:1px solid rgb(226 184 92 / 45%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer}.hc-pause:disabled{opacity:.4}.hc-meter{position:absolute;left:12px;right:12px;top:52px;height:8px;border-radius:99px;background:#ffffff1f;box-shadow:inset 0 0 0 1px #e2b85c4d;z-index:4;pointer-events:none}.hc-meter-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transform-origin:left center;background:linear-gradient(90deg,#e5245f,#ff8fb1 55%,#fff1c4);box-shadow:0 0 12px #ff78a0b3;transition:transform .35s cubic-bezier(.22,1,.36,1)}.hc-meter span{position:absolute;right:0;top:12px;font:800 .72rem var(--font-ui, system-ui);color:#fff1c4d9;text-shadow:0 1px 6px rgb(0 0 0 / 80%)}.hc-powers{position:absolute;left:12px;top:66px;display:flex;gap:6px;z-index:4;pointer-events:none}.hc-chip{padding:3px 9px;border-radius:99px;font:800 .7rem var(--font-ui, system-ui);letter-spacing:.02em;color:#fff;border:1px solid rgb(255 255 255 / 35%);animation:hc-pop .35s cubic-bezier(.34,1.56,.64,1) both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hc-chip.shield{background:#1f6fa8b3;margin-left:6px}.hc-chip.magnet{background:#a2187eb3}.hc-chip.slow{background:#5a33b5b3}.hc-chip.double{background:#c98a12bf}@keyframes hc-pop{0%{opacity:0;transform:scale(.6)}}.hc-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;background:radial-gradient(80% 60% at 50% 55%,#0c061259,#0c0612b3);animation:hc-fade .3s ease both}@keyframes hc-fade{0%{opacity:0}}.hc-card{display:grid;justify-items:center;gap:6px;padding:18px 22px;border-radius:22px;text-align:center;background:linear-gradient(160deg,#2b1240d9,#120818d9);box-shadow:0 0 0 1px #e2b85c8c,0 18px 40px #0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hc-card strong{font:600 1.6rem var(--font-display, Georgia, serif);background:var(--gold-grad, linear-gradient(135deg, #fff3cf, #b8862f));-webkit-background-clip:text;background-clip:text;color:transparent}.hc-card span{font:600 .85rem var(--font-ui, system-ui);color:var(--muted, #a99bb5)}.hc-drag-dot{animation:hc-drag 1.6s ease-in-out infinite;filter:drop-shadow(0 0 6px #f3cf6b)}@keyframes hc-drag{0%,to{transform:translate(-34px)}50%{transform:translate(34px)}}.hc-hit-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 70px 20px #ff1e46a6;animation:hc-flash .5s ease-out forwards}@keyframes hc-flash{to{opacity:0}}.hc-board.revealed .hc-frost{opacity:0}.hc-board.revealed .hc-stage:after{opacity:0}.hc-board.revealed .hc-sky{opacity:0;transition:opacity .8s ease .6s}.hc-board.revealed .hc-photo{animation:hc-bloom 2.2s ease-out both}@keyframes hc-bloom{0%{filter:brightness(1.6) saturate(.6);transform:scale(1.04)}to{filter:none;transform:none}}.hc-board.revealed .hc-hud,.hc-board.revealed .hc-meter,.hc-board.revealed .hc-powers{opacity:0;transition:opacity .5s ease}.hc-seal{position:absolute;left:50%;bottom:9%;z-index:6;padding:8px 18px;border-radius:99px;font:600 1.35rem var(--font-display, Georgia, serif);color:#2a0c1c;background:linear-gradient(135deg,#fff3cf,#e8c06a 45%,#b8862f);box-shadow:0 10px 26px #0000008c,0 0 26px #f3cf6b8c;transform:translate(-50%);animation:hc-seal .6s cubic-bezier(.34,1.56,.64,1) 1.1s both}@keyframes hc-seal{0%{opacity:0;transform:translate(-50%) scale(1.8)}}[data-motion=reduced] .hc-board,[data-motion=reduced] .hc-chip,[data-motion=reduced] .hc-seal,[data-motion=reduced] .hc-board.revealed .hc-photo,[data-motion=reduced] .hc-drag-dot{animation:none}.hl-board{position:relative;margin:0 auto;border-radius:22px;filter:drop-shadow(0 0 22px rgb(226 184 92 / 28%)) drop-shadow(0 14px 30px rgb(0 0 0 / 55%));user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;animation:hl-enter .6s cubic-bezier(.22,1,.36,1) both}.hl-board>svg{display:block;width:100%;height:100%;touch-action:none;cursor:pointer}.hl-board.hl-disabled>svg{cursor:default}@keyframes hl-enter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.hl-glass{isolation:isolate}.hl-tint{mix-blend-mode:color}.hl-jewel{opacity:.4;mix-blend-mode:overlay}.hl-deepen{opacity:.3;mix-blend-mode:multiply}.hl-ripple{opacity:.32;mix-blend-mode:overlay;pointer-events:none}.hl-shine{pointer-events:none;mix-blend-mode:screen}.hl-twinkle{fill:#fff8e1;opacity:0;transform-box:fill-box;transform-origin:center;animation:hl-twinkle 5.5s ease-in-out infinite;pointer-events:none}@keyframes hl-twinkle{0%,70%,to{opacity:0;scale:.2}80%{opacity:.95;scale:1;rotate:45deg}90%{opacity:0;scale:.4}}.hl-lead{fill:none;stroke:#1d0b16;stroke-width:12;stroke-linecap:round}.hl-lead-edge{fill:none;stroke:#1d0b16;stroke-width:10;pointer-events:none}.hl-glint{opacity:0;transform-box:fill-box;transform-origin:center;animation:hl-glint 3.6s ease-in-out 1s infinite}@keyframes hl-glint{0%,80%,to{opacity:0;scale:.3}88%{opacity:1;scale:1.1}}.hl-corner{filter:drop-shadow(0 0 6px rgb(229 36 95 / 70%));pointer-events:none}.hl-progress{position:absolute;left:0;right:0;top:calc(100% + 14px);display:flex;justify-content:center;gap:8px}.hl-slot{width:22px;height:22px;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.hl-slot:not(.on) path{fill:#ffffff0f}.hl-slot path{stroke:#e2b85c8c;stroke-width:6}.hl-slot.on{transform:scale(1.12);filter:drop-shadow(0 0 6px rgb(229 36 95 / 70%))}.hl-slot.on path{stroke:#f3cf6b}.hl-grid line{stroke:#ffffff38;stroke-width:1.5}.hl-gold{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:hl-draw 1.5s cubic-bezier(.45,0,.25,1) .25s forwards}@keyframes hl-draw{to{stroke-dashoffset:0}}.hl-frame{fill:none;stroke-width:4;pointer-events:none}.hl-frame.thin{stroke-width:1.5;opacity:.75}.hl-dot{fill:#ffffff8c;animation:hl-fade .25s ease both}.hl-cross line{stroke:#f3eef8;stroke-width:6;stroke-linecap:round;opacity:.9}.hl-cross{animation:hl-fade .15s ease both}@keyframes hl-fade{0%{opacity:0}}.hl-heart,.hl-shards polygon,.hl-focus{transform-box:fill-box;transform-origin:center}.hl-heart{animation:hl-drop .42s cubic-bezier(.34,1.56,.64,1) both}@keyframes hl-drop{0%{transform:translateY(-18px) scale(.4);opacity:0}60%{transform:translateY(2px) scale(1.08);opacity:1}to{transform:none}}.hl-heart.clash{filter:brightness(.7) saturate(.85) drop-shadow(0 0 6px rgb(255 60 90 / 90%));animation:hl-clash .42s ease}@keyframes hl-clash{0%,to{transform:none}25%{transform:translate(-5px) rotate(-4deg)}75%{transform:translate(5px) rotate(4deg)}}.hl-focus{fill:#ffe28c29;stroke:#f3cf6b;stroke-width:4;stroke-dasharray:10 7;animation:hl-focus .9s ease-in-out infinite alternate}@keyframes hl-focus{0%{opacity:.45}to{opacity:1}}.hl-hint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);width:min(92%,420px);padding:.6rem .9rem;border-radius:14px;font:600 .88rem/1.35 Nunito,system-ui,sans-serif;color:#fdf6e3;background:linear-gradient(180deg,#281234e0,#180a20eb);border:1px solid rgb(226 184 92 / 60%);box-shadow:0 10px 26px #0000007f,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:hl-card .35s cubic-bezier(.22,1,.36,1) both;pointer-events:none}.hl-hint-mark{color:#f3cf6b;margin-right:.45rem}@keyframes hl-card{0%{opacity:0;transform:translate(-50%,10px)}}.hl-clear{animation:hl-fade .55s ease both}.hl-shards polygon{stroke:#ffffffb3;stroke-width:1.5;opacity:.85;animation:hl-shard .95s cubic-bezier(.3,.6,.4,1) forwards;pointer-events:none}@keyframes hl-shard{0%{transform:none;opacity:.9}to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.6);opacity:0}}.hl-full{opacity:0;transition:opacity 1.2s ease-in-out .8s}.hl-melt{opacity:0}.hl-solved .hl-melt{animation:hl-melt 1s ease-in .5s forwards}.hl-solved .hl-full{opacity:1}.hl-solved .hl-gold{stroke-dashoffset:0;animation:hl-flare 1.4s ease forwards}.hl-solved .hl-grid,.hl-solved .hl-marks .hl-cross,.hl-solved .hl-marks .hl-dot{opacity:0;transition:opacity .6s ease}.hl-solved .hl-heart{animation:hl-pulse .5s ease both,hl-out .6s ease 1.3s forwards}@keyframes hl-melt{to{opacity:1}}@keyframes hl-flare{0%{stroke-width:3.5;opacity:1}35%{stroke-width:9;opacity:1}to{stroke-width:3.5;opacity:0}}.hl-solved .hl-lead,.hl-solved .hl-lead-edge{opacity:0;transition:opacity .8s ease .6s}@keyframes hl-pulse{50%{transform:scale(1.25)}}@keyframes hl-out{to{opacity:0;transform:scale(.8)}}.mj-wrap{position:relative;--mj-ivory: #fbf8ef;--mj-ivory-2: #f1ead6;--mj-edge: #b23fd6;--mj-edge-dark: #6e1f94;width:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:1rem;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.mj-board{position:relative;width:100%;margin-inline:auto;isolation:isolate;z-index:0}.mj-picture{position:absolute;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#3a1457,#a12d6e);box-shadow:0 0 22px #cf41ff59}.mj-picture img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top;pointer-events:none}.mj-full{opacity:0;transition:opacity 1.2s ease-in-out .2s}.mj-solved .mj-full{opacity:1}.mj-tile{position:absolute;padding:0;border:none;border-radius:12%/9%;background:linear-gradient(165deg,#ffffff 0%,var(--mj-ivory) 55%,var(--mj-ivory-2) 100%);box-shadow:inset 0 0 0 1px #0000000f,3px 4px 0 var(--mj-edge),5px 7px 0 var(--mj-edge-dark),6px 12px 14px #0006;cursor:pointer;transition:transform .16s ease,opacity .25s ease,filter .2s ease}.mj-tile:focus-visible{outline:3px solid #ffe259;outline-offset:2px}.mj-face{position:absolute;top:7%;right:8%;bottom:9%;left:8%;border-radius:9%/7%;box-shadow:0 0 0 1.5px #0000001a,inset 0 0 0 1px #ffffff59}.mj-face-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:800 clamp(12px,3.5vw,20px) / 1 "Nunito",system-ui,sans-serif;color:#ffffffeb;text-shadow:0 1px 2px rgb(0 0 0 / 40%)}.mj-tile.blocked{filter:brightness(.9) saturate(.92);cursor:default}.mj-tile.selected{transform:translate(-2px,-6px);box-shadow:0 0 0 3px #ffcb52,0 0 20px 4px #ffcb52a6,3px 4px 0 var(--mj-edge),5px 7px 0 var(--mj-edge-dark)}.mj-tile.hinted{animation:mj-pulse .8s ease-in-out infinite alternate}.mj-tile.shake{animation:mj-shake .32s ease}.mj-tile.gone{opacity:0;transform:scale(.6) translateY(-12px);pointer-events:none}.mj-solved .mj-tile{opacity:0}.mj-tray{align-self:center;display:flex;gap:.4rem;padding:.45rem;border-radius:16px;background:linear-gradient(180deg,#3b1752,#241031);box-shadow:inset 0 2px 8px #0009,0 0 0 2px #c85af08c,0 0 22px #b43ce640,0 6px 16px #00000073}.mj-tray.lost{box-shadow:inset 0 2px 8px #0009,0 0 0 2px #ff6b7d,0 0 18px #ff6b7d8c}.mj-slot{position:relative;width:clamp(52px,15vw,70px);aspect-ratio:.78;border-radius:9px;background:#00000038;box-shadow:inset 0 1px 3px #0009;overflow:hidden}.mj-tray-tile{position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:8px;background-color:var(--mj-ivory);box-shadow:0 0 0 3px var(--mj-ivory),0 2px 0 4px var(--mj-edge)}.mj-tray-tile.resting{animation:mj-land .18s ease-out}.mj-tray-tile.matched{animation:mj-match .42s ease-in forwards}.mj-flight{position:absolute;z-index:50;pointer-events:none;transform-origin:top left}.mj-flight-face{position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:8px;box-shadow:0 0 0 3px var(--mj-ivory),0 8px 18px #0000007f}.mj-tile.matching{animation:mj-pair .38s ease-in forwards;z-index:9000!important}@keyframes mj-pulse{0%{box-shadow:0 0 0 3px #ffe259,3px 4px 0 var(--mj-edge),5px 7px 0 var(--mj-edge-dark)}to{box-shadow:0 0 0 5px #ffe259,0 0 20px 6px #ffe259b3,3px 4px 0 var(--mj-edge),5px 7px 0 var(--mj-edge-dark)}}@keyframes mj-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes mj-land{0%{transform:scale(1.12)}60%{transform:scale(.96)}to{transform:scale(1)}}@keyframes mj-match{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(1.18);filter:brightness(1.35);box-shadow:0 0 0 3px #ffcb52,0 0 22px 8px #ffcb52cc}to{transform:scale(.2);opacity:0}}@keyframes mj-pair{0%{transform:none}45%{transform:translate(var(--mx, 0),var(--my, 0)) scale(1.12);filter:brightness(1.3);box-shadow:0 0 0 3px #ffcb52,0 0 22px 8px #ffcb52bf}to{transform:translate(var(--mx, 0),var(--my, 0)) scale(.3);opacity:0}}.mj-tile:not(.blocked):not(.gone):active{transform:scale(.94)}.mj-entering .mj-tile{animation:mj-enter .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes mj-enter{0%{opacity:0;transform:translateY(-26px) scale(.85)}to{opacity:1;transform:none}}.mj-shuffling .mj-tile:not(.gone){animation:mj-shuffle .48s ease-in-out}@keyframes mj-shuffle{0%{transform:none}45%,55%{transform:scale(.55) rotate(14deg);filter:brightness(1.4)}to{transform:none}}.mj-tile.returning{animation:mj-return .38s cubic-bezier(.34,1.56,.64,1)}@keyframes mj-return{0%{opacity:0;transform:translateY(-34px) scale(1.2)}to{opacity:1;transform:none}}.mj-tray.danger .mj-slot:empty{animation:mj-danger .75s ease-in-out infinite alternate}@keyframes mj-danger{0%{box-shadow:inset 0 1px 3px #0009}to{box-shadow:inset 0 0 0 2px #ff6b7d,inset 0 0 14px #ff6b7db3}}.mj-tray.lost{animation:mj-tray-shake .5s ease}@keyframes mj-tray-shake{0%,to{transform:none}15%,55%{transform:translate(-8px) rotate(-1deg)}35%,75%{transform:translate(8px) rotate(1deg)}}.mj-picture:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgb(255 255 255 / 55%) 50%,transparent 65%);transform:translate(-120%)}.mj-solved .mj-picture:after{animation:mj-shine 1.1s ease-in-out .6s}@keyframes mj-shine{to{transform:translate(120%)}}.zs-board{position:relative;width:100%;max-width:min(480px,100%);margin:0 auto;border-radius:22px;filter:drop-shadow(0 0 18px rgb(207 65 255 / 45%));user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.zs-board svg{display:block;width:100%;height:100%;touch-action:none;cursor:pointer}.zs-board.zs-disabled svg{cursor:default}.zs-frost-tint{fill:#ffffff29}.zs-frame{fill:none;stroke:#ffffffbf;stroke-width:3}.zs-grid line{stroke:#ffffff94;stroke-width:2.5}.zs-grid circle{fill:#ffffffeb}.zs-grid .zs-wall{stroke:#fff;stroke-width:10;stroke-linecap:round}.zs-head{fill:#ff3d8b;stroke:#ffffffd9;stroke-width:4}.zs-hint{fill:none;stroke:#ffe259;stroke-width:6;stroke-dasharray:10 8;animation:zs-pulse .9s ease-in-out infinite alternate}.zs-wp circle{fill:#f6f1ff;stroke:#d36bff;stroke-width:5}.zs-wp text{font:800 38px/1 Nunito,Inter,system-ui,sans-serif;fill:#2b0c4f;pointer-events:none}.zs-wp.reached circle{fill:#fff;stroke:#ff4fd8}.zs-head-ping,.zs-wp,.zs-wp-ring,.zs-melt{transform-box:fill-box;transform-origin:center}.zs-head-ping{fill:none;stroke:#fff3a8;stroke-width:5;opacity:0;animation:zs-ping .45s ease-out}@keyframes zs-ping{0%{transform:scale(.8);opacity:.9}to{transform:scale(1.9);opacity:0}}.zs-wp.reached{animation:zs-wp-pop .42s cubic-bezier(.34,1.56,.64,1)}@keyframes zs-wp-pop{0%{transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}.zs-wp-ring{fill:none;stroke:#ff4fd8;stroke-width:6;opacity:0;animation:zs-ring .7s ease-out}@keyframes zs-ring{0%{transform:scale(1);opacity:1}to{transform:scale(2.3);opacity:0}}.zs-wp.shake{animation:zs-shake .36s ease}.zs-wp.shake circle{stroke:#ff6b7d}@keyframes zs-shake{0%,to{transform:translate(0)}25%{transform:translate(-9px)}75%{transform:translate(9px)}}.zs-sweep{stroke:#fffbe0;stroke-dasharray:.14 1.2;stroke-dashoffset:.14;animation:zs-sweep .9s ease-in-out forwards}@keyframes zs-sweep{0%{stroke-dashoffset:.14;opacity:1}85%{opacity:1}to{stroke-dashoffset:-1;opacity:0}}.zs-melt{transform:scale(0)}.zs-solved .zs-melt{animation:zs-melt 1.1s cubic-bezier(.5,0,.6,1) .8s forwards}@keyframes zs-melt{to{transform:scale(1)}}.zs-full{opacity:0;transition:opacity 1.2s ease-in-out 1s}.zs-grid,.zs-path-layer,.zs-waypoints,.zs-frame{transition:opacity .6s ease .8s}.zs-solved .zs-full{opacity:1}.zs-solved .zs-grid,.zs-solved .zs-path-layer,.zs-solved .zs-waypoints{opacity:0}@keyframes zs-pulse{0%{opacity:.35}to{opacity:1}}:root{--bg: #0a0610;--bg-2: #130b1c;--text: #f8f2f8;--muted: #a99bb5;--faint: #75687f;--surface: rgb(255 255 255 / 4.5%);--surface-2: rgb(255 255 255 / 7.5%);--hairline: rgb(255 255 255 / 9%);--gold-1: #fff3cf;--gold-2: #e2b85c;--gold-3: #a87a2c;--gold: #ecc66f;--gold-grad: linear-gradient(135deg, #fff3cf 0%, #e8c06a 42%, #b8862f 100%);--gold-line: linear-gradient(135deg, rgb(255 243 207 / 55%), rgb(226 184 92 / 22%) 45%, rgb(255 255 255 / 10%));--accent: #f05ad6;--accent-2: #b45cff;--game-grad: linear-gradient(100deg, #b51fe0 0%, #ff3d5a 100%);--primary-gradient: var(--game-grad);--success: #6be3ad;--danger: #ff7a8a;--me-bg: rgb(226 184 92 / 10%);--radius: 22px;--radius-sm: 14px;--font-ui: "Manrope", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Cormorant Garamond", "Playfair Display", Georgia, serif;--motion-fast: .16s;--motion-base: .28s;--motion-slow: .6s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.5, 1.8, .4, .8);color-scheme:dark;font-family:var(--font-ui);line-height:1.5;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);background:radial-gradient(120% 55% at 50% -10%,rgb(120 40 140 / 38%) 0%,transparent 60%),radial-gradient(80% 50% at 110% 110%,rgb(160 40 90 / 22%) 0%,transparent 60%),radial-gradient(70% 45% at -10% 80%,rgb(70 30 120 / 25%) 0%,transparent 60%),var(--bg);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#root{position:relative;z-index:1}a{color:var(--gold);text-decoration:none}h1,h2,h3{margin:0}h1{font-family:var(--font-display);font-weight:600;font-size:2.6rem;line-height:1.05;letter-spacing:.005em}h2{font-size:1.1rem;font-weight:700;margin:0 0 .35rem}p{margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}.accent{color:var(--accent)}.center{text-align:center;padding-top:3rem}.kicker{font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.display{font-family:var(--font-display);font-weight:600}.gold-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.game-text{background:var(--game-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.rule{height:1px;border:0;margin:0;background:linear-gradient(90deg,transparent,rgb(226 184 92 / 55%),transparent)}.glass,.card,.button.ghost,.button.secondary,.control,.round-button,.icon-button,.chip,.segmented,.timer-pill,.toast{border:1px solid transparent;background:linear-gradient(180deg,#ffffff0f,#ffffff06) padding-box,linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--gold-line) border-box}.app{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.1rem;position:sticky;top:0;z-index:10;background:#0a0610b8;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--hairline)}.brand{display:flex;gap:.55rem;align-items:center;color:var(--text);font-family:var(--font-display);font-weight:600;font-size:1.4rem;letter-spacing:.01em;white-space:nowrap}.brand-mark{width:22px;height:22px;display:inline-block;transform:rotate(45deg);border-radius:5px;background:var(--gold-grad);box-shadow:0 0 14px #e2b85c8c,inset 0 0 0 4px #0a06108c}.nav{display:flex;gap:.5rem;align-items:center}.nav a{color:var(--muted);display:grid;place-items:center}.nav a.active{color:var(--gold-1)}.avatar{width:36px;height:36px;border-radius:50%;font-weight:800;font-size:.85rem;display:grid;place-items:center;color:#2a1607!important;background:var(--gold-grad);box-shadow:0 0 0 2px #0a0610,0 0 0 3px #e2b85c73}.page{max-width:760px;margin:0 auto;padding:1.75rem 1.1rem 4rem}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem}.card{border-radius:var(--radius);padding:1.1rem;box-shadow:0 18px 40px #00000059}.grid{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:1.4rem}.empty{padding:2rem;text-align:center;color:var(--muted);border:1px dashed var(--hairline);border-radius:var(--radius);margin-top:1rem}.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}.center-row{justify-content:center;margin:1rem 0}.chip{font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:.28rem .7rem;border-radius:999px;color:var(--muted)}.chip.warn{color:var(--gold)}.chip.selectable{cursor:pointer;font-family:inherit}.chip.selected{color:var(--text)}.button{position:relative;overflow:hidden;isolation:isolate;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:999px;cursor:pointer;padding:.75rem 1.35rem;font:inherit;font-weight:800;letter-spacing:.02em;color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:var(--game-grad);color:#fff;box-shadow:0 14px 34px -10px var(--accent),inset 0 1px #ffffff59,inset 0 -2px #0000002e;text-shadow:0 1px 2px rgb(0 0 0 / 25%)}.button.primary:after{content:"";position:absolute;inset:-40% auto -40% -60%;width:40%;z-index:-1;background:linear-gradient(100deg,transparent,rgb(255 255 255 / 38%),transparent);transform:skew(-18deg);animation:sheen 4.8s ease-in-out 1.2s infinite}@keyframes sheen{0%,70%{left:-60%}to{left:130%}}.button.block{width:100%}.button.large{min-height:58px;font-size:1.06rem}.link-button{background:none;border:none;color:var(--muted);font:inherit;font-weight:800;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}.round-button,.icon-button{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--text);cursor:pointer;padding:0;flex:none}.round-button.small,.icon-button.small{width:40px;height:40px}.icon-button{width:38px;height:38px;color:var(--muted)}.icon-button:hover,.round-button:hover{color:var(--gold-1)}.home-hero{display:flex;flex-direction:column;gap:.55rem}.home-hero p{max-width:30rem}.game-tile{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.05rem;border-radius:var(--radius);color:var(--text);overflow:hidden;box-shadow:0 18px 40px #00000059}.game-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.55;background:radial-gradient(70% 120% at 0% 50%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 70%)}.game-tile-icon{position:relative;filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--accent) 45%,transparent))}.game-tile-body{position:relative;min-width:0}.game-tile-name{font-family:var(--font-display);font-size:1.65rem;font-weight:600;line-height:1.05}.game-tile-body p{margin-top:.25rem;font-size:.86rem;color:var(--muted)}.game-tile-go{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--game-grad);box-shadow:0 8px 20px -6px var(--accent)}.game-tile.featured{grid-template-columns:1fr;text-align:center;justify-items:center;padding:1.6rem 1.2rem 1.4rem}.game-tile.featured .game-tile-name{font-size:2.2rem}.game-tile.featured:before{background:radial-gradient(80% 70% at 50% 20%,color-mix(in srgb,var(--accent) 34%,transparent),transparent 75%);opacity:.8}.game-tile.featured .button{margin-top:.9rem}.lobby{display:flex;flex-direction:column;gap:1.1rem;max-width:460px;margin:0 auto}.lobby-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}.lobby-icon{position:relative;display:grid;place-items:center;margin:.4rem 0 .6rem;filter:drop-shadow(0 22px 40px color-mix(in srgb,var(--accent) 45%,transparent))}.lobby-icon:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;border-radius:50%;background:conic-gradient(from 0deg,transparent,rgb(226 184 92 / 35%),transparent 30%,transparent 55%,color-mix(in srgb,var(--accent) 40%,transparent),transparent 85%);filter:blur(10px);animation:halo 14s linear infinite;z-index:-1}@keyframes halo{to{transform:rotate(360deg)}}.lobby-icon-fallback{font-size:6rem}.lobby-title{font-size:3.1rem}.lobby-hero>p{max-width:24rem}.stat-strip{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.stat-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:999px;font-weight:700;font-size:.82rem;color:var(--gold-1)}.lobby-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.action-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;padding:.95rem 1rem;border-radius:var(--radius-sm);color:var(--text);font-weight:800;font-size:.92rem}.action-tile svg{color:var(--gold)}.action-tile span{color:var(--muted);font-weight:600;font-size:.78rem}.challenge-head{display:flex;gap:.85rem;align-items:center}.challenge-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#2a1607;flex:none;background:var(--gold-grad);box-shadow:0 6px 18px -4px #e2b85c8c}.progress-row{display:flex;align-items:center;gap:.75rem;margin-top:.85rem;font-size:1rem;font-weight:800}.progress-bar{flex:1;height:6px;background:#ffffff12;border-radius:999px;overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--gold-grad);border-radius:999px;box-shadow:0 0 12px #e2b85c99;transition:width .6s var(--ease-out)}.lobby-links{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:999px}.segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;font:inherit;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:capitalize;color:var(--muted);background:none;padding:.55rem .4rem;border-radius:999px;cursor:pointer;transition:color var(--motion-fast),background var(--motion-fast)}.segmented button.selected{color:#fff;background:var(--game-grad);box-shadow:0 6px 16px -6px var(--accent)}.app.bare{display:flex;justify-content:center}.screen{width:100%;max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:.9rem .9rem calc(.9rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.8rem;position:relative}.screen.play{height:100vh;height:100dvh;min-height:0;overflow:hidden}.screen.play:before{content:"";position:absolute;top:15%;right:-20%;bottom:20%;left:-20%;pointer-events:none;z-index:-1;background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%);filter:blur(10px)}.play-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;flex:none}.play-bar-side{display:flex;gap:.45rem;align-items:center}.play-title{display:flex;flex-direction:column;min-width:0;position:relative}.play-title strong{font-family:var(--font-display);font-weight:600;font-size:1.55rem;line-height:1;white-space:nowrap}.play-title small{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-weight:700;font-size:.74rem;letter-spacing:.06em;margin-top:.25rem;text-transform:capitalize}.play-title small:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.play-bar-center{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;position:relative}.timer-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:999px;color:var(--gold-1);font-weight:800;font-variant-numeric:tabular-nums;font-size:.95rem}.timer-pill svg{color:var(--gold)}.level-chip{margin-right:.4rem;padding:.05rem .5rem;border-radius:999px;background:#e2b85c24;color:var(--gold-1);font-size:.8em}.gift-ring{display:flex;flex-direction:column;align-items:center;font-size:.72rem;color:var(--muted)}.gift-ring-track{fill:#ffffff0f;stroke:#ffffff1a;stroke-width:4}.gift-ring-fill{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .5s}.gift-ring-label strong{color:var(--text)}.play-board{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;padding:.25rem 0}.play-messages{min-height:1.6rem;display:flex;flex-direction:column;gap:.4rem;align-items:center}.toast{padding:.45rem 1rem;border-radius:999px;font-weight:700;font-size:.86rem;color:var(--gold-1);box-shadow:0 10px 24px #00000059;animation:rise-in .3s var(--ease-out) both}.toast.error{color:var(--danger)}.toast.warn{color:var(--gold)}.play-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.6rem;position:sticky;bottom:0;padding:.5rem 0 .2rem}.control{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-weight:800;font-size:.92rem;color:var(--text);cursor:pointer;min-height:52px;padding:.7rem .5rem;border-radius:18px;display:flex;gap:.5rem;align-items:center;justify-content:center;box-shadow:0 10px 24px #0000004d}.control svg{color:var(--gold)}.control:disabled{opacity:.4;cursor:not-allowed}.control.attention{box-shadow:0 0 0 1px var(--gold),0 0 18px #e2b85c73}.tutorial-header{display:flex;justify-content:space-between;align-items:center}.brand-lockup{display:flex;gap:.75rem;align-items:center;font-family:var(--font-display);font-weight:600;font-size:1.6rem}.tutorial-art{flex:1;display:grid;place-items:center;padding:1rem;filter:drop-shadow(0 24px 40px color-mix(in srgb,var(--accent) 35%,transparent))}.tutorial-copy{display:flex;flex-direction:column;gap:.45rem}.tutorial-copy h2{font-family:var(--font-display);font-weight:600;font-size:1.9rem;line-height:1.1}.dots{display:flex;gap:.4rem;margin-top:.6rem}.dot{width:7px;height:7px;border-radius:999px;background:#ffffff24;transition:width var(--motion-base) var(--ease-out)}.dot.active{width:26px;background:var(--gold-grad)}.celebration{position:relative;justify-content:center;gap:.9rem;height:100dvh;min-height:0;overflow-y:auto}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:20}.reveal-frame{position:relative;align-self:center;width:min(100%,40dvh);padding:3px;border-radius:26px;background:var(--gold-grad);box-shadow:0 0 0 1px #0006,0 30px 60px -20px color-mix(in srgb,var(--accent) 55%,black),0 0 50px #e2b85c40}.reveal-image{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:23px;animation:reveal-zoom .9s var(--ease-out) both}.reveal-image.placeholder{display:grid;place-items:center;font-size:4rem;background:var(--bg-2)}.celebration-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.45rem}.celebration-copy h2{font-family:var(--font-display);font-weight:600;font-size:1.85rem;line-height:1.1}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.55rem;width:100%;margin-top:.3rem}.stat-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.7rem .4rem;border-radius:var(--radius-sm)}.stat-card b{font-family:var(--font-ui);font-weight:800;font-size:1.3rem;font-weight:600;color:var(--gold-1);line-height:1;font-variant-numeric:tabular-nums}.stat-card span{font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.milestone-line{display:inline-flex;align-items:center;gap:.45rem;color:var(--gold-1);font-weight:700;font-size:.86rem}.celebration-actions{display:flex;flex-direction:column;gap:.55rem;margin-top:auto;padding-bottom:.6rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;margin-top:1.2rem}.gallery-item{display:flex;flex-direction:column;gap:.35rem;color:var(--text);font-weight:700;font-size:.85rem}.gallery-item img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:16px;border:1px solid rgb(226 184 92 / 30%);box-shadow:0 14px 30px #0006}.status{display:flex;align-items:center;gap:.6rem;padding:1rem 0;color:var(--muted);justify-content:center}.status.error{flex-direction:column;color:var(--danger)}.spinner{width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid rgb(255 255 255 / 10%);border-top-color:var(--gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}select,input{font:inherit;padding:.6rem .8rem;border-radius:12px;border:1px solid var(--hairline);background:var(--surface);color:var(--text)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.6rem .5rem;text-align:left;border-bottom:1px solid var(--hairline)}.table th{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table tr.me{background:var(--me-bg)}.table.compact td,.table.compact th{padding:.35rem .25rem}.form{display:flex;flex-direction:column;gap:.6rem;max-width:480px;margin-bottom:2rem}.row{display:flex;gap:.5rem}.row input{flex:1}.error-text{color:var(--danger);margin:0}.code{font-size:.8rem;overflow:auto;background:var(--surface);padding:.75rem;border-radius:8px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#06030ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:overlay-in .25s ease-out}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.lose-panel{width:min(360px,90vw);padding:1.5rem 1.3rem 1.3rem;text-align:center;border-radius:26px;display:flex;flex-direction:column;gap:.6rem;border:1px solid transparent;background:linear-gradient(180deg,#1c1026,#120a19) padding-box,linear-gradient(135deg,#ff7a8ab3,#e2b85c4d) border-box;box-shadow:0 30px 70px #0009;animation:panel-spring .45s var(--ease-spring) both}.lose-panel h2{font-family:var(--font-display);font-weight:600;font-size:2rem}.row-buttons{display:flex;gap:.5rem;justify-content:center;margin-top:.4rem}.stars{display:flex;gap:.35rem;justify-content:center}.star{display:inline-flex;color:#ffffff24}.star.on{color:var(--gold);filter:drop-shadow(0 0 10px rgb(226 184 92 / 70%))}.level-map .page-header{position:sticky;top:4.2rem;z-index:5;padding:.6rem 0 1.2rem;background:linear-gradient(180deg,#0a0610e0 55%,#0a061000);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}.level-map h1{font-size:2.3rem}.level-track{position:relative}.level-track svg.level-line{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.level-line path{fill:none;stroke:#e2b85c61;stroke-width:2;stroke-dasharray:2 7;stroke-linecap:round}.level-line path.done{stroke:url(#level-gold);stroke-dasharray:none;stroke-width:3}.level-path{list-style:none;margin:0;padding:0 0 3rem;position:relative}.level-path li{height:96px;display:flex;justify-content:center;align-items:center}.level-node{position:relative;width:76px;height:76px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;color:var(--text);font-family:var(--font-display);font-weight:700;background:radial-gradient(circle at 32% 25%,#4a2a5e,#1a0d24 70%) padding-box,var(--gold-line) border-box;border:2px solid transparent;box-shadow:0 12px 26px #0000007f,inset 0 2px 6px #ffffff14}.level-node.done{background:radial-gradient(circle at 32% 25%,#6b3b85,#2a1236 70%) padding-box,var(--gold-grad) border-box}.level-node.current{background:var(--game-grad) padding-box,var(--gold-grad) border-box;box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent),0 0 34px color-mix(in srgb,var(--accent) 60%,transparent),0 14px 26px #00000073;animation:node-breathe 2.6s ease-in-out infinite}@keyframes node-breathe{50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 10%,transparent),0 0 44px color-mix(in srgb,var(--accent) 70%,transparent),0 14px 26px #00000073}}.level-node.locked{color:var(--faint);background:radial-gradient(circle at 32% 25%,#22162c,#120a19 70%) padding-box,linear-gradient(var(--hairline),var(--hairline)) border-box;box-shadow:0 8px 18px #0006}.level-number{font-family:var(--font-ui);font-weight:800;font-size:1.45rem;line-height:1}.level-stars{display:flex;gap:1px;color:#ffffff38}.level-stars .on{color:var(--gold)}.button,.control,.round-button,.icon-button,.chip.selectable,.level-node,.game-tile,.action-tile{transition:transform var(--motion-fast) var(--ease-out),filter var(--motion-fast)}.button:active:not(:disabled),.control:active:not(:disabled),.round-button:active,.icon-button:active,.chip.selectable:active,.level-node:active,.game-tile:active,.action-tile:active{transform:scale(.95)}.route-enter{animation:route-in var(--motion-base) var(--ease-out) both}.app.bare>.route-enter{width:100%;display:flex;justify-content:center}@keyframes route-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.fx-layer{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:900}.combo-meter{position:absolute;top:calc(100% + 4px);left:0;white-space:nowrap;padding:.12rem .6rem;border-radius:999px;font-weight:900;font-size:.74rem;letter-spacing:.04em;color:#2a1607;background:var(--gold-grad);box-shadow:0 0 16px #e2b85c8c;animation:combo-pop var(--motion-base) var(--ease-spring) both}@keyframes combo-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes reveal-zoom{0%{transform:scale(.86);opacity:0;filter:blur(8px) brightness(1.5)}60%{opacity:1;filter:blur(0) brightness(1.12)}to{transform:scale(1);filter:none}}.star.landed{animation:star-land .55s var(--ease-spring) both}@keyframes star-land{0%{transform:translateY(-60px) scale(2.2) rotate(-40deg);opacity:0}60%{transform:translateY(0) scale(.85) rotate(8deg);opacity:1}to{transform:none}}.stagger>*{animation:rise-in .55s var(--ease-out) both}.stagger>*:nth-child(1){animation-delay:.45s}.stagger>*:nth-child(2){animation-delay:.6s}.stagger>*:nth-child(3){animation-delay:1.5s}.stagger>*:nth-child(4){animation-delay:1.7s}.stagger>*:nth-child(5){animation-delay:1.9s}.stagger.late>*:nth-child(1){animation-delay:2.1s}.stagger.late>*:nth-child(2){animation-delay:2.25s}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes panel-spring{0%{transform:scale(.7) translateY(30px);opacity:0}to{transform:none;opacity:1}}.level-node.just-cleared{animation:node-cleared .6s var(--ease-out) both}@keyframes node-cleared{0%{transform:scale(1)}40%{transform:scale(1.12);filter:brightness(1.5)}to{transform:scale(1)}}.level-node.just-unlocked{animation:node-unlock .7s var(--ease-spring) .55s both}.level-node.just-unlocked:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:3px solid var(--gold);animation:node-ring .9s var(--ease-out) .6s both;pointer-events:none}@keyframes node-unlock{0%{transform:scale(.6);filter:grayscale(1) brightness(.6)}60%{transform:scale(1.2);filter:none}to{transform:scale(1)}}@keyframes node-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(1.8);opacity:0}}.sheet-overlay{place-items:end center;padding:0}.sheet{width:min(480px,100vw);padding:.8rem 1.3rem calc(1.3rem + env(safe-area-inset-bottom));border:1px solid transparent;border-bottom:none;border-radius:28px 28px 0 0;background:linear-gradient(180deg,#1d1028,#110919) padding-box,var(--gold-line) border-box;display:flex;flex-direction:column;gap:.85rem;box-shadow:0 -20px 60px #0000008c;animation:sheet-up var(--motion-base) var(--ease-out) both}.sheet h2{font-family:var(--font-display);font-weight:600;font-size:1.9rem}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.sheet-handle{width:42px;height:4px;border-radius:999px;background:#e2b85c66;margin:0 auto .2rem}.setting{display:flex;justify-content:space-between;align-items:center;gap:1rem}.setting.column{flex-direction:column;align-items:stretch;gap:.55rem}.setting-label{font-weight:800}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;width:52px;height:30px;border-radius:999px;padding:3px;background:#ffffff1f;transition:background var(--motion-fast)}.switch span{display:block;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000059;transition:transform var(--motion-fast) var(--ease-out-back)}.switch.on{background:var(--gold-grad)}.switch.on span{transform:translate(22px)}.volume{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:5px;border-radius:999px;padding:0;border:none;background:linear-gradient(90deg,var(--gold) var(--fill),rgb(255 255 255 / 10%) var(--fill))}.volume:disabled{opacity:.4}.volume::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--gold-1);box-shadow:0 0 10px #e2b85c99}.volume::-moz-range-thumb{width:20px;height:20px;border:none;border-radius:50%;background:var(--gold-1)}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}
