:root{--bg: #1a0820;--bg-elev: #2a1538;--bg-elev-2: #3d2350;--ink: #f6efe1;--ink-dim: #b8a98f;--gold: #f2b84b;--teal: #6fe3c1;--rose: #ff6b6b;--violet: #b07ed6;--siena: #c46a2a;--ochre: #8b6a3b;--ok: var(--teal);--warn: var(--gold);--bad: var(--rose);--state-free: #f7d88a;--state-blocked: #6f6256;--state-selected: #ffbf3f;--state-hint: #79d88f;--state-error: #e84d3d;--special-golden: #f6c84f;--special-frozen: #82d9ff;--special-bomb: #ff684d;--special-locked: #8d7aa8;--special-lightning: #7adcff;--special-eye: #64dcc8;--boss-accent: #ff5ea8;--shadow-sm: 0 2px 6px rgba(0,0,0,.35);--shadow: 0 6px 22px rgba(0,0,0,.45);--shadow-lg: 0 18px 48px rgba(0,0,0,.55);--r-sm: 10px;--r: 16px;--r-lg: 24px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--font-display: "Fraunces", "Cormorant Garamond", "Times New Roman", serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.45;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable]{user-select:text;-webkit-user-select:text}body{min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse at 50% 110%,#5a2a44 0%,transparent 60%),radial-gradient(ellipse at 50% -10%,#1d3a5a 0%,transparent 55%),var(--bg);position:relative}body:before{content:"";position:fixed;inset:-25%;z-index:0;pointer-events:none;background:radial-gradient(38% 30% at 24% 28%,rgba(242,184,75,.12),transparent 70%),radial-gradient(34% 26% at 80% 68%,rgba(109,140,90,.11),transparent 70%),radial-gradient(30% 22% at 60% 12%,rgba(196,106,42,.1),transparent 72%);animation:bg-drift 28s ease-in-out infinite alternate;will-change:transform}@keyframes bg-drift{0%{transform:translate3d(-2%,-1.5%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.09)}}body.reduce-motion:before{animation:none}.app{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;min-height:100dvh;position:relative;z-index:1}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}h1{font-weight:900}h2,h3{font-weight:700}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + var(--safe-top)) 16px 10px;background:linear-gradient(180deg,#2a1538f2,#1a0820d9);border-bottom:1px solid rgba(242,184,75,.15);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:900;font-size:18px;letter-spacing:-.01em}.topbar-btn{background:#ffffff0f;border:1px solid rgba(242,184,75,.28);color:var(--ink);border-radius:10px;font-size:16px;line-height:1;min-width:38px;height:34px;cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent;transition:background .15s,opacity .15s}.topbar-btn:hover{background:#ffffff21}.topbar-btn:active{transform:scale(.94)}.topbar-btn.muted{opacity:.55}.logo img{border-radius:8px;box-shadow:0 2px 8px #0006}.wallet{display:flex;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--bg-elev);font-family:var(--font-body);font-weight:700;font-size:13px;border:1px solid rgba(255,255,255,.06)}.chip.coins{background:linear-gradient(135deg,#5a3d12,#3a2812);color:var(--gold);border-color:#f2b84b59;text-shadow:0 1px 2px rgba(0,0,0,.4)}.chip.gems{background:linear-gradient(135deg,#1f4a4a,#143030);color:var(--teal);border-color:#6fe3c159}.navbar{display:grid;grid-template-columns:repeat(5,1fr);background:#2a1538f2;border-top:1px solid rgba(255,255,255,.06);padding-bottom:var(--safe-bottom);position:sticky;bottom:0;z-index:10;backdrop-filter:blur(10px)}.nav-btn{background:none;border:0;color:var(--ink-dim);padding:12px 4px 10px;display:grid;gap:3px;align-items:center;justify-items:center;cursor:pointer;font-size:20px;font-family:inherit;transition:color .15s,transform .08s}.nav-btn small{font-size:10px;opacity:.9;font-family:var(--font-body);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.nav-btn:active{transform:scale(.94)}.nav-btn[aria-current=page],.nav-btn[aria-current=page] small{color:var(--gold)}.screen{padding:16px 14px 28px;overflow-x:hidden}.screen h1{margin:6px 0 12px;font-size:26px;line-height:1.1}.screen h2{margin:20px 0 10px;font-size:14px;color:var(--ink-dim);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-body)}.hero{position:relative;isolation:isolate;padding:28px 22px 24px;border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;min-height:240px;background:linear-gradient(180deg,#2a1538,#5a2548 60%,#c46a2a);border:1px solid rgba(242,184,75,.3)}.hero-scene{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.95}.hero-scene svg{width:100%;height:100%;display:block}@keyframes sun-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.hero-scene .sun{animation:sun-pulse 4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes star-twinkle{0%,to{opacity:.4}50%{opacity:1}}.hero-scene .star{animation:star-twinkle 3s ease-in-out infinite}.hero-scene .star:nth-child(odd){animation-delay:1.5s}.board-svg .board-sun{animation:sun-pulse 6s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.board-svg .board-star{animation:star-twinkle 3.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.board-svg .board-star:nth-child(3n+1){animation-delay:0s}.board-svg .board-star:nth-child(3n+2){animation-delay:1.2s}.board-svg .board-star:nth-child(3n){animation-delay:2.4s}@keyframes condor-fly{0%{transform:translate(-12%) translateY(0) scale(1);opacity:0}8%{opacity:.55}50%{transform:translate(48%) translateY(-2%) scale(1.02);opacity:.65}92%{opacity:.55}to{transform:translate(112%) translateY(0) scale(1);opacity:0}}.board-svg .ambient-condor{animation:condor-fly 24s ease-in-out infinite;transform-origin:center;transform-box:fill-box;pointer-events:none}@keyframes serpentina-float{0%{transform:translateY(-8%) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translateY(110%) rotate(420deg);opacity:0}}.board-svg .ambient-serpentina{animation:serpentina-float 11s linear infinite;transform-origin:center;transform-box:fill-box;pointer-events:none}.wind-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:6}.wind-fx .wind-line{position:absolute;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 30%,rgba(255,255,255,.85) 50%,rgba(255,255,255,.55) 70%,transparent 100%);width:60%;left:-65%;border-radius:2px;filter:blur(.4px);animation:windSweep 1.8s cubic-bezier(.34,.8,.5,1) forwards}.wind-fx .wind-line:nth-child(1){top:22%;animation-delay:0s;transform:rotate(-6deg)}.wind-fx .wind-line:nth-child(2){top:38%;animation-delay:.18s;transform:rotate(-4deg);width:55%}.wind-fx .wind-line:nth-child(3){top:56%;animation-delay:.32s;transform:rotate(-5deg);width:65%}.wind-fx .wind-line:nth-child(4){top:72%;animation-delay:.48s;transform:rotate(-3deg);width:50%}@keyframes windSweep{0%{transform:translate(-160%);opacity:0}20%{opacity:1}85%{opacity:1}to{transform:translate(160%);opacity:0}}@media(prefers-reduced-motion:reduce){.board-svg .board-sun,.board-svg .board-star,.board-svg .ambient-condor,.board-svg .ambient-serpentina,.wind-fx .wind-line{animation:none!important}.wind-fx{display:none!important}}.hero h1{position:relative;z-index:2;margin:0 0 6px;font-family:Fraunces,ui-serif,Georgia,serif;font-size:32px;font-weight:900;letter-spacing:.3px;color:#fef7e3;text-shadow:0 2px 8px rgba(0,0,0,.5),0 0 20px rgba(242,184,75,.4)}.hero p,.hero .hero-sub{position:relative;z-index:2;margin:0 0 16px;color:#ffffffd9;font-size:14px;max-width:28ch;text-shadow:0 1px 3px rgba(0,0,0,.6)}.hero .row{position:relative;z-index:2;display:flex;gap:10px}.btn{background:linear-gradient(180deg,var(--gold),#c8881d);color:#2a1804;border:0;padding:13px 20px;border-radius:999px;font-family:var(--font-body);font-weight:800;font-size:15px;letter-spacing:.01em;cursor:pointer;box-shadow:0 6px 18px #f2b84b59,inset 0 1px #ffffff59;transition:transform .08s,box-shadow .15s,opacity .15s;min-height:46px}.btn:active{transform:scale(.97);box-shadow:0 2px 8px #f2b84b4d}.btn[disabled]{opacity:.5;cursor:default}.btn.ghost{background:transparent;color:var(--ink);border:1px solid rgba(255,255,255,.18);box-shadow:none}.btn.small{padding:8px 14px;font-size:13px;min-height:36px}.btn.success{background:linear-gradient(180deg,var(--teal),#4a9d85);color:#0e3030;box-shadow:0 6px 18px #6fe3c159}.btn.danger{background:linear-gradient(180deg,var(--rose),#c44141);color:#fff}.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.card{background:var(--bg-elev);padding:14px 16px;border-radius:var(--r);display:grid;gap:4px;border:1px solid rgba(255,255,255,.05);box-shadow:var(--shadow-sm)}.card .k{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.card .v{font-size:22px;font-weight:800;font-family:var(--font-display)}.world{background:var(--bg-elev);border-radius:var(--r);padding:16px;margin-bottom:12px;border:1px solid rgba(255,255,255,.05);box-shadow:var(--shadow-sm)}.world header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.world h3{margin:0;font-size:18px}.world.current-world{scroll-margin-top:16px;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--shadow-sm)}.world.world-collapsed{padding:12px 16px;opacity:.82}.world.world-collapsed .world-scene{display:none}.world-done-check{color:#6fe3c1;font-weight:900}.here-badge{display:inline-block;font-size:11px;font-weight:800;color:#0e0418;background:var(--gold);border-radius:999px;padding:2px 9px;margin-left:8px;vertical-align:middle;animation:hereBob 1.6s ease-in-out infinite}@keyframes hereBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}body.reduce-motion .here-badge{animation:none}.world .meta{font-size:11px;color:var(--ink-dim);font-weight:500}.world .levels{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.lvl{aspect-ratio:1/1;display:grid;place-items:center;background:linear-gradient(160deg,var(--bg-elev-2),#2c1840);border-radius:var(--r-sm);font-family:var(--font-display);font-weight:800;font-size:15px;cursor:pointer;border:0;color:var(--ink);position:relative;transition:transform .08s,box-shadow .15s;font-family:inherit;box-shadow:inset 0 1px #ffffff0d,0 2px 6px #0000004d}.lvl:active{transform:scale(.93)}.lvl.locked{opacity:.3;cursor:default;filter:saturate(.4)}.lvl.done{background:linear-gradient(160deg,#6fe3c1,#3a8a72);color:#0e3030;box-shadow:0 4px 12px #6fe3c140}.lvl.current{background:linear-gradient(160deg,var(--gold),#b07015);color:#2a1804;box-shadow:0 0 0 2px var(--gold),0 6px 18px #f2b84b80;animation:pulsecurr 1.8s ease-in-out infinite}@keyframes pulsecurr{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.lvl .stars{position:absolute;bottom:2px;right:4px;font-size:9px}.gameboard-wrap{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 50% -10%,#2d1a4a 0%,transparent 50%),radial-gradient(ellipse at 50% 110%,#4a2030 0%,transparent 55%),var(--bg)}.gameboard-wrap>.hud,.gameboard-wrap>.chapter-row,.gameboard-wrap>.objective-row,.gameboard-wrap>.layout-row,.gameboard-wrap>.dock{flex:0 0 auto}.gameboard-wrap>.board{flex:1 1 auto;min-height:0}.gameboard-wrap .hud{display:flex;align-items:center;gap:6px;padding:calc(6px + var(--safe-top)) 10px 6px;background:#00000038;backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.05);font-size:11px}.gameboard-wrap .hud-stat{display:flex;flex-direction:column;align-items:center;min-width:44px;flex:0 1 auto;padding:2px 4px}.gameboard-wrap .hud-stat .k{font-size:9px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.gameboard-wrap .hud-stat .v{font-size:15px;font-weight:800;font-family:var(--font-display);line-height:1.1}.gameboard-wrap .hud .btn.small{padding:6px 10px;font-size:11px}.gameboard-wrap .hud .btn.icon-only{padding:4px 8px;font-size:14px;min-width:32px}.layout-row{padding:3px 6px;background:#00000026;display:flex;justify-content:center;border-bottom:1px solid rgba(255,255,255,.04)}.layout-row .layout-badge{padding:2px 10px;font-size:10px;background:#f2b84b1a;border:1px solid rgba(242,184,75,.25);border-radius:10px;color:var(--gold);letter-spacing:.4px}.board{position:relative;touch-action:manipulation;display:grid;place-items:center;padding:14px;overflow:hidden;min-height:0}.board svg{width:100%;height:100%;max-width:100%;max-height:100%}.board{box-shadow:0 14px 30px #0000008c}.tile{cursor:pointer;transition:transform .1s,filter .12s,opacity .35s ease}.tile.free,.tile.blocked{filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}.tile.blocked{cursor:default}body.vision-active .board-svg .tile.blocked{filter:brightness(.74) saturate(.7) drop-shadow(0 5px 9px rgba(0,0,0,.7))!important}body.vision-active .board-svg .tile.free{filter:drop-shadow(0 4px 8px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(255,215,106,.55))!important}.vision-countdown{position:fixed;top:14px;right:14px;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 14px;background:#140c1eeb;border:1px solid rgba(122,220,255,.55);border-radius:24px;box-shadow:0 6px 18px #00000080,0 0 14px #7adcff66;animation:visionCountdownIn .25s ease-out}@keyframes visionCountdownIn{0%{transform:translateY(-30px) scale(.7);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.vision-countdown .vc-eye{font-size:20px;filter:drop-shadow(0 0 4px rgba(122,220,255,.7))}.vision-countdown .vc-bar{width:140px;height:9px;background:#00000073;border-radius:5px;overflow:hidden;box-shadow:inset 0 1px 2px #00000080}.vision-countdown .vc-fill{width:100%;height:100%;background:linear-gradient(90deg,#7adcff,#46b4dc 60%,#1f7fa8);border-radius:5px;box-shadow:0 0 8px #7adcff99}@media(max-width:380px){.vision-countdown .vc-bar{width:100px}}.booster-tutorial-pointer,.vision-tutorial-pointer{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:9001;pointer-events:none;text-align:center;white-space:nowrap}.booster-tutorial-pointer .btp-hand,.vision-tutorial-pointer .vt-hand{display:block;font-size:38px;line-height:1;filter:drop-shadow(0 3px 5px rgba(0,0,0,.55));animation:btpHandBob 1.1s ease-in-out infinite}.booster-tutorial-pointer .btp-msg,.vision-tutorial-pointer .vt-msg{display:inline-block;margin-top:2px;background:#1a0820f5;color:#f6efe1;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:12px;border:1px solid rgba(255,215,106,.6);box-shadow:0 4px 12px #00000080;max-width:150px;white-space:normal;line-height:1.25}@keyframes btpHandBob{0%,to{transform:translateY(-3px)}50%{transform:translateY(4px)}}@keyframes vtHandBob{0%,to{transform:translateY(-3px)}50%{transform:translateY(4px)}}.booster.booster-tip-pulse,body.vision-tutorial-active #bVision{animation:bVisionPulse 1.1s ease-in-out infinite;box-shadow:0 0 0 3px #7adcff99,0 0 18px #7adcff8c;z-index:10;position:relative}@keyframes bVisionPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.tile.selected{filter:drop-shadow(0 0 14px #f2b84b) drop-shadow(0 0 5px #f2b84b) brightness(1.1)}.tile.hint{animation:hintpulse .9s ease-in-out 3}@keyframes hintpulse{0%,to{filter:brightness(1) drop-shadow(0 3px 6px rgba(0,0,0,.5))}50%{filter:brightness(1.3) drop-shadow(0 0 14px #f2b84b)}}.dock{display:flex;gap:6px;padding:8px 10px calc(10px + var(--safe-bottom));background:#0000005c;backdrop-filter:blur(10px);justify-content:space-around;border-top:1px solid rgba(255,255,255,.05)}.booster{background:var(--bg-elev);border:1px solid rgba(255,255,255,.07);color:var(--ink);padding:6px 8px;border-radius:var(--r);display:grid;gap:1px;place-items:center;font-family:inherit;cursor:pointer;min-width:56px;min-height:52px;position:relative;transition:transform .08s,background .15s;box-shadow:0 2px 6px #0000004d}.booster:active:not(:disabled){transform:scale(.94)}.booster .ico{font-size:20px;line-height:1}.booster .lbl{font-size:9px;opacity:.85;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.booster .count{position:absolute;top:-5px;right:-5px;background:var(--gold);color:#2a1804;font-size:10px;font-weight:800;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border:2px solid var(--bg-elev)}.booster:disabled{opacity:.35}.booster.unavailable{display:none!important}.ico-coin,.ico-gem{width:1.15em;height:1.15em;vertical-align:-.22em;display:inline-block}.win-rewards .ico-coin,.win-rewards .ico-gem{width:20px;height:20px;vertical-align:-5px}.surprise-bonus .ico-coin{width:16px;height:16px;vertical-align:-3px}.coin-fly .ico-coin{width:26px;height:26px;display:block;filter:drop-shadow(0 2px 3px rgba(120,80,10,.5))}.board-sheen{position:absolute;top:0;bottom:0;left:0;width:55%;pointer-events:none;z-index:5;opacity:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.16) 50%,transparent 62%);mix-blend-mode:screen;animation:boardSheen 9s ease-in-out 3s infinite}@keyframes boardSheen{0%{transform:translate(-120%);opacity:0}3%{opacity:1}14%{transform:translate(230%);opacity:0}to{transform:translate(230%);opacity:0}}@media(prefers-reduced-motion:no-preference){.dock .booster:not(.unavailable):not(:disabled){animation:boosterReady 2.8s ease-in-out infinite}.dock .booster:not(.unavailable):not(:disabled):nth-child(2n){animation-delay:.5s}.dock .booster:not(.unavailable):not(:disabled):nth-child(3n){animation-delay:1s}.dock .booster-power:not(.unavailable):not(:disabled){animation-duration:2.4s}}@keyframes boosterReady{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.board-sheen{display:none}.dock .booster{animation:none!important}}.booster.booster-magic{background:linear-gradient(135deg,#5a2548,#7a3878,#c46a2a);border:1px solid rgba(242,184,75,.45);box-shadow:0 2px 8px #0006,0 0 12px #c89af240;animation:magicPulse 2.4s ease-in-out infinite}.booster.booster-magic .ico{animation:magicSpin 4s linear infinite}@keyframes magicPulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes magicSpin{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(8deg) scale(1.08)}}.dock.dock-5{gap:4px}.dock.dock-5 .booster{min-width:50px;padding:5px 6px}.dock.dock-5 .booster .lbl{font-size:7.5px}.dock.dock-6{gap:3px}.dock.dock-6 .booster{min-width:44px;padding:4px 5px}.dock.dock-6 .booster .lbl{font-size:7px}.dock.dock-6 .booster .ico{font-size:18px}.dock.dock-scroll{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:4px 8px calc(4px + var(--safe-bottom));scrollbar-width:none}.dock.dock-scroll::-webkit-scrollbar{display:none}.dock.dock-scroll .booster{flex:0 0 auto;scroll-snap-align:center}.booster.booster-power{background:linear-gradient(135deg,#1f5a52,#2f7a6e 55%,#c4922a);border:1px solid rgba(111,227,193,.4);box-shadow:0 2px 8px #0006,0 0 10px #6fe3c12e}.power-unlock-overlay{position:fixed;inset:0;z-index:90;background:#000000b8;backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px}.power-unlock-dialog{background:linear-gradient(160deg,#2a1a3a,#1a1228);border:2px solid var(--gold);border-radius:var(--r-lg, 24px);box-shadow:0 18px 50px #0009,0 0 40px #f2b84b4d;padding:26px 22px;text-align:center;max-width:340px;animation:winPop .5s cubic-bezier(.34,1.56,.55,1)}.power-unlock-dialog .pu-kicker{font-size:12px;font-weight:800;letter-spacing:2px;color:#6fe3c1}.power-unlock-dialog .pu-icon{font-size:64px;margin:10px 0 4px;animation:char-portrait-bob 2.4s ease-in-out infinite}.power-unlock-dialog .pu-name{font-family:var(--font-display);color:var(--gold);margin:4px 0;font-size:24px}.power-unlock-dialog .pu-desc{color:var(--ink);font-size:14px;margin:6px 0 4px;line-height:1.4}.power-unlock-dialog .pu-free{color:#6fe3c1;font-size:12px;font-weight:700;margin:6px 0 16px}.reduce-motion .power-unlock-dialog,.reduce-motion .power-unlock-dialog .pu-icon{animation:none}body.comodin-mode .board{box-shadow:inset 0 0 60px #c89af259,inset 0 0 30px #f2b84b40;animation:comodinFlow 3s ease-in-out infinite}body.comodin-mode .board-svg .tile.free{filter:drop-shadow(0 0 8px rgba(200,154,242,.5)) drop-shadow(0 3px 6px rgba(0,0,0,.55))!important}@keyframes comodinFlow{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.overlay{position:fixed;inset:0;background:#000000b8;backdrop-filter:blur(6px);display:grid;place-items:center;z-index:100;padding:20px;animation:fadein .2s ease-out}@keyframes fadein{0%{opacity:0}}.dialog{background:linear-gradient(180deg,#3a2354,#2a1538);border-radius:var(--r-lg);padding:28px 24px;max-width:380px;width:100%;text-align:center;box-shadow:var(--shadow-lg);border:1px solid rgba(242,184,75,.25);animation:dialogin .25s cubic-bezier(.34,1.56,.64,1)}@keyframes dialogin{0%{transform:translateY(20px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.dialog h2{margin:0 0 6px;font-size:26px;font-family:var(--font-display);font-weight:900}.dialog p{color:var(--ink-dim);margin:0 0 16px;font-size:14px}.dialog .stars-big{font-size:44px;letter-spacing:10px;color:var(--gold);margin:12px 0 16px;text-shadow:0 0 24px rgba(242,184,75,.45)}.dialog .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.dialog .rewards{display:flex;gap:12px;justify-content:center;margin:10px 0 14px;flex-wrap:wrap}.dialog .rewards .chip{padding:8px 14px;font-size:14px}.pass-track{display:grid;gap:8px}.pass-tier{background:var(--bg-elev);border-radius:var(--r);padding:14px 16px;display:grid;grid-template-columns:auto 1fr 1fr;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.05)}.pass-tier .num{font-size:22px;font-weight:900;color:var(--gold);min-width:32px;font-family:var(--font-display)}.pass-tier .reward{font-size:13px}.pass-tier .reward .lbl{font-size:10px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:1px}.pass-tier.claimed{opacity:.55}.pass-progress{background:var(--bg-elev);padding:12px 16px;border-radius:var(--r);margin-bottom:12px;border:1px solid rgba(255,255,255,.05)}.bar{background:#00000059;height:10px;border-radius:999px;overflow:hidden;margin-top:8px;box-shadow:inset 0 1px 2px #0006}.bar .fill{background:linear-gradient(90deg,var(--gold),var(--teal));height:100%;transition:width .35s ease-out;box-shadow:0 0 12px #f2b84b66}.event{background:var(--bg-elev);border-radius:var(--r);padding:14px 16px;margin-bottom:10px;display:grid;gap:4px;border-left:3px solid var(--violet);box-shadow:var(--shadow-sm)}.event h3{margin:0;font-size:16px;font-family:var(--font-display);font-weight:700}.event .meta{font-size:11px;color:var(--ink-dim)}.event .reward{font-size:12px;color:var(--gold);font-weight:600}.toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 20px;border-radius:999px;font-weight:700;font-size:13px;z-index:200;box-shadow:var(--shadow-lg, var(--shadow)),0 0 0 1px #00000040;border:1px solid rgba(255,255,255,.18);animation:toastin .25s ease-out;max-width:calc(100% - 32px)}@keyframes toastin{0%{opacity:0;transform:translate(-50%) translateY(10px)}}.setting{background:var(--bg-elev);padding:14px 16px;border-radius:var(--r);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,.05)}.setting label{font-size:14px;font-weight:600}.setting .desc{font-size:11px;color:var(--ink-dim);margin-top:2px}.toggle{width:46px;height:26px;background:var(--bg-elev-2);border-radius:999px;position:relative;cursor:pointer;border:0;padding:0;transition:background .15s}.toggle .knob{position:absolute;top:2px;left:2px;width:22px;height:22px;background:var(--ink);border-radius:50%;transition:left .15s,background .15s;box-shadow:0 2px 4px #0006}.toggle[aria-pressed=true]{background:var(--teal)}.toggle[aria-pressed=true] .knob{left:22px;background:#0e3030}.board-svg .tile{transition:transform .15s cubic-bezier(.22,.7,.32,1) 90ms,filter .2s ease-out 90ms}@media(hover:hover)and (prefers-reduced-motion:no-preference){.board-svg .tile.free:hover{transform:scale(1.03);transition:transform .13s cubic-bezier(.22,.7,.32,1) 0ms}}.board-svg .tile.selected{animation:tileSelected .34s cubic-bezier(.34,1.6,.55,1) forwards,tile-breath 2.4s ease-in-out .34s infinite;filter:drop-shadow(0 10px 14px rgba(0,0,0,.6)) drop-shadow(0 0 18px var(--w-accent, rgba(242, 184, 75, .55)));will-change:transform}@keyframes tileSelected{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-7px) scale(1.045)}72%{transform:translateY(-3px) scale(1.015)}to{transform:translateY(-5px) scale(1.03)}}@keyframes tile-breath{0%,to{transform:translateY(-5px) scale(1.03)}50%{transform:translateY(-6px) scale(1.035)}}@media(prefers-reduced-motion:reduce){.board-svg .tile.selected{animation:none!important;transform:translateY(-4px) scale(1.03)!important;filter:drop-shadow(0 5px 9px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(242,184,75,.45))!important}.board-svg .tile.hint,.board-svg .select-ring,.board-svg .free-ring{animation:none!important}}.board-svg .free-glow{opacity:0}@media(prefers-reduced-motion:no-preference){.board-svg .tile.free:not(.selected):not(.match-burst) .free-glow{animation:freeGlowPulse 2.8s ease-in-out infinite}}@keyframes freeGlowPulse{0%,to{opacity:.16}50%{opacity:.8}}@media(prefers-reduced-motion:reduce){.board-svg .free-glow{opacity:.42;animation:none!important}}.board-svg .tile.match-burst{animation:matchBurst .58s cubic-bezier(.32,0,.18,1) forwards;pointer-events:none;z-index:10;will-change:transform}.board-svg .tile.match-leaving{pointer-events:none;z-index:10}@keyframes matchBurst{0%{transform:scale(1) rotate(0);opacity:1;filter:brightness(1) saturate(1)}15%{transform:scale(.92) rotate(-3deg);opacity:1;filter:brightness(1.45) saturate(1.4) drop-shadow(0 0 8px rgba(111,227,193,.6))}38%{transform:scale(1.42) rotate(2deg);opacity:1;filter:brightness(2.6) saturate(2.4) drop-shadow(0 0 28px #ffd76a) drop-shadow(0 0 14px #6fe3c1)}64%{transform:scale(1.18) rotate(10deg) translateY(2px);opacity:.7;filter:brightness(2) saturate(1.8) drop-shadow(0 0 18px #f2b84b)}to{transform:scale(.32) rotate(28deg) translateY(10px);opacity:0;filter:brightness(1.2) saturate(1)}}.board-svg .tile.hint{animation:hintPulse 1.05s ease-in-out infinite}@keyframes hintPulse{0%,to{transform:scale(1);filter:brightness(1) saturate(1)}50%{transform:scale(1.075);filter:brightness(1.4) saturate(1.3) drop-shadow(0 0 22px #f2b84b) drop-shadow(0 0 8px #ffd76a)}}.match-particle{position:fixed;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#f2b84b,#c46a2a);pointer-events:none;z-index:200;animation:particleFly .6s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes particleFly{0%{transform:translate(-50%,-50%) scale(.6);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(0);opacity:0}}.match-float-score{position:fixed;transform:translate(-50%,-50%);pointer-events:none;z-index:220;font-family:Fraunces,ui-serif,Georgia,serif;font-weight:900;font-size:32px;color:#f2b84b;text-shadow:0 0 8px rgba(242,184,75,.8),0 2px 4px rgba(0,0,0,.6),-1px -1px 0 #5a2548;letter-spacing:.5px;animation:floatScore 1.1s cubic-bezier(.215,.61,.355,1) forwards}.match-float-score.combo{font-size:28px;color:#6fe3c1;text-shadow:0 0 12px rgba(111,227,193,.95),0 2px 4px rgba(0,0,0,.7),-1px -1px 0 #1a4a35}@keyframes floatScore{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}20%{transform:translate(-50%,-55%) scale(1.15);opacity:1}60%{transform:translate(-50%,-85%) scale(1);opacity:1}to{transform:translate(-50%,-115%) scale(.85);opacity:0}}.shake{animation:shake .3s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}.win-overlay{position:fixed;inset:0;background:#0e0418d9;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.win-dialog{position:relative;background:linear-gradient(160deg,#2d1840,#5a2548 60%,#3a1f5a);border:2px solid #f2b84b;border-radius:20px;padding:32px 40px;max-width:360px;text-align:center;box-shadow:0 0 60px #f2b84b66,0 20px 40px #00000080,inset 0 0 0 1px #ffffff1a;animation:winPop .6s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes winPop{0%{transform:scale(.7) translateY(40px);opacity:0}60%{transform:scale(1.05) translateY(-5px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.win-rays{position:absolute;top:-50%;left:50%;width:600px;height:600px;transform:translate(-50%);background:conic-gradient(from 0deg,rgba(242,184,75,.2) 0deg,transparent 30deg,rgba(242,184,75,.15) 60deg,transparent 90deg,rgba(242,184,75,.2) 120deg,transparent 150deg,rgba(242,184,75,.18) 180deg,transparent 210deg,rgba(242,184,75,.2) 240deg,transparent 270deg,rgba(242,184,75,.15) 300deg,transparent 330deg,rgba(242,184,75,.2) 360deg);animation:rayRotate 12s linear infinite;pointer-events:none;opacity:.6}@keyframes rayRotate{to{transform:translate(-50%) rotate(360deg)}}.win-title{position:relative;margin:0 0 4px;font-family:Fraunces,ui-serif,Georgia,serif;font-weight:900;font-size:26px;color:#f2b84b;text-shadow:0 2px 4px rgba(0,0,0,.5);letter-spacing:.5px}.win-sub{position:relative;margin:0 0 18px;font-size:13px;color:#dfd8c4;opacity:.85}.stars-big{position:relative;font-size:56px;letter-spacing:8px;margin:18px 0 14px;line-height:1}.star-slot{display:inline-block;color:#fff3;transition:color .2s}.star-slot.star-pop{color:#f2b84b;text-shadow:0 0 14px #f2b84b,0 0 28px rgba(242,184,75,.6);animation:starPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes starPop{0%{transform:scale(.3) rotate(-30deg)}60%{transform:scale(1.3) rotate(8deg)}to{transform:scale(1) rotate(0)}}.win-rewards{position:relative;display:flex;gap:10px;justify-content:center;margin:14px 0}.win-rewards .chip{background:#0000004d;border:1px solid rgba(242,184,75,.4);padding:8px 14px;border-radius:20px;font-weight:700;font-size:14px;color:#f2b84b}.surprise-bonus{margin:-4px auto 10px;text-align:center;font-weight:800;font-size:14px;color:#fff;padding:7px 16px;border-radius:999px;display:inline-block;background:linear-gradient(100deg,#c41e5a,#f2b84b);box-shadow:0 4px 16px #f2b84b80;animation:surpriseIn .5s cubic-bezier(.34,1.56,.64,1) .9s both}.surprise-bonus b{color:#fff8e0}@keyframes surpriseIn{0%{transform:scale(0) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.win-next-goal{margin:4px auto 14px;max-width:320px;text-align:center;background:#00000047;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 14px}.win-next-goal.big{border-color:#f2b84b8c;box-shadow:0 0 18px #f2b84b40}.wng-text{font-size:13px;color:var(--ink);margin-bottom:8px}.wng-text b{color:#f2b84b}.wng-icon{font-size:16px}.wng-bar{height:8px;border-radius:999px;background:#ffffff1f;overflow:hidden}.wng-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#f2b84b,#ffd76a);box-shadow:0 0 8px #f2b84b99;animation:wngGrow .9s cubic-bezier(.3,.8,.4,1) 1.1s both;transform-origin:left}@keyframes wngGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.win-score{color:#ffd76a;font-weight:800}.score-convert{margin:2px auto 10px;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#e8dcc0;background:#00000042;border:1px solid rgba(255,255,255,.12);padding:5px 13px;border-radius:999px;animation:scoreConvIn .5s cubic-bezier(.34,1.56,.64,1) 1s both}.score-convert .sc-pts{color:#cbbfe6}.score-convert .sc-arrow{color:#f2b84b;font-weight:900}.score-convert b{color:#ffd76a;display:inline-flex;align-items:center;gap:3px}.score-convert .ico-coin{width:15px;height:15px;vertical-align:-2px}@keyframes scoreConvIn{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.win-dialog.win-perfect{border-color:#ffd76a;box-shadow:0 0 80px #ffd76a8c,0 20px 40px #00000080,inset 0 0 0 1px #ffffff24}.win-dialog.win-perfect .win-rays{opacity:.95;animation-duration:8s}.win-dialog.win-perfect .win-title{color:#ffe39a;text-shadow:0 0 18px rgba(255,215,106,.7),0 2px 4px rgba(0,0,0,.5);animation:perfectThrob 1.6s ease-in-out infinite}.win-dialog.win-great .win-rays{opacity:.75}@keyframes perfectThrob{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.win-rewards .chip.coins.counting{animation:coinCount .3s ease-in-out infinite}.win-rewards .chip.coins.coin-landed{animation:coinLand .5s cubic-bezier(.34,1.56,.64,1)}@keyframes coinCount{0%{transform:scale(1)}50%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes coinLand{0%{transform:scale(1.18)}to{transform:scale(1)}}.milestone-bonus{margin:-2px auto 10px;text-align:center;font-weight:800;font-size:14px;color:#fff;padding:7px 16px;border-radius:999px;display:inline-block;background:linear-gradient(100deg,#1f8a5a,#f2b84b);box-shadow:0 4px 16px #1f8a5a73;animation:surpriseIn .5s cubic-bezier(.34,1.56,.64,1) both}.milestone-bonus b{color:#fff8e0}.milestone-bonus .ico-coin{width:16px;height:16px;vertical-align:-3px}.streak-bonus{margin:-2px auto 10px;text-align:center;font-weight:800;font-size:14px;color:#fff;padding:7px 16px;border-radius:999px;display:inline-block;background:linear-gradient(100deg,#d23b1e,#f2b84b);box-shadow:0 4px 16px #d23b1e73;animation:surpriseIn .5s cubic-bezier(.34,1.56,.64,1) both}.streak-bonus b{color:#fff8e0}.streak-bonus .ico-coin{width:16px;height:16px;vertical-align:-3px}.streak-day.milestone{background:linear-gradient(160deg,#f2b84b40,#1f8a5a2e);border:1px solid rgba(242,184,75,.6);box-shadow:0 0 12px #f2b84b40}.streak-day.milestone .streak-reward{font-size:17px}.tt-hud-score{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:#00000047;color:#ffd76a;font-weight:800;font-size:12px;vertical-align:middle}body[data-marco=marco_inti] #board{box-shadow:0 0 0 3px #f2b84b inset,0 0 22px #f2b84b73;border-radius:14px}body[data-marco=marco_quebrada] #board{box-shadow:0 0 0 3px #6fe3c1 inset,0 0 22px #6fe3c166;border-radius:14px}body[data-marco=marco_carnaval] #board{box-shadow:0 0 0 3px #f2569b inset,0 0 22px #f2569b66;border-radius:14px}body[data-marco=marco_condor] #board{box-shadow:0 0 0 3px #c89af2 inset,0 0 26px #c89af280;border-radius:14px}.chest-slot{border:1.5px solid var(--chest-col, rgba(242,184,75,.45))!important;position:relative}.chest-slot.ready{box-shadow:0 0 14px var(--chest-col, #f2b84b)}.chest-slot .chest-ico{position:relative;display:inline-block}.chest-slot .chest-lock{position:absolute;right:-7px;bottom:-5px;font-size:.48em;opacity:.85}.chest-rarity{font-size:9.5px;font-weight:800;color:var(--chest-col, #f2b84b);opacity:.95;margin:1px 0 2px;text-transform:uppercase;letter-spacing:.4px}.overlay-out{animation:overlayFadeOut .26s ease-in forwards!important}@keyframes overlayFadeOut{to{opacity:0}}.overlay-out .dialog,.overlay-out [class*=-dialog]{animation:dialogScaleOut .26s ease-in forwards!important}@keyframes dialogScaleOut{to{transform:scale(.92) translateY(16px);opacity:0}}.stuck-bar.stuck-bar-out{animation:stuckBarOut .24s ease-in forwards!important}@keyframes stuckBarOut{to{transform:translateY(110%);opacity:0}}.vision-countdown.vision-countdown-out{animation:visionCdOut .22s ease-in forwards!important}@keyframes visionCdOut{to{transform:translateY(-12px) scale(.85);opacity:0}}.booster-armed-badge.armed-badge-out{animation:armedBadgeOut .2s ease-in forwards!important}@keyframes armedBadgeOut{to{transform:translateY(10px);opacity:0}}.toast.toast-out{animation:toastOut .2s ease-in forwards!important}@keyframes toastOut{to{transform:translateY(-10px);opacity:0}}@media(prefers-reduced-motion:reduce){.surprise-bonus,.wng-fill,.score-convert,.milestone-bonus,.streak-bonus,.win-dialog.win-perfect .win-title,.win-rewards .chip.coins.counting,.win-rewards .chip.coins.coin-landed{animation:none!important}}.win-dialog .row{position:relative;display:flex;gap:10px;margin-top:16px}.win-dialog .row .btn{flex:1}.confetti-layer{position:fixed;inset:0;pointer-events:none;z-index:101;overflow:hidden}.confetti{position:absolute;top:-20px;width:8px;height:14px;border-radius:2px;animation:confettiFall ease-out forwards;--drift: 0px}@keyframes confettiFall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}to{transform:translateY(110vh) translate(var(--drift)) rotate(720deg);opacity:0}}.hud-stat.score .v{color:#f2b84b;font-weight:900;text-shadow:0 0 8px rgba(242,184,75,.4)}.splash{position:fixed;inset:0;background:radial-gradient(ellipse at center,#3a1f5a,#1a0820 60%,#0e0418);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .6s ease-out,transform .6s ease-out}.splash.splash-hide{opacity:0;transform:scale(1.05);pointer-events:none}.splash-inner{text-align:center;animation:splashFadeIn .8s ease-out}@keyframes splashFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.splash-logo{width:140px;height:140px;filter:drop-shadow(0 8px 24px rgba(242,184,75,.4));animation:splashLogoFloat 2.4s ease-in-out infinite}@keyframes splashLogoFloat{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}.splash-title{margin:16px 0 4px;font-family:Fraunces,ui-serif,Georgia,serif;font-weight:900;font-size:36px;color:#f2b84b;letter-spacing:1px;text-shadow:0 2px 8px rgba(0,0,0,.5)}.splash-subtitle{margin:0 0 24px;font-family:Fraunces,ui-serif,Georgia,serif;font-weight:400;font-style:italic;font-size:22px;color:#dfd8c4;letter-spacing:4px;opacity:.85}.splash-loader{width:180px;height:4px;margin:0 auto;background:#f2b84b33;border-radius:2px;overflow:hidden}.splash-loader-bar{height:100%;background:linear-gradient(90deg,transparent,#f2b84b,transparent);animation:loaderSweep 1.4s ease-in-out infinite}@keyframes loaderSweep{0%{transform:translate(-100%)}to{transform:translate(280%)}}.page-fade-out{opacity:0;transform:translateY(-8px);transition:opacity .12s ease-out,transform .12s ease-out}.page-fade-in{animation:pageIn .28s ease-out}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.navbar .nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-dim, #a89568);transition:color .2s,transform .15s}.navbar .nav-btn svg{stroke:currentColor}.navbar .nav-btn[aria-current=page]{color:#f2b84b;transform:translateY(-2px)}.navbar .nav-btn[aria-current=page] svg{filter:drop-shadow(0 0 8px rgba(242,184,75,.5))}.navbar .nav-btn small{font-size:10px;font-weight:600;letter-spacing:.3px}.hero{position:relative;padding:24px 20px 22px;border-radius:18px;background:linear-gradient(135deg,#2d1840,#5a2548 60%,#3a1f5a);border:2px solid rgba(242,184,75,.3);overflow:hidden;margin-bottom:16px}.hero:before{content:"";position:absolute;top:-40%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(242,184,75,.25) 0%,transparent 70%);pointer-events:none}.hero h1{position:relative;margin:0 0 4px;font-family:Fraunces,ui-serif,Georgia,serif;font-weight:900;font-size:28px;color:#f2b84b}.hero-sub{position:relative;margin:0 0 14px;font-size:13px;color:#dfd8c4;opacity:.85}.hero .row{position:relative}.stat-card{display:flex;flex-direction:column;background:#24114999;border:1px solid rgba(242,184,75,.15);padding:12px 14px;border-radius:12px;transition:transform .2s,border-color .2s}.stat-card:hover{border-color:#f2b84b66;transform:translateY(-2px)}.stat-card .k{font-size:11px;color:var(--ink-dim, #a89568);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-card .v{font-family:Fraunces,ui-serif,Georgia,serif;font-size:24px;font-weight:900;color:#fef7e3}.stat-card .frac{font-size:14px;color:var(--ink-dim, #a89568);font-weight:600}.daily-section{margin-top:18px}.daily-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.daily-section h2{font-family:Fraunces,ui-serif,Georgia,serif;font-weight:700;font-size:19px;color:#f2b84b;margin:0}.section-sub{font-size:12px;color:var(--ink-dim, #a89568);margin:0 0 10px}.timer{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;color:#6fe3c1;background:#6fe3c11a;padding:4px 10px;border-radius:8px;font-variant-numeric:tabular-nums}.daily-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;background:linear-gradient(135deg,#2d1840,#3a1f5a);border:1px solid rgba(242,184,75,.25);padding:14px 16px;border-radius:12px;transition:border-color .2s,transform .2s}.chest-row{display:flex;gap:10px;overflow-x:auto;padding:2px;scrollbar-width:none}.chest-row::-webkit-scrollbar{display:none}.chest-slot{flex:0 0 auto;width:96px;text-align:center;background:linear-gradient(160deg,#2d1840,#1a1228);border:1px solid rgba(242,184,75,.25);border-radius:var(--r);padding:12px 8px;display:grid;gap:6px;justify-items:center}.chest-slot.ready{border-color:var(--gold);box-shadow:0 0 14px #f2b84b59;animation:chestReadyPulse 1.8s ease-in-out infinite}.chest-slot .chest-ico{font-size:34px;line-height:1}.chest-slot.ready .chest-ico{animation:char-portrait-bob 1.6s ease-in-out infinite}.chest-slot .chest-state{font-size:11px;color:var(--ink-dim);font-weight:700}.chest-slot.ready .chest-state{color:var(--gold)}@keyframes chestReadyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.reduce-motion .chest-slot.ready,.reduce-motion .chest-slot.ready .chest-ico{animation:none}.daily-card:hover{border-color:#f2b84b80;transform:translateY(-2px)}.daily-card.done{opacity:.65}.daily-info strong{color:#fef7e3;font-weight:700;font-size:15px;display:block}.daily-info .daily-meta{font-size:12px;color:var(--ink-dim, #a89568);margin-top:2px}.btn.gold{background:linear-gradient(135deg,#f2b84b,#c46a2a);color:#0e0418;font-weight:800;border:none;box-shadow:0 4px 14px #f2b84b66,inset 0 1px #ffffff4d}.btn.gold:hover{filter:brightness(1.08)}.streak-ladder{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.streak-day{background:#24114980;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:8px 4px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s}.streak-day .streak-num{font-family:Fraunces,serif;font-weight:700;font-size:18px;color:var(--ink-dim, #a89568)}.streak-day .streak-reward{font-size:10px;color:var(--ink-dim, #a89568);font-weight:600}.streak-day.reached{background:linear-gradient(135deg,#6fe3c12e,#6fe3c10d);border-color:#6fe3c173}.streak-day.reached .streak-num{color:#6fe3c1}.streak-day.today{background:linear-gradient(135deg,#f2b84b40,#f2b84b14);border-color:#f2b84b;animation:streakTodayPulse 2s ease-in-out infinite}.streak-day.today .streak-num{color:#f2b84b;text-shadow:0 0 8px rgba(242,184,75,.6)}@keyframes streakTodayPulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.world-header{margin-bottom:12px}.world-title{display:flex;align-items:center;gap:12px;margin-bottom:8px}.world-icon{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.world-title h3{margin:0;font-family:Fraunces,serif;font-size:19px;color:#f2b84b}.world-role{margin:2px 0 0;font-size:11px;color:var(--ink-dim, #a89568)}.world-progress{background:#00000040;padding:8px 12px;border-radius:8px}.world-progress.locked{text-align:center;padding:12px}.lock-badge{color:var(--ink-dim, #a89568);font-size:12px;font-style:italic}.progress-bar{height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#6fe3c1,#f2b84b);border-radius:3px;transition:width .4s ease-out}.progress-meta{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:var(--ink-dim, #a89568)}.trail-container{background:linear-gradient(180deg,#24114959,#24114926);border-radius:14px;padding:10px;margin-top:10px;overflow-x:auto}.trail-svg{display:block;margin:0 auto;max-width:100%}.trail-node{transition:transform .2s}.trail-node:not(.locked):hover{transform:scale(1.08);transform-origin:center}.trail-node.current circle:first-of-type~circle{filter:drop-shadow(0 0 8px #f2b84b)}.trail-node.far{opacity:.4;transition:opacity .35s ease}.milestone-marker{transform-box:fill-box;transform-origin:center}.milestone-marker.next{animation:msNextPulse 1.3s ease-in-out infinite}@keyframes msNextPulse{0%,to{opacity:1}50%{opacity:.45}}.milestone-marker.done{opacity:.85}.map-avatar{animation:mapAvatarBob 1.8s ease-in-out infinite}@keyframes mapAvatarBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.milestone-marker.next,.map-avatar{animation:none!important}}.world{background:linear-gradient(180deg,#24114966,#24114933);border:1px solid rgba(242,184,75,.15);border-radius:14px;padding:14px;margin-bottom:16px}.gallery-progress{margin:10px 0 6px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:10px;background:#0e041866;padding:12px;border-radius:12px}.gallery-item{background:#24114980;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:8px;text-align:center;position:relative;transition:transform .2s,border-color .2s}.gallery-item.unlocked{border-color:#f2b84b4d}.gallery-item.unlocked:hover{transform:translateY(-3px) scale(1.03);border-color:#f2b84b}.gallery-item.locked{opacity:.5;filter:grayscale(1) brightness(.7)}.gallery-item.unlocked{transition:transform .12s ease,box-shadow .15s ease}.gallery-item.unlocked:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 6px 16px #0006,0 0 0 1px var(--gold)}.reduce-motion .gallery-item.unlocked:hover{transform:none}.gallery-item img{width:80px;height:100px;display:block;margin:0 auto 4px}.gallery-item .gallery-locked{width:80px;height:100px;display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff3;margin:0 auto 4px}.museum-item .relic-icon{width:80px;height:100px;display:flex;align-items:center;justify-content:center;font-size:46px;margin:0 auto 4px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}.gallery-label{display:block;font-size:11px;font-weight:600;color:#fef7e3}.gallery-rarity{display:inline-block;margin-top:4px;padding:1px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.rarity-common{background:#a895684d;color:#d4b878}.rarity-rare{background:#6fe3c140;color:#6fe3c1}.rarity-epic{background:#c89af240;color:#c89af2}.rarity-legendary{background:#f2b84b40;color:#f2b84b}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quick-link{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;background:linear-gradient(135deg,#2d1840,#3a1f5a);border:1px solid rgba(242,184,75,.2);border-radius:12px;color:#fef7e3;cursor:pointer;transition:all .2s}.quick-link:hover{border-color:#f2b84b;transform:translateY(-2px)}.quick-link .ql-icon{font-size:26px}.quick-link .ql-label{font-weight:700;font-size:13px;color:#fef7e3}.quick-link .ql-meta{font-size:10px;color:var(--ink-dim, #a89568);font-weight:600}.quick-link .ql-meta.live-dot{color:#6fe3c1;animation:livePulse 1.8s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.5}}.pass-header{margin-bottom:12px}.section-h2{font-family:Fraunces,ui-serif,Georgia,serif;font-weight:700;font-size:19px;color:#f2b84b;margin:22px 0 12px}.pass-progress-card{background:linear-gradient(135deg,#2d1840,#3a1f5a);border:2px solid rgba(242,184,75,.3);border-radius:14px;padding:14px 16px;margin-bottom:14px}.pass-progress-info{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}.pass-tier-current{font-family:Fraunces,serif;font-weight:900;font-size:28px;color:#f2b84b}.pass-xp{font-size:12px;color:var(--ink-dim, #a89568);margin-top:-4px}.pass-next{font-size:12px;color:#6fe3c1}.pass-bar{height:10px;background:#0006;border-radius:5px;overflow:hidden}.pass-fill{height:100%;background:linear-gradient(90deg,#f2b84b,#c46a2a);border-radius:5px;transition:width .5s cubic-bezier(.25,.46,.45,.94)}.pass-premium-cta{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:linear-gradient(135deg,#5a2548,#3a1f5a);border:2px solid #f2b84b;border-radius:14px;padding:14px 16px;margin-bottom:16px;box-shadow:0 0 20px #f2b84b33}.pass-premium-cta .cta-content strong{display:block;color:#f2b84b;font-size:16px;margin-bottom:4px}.pass-premium-cta .cta-content p{margin:0;font-size:12px;color:var(--ink-dim, #a89568)}.pass-premium-active{background:linear-gradient(135deg,#f2b84b26,#c89af226);border:1px solid #f2b84b;border-radius:10px;padding:10px 14px;text-align:center;font-size:13px;color:#f2b84b;margin-bottom:14px}.pass-track-list{display:flex;flex-direction:column;gap:8px}.pass-tier-card{display:grid;grid-template-columns:50px 1fr 1fr;gap:10px;align-items:center;background:#24114980;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 12px;transition:border-color .2s,background .2s}.pass-tier-card.earned{border-color:#6fe3c173;background:linear-gradient(135deg,#6fe3c10d,#24114980)}.pass-tier-card.current{border-color:#f2b84b;background:linear-gradient(135deg,#f2b84b1a,#24114980)}.pass-tier-card.claimed{opacity:.6}.pass-tier-num{text-align:center;font-family:Fraunces,serif;font-size:22px;font-weight:900;color:#f2b84b}.pass-tier-reward{display:flex;align-items:center;gap:6px;font-size:12px;position:relative}.pass-tier-reward.locked .tier-value{opacity:.4}.pass-tier-reward .tier-label{display:block;font-size:9px;color:var(--ink-dim, #a89568);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.pass-tier-reward .tier-value{color:#fef7e3;font-weight:600}.btn-pico{background:linear-gradient(135deg,#f2b84b,#c46a2a);color:#0e0418;border:none;width:22px;height:22px;border-radius:50%;font-weight:900;font-size:14px;cursor:pointer;margin-left:4px}.claimed-mark{color:#6fe3c1;font-weight:900;font-size:14px;margin-left:4px}.events-header{margin-bottom:16px}.event-card-v2{background:linear-gradient(135deg,#2d1840,#3a1f5a);border:1px solid rgba(255,255,255,.05);border-left:4px solid #c46a2a;border-radius:14px;padding:14px 16px;margin-bottom:14px;transition:transform .2s}.event-card-v2:hover{transform:translate(2px)}.event-card-header{display:flex;gap:12px;align-items:center;margin-bottom:10px}.event-icon-big{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;border:2px solid}.event-card-title h3{margin:0 0 4px;font-family:Fraunces,serif;font-size:17px;color:#fef7e3}.event-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.5px;padding:2px 8px;border-radius:4px}.event-badge.live{background:linear-gradient(135deg,#c41e3a,#8b3a4a);color:#fef7e3;animation:livePulse 1.8s ease-in-out infinite}.event-badge.soon{background:#f2b84b40;color:#f2b84b}.event-badge.upcoming{background:#a8956840;color:#a89568}.event-narrative{margin:0 0 10px;font-size:13px;color:#dfd8c4;font-style:italic;line-height:1.5}.event-meta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:11px}.event-timer{color:#6fe3c1;font-family:IBM Plex Mono,monospace}.event-participants{color:var(--ink-dim, #a89568)}.event-rewards{margin:10px 0}.event-rewards-label{font-size:11px;color:var(--ink-dim, #a89568);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.event-reward-chip{display:inline-block;background:#0000004d;border:1px solid rgba(242,184,75,.3);padding:4px 10px;border-radius:12px;font-size:12px;margin:0 4px 4px 0;color:#f2b84b}.event-action{width:100%;margin-top:6px}.events-footer{margin-top:14px}.shop-balance-card{display:flex;gap:16px;justify-content:center;background:linear-gradient(135deg,#2d1840,#3a1f5a);border:1px solid rgba(242,184,75,.3);border-radius:14px;padding:14px;margin-bottom:14px}.balance-item{display:flex;align-items:center;gap:6px}.balance-icon{font-size:22px}.balance-val{font-family:Fraunces,serif;font-weight:900;font-size:22px;color:#f2b84b}.balance-label{font-size:11px;color:var(--ink-dim, #a89568);text-transform:uppercase;letter-spacing:.5px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.shop-bundle{position:relative;background:linear-gradient(180deg,#2d1840,#1a0820);border:1px solid rgba(242,184,75,.25);border-radius:14px;padding:14px 12px 12px;text-align:center;transition:transform .2s,border-color .2s;overflow:hidden}.shop-bundle:hover{transform:translateY(-3px);border-color:#f2b84b}.shop-bundle.featured{border:2px solid #f2b84b;background:linear-gradient(180deg,#5a3878,#3a1f5a);box-shadow:0 0 20px #f2b84b40}.bundle-tag{position:absolute;top:6px;left:6px;font-size:9px;font-weight:800;padding:2px 8px;border-radius:4px;letter-spacing:.5px;text-transform:uppercase}.bundle-discount{position:absolute;top:6px;right:6px;background:linear-gradient(135deg,#c41e3a,#8b3a4a);color:#fef7e3;font-size:10px;font-weight:800;padding:2px 8px;border-radius:4px}.bundle-items{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:18px 0 8px;min-height:50px}.bundle-item{display:flex;align-items:center;gap:2px;font-size:13px;font-weight:700;color:#fef7e3}.bundle-icon{font-size:22px}.bundle-amount{font-size:12px;opacity:.85}.bundle-name{font-size:12px;color:var(--ink-dim, #a89568);margin-bottom:8px;min-height:28px}.bundle-buy{width:100%;padding:8px;font-size:14px}.ad-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#24114980;border:1px solid rgba(111,227,193,.3);border-radius:12px;padding:14px 16px;margin-top:8px}.ad-card strong{color:#6fe3c1;display:block;font-size:14px}.ad-meta{font-size:12px;color:var(--ink-dim, #a89568);margin-top:2px}.achievements-header{margin-bottom:14px}.ach-progress-card{background:linear-gradient(135deg,#2d1840,#3a1f5a);border:1px solid rgba(242,184,75,.3);border-radius:12px;padding:12px 14px;margin-bottom:18px}.ach-progress-card .progress-bar{height:8px}.ach-section-title{display:flex;align-items:center;gap:8px;margin:22px 0 10px}.ach-section-title .cat-icon{font-size:22px}.ach-section-title .cat-count{font-family:system-ui,sans-serif;font-size:12px;font-weight:600;color:var(--ink-dim, #a89568);margin-left:auto;background:#00000040;padding:2px 8px;border-radius:8px}.ach-list{display:flex;flex-direction:column;gap:8px}.ach-row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;background:#24114980;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:10px 12px;transition:border-color .2s,background .2s}.ach-row.unlocked{border-color:#6fe3c173;background:linear-gradient(135deg,#6fe3c10d,#24114980)}.ach-row.claimed{opacity:.6}.ach-row.locked{opacity:.7}.ach-row.ach-tier-5.unlocked{border-color:#f2b84b;background:linear-gradient(135deg,#f2b84b26,#24114980);box-shadow:0 0 12px #f2b84b40}.ach-row-icon{font-size:32px;text-align:center;background:#0000004d;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.ach-row.locked .ach-row-icon{filter:grayscale(1) brightness(.7)}.ach-row-title{font-weight:700;font-size:14px;color:#fef7e3}.ach-row-desc{font-size:12px;color:var(--ink-dim, #a89568);margin-top:2px}.ach-row-progress{display:flex;align-items:center;gap:8px;margin-top:6px}.ach-row-bar{flex:1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.ach-row-fill{height:100%;background:linear-gradient(90deg,#6fe3c1,#f2b84b);border-radius:2px}.ach-row-frac{font-size:11px;color:var(--ink-dim, #a89568);font-variant-numeric:tabular-nums;white-space:nowrap}.ach-claimed-mark{color:#6fe3c1;font-weight:900;font-size:20px}.ach-locked-reward{font-size:11px;color:var(--ink-dim, #a89568);white-space:nowrap}.achievement-unlock-toast{position:fixed;top:20px;right:20px;background:linear-gradient(135deg,#2d1840,#5a2548);border:2px solid #f2b84b;border-radius:14px;padding:14px 18px;display:flex;gap:12px;align-items:center;z-index:300;box-shadow:0 8px 32px #f2b84b59,0 0 #f2b84b80;transform:translate(120%);transition:transform .4s cubic-bezier(.34,1.56,.64,1);max-width:320px}.achievement-unlock-toast.show{transform:translate(0);animation:achGlow 1.6s ease-out}@keyframes achGlow{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.achievement-unlock-toast .ach-icon{font-size:36px;flex-shrink:0}.achievement-unlock-toast .ach-label{font-size:11px;font-weight:800;letter-spacing:.5px;color:#f2b84b;text-transform:uppercase}.achievement-unlock-toast .ach-name{font-family:Fraunces,serif;font-weight:700;font-size:15px;color:#fef7e3;margin:2px 0}.achievement-unlock-toast .ach-reward{font-size:12px;color:#6fe3c1}body.high-contrast .ach-row,body.high-contrast .pass-tier-card,body.high-contrast .event-card-v2,body.high-contrast .shop-bundle,body.high-contrast .stat-card,body.high-contrast .daily-card,body.high-contrast .quick-link{border-width:2px!important;background:#0e0418!important}body.high-contrast .ach-row.unlocked,body.high-contrast .pass-tier-card.earned{border-color:#6fe3c1!important}body.high-contrast .ach-row.ach-tier-5.unlocked,body.high-contrast .pass-tier-card.current,body.high-contrast .quick-link:hover{border-color:#fff!important}body.high-contrast{--ink-dim: #ffffff !important}body.high-contrast h1,body.high-contrast h2,body.high-contrast h3{color:#ffeb6b!important}body.high-contrast .btn{border:2px solid #ffffff!important}.consent-overlay{position:fixed;inset:0;z-index:300;background:linear-gradient(180deg,#1a0820f5,#2a1538f5);backdrop-filter:blur(8px);display:grid;place-items:center;padding:16px;animation:fadein .2s ease-out;overflow-y:auto}.consent-card{background:var(--bg-elev);border-radius:var(--r-lg);padding:24px;max-width:440px;width:100%;box-shadow:var(--shadow-lg);border:1px solid rgba(242,184,75,.2);animation:dialogin .25s cubic-bezier(.34,1.56,.64,1)}.consent-header{margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:10px}.consent-step{font-family:var(--font-body);font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.consent-card h2{margin:6px 0 0;font-size:22px;font-family:var(--font-display);font-weight:800;line-height:1.15}.consent-body{margin:14px 0}.consent-body p{font-size:14px;line-height:1.55;margin:0 0 10px}.consent-note{font-size:12px;color:var(--ink-dim);font-style:italic}.consent-list{padding-left:0;list-style:none}.consent-list li{font-size:13px;line-height:1.5;padding:8px 12px;border-left:3px solid var(--gold);background:#0000002e;border-radius:0 6px 6px 0;margin-bottom:6px}.consent-options{display:grid;gap:8px;margin:14px 0}.consent-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);flex-wrap:wrap}.tutorial-bubble{position:fixed;z-index:150;background:linear-gradient(180deg,var(--bg-elev),var(--bg-elev-2));color:var(--ink);padding:14px 18px;border-radius:var(--r);box-shadow:var(--shadow-lg);border:1px solid rgba(242,184,75,.4);max-width:320px;width:calc(100% - 40px);animation:bubbleIn .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.tutorial-bubble .tutorial-actions,.tutorial-bubble button{pointer-events:auto}@keyframes bubbleIn{0%{transform:translateY(20px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.tutorial-bubble .tutorial-step{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:700;margin-bottom:4px}.tutorial-bubble h3{margin:0 0 6px;font-family:var(--font-display);font-size:17px;font-weight:800}.tutorial-bubble p{margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--ink-dim)}.tutorial-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.tutorial-anchor-board{top:18%;left:50%;transform:translate(-50%,-50%)}.tutorial-anchor-dock{bottom:110px;left:50%;transform:translate(-50%)}.tutorial-anchor-center{top:50%;left:50%;transform:translate(-50%,-50%)}.snd-toggle{position:relative}.snd-toggle.snd-off{opacity:.5}.snd-toggle.snd-off:after{content:"";position:absolute;left:50%;top:50%;width:128%;height:2px;background:#e0563b;transform:translate(-50%,-50%) rotate(-45deg);border-radius:2px;pointer-events:none}.skip-link{position:absolute;left:-9999px;top:8px;background:var(--gold);color:#2a1804;padding:8px 14px;border-radius:8px;z-index:1000;font-weight:700}.skip-link:focus{left:8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media(min-width:600px){.app{max-width:540px;margin:0 auto;box-shadow:0 0 60px #0009}.gameboard-wrap{inset:0;max-width:none;transform:none}.gameboard-wrap>.hud,.gameboard-wrap>.objective-row,.gameboard-wrap>.layout-row,.gameboard-wrap>.board,.gameboard-wrap>.dock{max-width:540px;margin-left:auto;margin-right:auto;width:100%}}@media(max-width:380px){html,body{font-size:14px}.hud{padding-left:8px;padding-right:8px}.hud-stat{gap:2px}.dock{gap:6px}.booster{min-width:52px}.objective-row,.layout-row{padding-left:8px;padding-right:8px}}@media(min-width:381px)and (max-width:767px){html,body{font-size:15px}}@media(min-width:900px){.app{box-shadow:0 0 80px #000000b3}}@keyframes skeleton-pulse{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.skeleton{background:linear-gradient(90deg,#a8956814,#f2b84b2e,#a8956814);background-size:200% 100%;animation:skeleton-pulse 1.4s ease-in-out infinite;border-radius:6px}.skeleton-text{height:14px;margin:8px 0}.skeleton-text.short{width:60%}.skeleton-text.medium{width:85%}.skeleton-card{height:96px;margin:12px 0;border-radius:10px}.skeleton-tile{aspect-ratio:220 / 280;border-radius:10px}.route-loader{position:fixed;inset:0;background:linear-gradient(180deg,#1a0820,#3a1f08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:9000;opacity:0;pointer-events:none;transition:opacity .25s ease-out}.route-loader.active{opacity:1;pointer-events:all}.route-loader .spinner-andean{width:64px;height:64px;position:relative}.route-loader .spinner-andean:before,.route-loader .spinner-andean:after{content:"";position:absolute;inset:0;border-radius:50%;border:4px solid transparent;border-top-color:#f2b84b;animation:spinner-rotate 1.2s cubic-bezier(.6,.2,.4,.8) infinite}.route-loader .spinner-andean:after{border-top-color:#c46a2a;animation-delay:-.6s;animation-duration:1.8s}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.route-loader .loader-text{color:#f2b84b;font-family:Fraunces,ui-serif,Georgia,serif;font-size:14px;letter-spacing:1.4px;opacity:.85;text-transform:uppercase}.board-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px;min-height:220px;color:#d8c9a8}.board-loader .dots{display:flex;gap:8px}.board-loader .dot{width:10px;height:10px;border-radius:50%;background:#f2b84b;animation:dot-bounce 1.2s ease-in-out infinite}.board-loader .dot:nth-child(2){animation-delay:.15s;background:#c46a2a}.board-loader .dot:nth-child(3){animation-delay:.3s;background:#8b3a4a}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.6}40%{transform:translateY(-10px);opacity:1}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:16px;min-height:320px}.error-state .icon-glyph{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#5a2548,#c46a2a);display:flex;align-items:center;justify-content:center;font-size:40px;color:#f2b84b;box-shadow:0 8px 24px #0006,inset 0 -3px #0000004d,inset 0 2px #ffffff26}.error-state h2{color:#f2b84b;font-family:Fraunces,ui-serif,serif;font-size:22px;font-weight:700;margin:0;letter-spacing:.3px}.error-state p{color:#d8c9a8;font-size:15px;line-height:1.55;max-width:320px;margin:0;opacity:.85}.error-state .actions{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap;justify-content:center}.error-state .btn-retry{background:linear-gradient(180deg,#f2b84b,#c46a2a);color:#1a0820;border:none;padding:12px 24px;border-radius:8px;font-family:Fraunces,ui-serif,serif;font-weight:700;font-size:14px;letter-spacing:.5px;cursor:pointer;text-transform:uppercase;box-shadow:0 4px #00000059,inset 0 1px #ffffff4d;transition:transform .1s,box-shadow .1s}.error-state .btn-retry:active{transform:translateY(2px);box-shadow:0 2px #00000059}.error-state .btn-secondary{background:transparent;color:#d8c9a8;border:1.5px solid #5a3a18;padding:12px 20px;border-radius:8px;font-size:14px;cursor:pointer}.network-banner{position:fixed;top:-60px;left:0;right:0;background:#8b3a4a;color:#fef7e3;padding:14px 20px;text-align:center;font-size:14px;font-weight:600;z-index:8000;transition:top .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000004d}.network-banner.visible{top:0}.network-banner.success{background:#1c3a25}.toast.with-icon{display:flex;align-items:center;gap:12px}.toast.with-icon .toast-icon{width:28px;height:28px;border-radius:50%;background:#f2b84b2e;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}.toast.toast-success .toast-icon{background:#6fe3c133;color:#6fe3c1}.toast.toast-error .toast-icon{background:#c41e3a33;color:#ff8b9c}.toast.toast-info .toast-icon{background:#4a90e233;color:#6fa8d4}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2.5px solid #f2b84b;outline-offset:3px;border-radius:4px}@media(hover:hover){button:not(:disabled):hover,[role=button]:not(:disabled):hover{filter:brightness(1.08)}}.tappable{transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);cursor:pointer}.tappable:active{transform:scale(.97)}.empty-state{text-align:center;padding:56px 24px;color:#a89568}.empty-state .glyph{font-size:56px;opacity:.4;margin-bottom:16px}.empty-state h3{color:#d8c9a8;font-family:Fraunces,ui-serif,serif;font-size:18px;margin:0 0 8px}.empty-state p{font-size:14px;line-height:1.5;max-width:280px;margin:0 auto;opacity:.8}.view-enter{opacity:0;transform:translate(20px)}.view-enter-active{opacity:1;transform:translate(0);transition:opacity .3s ease-out,transform .3s cubic-bezier(.4,0,.2,1)}.pull-hint{text-align:center;font-size:12px;color:#a89568;padding:8px 0;opacity:.6}@keyframes mismatch-shake{0%,to{transform:translate(0) rotate(0);filter:brightness(1)}12%{transform:translate(-7px) rotate(-2.2deg) scale(1.025);filter:brightness(1.2) saturate(1.4) drop-shadow(0 0 14px rgba(226,90,90,.85))}28%{transform:translate(7px) rotate(2.2deg) scale(1.025);filter:brightness(1.18) saturate(1.4) drop-shadow(0 0 12px rgba(226,90,90,.8))}44%{transform:translate(-5px) rotate(-1.6deg);filter:brightness(1.1) drop-shadow(0 0 9px rgba(226,90,90,.6))}60%{transform:translate(5px) rotate(1.6deg);filter:brightness(1.05) drop-shadow(0 0 6px rgba(226,90,90,.4))}76%{transform:translate(-2px) rotate(-.4deg);filter:brightness(1.02)}}.board-svg .tile.mismatch-shake{animation:mismatch-shake .52s cubic-bezier(.36,.07,.19,.97)}@keyframes match-flash{0%{filter:brightness(1) saturate(1)}30%{filter:brightness(1.4) saturate(1.5) hue-rotate(80deg)}60%{filter:brightness(1.6) saturate(1.8) drop-shadow(0 0 12px #6fe3c1)}to{filter:brightness(1) opacity(0);transform:scale(.85)}}.tile.match-burst{animation:match-flash .55s cubic-bezier(.4,0,.2,1) forwards}.match-tile-flash{position:fixed;pointer-events:none;z-index:9200;border-radius:8px;background:radial-gradient(circle,#fef7e3 0%,rgba(242,184,75,.8) 40%,transparent 80%);box-shadow:0 0 30px #f2b84b;transform:translate(-50%,-50%);animation:tile-flash-anim .6s cubic-bezier(.2,.6,.3,1) forwards}@keyframes tile-flash-anim{0%{transform:translate(-50%,-50%) scale(.8);opacity:0}30%{transform:translate(-50%,-50%) scale(1.1);opacity:1;filter:brightness(1.5)}to{transform:translate(-50%,-50%) scale(.6);opacity:0;filter:brightness(1)}}@keyframes select-ring-pulse{0%,to{opacity:.9;stroke-width:3}50%{opacity:1;stroke-width:4}}.select-ring{animation:select-ring-pulse 1.2s ease-in-out infinite}.tile.layer-1 use{filter:brightness(1.05)}.tile.layer-2 use{filter:brightness(1.1)}.tile.layer-3 use{filter:brightness(1.15)}.tile.layer-4 use{filter:brightness(1.2)}.tile.layer-5 use{filter:brightness(1.25)}@keyframes float-up-fade{0%{opacity:0;transform:translate(-50%) scale(.7)}20%{opacity:1;transform:translate(-50%,-10px) scale(1.1)}to{opacity:0;transform:translate(-50%,-55px) scale(1)}}.match-float-score{position:fixed;pointer-events:none;z-index:9500;color:#f2b84b;font-family:Fraunces,ui-serif,Georgia,serif;font-weight:900;font-size:20px;letter-spacing:.5px;text-shadow:0 2px 6px rgba(0,0,0,.6),0 0 12px rgba(242,184,75,.6);animation:float-up-fade 1s cubic-bezier(.2,.6,.3,1) forwards;transform:translate(-50%)}.match-float-score.combo{color:#6fe3c1;font-size:22px;text-shadow:0 2px 8px rgba(0,0,0,.7),0 0 16px rgba(111,227,193,.8)}.match-particle{position:fixed;pointer-events:none;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#f2b84b,#c46a2a);z-index:9400;animation:particle-fly .6s cubic-bezier(.2,.6,.3,1) forwards}@keyframes particle-fly{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx, 0px)),calc(-50% + var(--dy, 0px))) scale(0);opacity:0}}@keyframes board-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,2px)}}.board.shake{animation:board-shake .3s ease-in-out}.board{border-radius:14px;overflow:hidden;box-shadow:0 12px 36px #0000008c,inset 0 1px #ffffff14,inset 0 -2px #0000004d;position:relative}.layout-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:#f2b84b1f;border:1px solid rgba(242,184,75,.35);border-radius:12px;font-size:11px;font-family:Fraunces,ui-serif,serif;color:#f2b84b;letter-spacing:.4px;text-transform:capitalize}.layout-badge:before{content:"\25c6";font-size:9px;opacity:.7}.layout-row{display:flex;justify-content:center;padding:6px 0 2px}.splash-scene{position:absolute;inset:0;z-index:0;overflow:hidden}.splash-scene svg{width:100%;height:100%;display:block}.splash-inner{position:relative;z-index:2;background:radial-gradient(ellipse at center,#0e04188c,#0e0418d9 70%,#0e0418f2);padding:38px 48px 28px;border-radius:18px;backdrop-filter:blur(2px)}.splash-logo-mark{width:90px;height:90px;filter:drop-shadow(0 4px 16px rgba(242,184,75,.7));animation:splashLogoFloat 2.4s ease-in-out infinite}.splash-title{margin:14px 0 2px;font-family:Fraunces,ui-serif,Georgia,serif;font-size:26px;font-weight:900;color:#fef7e3;letter-spacing:1px;text-shadow:0 2px 12px rgba(0,0,0,.6),0 0 24px rgba(242,184,75,.4)}.splash-subtitle{margin:0 0 18px;font-family:Fraunces,ui-serif,Georgia,serif;font-size:11px;font-weight:600;letter-spacing:6px;color:#f2b84b;text-transform:uppercase;opacity:.85}.splash-loader{width:140px;height:4px;margin:0 auto;background:#f2b84b2e;border-radius:2px;overflow:hidden}.splash-loader-bar{width:30%;height:100%;background:linear-gradient(90deg,transparent,#f2b84b 50%,transparent);animation:splashLoaderSlide 1.4s ease-in-out infinite}@keyframes splashLoaderSlide{0%{transform:translate(-100%)}to{transform:translate(420%)}}.win-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}.win-scene{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;animation:scene-zoom-in 1.4s cubic-bezier(.2,.6,.3,1) backwards}.win-scene svg{width:100%;height:100%;display:block}@keyframes scene-zoom-in{0%{opacity:0;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.win-scene .win-rays-svg{transform-origin:200px 200px;animation:rays-rotate 30s linear infinite}@keyframes rays-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.win-dialog{position:relative;z-index:2;background:linear-gradient(180deg,#3a1f5aeb,#0e0418f5);backdrop-filter:blur(8px);border:1.5px solid rgba(242,184,75,.45);box-shadow:0 0 40px #f2b84b4d,0 16px 48px #000000b3,inset 0 1px #ffffff1a}.stuck-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}.lose-scene{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;animation:scene-zoom-in 1.2s cubic-bezier(.2,.6,.3,1) backwards}.lose-scene svg{width:100%;height:100%;display:block}.lose-dialog{position:relative;z-index:2;background:linear-gradient(180deg,#1a0820f0,#0e0418f7);backdrop-filter:blur(10px);padding:28px 26px;border-radius:16px;border:1.5px solid rgba(139,58,74,.5);box-shadow:0 0 40px #8b3a4a40,0 16px 48px #000000b3,inset 0 1px #ffffff14;max-width:360px;text-align:center;animation:dialog-slide-up .4s cubic-bezier(.2,.6,.3,1) .3s backwards}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.lose-icon{font-size:56px;margin-bottom:12px;filter:drop-shadow(0 4px 12px rgba(139,58,74,.6));animation:lose-icon-float 3s ease-in-out infinite}@keyframes lose-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.lose-dialog h2{font-family:Fraunces,ui-serif,Georgia,serif;font-size:22px;font-weight:800;margin:0 0 10px;color:#fef7e3}.lose-dialog p{font-size:14px;line-height:1.55;color:#d8c9a8;margin:0 0 20px;opacity:.85}.lose-dialog .row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.stuck-hint{position:fixed;top:70px;left:50%;transform:translate(-50%);background:#1a1228eb;color:var(--ink);border:1px solid var(--gold);border-radius:999px;padding:10px 20px;font-size:14px;font-weight:700;z-index:60;box-shadow:0 6px 20px #00000080;cursor:pointer;animation:stuckHintIn .3s ease-out}@keyframes stuckHintIn{0%{opacity:0;transform:translate(-50%) translateY(-12px)}}.stuck-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:linear-gradient(180deg,#1a122899,#0e0418f5);backdrop-filter:blur(6px);padding:14px 16px calc(16px + var(--safe-bottom));border-top:1px solid rgba(242,184,75,.4);animation:stuckBarIn .3s cubic-bezier(.3,.8,.4,1)}@keyframes stuckBarIn{0%{transform:translateY(100%)}}.stuck-bar-title{text-align:center;font-size:13px;color:var(--ink-dim);margin-bottom:10px}.stuck-bar-row{display:flex;gap:8px;justify-content:center;align-items:stretch;max-width:460px;margin:0 auto}.stuck-bar-row .btn{flex:1}.stuck-bar-row .btn.small{flex:0 0 auto;min-width:48px}.stuck-bar-row .btn small{opacity:.85;font-weight:800}.board-svg .tile.last-played{animation:lastPlayedPulse 1.2s ease-in-out infinite}@keyframes lastPlayedPulse{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.55)) drop-shadow(0 0 10px rgba(111,227,193,.9))}}body.reduce-motion .stuck-hint,body.reduce-motion .stuck-bar{animation:none}body.reduce-motion .board-svg .tile.last-played{animation:none;filter:drop-shadow(0 0 6px rgba(111,227,193,.8))}.world{position:relative;overflow:hidden;isolation:isolate}.world-scene{position:absolute;top:0;left:0;right:0;height:140px;z-index:0;pointer-events:none;border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden;opacity:.85}.world-scene svg{width:100%;height:100%;display:block}.world-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--bg-card, #2a1538) 100%)}.world-header{position:relative;z-index:1;padding-top:88px!important}.world-title h3{text-shadow:0 2px 8px rgba(0,0,0,.6);color:#fef7e3!important}.world-title .world-role{text-shadow:0 1px 3px rgba(0,0,0,.7)}.pause-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}.pause-scene{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.pause-scene svg{width:100%;height:100%;display:block}.pause-dialog{position:relative;z-index:2;background:linear-gradient(180deg,#1a0820eb,#0e0418f7);backdrop-filter:blur(8px);padding:28px 26px;border-radius:16px;border:1.5px solid rgba(242,184,75,.45);max-width:320px;text-align:center;box-shadow:0 16px 48px #000000b3}.pause-icon{font-size:56px;margin-bottom:12px;color:#f2b84b}.pause-dialog h2{font-family:Fraunces,ui-serif,Georgia,serif;font-size:22px;margin:0 0 10px;color:#fef7e3}.pause-dialog p{font-size:14px;line-height:1.55;color:#d8c9a8;margin:0 0 20px}.pause-dialog .row{display:flex;gap:10px;justify-content:center}.hud .btn.icon-only{min-width:36px;width:36px;padding:0;font-size:16px}@keyframes free-ring-pulse{0%,to{opacity:.5}50%{opacity:.85}}.free-ring{animation:free-ring-pulse 2.2s ease-in-out infinite}.splash-proverb{font-family:Fraunces,ui-serif,Georgia,serif;font-style:italic;font-size:13px;color:#d8c9a8;opacity:.85;letter-spacing:.3px;max-width:260px;margin:16px auto 0;line-height:1.5}.stats-hero{position:relative;border-radius:14px;overflow:hidden;min-height:160px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);isolation:isolate}.stats-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.stats-hero-bg svg{width:100%;height:100%;display:block}.stats-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0e041833,#0e041899)}.stats-hero-content{position:relative;z-index:1;text-align:center;padding:24px}.big-number{font-family:Fraunces,ui-serif,Georgia,serif;font-size:64px;font-weight:900;color:#fef7e3;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.7),0 0 24px rgba(242,184,75,.4)}.big-number .frac{font-size:28px;opacity:.55;font-weight:700}.big-label{color:#f2b84b;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-top:6px;text-shadow:0 1px 4px rgba(0,0,0,.6)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}.stat-tile{background:linear-gradient(180deg,#3a1f5a66,#1a082099);border:1px solid rgba(242,184,75,.18);padding:14px 12px;border-radius:12px;text-align:center}.stat-tile .stat-icon{font-size:22px;margin-bottom:6px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.stat-tile .stat-val{font-family:Fraunces,ui-serif,Georgia,serif;font-size:22px;font-weight:900;color:#fef7e3;line-height:1.1}.stat-tile .stat-val .frac{font-size:12px;opacity:.6;font-weight:600}.stat-tile .stat-key{font-size:11px;color:#a89568;text-transform:uppercase;letter-spacing:.6px;margin-top:4px}.stats-section{margin-bottom:22px}.stats-section h2{font-family:Fraunces,ui-serif,Georgia,serif;color:#f2b84b;font-size:18px;font-weight:700;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid rgba(242,184,75,.18)}.world-progress-row{display:grid;grid-template-columns:32px 1fr 50px;align-items:center;gap:10px;padding:10px 12px;background:#3a1f5a40;border-radius:10px;margin-bottom:6px}.world-progress-row .wp-icon{font-size:20px;text-align:center}.world-progress-row .wp-name{font-size:13px;color:#fef7e3;margin-bottom:4px;font-weight:600}.world-progress-row .wp-count{text-align:right;font-family:Fraunces,serif;font-size:13px;color:#f2b84b;font-weight:700}.booster-stats .bs-row,.info-rows .info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#3a1f5a33;border-radius:8px;margin-bottom:4px;font-size:13px}.booster-stats .bs-row strong,.info-rows .info-row strong{color:#f2b84b;font-family:Fraunces,serif;font-size:14px}.hud-stat.zen-badge .v{color:#6fe3c1;text-shadow:0 0 8px rgba(111,227,193,.5);font-weight:800}.hud.zen{background:linear-gradient(180deg,#3a1f5a66,#1a082099)}.quick-link{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px}.btn.full-width{width:100%;margin-bottom:8px}.btn.danger{background:linear-gradient(180deg,#8b3a4a,#5a1f2a);color:#fef7e3}.board,.tile,.booster,.btn,.hud-stat{touch-action:manipulation}.tile{-webkit-tap-highlight-color:transparent}@keyframes tile-cascade-in{0%{opacity:0;transform:translateY(-72px) scale(.45) rotate(-9deg);filter:brightness(1.45) blur(1.2px)}35%{opacity:1;transform:translateY(-18px) scale(.85,.92) rotate(-2deg);filter:brightness(1.25) blur(.4px)}55%{opacity:1;transform:translateY(4px) scale(1.12,.82) rotate(.6deg);filter:brightness(1.18) blur(0)}72%{transform:translateY(-3px) scale(.96,1.06) rotate(-.3deg);filter:brightness(1.08)}88%{transform:translateY(1px) scale(1.02,.98) rotate(.15deg);filter:brightness(1.03)}to{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:brightness(1)}}.tile.tile-entering{animation:tile-cascade-in .62s cubic-bezier(.28,1,.42,1) backwards;transform-origin:center;transform-box:fill-box}.tile.match-burst:not(.board-svg .tile){transform-origin:center}.match-shockwave{position:fixed;pointer-events:none;width:200px;height:200px;margin-left:-100px;margin-top:-100px;border:3px solid #ffd76a;border-radius:50%;transform:scale(.12);z-index:9300;box-shadow:0 0 24px #ffd76a99,inset 0 0 18px #ffd76a59;animation:shockwave-expand .72s cubic-bezier(.16,.7,.3,1) forwards}.match-shockwave:before{content:"";position:absolute;inset:4px;border:2px solid #6fe3c1;border-radius:50%;opacity:0;box-shadow:0 0 14px #6fe3c1b3;animation:shockwave-inner .72s cubic-bezier(.16,.7,.3,1) .06s forwards}@keyframes shockwave-expand{0%{transform:scale(.12);opacity:1;border-width:3.5px}60%{opacity:.55;border-width:2px}to{transform:scale(1);opacity:0;border-width:.5px}}@keyframes shockwave-inner{0%{inset:8px;opacity:1;border-width:2.5px}to{inset:-60px;opacity:0;border-width:.5px}}@keyframes combo-banner-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-8deg)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(2deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes combo-banner-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-180%) scale(.9)}}.combo-banner{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%);z-index:9600;pointer-events:none;display:flex;align-items:center;gap:14px;padding:14px 28px;border-radius:14px;background:linear-gradient(135deg,#3a1f5af2,#c46a2af2);border:2px solid #f2b84b;box-shadow:0 0 40px #f2b84b99,0 8px 32px #0009,inset 0 1px #fff3;animation:combo-banner-in .35s cubic-bezier(.34,1.56,.64,1) backwards}.combo-banner.combo-banner-out{animation:combo-banner-out .4s cubic-bezier(.5,0,.75,0) forwards}.combo-banner .combo-x{font-family:Fraunces,ui-serif,Georgia,serif;font-size:38px;font-weight:900;color:#fef7e3;text-shadow:0 2px 8px rgba(0,0,0,.6),0 0 18px rgba(242,184,75,.8);line-height:1}.combo-banner .combo-text{font-family:Fraunces,ui-serif,Georgia,serif;font-size:22px;font-weight:700;color:#f2b84b;letter-spacing:1.2px;text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.7)}.match-float-score{font-size:26px;text-shadow:0 2px 8px rgba(0,0,0,.8),0 0 16px rgba(242,184,75,.7),0 0 4px rgba(254,247,227,.9)}.match-float-score.combo{font-size:32px;letter-spacing:1px;text-shadow:0 2px 10px rgba(0,0,0,.9),0 0 20px rgba(111,227,193,.9),0 0 6px rgba(254,247,227,1)}.match-particle{border-radius:50%;z-index:9400;transform:translate(-50%,-50%);filter:drop-shadow(0 0 4px currentColor)}@keyframes win-flash{0%{background:transparent}12%{background:#fef7e399}to{background:transparent}}.win-flash-overlay{position:fixed;inset:0;pointer-events:none;z-index:9700;animation:win-flash .5s ease-out forwards}.reduce-motion .tile.tile-entering{animation:none!important;opacity:1;transform:none}.reduce-motion .tile.match-burst{animation:match-flash-reduced .3s ease-out forwards}@keyframes match-flash-reduced{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}.reduce-motion .combo-banner{animation:none!important}.reduce-motion .match-shockwave,.reduce-motion .match-particle{display:none}.reduce-motion .board.shake{animation:none!important}@media(prefers-reduced-motion:reduce){.tile.tile-entering{animation:none!important;opacity:1;transform:none}.combo-banner{animation:none!important}.match-shockwave,.match-particle{display:none}.board.shake{animation:none!important}}.tile-preload-overlay{position:fixed;inset:0;background:#0e0418eb;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;z-index:9000;color:#f2b84b;font-family:Fraunces,ui-serif,Georgia,serif;font-size:14px;letter-spacing:1px}.tile-preload-overlay .dots{display:flex;gap:6px}.tile-preload-overlay .dot{width:10px;height:10px;background:#f2b84b;border-radius:50%;animation:dot-pulse 1.2s ease-in-out infinite}.tile-preload-overlay .dot:nth-child(2){animation-delay:.2s}.tile-preload-overlay .dot:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,to{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}.objective-row{display:flex;justify-content:center;padding:4px 8px;background:#0000002e;border-bottom:1px solid rgba(255,255,255,.04)}.objective-badge{padding:3px 12px;border-radius:12px;font-size:11px;font-family:Fraunces,serif;font-weight:600;letter-spacing:.4px;border:1px solid}.objective-clear_all{background:#6fe3c11a;border-color:#6fe3c159;color:#6fe3c1}.objective-no_hints{background:#f2b84b1a;border-color:#f2b84b73;color:#f2b84b}.objective-combo{background:#c41e5a1f;border-color:#c41e5a73;color:#ff7aa3}.objective-find_rare{background:#b07ed61f;border-color:#b07ed666;color:#c89af2}.objective-speed{background:#4a90e21f;border-color:#4a90e266;color:#6fb6e6}.objective-boss{background:linear-gradient(90deg,#f2b84b33,#c41e5a33);border-color:#f2b84b;color:#fef7e3;font-weight:800;animation:boss-pulse 2s ease-in-out infinite}@keyframes boss-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.objective-complete{background:linear-gradient(90deg,#6fe3c12e,#f2b84b2e);border:1px solid #6fe3c1;border-radius:10px;padding:8px 14px;margin:10px 0;color:#fef7e3;font-family:Fraunces,serif;font-size:14px;font-weight:700;text-align:center}.objective-complete .bonus{color:#f2b84b;font-weight:900;margin-left:6px}.objective-missed{padding:6px 14px;margin:10px 0;color:#a89568;font-size:12px;text-align:center;font-style:italic}.boss-mastery{border-radius:10px;padding:8px 14px;margin:10px 0;text-align:center;font-family:Fraunces,serif;font-size:13px;font-weight:700}.boss-mastery.mastered{background:linear-gradient(90deg,#f2b84b38,#ffd77838);border:1px solid #f2b84b;color:#fef7e3;box-shadow:0 0 16px #f2b84b59}.boss-mastery.pending{background:#a895681f;border:1px dashed #a89568;color:#d8c9a0;font-weight:600}.level-reveal-overlay{position:fixed;inset:0;z-index:800;background:radial-gradient(ellipse at center,#3a1f5aeb,#0e0418f7);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);animation:reveal-fade-in .35s cubic-bezier(.4,0,.2,1);pointer-events:auto}.level-reveal-overlay.reveal-out{animation:reveal-fade-out .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes reveal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes reveal-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}.reveal-inner{text-align:center;padding:40px 32px;max-width:90%;animation:reveal-slide-up .5s cubic-bezier(.34,1.56,.64,1) .05s backwards}@keyframes reveal-slide-up{0%{opacity:0;transform:translateY(40px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}.reveal-inner.reveal-boss{border-radius:20px;box-shadow:0 0 0 2px var(--gold),0 0 60px #c41e3a80,0 0 30px #f2b84b66;background:radial-gradient(ellipse at 50% 0%,rgba(196,30,58,.25),transparent 70%)}.reveal-boss-tag{display:inline-block;font-family:var(--font-display, serif);font-weight:900;font-size:13px;letter-spacing:3px;color:#2a1804;background:linear-gradient(90deg,var(--gold),#ffe98a,var(--gold));padding:4px 16px;border-radius:999px;margin-bottom:10px;animation:bossTagPulse 1.4s ease-in-out infinite}@keyframes bossTagPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.reveal-boss .reveal-title{color:#ff9d6a;text-shadow:0 0 20px rgba(196,30,58,.6)}.reduce-motion .reveal-boss-tag{animation:none}.chip.gemwin{color:#6fe3c1}.reveal-eyebrow{font-family:Fraunces,ui-serif,Georgia,serif;color:#f2b84b;font-size:12px;letter-spacing:4px;font-weight:600;margin-bottom:14px;text-transform:uppercase;opacity:.85}.reveal-title{font-family:Fraunces,ui-serif,Georgia,serif;color:#fef7e3;font-size:42px;font-weight:900;line-height:1.1;letter-spacing:.5px;text-shadow:0 2px 12px rgba(0,0,0,.7),0 0 32px rgba(242,184,75,.4),0 0 8px rgba(254,247,227,.3);margin-bottom:18px}.reveal-objective{font-family:Fraunces,ui-serif,Georgia,serif;color:#d8c9a8;font-size:14px;font-style:italic;opacity:.85;letter-spacing:.5px}.reveal-star-hints{display:flex;gap:12px;justify-content:center;margin-top:14px}.rsh{font-size:11px;font-weight:700;letter-spacing:.3px;padding:3px 10px;border-radius:999px;background:#ffffff1a}.rsh-3{color:#f2b84b;border:1px solid rgba(242,184,75,.4)}.rsh-2{color:#b8c8ff;border:1px solid rgba(184,200,255,.3)}.hud-free{font-size:.72em;opacity:.72;font-weight:500;letter-spacing:0}.gameboard-wrap .hud-stat.level-name-stat{flex:1;min-width:0;align-items:flex-start;padding-left:4px}.gameboard-wrap .hud-stat.level-name-stat .k{color:#f2b84b;font-size:9px}.gameboard-wrap .hud-stat.level-name-stat .level-name{font-size:13px;font-family:Fraunces,serif;font-weight:700;color:#fef7e3;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(prefers-reduced-motion:reduce){.level-reveal-overlay,.reveal-inner{animation:none!important}}.reduce-motion .level-reveal-overlay,.reduce-motion .reveal-inner{animation:none!important}.chapter-intro-overlay{position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;animation:chapter-fade-in .5s ease-out;background:#1a0820}.chapter-intro-overlay.chapter-fade-out{animation:chapter-fade-out .35s ease-in forwards}@keyframes chapter-fade-in{0%{opacity:0}to{opacity:1}}@keyframes chapter-fade-out{0%{opacity:1}to{opacity:0}}.chapter-scene{position:absolute;inset:0;z-index:0}.chapter-scene svg{width:100%;height:100%}.chapter-content{position:relative;z-index:2;background:linear-gradient(180deg,#1a0820d9,#0e0418eb);backdrop-filter:blur(6px);padding:32px 28px;max-width:440px;margin:20px;border-radius:16px;border:1.5px solid rgba(242,184,75,.4);text-align:center;box-shadow:0 0 60px #f2b84b40;animation:chapter-content-up .7s cubic-bezier(.2,.7,.3,1) backwards}@keyframes chapter-content-up{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chapter-subtitle{font-family:Fraunces,serif;color:#f2b84b;font-size:12px;letter-spacing:5px;text-transform:uppercase;font-weight:600;margin-bottom:14px}.chapter-icon{font-size:56px;margin:6px 0 12px;filter:drop-shadow(0 4px 12px rgba(242,184,75,.6));animation:chapter-icon-float 2.5s ease-in-out infinite}@keyframes chapter-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.chapter-title{font-family:Fraunces,serif;font-size:30px;font-weight:900;color:#fef7e3;margin:0 0 14px;letter-spacing:.3px;text-shadow:0 2px 8px rgba(0,0,0,.5),0 0 24px rgba(242,184,75,.3)}.chapter-intro-text{font-family:Fraunces,serif;font-style:italic;color:#d8c9a8;font-size:16px;line-height:1.55;margin:0 0 24px;letter-spacing:.2px}.chapter-btn{font-size:14px;padding:12px 28px}.match-word{position:fixed;pointer-events:none;z-index:9550;font-family:Fraunces,ui-serif,Georgia,serif;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;transform:translate(-50%);animation:word-pop .85s cubic-bezier(.2,.7,.3,1) forwards}@keyframes word-pop{0%{opacity:0;transform:translate(-50%,8px) scale(.5) rotate(-3deg)}25%{opacity:1;transform:translate(-50%,-8px) scale(1.18) rotate(2deg)}50%{transform:translate(-50%,-18px) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-42px) scale(.9) rotate(0)}}.match-word.combo-1{font-size:22px;color:#fef7e3;text-shadow:0 2px 6px rgba(0,0,0,.7),0 0 12px rgba(242,184,75,.5)}.match-word.combo-2{font-size:26px;color:#f2b84b;text-shadow:0 2px 8px rgba(0,0,0,.8),0 0 16px rgba(242,184,75,.7)}.match-word.combo-3{font-size:30px;color:#6fe3c1;text-shadow:0 2px 10px rgba(0,0,0,.9),0 0 18px rgba(111,227,193,.8)}.match-word.combo-4{font-size:32px;color:#ff7aa3;text-shadow:0 2px 10px rgba(0,0,0,.9),0 0 20px rgba(255,122,163,.8)}.match-word.combo-5{font-size:34px;color:#c89af2;text-shadow:0 2px 10px rgba(0,0,0,.9),0 0 22px rgba(200,154,242,.9)}.match-word.combo-6{font-size:36px;color:#f8dc3d;text-shadow:0 2px 12px rgba(0,0,0,1),0 0 24px rgba(248,220,61,1)}.match-word.combo-7{font-size:38px;color:#fef7e3;text-shadow:0 2px 12px rgba(0,0,0,1),0 0 30px #f2b84b,0 0 6px #fef7e3}.match-word.combo-8{font-size:42px;background:linear-gradient(90deg,#f2b84b,#6fe3c1,#c89af2,#f2b84b);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 12px rgba(0,0,0,1);filter:drop-shadow(0 0 16px #f2b84b);animation:word-pop .85s cubic-bezier(.2,.7,.3,1) forwards,rainbow-text 1s linear infinite}@keyframes rainbow-text{0%{background-position:0% 50%}to{background-position:200% 50%}}.near-win-banner{position:fixed;top:24%;left:50%;transform:translate(-50%,-50%) scale(.6) rotate(-3deg);z-index:9550;pointer-events:none;padding:14px 32px;border-radius:16px;background:linear-gradient(135deg,#ff4d6d,#f2b84b,#ffd76a);border:3px solid #1a0a02;box-shadow:0 0 32px #ffd76ab3,0 12px 28px #0000008c,inset 0 2px #fff6;display:flex;align-items:center;gap:12px;animation:near-win-in .42s cubic-bezier(.34,1.6,.5,1) forwards}.near-win-banner.near-win-out{animation:near-win-out .4s cubic-bezier(.5,0,.75,0) forwards}.near-win-text{font-family:Fraunces,ui-serif,Georgia,serif;font-size:28px;font-weight:900;color:#1a0a02;letter-spacing:.4px;text-shadow:0 1px 0 rgba(255,255,255,.5);position:relative;z-index:2}.near-win-glow{position:absolute;inset:-20px;background:radial-gradient(ellipse,rgba(255,215,106,.5) 0%,transparent 60%);z-index:0;pointer-events:none;animation:near-win-pulse 1.4s ease-in-out infinite}@keyframes near-win-in{0%{opacity:0;transform:translate(-50%,-80%) scale(.6) rotate(-8deg)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(2deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes near-win-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-150%) scale(.85)}}@keyframes near-win-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes match-pulse-kf{0%{transform:scale(1);filter:saturate(1) brightness(1)}35%{transform:scale(1.012);filter:saturate(1.25) brightness(1.06)}to{transform:scale(1);filter:saturate(1) brightness(1)}}.board.match-pulse{animation:match-pulse-kf .28s cubic-bezier(.34,1.56,.64,1);transform-origin:center center}.match-particle.match-debris{width:11px;height:11px;border-radius:2px;animation:debris-fly 1.1s cubic-bezier(.18,.5,.4,1) forwards}@keyframes debris-fly{0%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}60%{opacity:1}to{transform:translate(calc(-50% + var(--dx, 0px)),calc(-50% + var(--dy, 0px))) scale(.4) rotate(380deg);opacity:0}}.char-dialog{position:fixed;bottom:calc(20px + var(--safe-bottom));left:16px;z-index:9700;display:flex;gap:10px;align-items:flex-end;max-width:min(380px,88vw);animation:char-rise-in .6s cubic-bezier(.18,.9,.28,1) backwards;pointer-events:auto;cursor:pointer}.char-dialog-out{animation:char-slide-out .4s ease-in forwards}.char-portrait{width:clamp(110px,28vw,140px);flex-shrink:0;filter:drop-shadow(0 8px 18px rgba(0,0,0,.6));transform-origin:50% 92%;will-change:transform;backface-visibility:hidden;transform:translateZ(0);animation:char-breathe 7s ease-in-out .8s infinite}.char-portrait svg{width:100%;height:auto}.char-bubble{background:#0e0418f5;backdrop-filter:blur(8px);padding:12px 16px;border-radius:16px 16px 16px 4px;border:2px solid;box-shadow:0 10px 28px #0000008c}.char-name{font-family:Fraunces,serif;font-weight:800;font-size:14px;margin-bottom:5px;letter-spacing:.4px}.char-msg{color:#fef7e3;font-size:16px;line-height:1.45;font-family:Fraunces,serif;font-style:italic}@keyframes char-rise-in{0%{opacity:0;transform:translateY(22px) scale(.85)}60%{opacity:1;transform:translateY(-3px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes char-portrait-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes char-breathe{0%{transform:perspective(600px) translateZ(0) translateY(0) rotate(0) rotateY(0) scale(1)}25%{transform:perspective(600px) translateZ(0) translateY(-2px) rotate(.5deg) rotateY(2deg) scale(1.008)}50%{transform:perspective(600px) translateZ(0) translateY(-3px) rotate(0) rotateY(0) scale(1.014)}75%{transform:perspective(600px) translateZ(0) translateY(-2px) rotate(-.5deg) rotateY(-2deg) scale(1.008)}to{transform:perspective(600px) translateZ(0) translateY(0) rotate(0) rotateY(0) scale(1)}}@keyframes char-slide-out{0%{opacity:1}to{opacity:0;transform:translateY(12px) scale(.92)}}.reduce-motion .char-portrait{animation:none}.reduce-motion .char-dialog{animation:char-rise-in .3s ease-out backwards}.juice-confetti-layer{position:fixed;inset:0;z-index:9600;pointer-events:none;overflow:hidden}.juice-confetti{position:absolute;top:-12px;width:10px;height:14px;border-radius:2px;opacity:.95;animation:juice-confetti-fall linear forwards}@keyframes juice-confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(540deg);opacity:.9}}.chapter-row{display:flex;justify-content:center;margin:1px 0 3px}.chapter-chip{font-family:Fraunces,serif;font-size:12px;color:#c8b8d8;background:#3a1f5a66;border:1px solid rgba(242,184,75,.28);padding:3px 12px;border-radius:999px;letter-spacing:.2px;max-width:92vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-chip b{color:#f2b84b;font-weight:700}.story-card{background:linear-gradient(135deg,#3a1f5a73,#8b3a4a4d);border:1px solid rgba(242,184,75,.28);border-radius:14px;padding:12px 14px;margin:0 0 14px}.story-head{display:flex;align-items:center;gap:12px}.story-icon{font-size:30px;flex-shrink:0}.story-kicker{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#f2b84b;font-weight:700}.story-title{font-family:Fraunces,serif;font-size:17px;color:#fef7e3;line-height:1.2;margin-top:2px}.story-bar{height:6px;border-radius:999px;background:#00000059;margin-top:10px;overflow:hidden}.story-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#c46a2a,#f2b84b);transition:width .5s ease}.pass-tierup-overlay{position:fixed;inset:0;z-index:9750;display:flex;align-items:center;justify-content:center;background:#0a0414b8;backdrop-filter:blur(4px);animation:char-rise-in .35s ease-out backwards}.pass-tierup-card{background:linear-gradient(160deg,#3a1f5a,#1a0820);border:2px solid #f2b84b;border-radius:20px;padding:26px 28px;text-align:center;max-width:86vw;width:340px;box-shadow:0 18px 50px #0009}.ptu-icon{font-size:46px}.ptu-kicker{color:#f2b84b;font-weight:800;letter-spacing:1.5px;font-size:12px;margin-top:4px}.pass-tierup-card h2{font-family:Fraunces,serif;color:#fef7e3;margin:6px 0 4px;font-size:30px}.pass-tierup-card p{color:#c8b8d8;font-size:14px;margin:0 0 16px}.pass-tierup-card .row{display:flex;gap:10px;justify-content:center}.tt-rescue-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.tt-rescue-actions .btn small{opacity:.85;font-weight:600;margin-left:4px}.quests-section{background:#3a1f5a2e;padding:12px;border-radius:10px;border:1px solid rgba(242,184,75,.15)}.quest-card{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:8px 10px;background:#0e041866;border-radius:8px;margin-bottom:6px}.quest-card.done{background:#6fe3c11f;border:1px solid rgba(111,227,193,.4)}.quest-card.claimed{opacity:.5}.q-icon{font-size:22px;text-align:center}.q-info{min-width:0}.q-label{font-size:13px;color:#fef7e3;font-weight:600;margin-bottom:4px}.q-progress-bar{background:#ffffff14;height:5px;border-radius:3px;overflow:hidden}.q-progress-fill{background:linear-gradient(90deg,#f2b84b,#6fe3c1);height:100%;transition:width .4s}.q-progress-text{font-size:10px;color:#a89568;margin-top:2px;letter-spacing:.4px}.board-svg,.gameboard-wrap,.board{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.reward-celebration{position:fixed;inset:0;z-index:9800;display:flex;align-items:center;justify-content:center;pointer-events:auto}.reward-celebration.rc-fade-out{animation:rc-fade-out .4s ease-in forwards}@keyframes rc-fade-out{to{opacity:0}}.rc-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at center,#3a1f5ad9,#0e0418f2);backdrop-filter:blur(6px);animation:rc-backdrop-in .4s ease-out}@keyframes rc-backdrop-in{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1}}.rc-rays{position:absolute;top:35%;left:50%;width:600px;height:600px;margin-left:-300px;margin-top:-300px;background:conic-gradient(from 0deg,#f8dc3d00,#f8dc3d66 15deg,#f8dc3d00 30deg 60deg,#f8dc3d66 75deg,#f8dc3d00 90deg 120deg,#f8dc3d66 135deg,#f8dc3d00 150deg 180deg,#f8dc3d66 195deg,#f8dc3d00 210deg 240deg,#f8dc3d66 255deg,#f8dc3d00 270deg 300deg,#f8dc3d66 315deg,#f8dc3d00 330deg 360deg);animation:rc-rays-rotate 12s linear infinite,rc-rays-in .8s ease-out;pointer-events:none;opacity:0}.reward-celebration.rc-chest-show .rc-rays{opacity:1}@keyframes rc-rays-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rc-rays-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.rc-content{position:relative;z-index:2;text-align:center;padding:32px 24px;max-width:380px}.rc-title{font-family:Fraunces,serif;font-size:32px;font-weight:900;color:#fef7e3;text-shadow:0 4px 16px rgba(0,0,0,.6),0 0 24px rgba(248,220,61,.7);margin-bottom:18px;letter-spacing:.5px;animation:rc-title-pop .6s cubic-bezier(.2,1.4,.4,1) backwards}@keyframes rc-title-pop{0%{opacity:0;transform:scale(.5) translateY(-20px)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1) translateY(0)}}.rc-chest{width:200px;height:180px;margin:0 auto;opacity:0;transform:scale(.4) translateY(40px);transition:opacity .4s,transform .5s cubic-bezier(.2,1.2,.4,1);filter:drop-shadow(0 12px 30px rgba(0,0,0,.8)) drop-shadow(0 0 20px rgba(248,220,61,.4))}.reward-celebration.rc-chest-show .rc-chest{opacity:1;transform:scale(1) translateY(0);animation:rc-chest-shake .4s ease-out .3s}@keyframes rc-chest-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-4deg)}40%{transform:rotate(4deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(2deg)}}.rc-lid{transform-origin:100px 88px;transition:transform .6s cubic-bezier(.34,1.4,.5,1)}.reward-celebration.rc-chest-open .rc-lid{transform:perspective(300px) rotateX(-118deg)}.rc-inner-glow{transition:opacity .4s .2s}.reward-celebration.rc-chest-open .rc-inner-glow{opacity:1;animation:rc-inner-pulse 1.6s ease-in-out infinite .6s}@keyframes rc-inner-pulse{0%,to{opacity:.6}50%{opacity:1}}.rc-burst{transform-origin:100px 92px}.reward-celebration.rc-chest-open .rc-burst{animation:rc-burst-pop .7s ease-out forwards}@keyframes rc-burst-pop{0%{opacity:0;transform:scale(.3)}35%{opacity:.95;transform:scale(1.15)}to{opacity:0;transform:scale(1.5)}}.rc-treasure{transform-origin:100px 100px}.reward-celebration.rc-chest-open .rc-treasure{animation:rc-treasure-rise .6s cubic-bezier(.2,1.3,.4,1) forwards .18s}@keyframes rc-treasure-rise{0%{opacity:0;transform:translateY(14px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}.rc-lock{transform-origin:100px 114px}.reward-celebration.rc-chest-open .rc-lock{animation:rc-lock-burst .5s ease-in forwards}@keyframes rc-lock-burst{0%{opacity:1;transform:translateY(0) rotate(0)}30%{transform:translateY(-22px) rotate(-15deg)}to{opacity:0;transform:translateY(60px) rotate(40deg)}}.reward-celebration.rc-chest-open .rc-treasure{will-change:transform}body.reduce-motion .rc-burst,body.reduce-motion .rc-treasure,body.reduce-motion .rc-lock{animation:none!important;opacity:1}body.reduce-motion .rc-lock{display:none}.rc-card{margin:-20px auto 20px;background:linear-gradient(180deg,#f8dc3d2e,#f2b84b1f);border:2px solid #f2b84b;border-radius:14px;padding:18px 24px;min-width:200px;box-shadow:0 0 0 3px #f8dc3d33,0 8px 24px #00000080,inset 0 1px #fff3;opacity:0;transform:scale(.7) translateY(40px);transition:opacity .5s,transform .5s cubic-bezier(.2,1.3,.4,1)}.reward-celebration.rc-card-show .rc-card{opacity:1;transform:scale(1) translateY(0);animation:rc-card-float 3s ease-in-out infinite .6s}@keyframes rc-card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.rc-card-icon{font-size:44px;margin-bottom:8px;filter:drop-shadow(0 4px 10px rgba(248,220,61,.6));animation:rc-icon-spin 4s ease-in-out infinite}@keyframes rc-icon-spin{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}.rc-card-coins{font-family:Fraunces,serif;font-size:30px;font-weight:900;color:#f8dc3d;text-shadow:0 2px 8px rgba(0,0,0,.6),0 0 16px rgba(248,220,61,.6);letter-spacing:1px}.rc-card-item{font-family:Fraunces,serif;font-size:16px;color:#fef7e3;margin-top:6px;letter-spacing:.5px}.rc-card-msg{font-family:Fraunces,serif;font-style:italic;font-size:13px;color:#d8c9a8;margin-top:10px;line-height:1.4}.rc-btn{background:linear-gradient(180deg,#f2b84b,#c8881d);border:none;color:#2a1804;padding:12px 36px;border-radius:10px;font-family:Fraunces,serif;font-weight:800;font-size:15px;letter-spacing:.5px;cursor:pointer;margin-top:18px;box-shadow:0 6px 16px #00000080,inset 0 1px #ffffff4d;opacity:0;transform:translateY(20px);transition:opacity .4s 1.2s,transform .4s 1.2s}.rc-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0009}.rc-btn:active{transform:translateY(0)}.reward-celebration.rc-card-show .rc-btn{opacity:1;transform:translateY(0)}.rc-particles{position:absolute;top:35%;left:50%;width:0;height:0;pointer-events:none}.rc-particle{position:absolute;width:8px;height:8px;border-radius:50%;top:0;left:0;box-shadow:0 0 8px currentColor;animation:rc-particle-fly 1.4s cubic-bezier(.1,.6,.3,1) forwards}@keyframes rc-particle-fly{0%{opacity:1;transform:translate(0) scale(0)}20%{opacity:1;transform:translate(calc(var(--dx) * .3),calc(var(--dy) * .3 - 20px)) scale(1.4)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.4)}}.hud{position:relative}.hud-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000004d;overflow:hidden;border-radius:0 0 var(--r-sm) var(--r-sm)}.hud-progress-fill{height:100%;background:linear-gradient(90deg,var(--siena) 0%,var(--gold) 55%,var(--teal) 100%);transition:width .4s cubic-bezier(.22,.7,.32,1);box-shadow:0 0 8px #f2b84b99;will-change:width}.board.board-climax .board-svg .board-tiles-layer{transform:scale(1.05)!important;transition:transform 5s cubic-bezier(.22,.7,.32,1)!important}.board:not(.board-climax) .board-svg .board-tiles-layer{transform:scale(1)!important;transition:transform 5s cubic-bezier(.22,.7,.32,1)!important}.board-svg .tile.tile-shuffle-out{animation:tileShuffleOut .32s ease-in forwards!important}@keyframes tileShuffleOut{0%{opacity:1}60%{opacity:.3}to{opacity:0}}#timer.timer-alert{color:var(--gold);font-weight:700;transition:color .4s}#timer.timer-warn{color:var(--rose);font-weight:700;animation:timerUrgency .8s ease-in-out infinite}@keyframes timerUrgency{0%,to{opacity:1}50%{opacity:.55}}.board-svg .tile.special-golden{filter:drop-shadow(0 0 6px rgba(246,200,79,.55))!important}.board-svg .tile.special-golden.free{filter:drop-shadow(0 0 9px rgba(246,200,79,.8))!important}.board-svg .tile.special-bomb{filter:drop-shadow(0 0 7px rgba(255,104,77,.6))!important}.board-svg .tile.special-frozen{filter:drop-shadow(0 0 6px rgba(130,217,255,.65))!important;opacity:.92}.board-svg .tile.special-locked{filter:drop-shadow(0 0 6px rgba(141,122,168,.65))!important;cursor:default!important}.board-svg .tile.special-lightning{filter:drop-shadow(0 0 7px rgba(122,220,255,.7))!important;animation:lightningPulse 1.8s ease-in-out infinite}@keyframes lightningPulse{0%,to{opacity:1}50%{opacity:.86}}.board-svg .tile.special-eye{filter:drop-shadow(0 0 6px rgba(100,220,200,.65))!important;animation:eyePulse 3.2s ease-in-out infinite}@keyframes eyePulse{0%,to{opacity:1}50%{opacity:.88}}.board-svg .tile.peek-revealed{filter:drop-shadow(0 0 5px rgba(100,220,200,.45))!important;opacity:.92}@media(prefers-reduced-motion:reduce){.board-svg .tile.special-lightning,.board-svg .tile.special-eye{animation:none!important}}.daily-level-badge{display:inline-flex;align-items:center;background:linear-gradient(135deg,#f2b84b,#c46a2a);color:#1a0820;font-size:9px;font-weight:800;padding:2px 7px;border-radius:999px;letter-spacing:.5px;animation:dailyBadgePulse 2s ease-in-out infinite;vertical-align:middle;margin-left:5px;line-height:1.4}@keyframes dailyBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.hit-flash-overlay{position:fixed;inset:0;pointer-events:none;z-index:60;background:radial-gradient(circle at 50% 55%,rgba(255,236,140,.34) 0%,rgba(255,200,80,.14) 38%,transparent 64%);animation:hitFlash .16s ease-out forwards}@keyframes hitFlash{0%{opacity:0}30%{opacity:1}to{opacity:0}}.ambient-breath{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(120% 70% at 50% 8%,rgba(255,214,106,.085) 0%,rgba(242,184,75,.04) 34%,transparent 60%);opacity:.4;mix-blend-mode:screen;animation:ambientBreath 7.5s ease-in-out infinite}@keyframes ambientBreath{0%,to{opacity:.28}50%{opacity:.62}}.ambient-breath.flare{animation:ambientFlare .72s ease-out}@keyframes ambientFlare{0%{opacity:.6}22%{opacity:.95}to{opacity:.4}}.reward-glow{position:fixed;inset:0;pointer-events:none;z-index:58;background:radial-gradient(circle at 50% 55%,hsla(var(--rg-hue, 44),100%,72%,.85) 0%,hsla(var(--rg-hue, 44),95%,60%,.3) 30%,transparent 60%);opacity:0;transform:scale(var(--rg-scale, 1));mix-blend-mode:screen;animation:rewardGlowPulse .7s ease-out forwards;will-change:opacity,transform}@keyframes rewardGlowPulse{0%{opacity:0;transform:scale(.7)}28%{opacity:var(--rg-op, .6);transform:scale(var(--rg-scale, 1))}to{opacity:0;transform:scale(calc(var(--rg-scale, 1) * 1.18))}}.tap-ripple{position:fixed;pointer-events:none;z-index:57;width:var(--ripple-size, 30px);height:var(--ripple-size, 30px);margin-left:calc(var(--ripple-size, 30px) / -2);margin-top:calc(var(--ripple-size, 30px) / -2);border-radius:50%;border:2px solid var(--ripple-color, rgba(255,215,106,.95));opacity:.9;transform:scale(.3);animation:tapRippleAnim .5s cubic-bezier(.2,.7,.3,1) forwards;will-change:opacity,transform}@keyframes tapRippleAnim{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(2.6)}}.crit-flash{position:fixed;inset:0;pointer-events:none;z-index:59;background:radial-gradient(circle at 50% 50%,rgba(255,236,180,.42) 0%,rgba(255,214,106,.16) 45%,transparent 70%);opacity:0;mix-blend-mode:screen;animation:critFlashAnim .3s ease-out forwards}@keyframes critFlashAnim{0%{opacity:0}22%{opacity:.9}to{opacity:0}}@media(prefers-reduced-motion:reduce){.ambient-breath{animation:none!important;opacity:.28}.reward-glow,.tap-ripple,.crit-flash{display:none!important}}#btnPlay{position:relative;overflow:hidden}#btnPlay:after{content:"";position:absolute;top:0;left:-65%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skew(-18deg);pointer-events:none;animation:shimmerSweep 4.5s ease-in-out infinite}@keyframes shimmerSweep{0%,68%{transform:translate(-160%) skew(-18deg)}to{transform:translate(200%) skew(-18deg)}}.win-dialog .win-title,.reveal-title{position:relative;overflow:hidden}.win-dialog .win-title:after{content:"";position:absolute;inset:0 0 0 -65%;width:55%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skew(-18deg);pointer-events:none;animation:shimmerSweep 3.2s ease-in-out .4s infinite}@media(prefers-reduced-motion:reduce){#btnPlay:after,.win-dialog .win-title:after{display:none!important}}body.combo-3 .gameboard-wrap .hud-stat.score .v{text-shadow:0 0 10px rgba(242,184,75,.7)}body.combo-5 .gameboard-wrap .hud-stat.score .v{text-shadow:0 0 16px rgba(242,184,75,.9);animation:comboHudPulse .4s ease-out}body.combo-7 .gameboard-wrap .hud-stat.score .v{text-shadow:0 0 22px rgba(255,180,48,1),0 0 6px #fff;animation:comboHudPulse .4s ease-out;color:#ffd76a}@keyframes comboHudPulse{0%{transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.hit-flash-overlay{display:none!important}}.coin-fly{position:fixed;z-index:10000;font-size:22px;line-height:1;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(180,120,20,.6));will-change:transform,opacity}.win-coin-target{display:inline-flex;align-items:center;gap:6px;background:#00000052;border:1px solid rgba(242,184,75,.5);border-radius:999px;padding:4px 12px;font-weight:800;font-size:16px;color:var(--gold)}.win-coin-target.coin-bump,.coin-bump{animation:coinBump .3s ease-out}@keyframes coinBump{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1)}}.reduce-motion .coin-bump{animation:none}.booster-armed-badge{position:fixed;left:50%;transform:translate(-50%);bottom:calc(86px + var(--safe-bottom));z-index:9002;background:linear-gradient(135deg,#5a2548,#c46a2a);color:#fff;font-weight:800;font-size:13px;padding:7px 16px;border-radius:999px;border:1px solid rgba(255,215,106,.6);box-shadow:0 6px 18px #00000080;pointer-events:none;white-space:nowrap;animation:armedBadgeIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes armedBadgeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.booster .count.last-use{color:#ffd0d0;animation:lastUseBlink 1s ease-in-out infinite}@keyframes lastUseBlink{0%,to{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 8px rgba(255,80,80,.95);color:#fff}}body.world-san_salvador .gameboard-wrap{background:radial-gradient(ellipse at 50% -10%,#2d3a6a 0%,transparent 52%),radial-gradient(ellipse at 50% 110%,#5a3a28 0%,transparent 55%),var(--bg)}body.world-valles .gameboard-wrap{background:radial-gradient(ellipse at 50% -10%,#2a5a3e 0%,transparent 52%),radial-gradient(ellipse at 50% 110%,#4a3a1e 0%,transparent 55%),var(--bg)}body.world-quebrada .gameboard-wrap{background:radial-gradient(ellipse at 50% -10%,#7a3a1e 0%,transparent 52%),radial-gradient(ellipse at 50% 110%,#5a2520 0%,transparent 55%),var(--bg)}body.world-carnaval .gameboard-wrap{background:radial-gradient(ellipse at 50% -10%,#6a1f5a 0%,transparent 52%),radial-gradient(ellipse at 50% 110%,#7a1f3a 0%,transparent 55%),var(--bg)}body.world-puna .gameboard-wrap{background:radial-gradient(ellipse at 50% -10%,#1e2a52 0%,transparent 52%),radial-gradient(ellipse at 50% 110%,#2a2440 0%,transparent 55%),var(--bg)}body.world-cielo .gameboard-wrap{background:radial-gradient(ellipse at 50% -10%,#3a2a72 0%,transparent 52%),radial-gradient(ellipse at 50% 110%,#2a3a6a 0%,transparent 55%),var(--bg)}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.mode-card{position:relative;background:var(--bg-elev);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:14px 10px;display:grid;gap:3px;place-items:center;cursor:pointer;font-family:inherit;color:var(--ink);transition:transform .1s,border-color .15s,box-shadow .15s}.mode-card:active{transform:scale(.96)}.mode-card .mode-emoji{font-size:30px;line-height:1}.mode-card .mode-name{font-weight:800;font-size:14px}.mode-card .mode-desc{font-size:11px;color:var(--ink-dim)}.mode-card.mode-triple{border-color:#f2b84b73;background:linear-gradient(160deg,#3a2354,#2a1538)}.mode-card.mode-triple:hover{box-shadow:0 0 16px #f2b84b66}.mode-badge-new{position:absolute;top:-7px;right:8px;background:linear-gradient(135deg,#6fe3c1,#3a8a72);color:#06231b;font-size:9px;font-weight:800;padding:2px 7px;border-radius:999px;letter-spacing:.5px;animation:dailyBadgePulse 2s ease-in-out infinite}.tt-menu{padding:12px 14px 80px}.tt-menu-hero{text-align:center;margin:8px 0 18px}.tt-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1px;color:#6fe3c1;margin-bottom:6px}.tt-menu-title{font-family:var(--font-display);font-size:30px;margin:0 0 6px;color:var(--gold)}.tt-menu-sub{font-size:13px;color:var(--ink-dim);margin:0}.tt-stage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:14px}.tt-stage-card{position:relative;aspect-ratio:1;background:var(--bg-elev);border:1px solid rgba(255,255,255,.08);border-radius:14px;cursor:pointer;font-family:inherit;color:var(--ink);display:grid;place-items:center;gap:2px;transition:transform .1s,box-shadow .15s}.tt-stage-card:active{transform:scale(.94)}.tt-stage-card.done{border-color:#6fe3c180}.tt-stage-card.locked{opacity:.5;cursor:default}.tt-stage-num{font-size:24px;font-weight:800;font-family:var(--font-display)}.tt-stage-meta{font-size:10px;color:var(--ink-dim)}.tt-stage-world{font-size:9px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.4px}.tt-stage-check{position:absolute;top:5px;right:7px;color:#6fe3c1;font-size:13px}.tt-stage-lock{position:absolute;top:5px;right:7px;font-size:13px}.tt-stage-best{position:absolute;bottom:4px;left:0;right:0;font-size:9px;color:var(--gold)}.tt-menu-progress{font-size:12px;color:var(--ink-dim);margin:8px 0 0}.tt-world-section{margin:0 0 22px}.tt-world-section.world-locked{opacity:.6}.tt-world-header{display:flex;align-items:center;gap:10px;margin:6px 2px 9px}.tt-world-name{font-family:var(--font-display);font-size:17px;color:var(--gold);white-space:nowrap}.tt-world-prog{flex:1;height:7px;border-radius:99px;background:#ffffff1a;overflow:hidden}.tt-world-prog-fill{height:100%;background:linear-gradient(90deg,#6fe3c1,#43c59e);border-radius:99px;transition:width .3s}.tt-world-count{font-size:11px;color:var(--ink-dim);white-space:nowrap;min-width:42px;text-align:right}.tt-stage-grid.dense{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:7px;margin-top:0}.tt-stage-grid.dense .tt-stage-card{border-radius:11px}.tt-stage-grid.dense .tt-stage-num{font-size:16px}.tt-stage-stars{font-size:9px;color:var(--gold);letter-spacing:-1px;line-height:1}.tt-wrap{position:fixed;inset:0;z-index:50;display:grid;grid-template-rows:auto auto 1fr auto;background:radial-gradient(ellipse at 50% -10%,#3a2a72 0%,transparent 52%),radial-gradient(ellipse at 50% 110%,#2a2440 0%,transparent 55%),var(--bg)}.tt-hud{display:flex;align-items:center;gap:8px;padding:calc(6px + var(--safe-top)) 12px 6px;background:#00000040;backdrop-filter:blur(8px)}.tt-hud-title{font-weight:800;font-size:14px;flex:1}.tt-hud-prog{width:90px;height:7px;background:#0006;border-radius:5px;overflow:hidden}.tt-hud-prog-fill{height:100%;background:linear-gradient(90deg,#6fe3c1,#3a8a72);transition:width .3s}.tt-tray{display:flex;gap:5px;justify-content:center;padding:14px;background:#0000002e;border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 -4px 12px #0000004d}.tt-slot{width:42px;height:52px;border-radius:8px;background:#ffffff0d;border:1.5px dashed rgba(255,255,255,.14);display:grid;place-items:center;transition:background .15s,transform .15s}.tt-slot.filled{background:#f6efe1;border:1px solid rgba(40,25,12,.6);box-shadow:0 3px 6px #0006;animation:ttSlotIn .2s cubic-bezier(.34,1.56,.64,1)}.tt-slot-emoji{font-size:26px;line-height:1}@keyframes ttSlotIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.tt-board{overflow:auto;padding:min(24px,5vh) 16px;display:flex;justify-content:center;align-items:flex-start}.tt-board-inner{position:relative;margin:0 auto;flex:none}.tt-tile{position:absolute;border-radius:6px;background:#f6efe1;border:1px solid rgba(40,25,12,.8);display:grid;place-items:center;box-shadow:1px 1px #e9d8ab,2px 2px #d2ba85,3px 3px #a78c5c,3.6px 3.6px #28190cb3,2px 6px 9px #00000073}.tt-tile:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:#f4b4302e;border-radius:6px 6px 0 0;pointer-events:none}.tt-tile.covered{filter:brightness(.965) saturate(.95)}.tt-tile.free{cursor:pointer;box-shadow:1px 1px #e9d8ab,2px 2px #d2ba85,3px 3px #a78c5c,3.6px 3.6px #28190cb3,2px 8px 14px #0000008c;transition:box-shadow .12s,filter .12s,transform .08s}.tt-tile.free:hover{box-shadow:0 0 0 2px var(--gold),1px 1px #e9d8ab,2px 2px #d2ba85,3px 3px #a78c5c,3.6px 3.6px #28190cb3,2px 10px 18px #0009;filter:brightness(1.07)}.tt-tile.free:active{transform:scale(.93)}.tt-tile.tt-deny{animation:ttDeny .32s ease}@keyframes ttDeny{0%,to{transform:translate(0)}20%{transform:translate(-4px) rotate(-2deg)}60%{transform:translate(4px) rotate(2deg)}}.tt-fly{pointer-events:none;border-radius:6px;background:#f6efe1;border:1px solid rgba(40,25,12,.8);display:grid;place-items:center;box-shadow:0 0 0 2px var(--gold),1px 1px #e9d8ab,2px 2px #d2ba85,3px 3px #a78c5c,0 8px 20px #0009}.tt-tray.tt-collapse-flash{animation:ttTrayFlash .42s ease}@keyframes ttTrayFlash{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}body.reduce-motion .tt-tile.tt-deny,body.reduce-motion .tt-tray.tt-collapse-flash{animation:none}.star-dust{position:fixed;z-index:96;pointer-events:none;color:#ffe79a;text-shadow:0 0 6px #ffd76a,0 0 13px #fff3c4;transform:translate(-50%,-50%);will-change:transform,opacity;animation:starDustFly .6s cubic-bezier(.2,.7,.3,1) forwards}@keyframes starDustFly{0%{transform:translate(-50%,-50%) translate(0) scale(.2) rotate(0);opacity:0}22%{opacity:1;transform:translate(-50%,-50%) translate(calc(var(--dx)*.3),calc(var(--dy)*.3)) scale(1.05) rotate(calc(var(--rot)*.3))}to{transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) scale(.3) rotate(var(--rot));opacity:0}}body.reduce-motion .star-dust{display:none}.tt-tile-emoji{font-size:28px;line-height:1;pointer-events:none;margin-top:-8px}.tt-tile-label{position:absolute;bottom:3px;left:1px;right:1px;font-size:9px;font-weight:800;color:#2a1a08;text-align:center;pointer-events:none;line-height:1.02;white-space:nowrap;overflow:hidden;font-family:Sora,Inter,system-ui,sans-serif}.tt-tile-label.sm{font-size:8px}.tt-tile-label.xs{font-size:7px}.tt-tile-label.two{font-size:7.5px;bottom:2px;white-space:normal}.tt-tile.covered .tt-tile-label{opacity:.82}.tt-hint{text-align:center;font-size:12px;color:var(--ink-dim);padding:8px calc(8px + var(--safe-bottom))}.tt-end-overlay{position:fixed;inset:0;z-index:80;background:#000000b8;backdrop-filter:blur(6px);display:grid;place-items:center;animation:fadein .2s ease-out}.tt-end-dialog{background:linear-gradient(180deg,#3a2354,#2a1538);border:1px solid rgba(242,184,75,.3);border-radius:20px;padding:24px 22px;text-align:center;max-width:320px;animation:dialogin .25s cubic-bezier(.34,1.56,.64,1)}.tt-end-dialog h2{margin:0 0 10px;font-family:var(--font-display)}.tt-end-stars{font-size:32px;color:var(--gold);margin:8px 0}.tt-end-reward{font-size:18px;font-weight:800;color:var(--gold)}.tt-end-sub{font-size:13px;color:var(--ink-dim)}.tt-end-dialog .row{margin-top:16px;display:flex;gap:10px;justify-content:center}.tt-rescue-overlay{background:#0a041452;backdrop-filter:blur(2px);place-items:end center;padding-bottom:calc(18px + var(--safe-bottom))}.tt-rescue-overlay .tt-end-dialog{background:linear-gradient(180deg,#3a2354f7,#2a1538fc);box-shadow:0 -8px 30px #00000080;max-width:360px;width:calc(100% - 28px)}.tt-rescue-overlay .btn[disabled]{opacity:.4;pointer-events:none}body.reduce-motion .tt-rescue-overlay,body.reduce-motion .tt-rescue-overlay .tt-end-dialog{animation:none}.league-loading{text-align:center;color:var(--ink-dim);padding:30px 0}.league-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#2d1840,#3a1f5a);border:1px solid rgba(242,184,75,.3);border-radius:var(--r);padding:12px 16px;margin-bottom:12px}.league-banner .lg-mine{font-size:14px}.league-banner .lg-mine strong{color:var(--gold)}.league-banner .lg-mode{font-size:11px;color:var(--ink-dim)}.league-list{display:flex;flex-direction:column;gap:5px}.league-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;background:var(--bg-elev);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:10px 14px}.league-row.me{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 14px #f2b84b40}.league-row .lg-rank{font-weight:800;font-size:16px;text-align:center}.league-row .lg-name{font-size:14px;font-weight:600}.league-row .lg-score{font-size:13px;color:var(--gold);font-weight:700}.board>.board-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;overflow:hidden;opacity:.55}.board>.board-backdrop svg{width:100%;height:100%;display:block}.board>.board-svg{position:relative;z-index:1}.board>.board-sheen{z-index:2}.tt-wrap>.tt-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.42;overflow:hidden}.tt-wrap>.tt-backdrop svg{width:100%;height:100%;display:block}.tt-wrap>.tt-hud,.tt-wrap>.tt-tray,.tt-wrap>.tt-board,.tt-wrap>.tt-hint{position:relative;z-index:1}html{scrollbar-gutter:stable}
