:root{--bg0: #071a14;--bg1: #0c2a20;--room: #0a221a;--felt: #1b8f5c;--felt-mid: #168a56;--felt-dark: #0f6a42;--wood-hi: #c4955a;--wood-mid: #8b5a2b;--wood-lo: #4a2c14;--gold: #f0d078;--ink: #f7f2e8;--muted: #a8c9b8;--tile-face: #faf6ee;--bevel-hi: #f0b35a;--bevel-mid: #e0983a;--bevel-lo: #c87a28;--bevel-w: 6px;--shadow: 0 24px 60px rgba(0, 0, 0, .45);--font: "DM Sans", "Noto Sans SC", system-ui, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(60,140,100,.22),transparent 55%),radial-gradient(ellipse 60% 40% at 90% 80%,rgba(30,80,55,.35),transparent 50%),radial-gradient(ellipse 50% 35% at 10% 70%,rgba(20,60,45,.4),transparent 45%),linear-gradient(168deg,#0d2e24 0%,var(--room) 40%,#061510 100%);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}#app{min-height:100vh;display:flex;flex-direction:column}.game-shell{min-height:100vh;display:flex;flex-direction:column;position:relative;isolation:isolate}.ambiance{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.ambiance__glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45}.ambiance__glow--a{width:420px;height:420px;top:-80px;left:10%;background:radial-gradient(circle,rgba(80,180,120,.35),transparent 70%)}.ambiance__glow--b{width:360px;height:360px;bottom:5%;right:8%;background:radial-gradient(circle,rgba(200,150,60,.12),transparent 70%)}.ambiance__motif{position:absolute;top:8%;right:6%;bottom:8%;left:6%;border:1px solid rgba(240,208,120,.06);border-radius:28px;box-shadow:inset 0 0 80px #00000026}.hud{position:relative;z-index:40;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 20px 10px}.hud__menu{width:42px;height:42px;border-radius:12px;background:linear-gradient(180deg,#ffffff1a,#0003);border:1px solid rgba(240,208,120,.22);box-shadow:0 4px 12px #00000040;display:grid;place-items:center;transition:transform .15s var(--ease-out)}.hud__menu:active{transform:scale(.96)}.hud__menu-bars{display:block;width:16px;height:2px;background:#fff;border-radius:2px;box-shadow:0 -5px #fff,0 5px #fff}.hud__center{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.hud__stats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;padding:6px 10px;border-radius:16px;background:linear-gradient(180deg,#082018b8,#04140e8c);border:1px solid rgba(240,208,120,.16);box-shadow:0 8px 24px #00000047,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hud__chip{min-height:34px;padding:4px 12px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.hud__chip--pair{min-width:88px;padding:3px 12px 4px}.hud__chip--row,.hud__chip--score{flex-direction:row;gap:6px;min-width:70px;padding:6px 11px}.hud__chip--score strong{color:var(--gold);text-shadow:0 0 12px rgba(240,208,120,.35)}.hud__chip.is-bump{animation:statBump .35s ease}@keyframes statBump{40%{transform:scale(1.08)}}.hud__label{font-size:9px;color:var(--muted);letter-spacing:.04em;white-space:nowrap;text-transform:uppercase}.hud__chip strong{font-size:1.05rem;color:#fff;font-variant-numeric:tabular-nums;line-height:1.15;font-weight:700}.hud__icon{font-size:12px;line-height:1;opacity:.9}.hud__mul{color:var(--muted);font-size:12px}.hud__tools{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;justify-content:flex-end}.combo-panel{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;border-radius:18px;background:linear-gradient(135deg,#142820bf,#081610a6);border:1px solid rgba(255,255,255,.08);box-shadow:0 6px 18px #00000040;min-width:200px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s var(--ease-out)}.combo-panel.is-idle{opacity:.72}.combo-panel.is-active{opacity:1;border-color:#f0d07859;box-shadow:0 6px 20px #0000004d,0 0 24px #f0d0781f}.combo-panel[data-tier="2"]{border-color:#ffa03c73}.combo-panel[data-tier="3"],.combo-panel[data-tier="4"]{border-color:#ff5a4680;box-shadow:0 6px 22px #00000052,0 0 28px #ff643c33;animation:comboPulse .9s ease-in-out infinite}.combo-panel[data-tier="5"]{border-color:#e040fba6;box-shadow:0 6px 24px #00000059,0 0 36px #e040fb59;animation:comboPulse .7s ease-in-out infinite}.combo-panel.is-ticking{animation:comboTickPulse .5s ease-in-out infinite}@keyframes comboTickPulse{50%{box-shadow:0 0 20px #ff503c73;border-color:#ff503cbf}}.hud__chip--time.is-urgent strong{color:#ffcc80}.hud__chip--time.is-critical strong{color:#ff6e6e;animation:timeBlink .6s ease-in-out infinite}@keyframes timeBlink{50%{opacity:.55}}.btn--sm{padding:6px 10px;font-size:12px;margin-left:8px}@keyframes comboPulse{50%{transform:scale(1.02)}}.combo-panel__ring{--combo-p: 0;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from -90deg,#f0d078 calc(var(--combo-p) * 1turn),#ffffff14 0);box-shadow:inset 0 0 0 1px #00000040;transition:background .05s linear}.combo-panel[data-tier="2"] .combo-panel__ring{background:conic-gradient(from -90deg,#ff9800 calc(var(--combo-p) * 1turn),#ffffff14 0)}.combo-panel[data-tier="3"] .combo-panel__ring,.combo-panel[data-tier="4"] .combo-panel__ring{background:conic-gradient(from -90deg,#ff5722 calc(var(--combo-p) * 1turn),#ffffff14 0)}.combo-panel__core{width:44px;height:44px;border-radius:50%;background:linear-gradient(160deg,#1a3d30,#0c2018);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border:1px solid rgba(240,208,120,.2)}.combo-panel__fire{font-size:10px;line-height:1;opacity:.85}.combo-panel.is-idle .combo-panel__fire{filter:grayscale(1);opacity:.45}.combo-panel__n{font-size:1.15rem;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;line-height:1}.combo-panel__meta{display:flex;flex-direction:column;gap:3px;min-width:100px}.combo-panel__title{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--gold)}.combo-panel__row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.combo-panel__mult{font-size:13px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.combo-panel__timer{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.combo-panel__bar{height:4px;border-radius:99px;background:#ffffff14;overflow:hidden;margin-top:2px}.combo-panel__bar-fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#f0d078,#ffb74d);width:0%;transition:width .05s linear}.combo-panel[data-tier="3"] .combo-panel__bar-fill,.combo-panel[data-tier="4"] .combo-panel__bar-fill{background:linear-gradient(90deg,#ff9800,#ff5252)}.btn{border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,#ffffff14,#00000038);color:var(--ink);border-radius:999px;padding:9px 15px;font-weight:650;font-size:13px;box-shadow:0 3px 10px #0003;transition:transform .14s var(--ease-out),filter .14s ease,background .14s ease}@media(hover:hover)and (pointer:fine){.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--ghost{background:#0000002e}.btn--gold{background:linear-gradient(180deg,#f6df98,#d4ad45);color:#1c1406;border-color:#f8e8b0;box-shadow:0 4px 14px #c896284d}.stage-wrap{flex:1;display:grid;place-items:center;padding:6px 18px 10px;min-height:0;position:relative;z-index:1}.table{width:min(100%,1140px);padding:0;filter:drop-shadow(0 28px 40px rgba(0,0,0,.45))}.table__rail{position:relative;border-radius:26px;padding:16px;background:linear-gradient(145deg,#d4a56a 0%,var(--wood-hi) 12%,var(--wood-mid) 42%,var(--wood-lo) 78%,#2a1608 100%);box-shadow:inset 0 2px #ffe6b459,inset 0 -8px 16px #00000059,0 2px #ffdca01a}.table__inlay{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:20px;border:1.5px solid rgba(240,208,120,.28);pointer-events:none;box-shadow:inset 0 0 0 1px #0003}.table__felt{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16 / 10;min-height:440px;background:radial-gradient(ellipse 75% 55% at 50% 40%,rgba(255,255,255,.14),transparent 58%),radial-gradient(ellipse 100% 80% at 50% 100%,rgba(0,0,0,.22),transparent 55%),repeating-linear-gradient(90deg,transparent 0,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 3px),repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.015) 3px,rgba(255,255,255,.015) 4px),linear-gradient(165deg,#22a068 0%,var(--felt) 38%,var(--felt-mid) 68%,var(--felt-dark) 100%);box-shadow:inset 0 0 0 2px #14503259,inset 0 30px 60px #ffffff0f,inset 0 -40px 70px #00000038}.table__felt-shine{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(125deg,rgba(255,255,255,.12) 0%,transparent 32%,transparent 70%,rgba(0,0,0,.08) 100%);z-index:0}.board{position:absolute;left:50%;top:50%;transform-origin:center center;will-change:transform;z-index:1}.tile{position:absolute;padding:0;border:0;background:transparent;transition:transform .16s cubic-bezier(.2,.9,.2,1),filter .16s ease;z-index:1;-webkit-tap-highlight-color:transparent;overflow:visible}.tile__cast{position:absolute;pointer-events:none;z-index:0;opacity:0;background:#00000047;transition:opacity .15s ease,filter .15s ease}.tile__cast--elev{left:2px;right:-1px;top:4px;bottom:-3px;border-radius:8px;filter:blur(4px);transform:translate(1px,3px)}.tile__cast--r{top:6px;bottom:2px;right:calc(-1 * var(--bevel-w) - 3px);width:7px;border-radius:0 6px 6px 0;filter:blur(2.5px);transform:translate(2px);background:#00000052}.tile__cast--b{left:4px;right:2px;bottom:calc(-1 * var(--bevel-w) - 3px);height:7px;border-radius:0 0 6px 6px;filter:blur(2.5px);transform:translateY(2px);background:#00000052}.tile__cast--c{right:calc(-1 * var(--bevel-w) - 2px);bottom:calc(-1 * var(--bevel-w) - 2px);width:10px;height:10px;border-radius:50%;filter:blur(3px);background:#0000004d}.tile.open-r:not(.is-removed) .tile__cast--r{opacity:1}.tile.open-b:not(.is-removed) .tile__cast--b{opacity:1}.tile.open-r.open-b:not(.is-removed) .tile__cast--c{opacity:1}.tile.is-elevated:not(.is-removed) .tile__cast--elev{opacity:.92}.tile.is-interior-se .tile__cast--r,.tile.is-interior-se .tile__cast--b,.tile.is-interior-se .tile__cast--c,.tile.is-interior .tile__cast--r,.tile.is-interior .tile__cast--b,.tile.is-interior .tile__cast--c{opacity:0!important}.tile.layer-0:not(.is-selected):not(.is-matching){filter:brightness(.9) saturate(.92)}.tile.layer-1:not(.is-selected):not(.is-matching){filter:brightness(.96) saturate(.96)}.tile.layer-2:not(.is-selected):not(.is-matching){filter:brightness(1)}.tile.layer-3:not(.is-selected):not(.is-matching),.tile.layer-4:not(.is-selected):not(.is-matching){filter:brightness(1.05) saturate(1.04)}.tile.is-buried:not(.is-selected):not(.is-matching){filter:brightness(.78) saturate(.82)}.tile.cover-2:not(.is-selected):not(.is-matching){filter:brightness(.72) saturate(.78)}.tile.cover-3:not(.is-selected):not(.is-matching),.tile.cover-4:not(.is-selected):not(.is-matching){filter:brightness(.66) saturate(.72)}.tile.is-free:not(.is-buried):not(.is-selected):not(.is-matching){filter:brightness(1.04) saturate(1.02)}.tile.layer-0.is-free:not(.is-buried):not(.is-selected):not(.is-matching){filter:brightness(.98) saturate(.96)}.tile.layer-0.open-r .tile__cast--r,.tile.layer-0.open-b .tile__cast--b{opacity:.9;background:#0000004d}.tile.layer-1 .tile__cast--elev{filter:blur(5.5px);transform:translate(2px,6px);background:#0006}.tile.layer-1.open-r .tile__cast--r,.tile.layer-1.open-b .tile__cast--b{background:#0000006b}.tile.layer-2 .tile__cast--elev{filter:blur(6.5px);transform:translate(3px,7px);background:#00000075}.tile.layer-2.open-r .tile__cast--r,.tile.layer-2.open-b .tile__cast--b{background:#0000007a}.tile.layer-3 .tile__cast--elev,.tile.layer-4 .tile__cast--elev{filter:blur(8px);transform:translate(4px,9px);background:#00000085}.tile.layer-3.open-r .tile__cast--r,.tile.layer-3.open-b .tile__cast--b,.tile.layer-4.open-r .tile__cast--r,.tile.layer-4.open-b .tile__cast--b{background:#0000008c;width:9px}.tile.layer-0 .tile__body{box-shadow:inset 0 1px #ffffffe6,0 1px 2px #00000014}.tile.layer-1 .tile__body{box-shadow:inset 0 1px #fffffff2,0 2px 4px #0000001f}.tile.layer-2 .tile__body{box-shadow:inset 0 1px #fffffff2,0 3px 6px #00000029}.tile.layer-3 .tile__body,.tile.layer-4 .tile__body{box-shadow:inset 0 1px #fffffffa,0 4px 10px #00000038}.tile__bevel{position:absolute;pointer-events:none;z-index:1;opacity:0}.tile:not(.is-removed) .tile__bevel--r,.tile:not(.is-removed) .tile__bevel--b,.tile:not(.is-removed) .tile__bevel--c{opacity:1}.tile__bevel--r{top:1px;right:calc(-1 * var(--bevel-w));width:var(--bevel-w);bottom:1px;border-radius:0 6px 4px 0;background:linear-gradient(90deg,var(--bevel-hi),var(--bevel-mid) 55%,var(--bevel-lo))}.tile__bevel--b{left:1px;right:1px;bottom:calc(-1 * var(--bevel-w));height:var(--bevel-w);border-radius:0 0 6px 4px;background:linear-gradient(180deg,var(--bevel-mid),var(--bevel-lo))}.tile__bevel--c{right:calc(-1 * var(--bevel-w));bottom:calc(-1 * var(--bevel-w));width:var(--bevel-w);height:var(--bevel-w);border-radius:0 0 7px;background:linear-gradient(135deg,var(--bevel-mid) 30%,#a86820 100%)}.tile.flush-r .tile__bevel--r,.tile.flush-b .tile__bevel--b,.tile.flush-r .tile__bevel--c,.tile.flush-b .tile__bevel--c{opacity:0!important}.tile.flush-b:not(.flush-r) .tile__bevel--r{bottom:0;border-radius:0 5px 2px 0}.tile.flush-r:not(.flush-b) .tile__bevel--b{right:0;border-radius:0 0 2px 5px}.tile__body{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:7px;background:linear-gradient(155deg,rgba(255,255,255,.55) 0%,transparent 42%),linear-gradient(180deg,#fffefb 0%,var(--tile-face) 55%,#f3ead8 100%);border:1px solid rgba(120,95,55,.22);box-shadow:inset 0 1px #fffffff2,inset 0 -1px #a0825014;display:grid;place-items:center;overflow:hidden}.tile__shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.28) 48%,transparent 60%);opacity:.45;pointer-events:none}.tile__body--png{background:#faf6ee;padding:18% 20%;display:grid;place-items:center}.tile__body--png .face-img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block;border-radius:2px;pointer-events:none;-webkit-user-select:none;user-select:none;transform:scale(.92);transform-origin:center center}.face-svg{width:56%;height:56%;display:block;position:relative;z-index:1}.face-img{max-width:100%;max-height:100%;pointer-events:none}.face-fallback{font-size:15px;font-weight:800;font-family:Noto Sans SC,sans-serif;z-index:1}.tile.is-free{cursor:pointer}@media(hover:hover)and (pointer:fine){html:not(.touch-input) .tile.is-free:hover:not(.is-selected):not(.is-matching){z-index:800!important;filter:brightness(1.1) saturate(1.06)}html:not(.touch-input) .tile.is-free:hover:not(.is-selected):not(.is-matching) .tile__body{box-shadow:inset 0 1px #fffffff2,0 0 0 2px #7dffb2bf,0 0 14px #7dffb259}html:not(.touch-input) .tile.is-free:hover:not(.is-selected).open-r .tile__cast--r,html:not(.touch-input) .tile.is-free:hover:not(.is-selected).open-b .tile__cast--b{filter:blur(3.5px);background:#00000073}}.tile.is-locked{cursor:default}.tile.is-selected{z-index:900!important;filter:brightness(1.1) saturate(1.06)!important}.tile.is-selected .tile__body{box-shadow:inset 0 1px #fffffff2,0 0 0 2.5px #e8a84a,0 0 0 6px #e8a84a59,0 4px 12px #00000047}.tile.is-selected .tile__cast--elev{opacity:1!important;filter:blur(8px);transform:translate(3px,10px);background:#0000007a}.tile.is-selected.open-r .tile__cast--r,.tile.is-selected.open-b .tile__cast--b{opacity:1!important;background:#00000085}.tile.is-hint .tile__body{box-shadow:inset 0 1px #fffffff2,0 0 0 2.5px #5eb8ff,0 0 0 6px #5eb8ff47;animation:hintPulse 1.1s ease-in-out infinite}@keyframes hintPulse{50%{filter:brightness(1.08)}}.tile.is-shake .tile__body{animation:shake .4s ease}@keyframes shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.tile.is-matching{z-index:1000!important;pointer-events:none}.tile.is-removed{pointer-events:none;opacity:0;visibility:hidden}@keyframes dealIn{0%{opacity:0;transform:translateY(-18px) scale(.78) rotate(-1.5deg)}62%{opacity:1;transform:translateY(2px) scale(1.035) rotate(.4deg)}to{opacity:1;transform:none}}.fx-fly-tile{filter:drop-shadow(4px 10px 14px rgba(0,0,0,.4)) brightness(1.08)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:none;place-items:center;background:#041e14b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;padding:20px;animation:fadeIn .25s ease}.overlay.is-open{display:grid}@keyframes fadeIn{0%{opacity:0}}.modal{width:min(420px,100%);background:linear-gradient(180deg,#1f5a45,#123c2e);border:1px solid rgba(240,208,120,.4);border-radius:20px;padding:28px 22px;text-align:center;box-shadow:var(--shadow);animation:modalIn .32s cubic-bezier(.2,1.1,.3,1)}@keyframes modalIn{0%{transform:scale(.92) translateY(10px);opacity:0}}.modal h2{margin:0 0 8px;font-size:1.55rem;color:var(--gold)}.modal p{margin:0 0 18px;color:var(--muted);line-height:1.5}.modal .actions{display:flex;justify-content:center;gap:8px}.hint-fab{position:fixed;right:22px;bottom:68px;z-index:46;min-width:64px;height:44px;padding:0 16px;border-radius:999px;font-weight:750;font-size:13px;color:#1a2e22;background:linear-gradient(180deg,#fff8e8,#e8d4a0);border:1px solid rgba(255,245,210,.9);box-shadow:0 8px 22px #0000004d,0 0 0 3px #f0d07826;display:inline-flex;align-items:center;gap:6px;transition:transform .15s var(--ease-out)}.hint-fab__ico{font-size:14px}@media(hover:hover)and (pointer:fine){.hint-fab:hover:not(:disabled){transform:scale(1.05)}}.hint-fab:active:not(:disabled){transform:scale(.97)}.hint-fab:disabled{opacity:.4;cursor:not-allowed}.game-footer{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 22px 12px;background:linear-gradient(0deg,#03100ceb,#061c148c);border-top:1px solid rgba(240,208,120,.1)}.game-footer__brand{display:flex;align-items:center;gap:10px;color:#e8f5eee6}.game-footer__brand strong{display:block;font-size:13px;font-weight:700}.game-footer__brand small{display:block;font-size:11px;color:var(--muted);margin-top:1px}.game-footer__tile{font-size:22px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.game-footer__best{font-size:12px;color:var(--muted)}.game-footer__best b{color:var(--gold);font-size:14px;margin-left:4px}.fx-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;overflow:hidden}.fx-particle{position:fixed;border-radius:50%;transform:translate(-50%,-50%);animation:particle .85s cubic-bezier(.15,.8,.2,1) forwards;box-shadow:0 0 10px currentColor}@keyframes particle{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.1)}}.fx-ring{position:fixed;border-radius:50%;border:3px solid rgba(240,208,120,.9);transform:translate(-50%,-50%) scale(.2);animation:ringBurst .55s cubic-bezier(.15,.85,.2,1) forwards;box-shadow:0 0 20px #f0d07899;pointer-events:none}.fx-ring--t3,.fx-ring--t4{border-width:4px;animation-duration:.65s}@keyframes ringBurst{to{opacity:0;transform:translate(-50%,-50%) scale(2.4);border-width:0}}.fx-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 45%,rgba(255,230,150,.28),transparent 55%);animation:flashOut .28s ease-out forwards}.fx-flash--t3{background:radial-gradient(circle at 50% 45%,rgba(255,140,80,.32),transparent 55%)}.fx-flash--t4{background:radial-gradient(circle at 50% 45%,rgba(255,80,100,.35),transparent 50%)}@keyframes flashOut{0%{opacity:1}to{opacity:0}}.fx-float-score{position:fixed;transform:translate(-50%,-50%);font-weight:800;font-size:26px;color:var(--gold);text-shadow:0 2px 0 rgba(80,50,0,.35),0 4px 16px rgba(0,0,0,.55);animation:floatScore 1s ease-out forwards;white-space:nowrap;z-index:110}.fx-float-score--t1{font-size:28px}.fx-float-score--t2{font-size:32px;color:#ffb74d}.fx-float-score--t3{font-size:36px;color:#ff8a50;text-shadow:0 0 18px rgba(255,120,40,.6),0 4px 16px rgba(0,0,0,.5)}.fx-float-score--t4{font-size:40px;color:#ff5252;text-shadow:0 0 22px rgba(255,60,80,.7),0 4px 18px rgba(0,0,0,.55);animation:floatScoreBig 1.15s ease-out forwards}.fx-float-score--t5{font-size:44px;color:#e040fb;text-shadow:0 0 28px rgba(224,64,251,.8),0 4px 18px rgba(0,0,0,.55);animation:floatScoreBig 1.2s ease-out forwards}.fx-combo-callout--t5 .fx-combo-callout__x{color:#e040fb;font-size:64px;text-shadow:0 0 28px rgba(224,64,251,.8)}.fx-flash--t5{background:radial-gradient(circle at 50% 45%,rgba(224,64,251,.35),transparent 52%)}.fx-praise-wrap{position:fixed;z-index:270;pointer-events:none;transform:translate(-50%,-50%);animation:praiseDock 1.45s cubic-bezier(.23,1,.32,1) forwards}.fx-praise-wrap--amazing{animation-duration:1.7s}.fx-praise-wrap--fantasy{animation-duration:2s}.fx-praise-card{position:relative;text-align:center;padding:10px 22px;border-radius:16px;background:linear-gradient(160deg,#122a20f5,#06120ef5);border:1.5px solid rgba(240,208,120,.55);box-shadow:0 10px 28px #00000073,0 0 24px #f0d07838;animation:praiseCard .4s cubic-bezier(.2,1.25,.3,1) both;min-width:140px;white-space:nowrap}.fx-praise-wrap--good .fx-praise-card{border-color:#81c784bf;box-shadow:0 10px 28px #0006,0 0 28px #64c87866}.fx-praise-wrap--amazing .fx-praise-card{border-color:#ffb74dd9;box-shadow:0 10px 28px #0006,0 0 32px #ffa02873}.fx-praise-wrap--fantasy .fx-praise-card{border-color:#e040fbe6;box-shadow:0 10px 28px #00000073,0 0 36px #e040fb80}.fx-praise-word{font-size:clamp(22px,4.2vw,32px);font-weight:900;letter-spacing:.02em;line-height:1.1;color:#fff}.fx-praise-wrap--good .fx-praise-word{color:#c8f0c8;text-shadow:0 0 16px rgba(120,220,140,.75)}.fx-praise-wrap--amazing .fx-praise-word{color:#ffe082;text-shadow:0 0 18px rgba(255,180,40,.85)}.fx-praise-wrap--fantasy .fx-praise-word{color:#f3a8ff;text-shadow:0 0 22px rgba(224,64,251,.9);font-size:clamp(24px,4.6vw,36px)}.fx-praise-sub{margin-top:2px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#f0e6c8d1}@keyframes praiseDock{0%{opacity:0;transform:translate(-50%,-40%) scale(.88)}14%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}72%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-70%) scale(.94)}}@keyframes praiseCard{0%{opacity:0;transform:scale(.85) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.fx-score-gain{position:fixed;z-index:260;pointer-events:none;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:2px;font-weight:900;font-variant-numeric:tabular-nums;color:#fff8e1;-webkit-text-stroke:1.5px rgba(90,45,10,.22);text-shadow:0 2px 0 rgba(80,50,0,.35),0 6px 20px rgba(0,0,0,.5);will-change:transform,opacity;filter:drop-shadow(0 0 12px rgba(240,208,120,.45))}.fx-score-gain__plus{font-size:.72em;opacity:.9}.fx-score-gain__num{letter-spacing:-.02em}.fx-score-gain__mult{margin-left:6px;font-size:.42em;font-weight:800;color:#ffe082;opacity:.95;align-self:center}.fx-score-gain__spark{position:absolute;left:50%;top:50%;width:100%;height:100%;transform:translate(-50%,-50%) scale(1.6);border-radius:50%;background:radial-gradient(circle,rgba(255,240,180,.35),transparent 65%);z-index:-1;animation:scoreSpark 1.2s ease-out infinite;pointer-events:none}.fx-score-gain--t0{font-size:34px}.fx-score-gain--t1{font-size:40px;color:#fff3c4}.fx-score-gain--t2{font-size:48px;color:#fc6;filter:drop-shadow(0 0 16px rgba(255,180,60,.55))}.fx-score-gain--t3{font-size:56px;color:#ffb74d;filter:drop-shadow(0 0 20px rgba(255,140,40,.65));animation:scorePulse .45s ease-in-out infinite alternate}.fx-score-gain--t4{font-size:64px;color:#ff7043;filter:drop-shadow(0 0 24px rgba(255,80,40,.7));animation:scorePulse .38s ease-in-out infinite alternate}.fx-score-gain--t5{font-size:72px;color:#e040fb;filter:drop-shadow(0 0 28px rgba(224,64,251,.8));animation:scorePulse .32s ease-in-out infinite alternate}.fx-score-gain.is-flying .fx-score-gain__mult,.fx-score-gain.is-flying .fx-score-gain__spark{opacity:0}.fx-score-gain.is-flying{animation:none}@keyframes scorePulse{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-54%) scale(1.06)}}@keyframes scoreSpark{0%{opacity:.7;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(2)}}.hud__chip--score.is-score-hit{animation:scoreChipHit .55s cubic-bezier(.2,1.2,.3,1)}.hud__chip--score.is-score-hit--t3,.hud__chip--score.is-score-hit--t4,.hud__chip--score.is-score-hit--t5{box-shadow:0 0 0 2px #f0d0788c,0 0 22px #f0d07873}.hud__chip--score [data-stat=score].is-rolling{color:#ffe082;text-shadow:0 0 12px rgba(240,208,120,.55)}@keyframes scoreChipHit{0%{transform:scale(1)}35%{transform:scale(1.14)}to{transform:scale(1)}}body.fx-shake-board{animation:boardShake .32s ease}@keyframes boardShake{20%{transform:translate(-3px,1px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-2px)}80%{transform:translate(2px,1px)}}.lb-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:none;place-items:center;background:#030e0ab8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px}.lb-modal.is-open{display:grid}.lb-modal__card{width:min(440px,100%);max-height:min(80vh,640px);overflow:auto;background:linear-gradient(180deg,#1a3d30,#0e241c);border:1px solid rgba(240,208,120,.35);border-radius:20px;padding:20px 18px 16px;box-shadow:0 24px 60px #00000080;animation:modalIn .3s cubic-bezier(.23,1,.32,1)}.lb-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.lb-modal__head h2{margin:0;font-size:1.25rem;color:var(--gold)}.lb-modal__close{width:36px;height:36px;border-radius:10px;font-size:22px;line-height:1;background:#ffffff14;color:#fff}.lb-modal__note,.lb-modal__rank,.lb-modal__foot{margin:8px 0;font-size:12px;color:var(--muted);line-height:1.45}.lb-modal__rank strong{color:var(--gold)}.lb__list{display:flex;flex-direction:column;gap:4px;margin:12px 0}.lb__row{display:grid;grid-template-columns:36px 1fr 52px 72px;gap:6px;align-items:center;padding:8px 10px;border-radius:10px;background:#ffffff0a;font-size:13px}.lb__row--head{background:transparent;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px}.lb__row.is-you{background:#f0d07824;border:1px solid rgba(240,208,120,.3)}.lb__row.is-top1 .lb__rank{color:#ffd54f;font-weight:800}.lb__row.is-top2 .lb__rank{color:#cfd8dc;font-weight:800}.lb__row.is-top3 .lb__rank{color:#ffab91;font-weight:800}.lb__score{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:#fff}.lb__combo{text-align:center;color:var(--gold);font-size:12px}@keyframes floatScore{0%{opacity:0;transform:translate(-50%,-30%) scale(.5)}15%{opacity:1;transform:translate(-50%,-80%) scale(1.35)}to{opacity:0;transform:translate(-50%,-180%) scale(1)}}@keyframes floatScoreBig{0%{opacity:0;transform:translate(-50%,-20%) scale(.4) rotate(-6deg)}18%{opacity:1;transform:translate(-50%,-90%) scale(1.45) rotate(2deg)}to{opacity:0;transform:translate(-50%,-200%) scale(1.05) rotate(0)}}.fx-combo-callout{position:fixed;left:50%;top:22%;z-index:270;transform:translate(-50%);rotate:-1.4deg;display:flex;flex-direction:column;align-items:center;z-index:160;padding:13px 26px 12px;border-radius:22px;background:linear-gradient(180deg,#fffdf3,#ffe39a);border:3px solid #17110b;box-shadow:0 7px #17110b,0 18px 34px #0006;pointer-events:none;animation:comboCall .82s cubic-bezier(.34,1.56,.64,1) forwards}.fx-combo-callout--low{rotate:1.4deg}.fx-combo-callout:after,.fx-combo-callout:before{content:"";position:absolute;left:50%;width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;pointer-events:none}.fx-combo-callout:after{bottom:-19px;transform:translate(-50%);border-top:19px solid #17110b}.fx-combo-callout:before{bottom:-13px;transform:translate(-50%);border-top:13px solid #ffe39a;z-index:1}.fx-combo-callout__emoji{position:absolute;top:-28px;right:-22px;z-index:3;font-size:48px;line-height:1;transform:rotate(9deg);filter:drop-shadow(2px 0 0 #17110b) drop-shadow(-2px 0 0 #17110b) drop-shadow(0 2px 0 #17110b) drop-shadow(0 -2px 0 #17110b) drop-shadow(0 5px 0 rgba(23,17,11,.35));animation:emojiPop .5s cubic-bezier(.34,1.56,.64,1) both}.fx-combo-callout__x{font-size:50px;font-weight:900;color:#fff;line-height:1;letter-spacing:-.03em;-webkit-text-stroke:3px #17110b;paint-order:stroke fill;text-shadow:0 4px 0 rgba(23,17,11,.22)}.fx-combo-callout__lab{font-size:17px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#d93b22;margin-top:3px;-webkit-text-stroke:2px #17110b;paint-order:stroke fill;text-shadow:0 2px 0 rgba(23,17,11,.18)}.fx-combo-callout--t2 .fx-combo-callout__x{color:#ffd23f;font-size:56px}.fx-combo-callout--t3 .fx-combo-callout__x{color:#ff9f1c;font-size:62px}.fx-combo-callout--t4 .fx-combo-callout__x{color:#ff5a36;font-size:68px}.fx-combo-callout--t5 .fx-combo-callout__x{color:#c33cff;font-size:72px}@keyframes emojiPop{0%{opacity:0;transform:scale(.3) rotate(-18deg)}55%{opacity:1;transform:scale(1.22) rotate(13deg)}to{opacity:1;transform:scale(1) rotate(9deg)}}@keyframes comboCall{0%{opacity:0;transform:translate(-50%,14px) scale(.55) rotate(-3deg)}18%{opacity:1;transform:translate(-50%) scale(1.16) rotate(1.5deg)}42%{transform:translate(-50%,-2px) scale(.98) rotate(-.6deg)}62%{opacity:1;transform:translate(-50%,-4px) scale(1.03) rotate(0)}to{opacity:0;transform:translate(-50%,-18px) scale(.96)}}@media(max-width:1180px){:root{--bevel-w: 5px}.hud{grid-template-columns:auto 1fr;gap:8px}.hud__tools{grid-column:1 / -1;justify-content:center}.combo-panel{min-width:0;width:100%;max-width:280px}.table__felt{min-height:360px}.hint-fab{right:12px;bottom:56px}.tile__body--png{padding:9% 11%}.tile__body--png .face-img{transform:scale(1.03)}.tile.is-selected .tile__body{box-shadow:inset 0 1px #fffffff2,0 0 0 3px #e8a84a,0 0 0 8px #e8a84a61,0 4px 12px #0000004d!important}.tile.is-hint .tile__body{box-shadow:inset 0 1px #fffffff2,0 0 0 3px #5eb8ff,0 0 0 8px #5eb8ff4d,0 4px 10px #00000047!important}.tile:after{inset:-2px calc(-1 * var(--bevel-w) - 2px) calc(-1 * var(--bevel-w) - 2px) -2px}.game-footer__brand small{display:none}}.screen{min-height:100vh;display:flex;flex-direction:column;position:relative}.screen--home{background:radial-gradient(ellipse 70% 50% at 50% 35%,rgba(40,120,80,.35),transparent 60%),linear-gradient(165deg,#0c3d2c,#0a2a1e 45%,#061810);overflow:hidden}.home-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.home-bg__glow{position:absolute;width:520px;height:520px;left:50%;top:28%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(80,180,120,.2),transparent 65%);filter:blur(20px)}.home-bg__frame{position:absolute;top:6%;right:8%;bottom:6%;left:8%;border:1.5px solid rgba(212,175,90,.22);border-radius:28px;box-shadow:inset 0 0 60px #00000026}.home-top{position:relative;z-index:2;padding:14px 18px}.home-hero{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:12px 16px 24px}.home-art{position:relative;width:min(420px,88vw);height:200px}.home-art__panel{position:absolute;top:10%;right:12%;bottom:10%;left:12%;border-radius:18px;background:linear-gradient(145deg,#3c8c5a59,#143c2880),linear-gradient(180deg,#1a6b48,#0e4030);border:3px solid rgba(212,160,70,.55);box-shadow:0 18px 40px #0006}.home-art__tile{position:absolute;width:58px;height:74px;border-radius:8px;background:linear-gradient(160deg,#fffefb,#f3ead8);border:1px solid rgba(120,90,40,.3);box-shadow:4px 5px #d4923a,6px 8px 14px #0000004d;display:grid;place-items:center;font-family:Noto Sans SC,sans-serif;font-weight:900;font-size:28px;color:#1a237e}.home-art__tile--a{left:28%;top:18%;transform:rotate(-12deg);z-index:2}.home-art__tile--b{left:44%;top:10%;transform:rotate(4deg);z-index:3;color:#c62828;font-size:30px}.home-art__tile--c{left:56%;top:22%;transform:rotate(14deg);z-index:2;color:#2e7d32}.home-art__bird{position:absolute;right:16%;bottom:18%;font-size:28px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}.home-art__bloom{position:absolute;left:14%;bottom:20%;font-size:26px}.home-art__bamboo{position:absolute;right:10%;top:8%;font-size:32px;opacity:.9}.home-title__badge{background:linear-gradient(180deg,#3ecf9a,#1a9e72 45%,#0d7a58);border:3px solid rgba(180,255,220,.45);border-radius:18px 18px 22px 22px;padding:14px 36px 16px;text-align:center;box-shadow:0 12px 28px #0006,inset 0 2px #ffffff40;min-width:min(360px,86vw)}.home-title__main{display:block;font-size:clamp(28px,7vw,42px);font-weight:900;letter-spacing:.04em;color:#fff8e0;text-shadow:0 3px 0 rgba(0,60,40,.35),0 8px 18px rgba(0,0,0,.35);line-height:1.05}.home-title__sub{display:block;margin-top:2px;font-size:clamp(16px,3.5vw,22px);font-weight:800;letter-spacing:.28em;color:#e8fff4;opacity:.92}.home-play{margin-top:6px;min-width:168px;padding:14px 42px;border-radius:999px;font-size:1.35rem;font-weight:800;font-style:italic;color:#0a281c;background:linear-gradient(180deg,#b8f0d0,#5ecf98 50%,#3aa876);border:2px solid rgba(255,255,255,.55);box-shadow:0 8px 22px #00000059,inset 0 2px #ffffff73;cursor:pointer;transition:transform .15s cubic-bezier(.23,1,.32,1),filter .15s ease}@media(hover:hover)and (pointer:fine){.home-play:hover{transform:scale(1.05);filter:brightness(1.06)}}.home-play:active{transform:scale(.97)}.home-play--sm{margin:8px auto 0;display:block;font-size:1.05rem;padding:12px 32px;min-width:140px}.home-hint{margin:0;font-size:12px;color:#c8e6d2b3;letter-spacing:.04em}.home-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:10px 18px 14px;border-top:1px solid rgba(255,255,255,.06);background:#0003}.home-foot__brand{font-size:13px;font-weight:650;color:#e6f5ebe6}.screen--layouts{background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(20,80,55,.5),transparent 60%),linear-gradient(165deg,#072419,#041510);align-items:center;justify-content:center;padding:20px}.layouts-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040}.layouts-modal{position:relative;z-index:2;width:min(720px,100%);background:linear-gradient(160deg,#1e5a41f2,#0c3022fa);border:3px solid rgba(212,160,70,.65);border-radius:20px;padding:22px 20px 18px;box-shadow:0 28px 70px #0000008c,inset 0 1px #ffffff1a;animation:modalIn .35s cubic-bezier(.23,1,.32,1)}.layouts-modal__close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#286446e6;border:2px solid rgba(180,220,190,.4);color:#e8fff4;font-size:22px;line-height:1;cursor:pointer}.layouts-modal__close:hover{filter:brightness(1.1)}.layouts-modal__title{margin:0;text-align:center;font-size:1.55rem;font-weight:800;color:#f5e6b8;text-shadow:0 2px 8px rgba(0,0,0,.35)}.layouts-modal__cat{margin:4px 0 16px;text-align:center;font-size:13px;color:#dcf0d2bf;letter-spacing:.06em}.layouts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.layout-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px 10px 12px;border-radius:14px;background:linear-gradient(180deg,#144632f2,#0a281cfa);border:2px solid rgba(255,255,255,.1);cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;color:inherit;text-align:center}@media(hover:hover)and (pointer:fine){.layout-card:hover{transform:translateY(-2px);border-color:#f0d07873;box-shadow:0 10px 24px #0000004d}}.layout-card.is-selected,.layout-card:focus-visible{border-color:#f0d078d9;box-shadow:0 0 0 2px #f0d07840}.layout-card__trophy{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;color:#f0d078}.layout-card__trophy strong{font-variant-numeric:tabular-nums;font-weight:700}.layout-card__preview{height:100px;border-radius:10px;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(255,255,255,.08),transparent 60%),linear-gradient(165deg,#1a8a5c,#0f5a3c);border:1px solid rgba(0,0,0,.2);overflow:hidden;display:grid;place-items:center}.layout-card__svg{width:100%;height:100%;display:block}.layout-card__name{margin-top:4px;font-size:14px;font-weight:750;color:#f5f2e8}.layout-card__blurb{font-size:11px;color:#c8dcd2a6}@media(max-width:640px){.layouts-grid{grid-template-columns:repeat(2,1fr)}.home-art{height:160px}}html{-webkit-text-size-adjust:100%}html,body{height:100%;overscroll-behavior:none}#app{min-height:100vh;min-height:100dvh}.game-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden;user-select:none;-webkit-user-select:none}.hud{flex:0 0 auto}.stage-wrap{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center}.table{width:min(100%,1140px);height:100%;max-height:100%}.table__rail{height:100%}.table__felt{height:100%;aspect-ratio:auto;min-height:0}.board{will-change:transform}.board.is-dealing{animation:boardDealIn .34s var(--ease-out) both}@keyframes boardDealIn{0%{opacity:0}}.tile.is-deal{animation:dealIn .34s cubic-bezier(.22,.9,.25,1) both}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tile{touch-action:manipulation;user-select:none;-webkit-user-select:none}.tile:after{content:"";position:absolute;inset:-3px calc(-1 * var(--bevel-w) - 2px) calc(-1 * var(--bevel-w) - 2px) -3px;border-radius:8px;z-index:0}.tile.is-pressed{transform:scale(.94);filter:brightness(1.14) saturate(1.05);transition-duration:.07s}.tile.is-selected{animation:selectedPop .24s var(--ease-out)}@keyframes selectedPop{0%{transform:scale(.92,.9)}55%{transform:scale(1.065,1.04) translateY(-1px)}to{transform:none}}.tile:focus-visible{outline:none}.tile:focus-visible .tile__body{box-shadow:inset 0 1px #fffffff2,0 0 0 2px #7dffb2,0 0 0 5px #7dffb24d}.combo-panel__ring{--combo-p: inherit}.combo-panel__bar-fill{width:100%;transform-origin:left center;transform:scaleX(var(--combo-p, 0));transition:none}.fx-layer{contain:layout paint}.mobile-dock{display:none}@media(max-width:1180px){:root{--bevel-w: 5px}.game-shell{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.hud{display:flex;align-items:center;gap:6px;padding:calc(6px + env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left))}.hud__menu{width:40px;height:40px;flex:0 0 auto;border-radius:11px}.hud__center{flex:1 1 auto;flex-direction:row;align-items:center;gap:0;min-width:0}.hud__stats{flex:1 1 auto;flex-wrap:nowrap;gap:4px;padding:4px 5px;border-radius:12px;min-width:0}.hud__chip{min-height:30px;padding:2px 6px;border-radius:8px;gap:3px}.hud__chip--pair{min-width:0;flex-direction:row;padding:3px 7px}.hud__chip--pair .hud__label{display:none}.hud__chip--pair:before{content:"⇄";font-size:11px;line-height:1;color:var(--muted)}.hud__chip--row,.hud__chip--score{min-width:0;padding:4px 7px}.hud__chip strong{font-size:.9rem}.hud__icon{font-size:11px}.hud__mul{font-size:10px}.hud__tools{flex:0 0 auto;flex-wrap:nowrap;gap:4px}.hud__tools .btn{width:40px;height:40px;min-height:0;padding:0;border-radius:11px;display:inline-grid;place-items:center;font-size:15px;line-height:1}.hud__tools .btn:not([data-act=lb-open]){display:none}.combo-panel{position:absolute;top:calc(100% + 4px);left:50%;translate:-50% 0;transform:none;z-index:45;pointer-events:none;min-width:0;width:auto;padding:4px 12px 4px 4px;border-radius:999px;gap:8px;background:linear-gradient(135deg,#0c2018db,#06120dcc);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #00000059}.combo-panel.is-idle{opacity:1}.combo-panel.is-idle .combo-panel__meta{opacity:.55}.combo-panel__ring{width:40px;height:40px}.combo-panel__core{width:32px;height:32px}.combo-panel__fire{font-size:9px}.combo-panel__n{font-size:1rem}.combo-panel__meta{min-width:74px;gap:2px}.combo-panel__title{display:none}.combo-panel__row{gap:8px;justify-content:flex-start}.combo-panel__mult{font-size:12px}.combo-panel__timer{font-size:11px;margin-left:auto}.combo-panel__bar{height:3px}.stage-wrap{padding:2px 5px 3px}.table{width:100%;height:100%;filter:drop-shadow(0 10px 18px rgba(0,0,0,.4))}.table__rail{padding:6px;border-radius:16px}.table__inlay{top:4px;right:4px;bottom:4px;left:4px;border-radius:12px}.table__felt{border-radius:11px}.tile__body--png{padding:9% 11%}.tile__body--png .face-img{transform:scale(1.03)}.game-footer,.hint-fab{display:none}.mobile-dock{position:relative;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:4px max(8px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:linear-gradient(0deg,#03100cf7,#061c14c7);border-top:1px solid rgba(240,208,120,.12)}.dock__btn{min-height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:10px;font-weight:700;color:var(--ink);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .14s var(--ease-out),background .14s ease,opacity .14s ease}.dock__btn:active:not(:disabled){transform:scale(.95);background:#ffffff1f}.dock__btn:disabled{opacity:.38}.dock__btn[aria-pressed=true]{background:#f0d0782e;border-color:#f0d0788c;color:#ffe9a8}.dock__ico{font-size:16px;line-height:1}.dock__label{line-height:1}.fx-combo-callout{top:26%}.screen{min-height:100vh;min-height:100dvh}.home-top{padding-top:calc(14px + env(safe-area-inset-top))}.home-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}@media(max-width:1180px)and (orientation:landscape)and (max-height:560px){.hud{gap:4px;padding-top:calc(2px + env(safe-area-inset-top));padding-bottom:2px}.hud__menu{width:34px;height:34px}.hud__stats{padding:2px 4px}.hud__chip{min-height:28px}.hud__tools .btn{width:34px;height:34px}.combo-panel{position:static;translate:none;transform:none;margin-left:auto;padding:2px 10px 2px 5px;gap:6px}.combo-panel__ring{width:34px;height:34px}.combo-panel__core{width:27px;height:27px}.combo-panel__meta{min-width:62px}.combo-panel__mult{font-size:11px}.combo-panel__timer{font-size:10px}.combo-panel[data-tier="3"],.combo-panel[data-tier="4"],.combo-panel[data-tier="5"]{animation:none}.stage-wrap{padding:2px 60px 3px 5px}.mobile-dock{position:fixed;right:max(5px,env(safe-area-inset-right));left:auto;top:50%;translate:0 -50%;display:flex;flex-direction:column;gap:4px;width:52px;padding:4px;border:1px solid rgba(240,208,120,.22);border-radius:14px;background:#041610d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 20px #00000059}.dock__btn{min-height:38px;font-size:9px;border-radius:10px}.dock__ico{font-size:14px}.home-hero{gap:6px;padding:4px 12px 6px}.home-art{height:72px;width:min(280px,56vw)}.home-art__panel{top:8%;right:18%;bottom:8%;left:18%}.home-art__tile{width:38px;height:48px;font-size:18px}.home-title__badge{padding:6px 20px 8px;min-width:0}.home-play{padding:8px 28px;font-size:1.1rem}.home-hint{display:none}.home-foot{padding:4px 12px}.screen--layouts{justify-content:flex-start;padding:8px;overflow-y:auto}.layouts-modal{padding:14px 16px 12px}.layouts-grid{grid-template-columns:repeat(3,1fr);gap:8px}.layout-card__preview{height:64px}}@media(pointer:coarse){#stage{touch-action:none}#stage .overlay,#stage .modal{touch-action:auto}}@media(max-width:1180px){.tile{filter:none!important}.tile__cast{display:none!important}.tile .tile__body{box-shadow:inset 0 1px #ffffffeb,0 2px #c4843c8c,0 4px 8px #00000042!important}.tile.is-selected .tile__body{box-shadow:inset 0 1px #fffffff2,0 0 0 3px #e8a84a,0 0 0 8px #e8a84a61,0 4px 12px #0000004d!important}.tile.is-hint .tile__body{box-shadow:inset 0 1px #fffffff2,0 0 0 3px #5eb8ff,0 0 0 8px #5eb8ff4d,0 4px 10px #00000047!important}.table{filter:none}.table__rail{box-shadow:inset 0 2px #ffe6b459,inset 0 -8px 16px #00000059,0 10px 24px #0006}}@media(max-width:1180px){.mobile-dock{grid-template-columns:repeat(5,1fr);gap:5px}.dock__label{font-size:9px;letter-spacing:.01em}.hud__menu,.hud__tools .btn{width:44px;height:44px}}@media(max-width:1180px)and (orientation:landscape)and (max-height:560px){.hud__menu,.hud__tools .btn{width:34px;height:34px}}.play-tip{position:fixed;left:50%;bottom:calc(68px + env(safe-area-inset-bottom));translate:-50% 0;z-index:60;pointer-events:none;max-width:calc(100vw - 36px);padding:8px 14px;border-radius:999px;background:#061610eb;border:1px solid rgba(240,208,120,.35);color:#f7f2e8;font-size:12px;font-weight:600;text-align:center;box-shadow:0 8px 20px #0000006b;animation:tipIn .3s var(--ease-out) both}.play-tip.is-hiding{opacity:0;transition:opacity .24s ease}@keyframes tipIn{0%{opacity:0;transform:translateY(6px)}}@media(max-width:1180px)and (orientation:landscape)and (max-height:560px){.mobile-dock{width:54px}.stage-wrap{padding-right:62px}.dock__btn{min-height:40px;border-radius:11px}}@media(max-width:1180px)and (orientation:landscape)and (max-height:560px){.layouts-modal{padding:10px 14px 8px}.layouts-modal__title{font-size:1.15rem}.layouts-modal__cat{margin:2px 0 8px;font-size:11px}.layouts-modal__close{top:6px;right:8px;width:30px;height:30px;font-size:18px}.layouts-grid{gap:6px}.layout-card{padding:5px 6px 6px;gap:2px;border-radius:11px}.layout-card__trophy{font-size:9px}.layout-card__preview{height:46px}.layout-card__name{font-size:12px;margin-top:2px}.layout-card__blurb{display:none}.home-play--sm{margin-top:6px;padding:8px 24px;font-size:.95rem;min-width:0}}@media(max-width:1180px){.layouts-modal__close,.lb-modal__close{width:44px;height:44px;min-width:44px;min-height:44px}.home-foot .btn--sm{min-height:44px;display:inline-flex;align-items:center}}@media(max-width:1180px)and (orientation:landscape)and (max-height:560px){.layouts-modal__close,.lb-modal__close{width:34px;height:34px;min-width:34px;min-height:34px}}.tile__body{transform-origin:center center;transition:transform .16s cubic-bezier(.34,1.56,.64,1),filter .14s ease}.tile.is-pressed{transform:none;filter:none}.tile.is-pressed .tile__body{transform:scale(.9,.86) translateY(1px);filter:brightness(1.15) saturate(1.08);transition-duration:.06s}.tile.is-selected{animation:none}.tile.is-selected .tile__body{animation:selectedPop .28s cubic-bezier(.34,1.56,.64,1)}@media(max-width:1180px){.tile>.tile__body:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:transparent;transition:background-color .16s ease}.tile.layer-1:not(.is-selected):not(.is-hint):not(.is-matching)>.tile__body:after{background:#ffffff0d}.tile.layer-2:not(.is-selected):not(.is-hint):not(.is-matching)>.tile__body:after{background:#ffffff14}.tile.layer-3:not(.is-selected):not(.is-hint):not(.is-matching)>.tile__body:after,.tile.layer-4:not(.is-selected):not(.is-hint):not(.is-matching)>.tile__body:after{background:#ffffff1c}.tile.is-locked:not(.is-selected):not(.is-hint):not(.is-matching)>.tile__body:after{background:#06140e24}.tile.is-buried:not(.is-selected):not(.is-hint):not(.is-matching)>.tile__body:after{background:#06140e38}.tile.cover-2:not(.is-selected):not(.is-hint):not(.is-matching)>.tile__body:after{background:#06140e4d}.tile.cover-3:not(.is-selected):not(.is-hint):not(.is-matching)>.tile__body:after,.tile.cover-4:not(.is-selected):not(.is-hint):not(.is-matching)>.tile__body:after{background:#06140e5c}}.fx-ring--soft{border-width:2px;border-color:#fff4d2cc;animation:ringSoft .45s ease-out forwards;box-shadow:0 0 12px #f0d07866}@keyframes ringSoft{0%{opacity:0;transform:translate(-50%,-50%) scale(.75)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.35)}}.home-foot__ver{margin-left:6px;padding:1px 6px;border-radius:999px;border:1px solid rgba(240,208,120,.28);color:#f0e8d2bf;font-size:10px;font-weight:600}.fx-tap-ring{position:fixed;width:24px;height:24px;border-radius:50%;border:2.5px solid rgba(255,228,150,.95);transform:translate(-50%,-50%) scale(.55);box-shadow:0 0 12px #ffd7788c,inset 0 0 6px #fff5c873;pointer-events:none;animation:tapRingPop .24s cubic-bezier(.15,.8,.2,1) forwards}.fx-tap-ring.is-locked{border-color:#ff6e64e6;box-shadow:0 0 12px #ff504673}@keyframes tapRingPop{0%{opacity:.95;transform:translate(-50%,-50%) scale(.55)}to{opacity:0;transform:translate(-50%,-50%) scale(2.15)}}.fx-tap-spark{position:fixed;width:3px;height:3px;border-radius:50%;background:#fff2c4;box-shadow:0 0 6px #ffdc82e6;transform:translate(-50%,-50%);pointer-events:none;animation:tapSparkFly .27s ease-out forwards}@keyframes tapSparkFly{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.3)}}.fx-match-link{position:fixed;height:3px;border-radius:3px;background:linear-gradient(90deg,#fff0b414,#ffe28cf2,#fff0b414);box-shadow:0 0 10px #ffd66ecc;transform-origin:left center;pointer-events:none;animation:matchLinkDraw .28s cubic-bezier(.2,.8,.2,1) forwards}@keyframes matchLinkDraw{0%{opacity:0;transform:translateY(-50%) rotate(var(--ang)) scaleX(0)}30%{opacity:.95}65%{opacity:.8;transform:translateY(-50%) rotate(var(--ang)) scaleX(1)}to{opacity:0;transform:translateY(-50%) rotate(var(--ang)) scaleX(1)}}.fx-shockwave{position:fixed;border-radius:50%;border:2px solid rgba(255,232,170,.85);box-shadow:0 0 18px #ffd66e8c,inset 0 0 10px #fff0be59;transform:translate(-50%,-50%) scale(.35);pointer-events:none;animation:shockwaveBurst .36s cubic-bezier(.15,.75,.2,1) forwards}@keyframes shockwaveBurst{0%{opacity:.9;transform:translate(-50%,-50%) scale(.35)}to{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}.fx-streak{position:fixed;width:var(--len, 24px);height:3px;border-radius:2px;background:linear-gradient(90deg,#fff8d2,#ffaf4626);transform-origin:left center;transform:translate(-50%,-50%) rotate(var(--ang)) scaleX(.2);pointer-events:none;animation:streakFly .32s cubic-bezier(.15,.75,.2,1) forwards}@keyframes streakFly{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--ang)) translate(0) scaleX(.2)}55%{opacity:.95}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--ang)) translate(var(--dist, 36px)) scaleX(1)}}.fx-shard{position:fixed;width:7px;height:10px;border-radius:2px;background:linear-gradient(180deg,#fffaf0,#e9d8b4);border:1px solid rgba(200,130,50,.6);box-shadow:0 1px 3px #00000059,0 0 6px #ffe8a08c;transform:translate(-50%,-50%) rotate(0);pointer-events:none;animation:shardFly .4s cubic-bezier(.15,.7,.25,1) forwards}@keyframes shardFly{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--spin)) scale(.5)}}.fx-edge-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;pointer-events:none;animation:edgeFlash .34s ease-out forwards}.fx-impact-core{position:fixed;border-radius:50%;background:radial-gradient(circle,#fffff5fa,#ffe28cbf 28%,#ffaa4600 68%);box-shadow:0 0 24px #ffe18ce6;transform:translate(-50%,-50%) scale(.3);pointer-events:none;animation:impactCore .24s cubic-bezier(.1,.8,.2,1) forwards}@keyframes impactCore{0%{opacity:1;transform:translate(-50%,-50%) scale(.25)}45%{opacity:.95;transform:translate(-50%,-50%) scale(1.05)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}@keyframes edgeFlash{0%{opacity:0}30%{opacity:.9}to{opacity:0}}.fx-score-beam{position:fixed;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(255,245,200,.15),var(--beam-color, #f0d078),rgba(255,245,200,.15));box-shadow:0 0 10px var(--beam-color, #f0d078);transform-origin:left center;pointer-events:none;animation:scoreBeamDraw .28s cubic-bezier(.2,.8,.2,1) forwards}@keyframes scoreBeamDraw{0%{opacity:0;transform:translateY(-50%) rotate(var(--ang)) scaleX(0)}25%{opacity:.95}55%{opacity:.75;transform:translateY(-50%) rotate(var(--ang)) scaleX(1)}to{opacity:0;transform:translateY(-50%) rotate(var(--ang)) scaleX(1)}}.hud__chip--score.is-rolling strong{color:#ffe49a;text-shadow:0 0 10px rgba(255,214,110,.65)}.fx-combo-callout.fx-combo-callout--low{top:68%!important}@media(max-width:1180px){.fx-score-gain{filter:none}}.tile.is-selected .tile__body:before{content:"";position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:4;pointer-events:none;background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.5) 48%,rgba(255,245,210,.28) 54%,transparent 68%);transform:translate(-125%);animation:selectedGlint .46s cubic-bezier(.2,.8,.2,1) .04s both}@keyframes selectedGlint{0%{transform:translate(-125%);opacity:0}18%{opacity:.9}to{transform:translate(125%);opacity:0}}.fx-confetti{position:fixed;width:6px;height:9px;border-radius:2px;transform:translate(-50%,-50%) rotate(var(--rot, 0deg));pointer-events:none;animation:confettiBurst .62s cubic-bezier(.15,.7,.25,1) forwards}.fx-confetti:nth-child(2n){width:7px;height:7px;border-radius:50%}@keyframes confettiBurst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(.5)}12%{opacity:1}45%{opacity:1;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(calc(var(--rot) + var(--spin) * .5)) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx) * 1.2),calc(-50% + var(--dy) + 96px)) rotate(calc(var(--rot) + var(--spin))) scale(.68)}}.fx-tile-ring{position:fixed;width:34px;height:34px;border:3px solid #ffd54f;border-radius:50%;transform:translate(-50%,-50%) scale(.35);box-shadow:0 0 14px currentColor;pointer-events:none;animation:tileRingPop .34s cubic-bezier(.15,.8,.2,1) forwards}@keyframes tileRingPop{0%{opacity:.95;transform:translate(-50%,-50%) scale(.35)}to{opacity:0;transform:translate(-50%,-50%) scale(2.1)}}.tile.is-sparkle:not(.is-selected):not(.is-matching) .tile__body:before{content:"";position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;z-index:5;pointer-events:none;background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.95) 0 6%,rgba(255,245,190,.6) 12%,transparent 34%),radial-gradient(circle at 68% 66%,rgba(255,255,255,.75) 0 4%,transparent 24%);animation:freeSparkle .68s ease-out forwards}@keyframes freeSparkle{0%{opacity:0;transform:scale(.55)}28%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}.fx-star{position:fixed;width:13px;height:13px;background:var(--star-color, #ffe082);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 93%,50% 71%,21% 93%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 6px var(--star-color, rgba(255, 220, 120, .9)));transform:translate(-50%,-50%) scale(.3);pointer-events:none;animation:starPop .46s cubic-bezier(.2,1.4,.3,1) forwards}@keyframes starPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(var(--rot, 0deg))}25%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(calc(var(--rot, 0deg) + 30deg))}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.55) rotate(calc(var(--rot, 0deg) + 200deg))}}.fx-fly-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;border-radius:7px;background:#fff;opacity:0;pointer-events:none}.fx-fly-flash.is-hit{animation:flyFlash .16s ease-out both}@keyframes flyFlash{0%{opacity:0}25%{opacity:.9}to{opacity:0}}.fx-symbol{position:fixed;z-index:215;line-height:1;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(.4);text-shadow:0 2px 0 rgba(20,14,8,.7);animation:symbolFly .7s cubic-bezier(.16,.8,.25,1) forwards}@keyframes symbolFly{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(.3)}18%{opacity:1;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(1.18)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(calc(var(--rot, 0deg) + 28deg)) scale(.62)}}html.fx-hitstop .fx-fly-wrap,html.fx-hitstop .fx-combo-callout,html.fx-hitstop .fx-score-gain,html.fx-hitstop .fx-impact-core,html.fx-hitstop .fx-shockwave,html.fx-hitstop .fx-flash,html.fx-hitstop .combo-panel{animation-play-state:paused!important}.fx-hitstop-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:245;pointer-events:none;background:radial-gradient(circle at 50% 42%,#fffceb1a,#fffceb05 72%)}.fx-praise-emoji{font-size:34px;line-height:1;margin-bottom:2px;filter:drop-shadow(2px 0 0 #17110b) drop-shadow(-2px 0 0 #17110b) drop-shadow(0 2px 0 #17110b) drop-shadow(0 -2px 0 #17110b);animation:emojiPop .45s cubic-bezier(.34,1.56,.64,1) both}@media(min-width:901px)and (max-width:1180px){.dock__btn{min-height:48px}.hud__stat{font-size:12px}.combo-panel{max-width:320px}}@media(orientation:landscape){.game-shell{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}}@media(min-width:1024px)and (max-width:1180px)and (orientation:portrait){.hud,.dock{max-width:980px;margin-left:auto;margin-right:auto}}@media(max-height:560px){.fx-combo-callout{scale:.62;transform-origin:center bottom}.fx-combo-callout.fx-combo-callout--low{top:62%!important}}.fx-comic-pop{position:fixed;z-index:230;transform:translate(-50%,-50%);padding:7px 13px;border:3px solid #17110b;border-radius:12px;background:#fff7d6;color:#ba2d1a;font-size:15px;font-weight:900;letter-spacing:.08em;line-height:1;box-shadow:0 5px #17110b,0 9px 20px #00000040;pointer-events:none;animation:comicPop .55s cubic-bezier(.34,1.56,.64,1) forwards}.fx-comic-pop:after{content:"";position:absolute;left:50%;bottom:-10px;width:0;height:0;transform:translate(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid #17110b}.fx-comic-pop--good{background:#e9ffe0;color:#147a3c}.fx-comic-pop--info{background:#fff7d6;color:#6b4a12}@keyframes comicPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-6deg)}22%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(2deg)}70%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-62%) scale(.96)}}html.board-rotated .tile{rotate:-90deg;scale:.86}.tile.is-free:not(.is-selected):not(.is-matching) .tile__shine{opacity:.58}.table__felt:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 62% 45% at 50% 22%,rgba(255,246,205,.09),transparent 64%),radial-gradient(ellipse 110% 90% at 50% 55%,transparent 48%,rgba(0,18,10,.18) 100%)}.table__felt-shine{background:radial-gradient(rgba(255,255,255,.055) .6px,transparent .8px),linear-gradient(125deg,rgba(255,255,255,.13) 0%,transparent 32%,transparent 70%,rgba(0,0,0,.08) 100%);background-size:5px 5px,100% 100%}.table__rail:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;z-index:0;border-radius:18px;border:1px solid rgba(255,240,190,.2);box-shadow:inset 0 0 0 1px #41240c2e,0 0 0 1px #ffda8c0f;pointer-events:none}.tile__body--png{background:linear-gradient(180deg,rgba(255,255,255,.32),transparent 26%),#faf6ee}@media(max-width:1180px){.tile__body--png{padding:8% 10%}.tile__body--png .face-img{transform:scale(1)}}.home-foot__onlymes{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:none;padding:4px 2px;border-bottom:1px solid rgba(240,208,120,.24)}.home-foot__onlymes:hover{color:var(--gold)}.home-foot__onlymes:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
