:root{color-scheme:dark;--ink: #f2f7ef;--ink-soft: #9aa79c;--paper: #090d0d;--paper-deep: #111816;--panel: rgba(20, 29, 27, .84);--panel-bright: rgba(38, 52, 48, .88);--graphite: #e9f1e8;--graphite-2: #060908;--line: rgba(223, 242, 229, .15);--accent: #a9f265;--mint: #6ee3ae;--cyan: #6bd7ff;--amber: #f2c95f;--violet: #a58cff;--rose: #ff7fa3;--pearl: #dce9e0;--motion-press: .14s;--motion-fast: .18s;--motion-ui: .24s;--motion-state: .28s;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--ease-heavy: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.2, .9, .18, 1);--cell-gap: clamp(3px, .8vw, 6px)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100dvh;overflow-x:hidden;background:linear-gradient(120deg,rgba(169,242,101,.08) 0 1px,transparent 1px 33%),linear-gradient(90deg,rgba(107,215,255,.035) 1px,transparent 1px),linear-gradient(180deg,#121a18,#070a0a 58%,#040606);background-size:72px 72px,36px 36px,auto;color:var(--ink);font-family:SF Pro Rounded,Avenir Next,Trebuchet MS,Verdana,sans-serif;letter-spacing:0}body:before{position:fixed;inset:0;z-index:-2;pointer-events:none;content:"";opacity:.38;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,transparent 0 18px,rgba(169,242,101,.025) 18px 19px);mix-blend-mode:screen}button{font:inherit}.game-library-shell{position:relative;display:grid;align-content:center;gap:clamp(18px,4dvh,34px);width:min(100%,930px);min-height:100dvh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) clamp(14px,5vw,42px) max(22px,env(safe-area-inset-bottom))}.game-library-shell:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";opacity:.9;background:linear-gradient(150deg,rgba(169,242,101,.14),transparent 28%),linear-gradient(30deg,transparent 52%,rgba(107,215,255,.12) 72%,transparent 100%),linear-gradient(rgba(230,246,234,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(230,246,234,.04) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent)}.library-hero{display:flex;align-items:end;gap:clamp(14px,3vw,24px);animation:shelfEnter .72s var(--ease-heavy) both}.library-mark{display:grid;width:clamp(56px,10vw,76px);height:clamp(56px,10vw,76px);place-items:center;border:1px solid rgba(232,252,237,.18);border-radius:8px;background:linear-gradient(145deg,#ffffff2e,#ffffff05),linear-gradient(180deg,#a9f26529,#6bd7ff14),#14201d;color:var(--accent);box-shadow:inset 0 1px #ffffff3d,inset 0 -12px 24px #0000003d,0 24px 54px #0000005c,0 0 48px #a9f26529}.library-mark svg{width:34px;height:34px;filter:drop-shadow(0 8px 18px rgba(169,242,101,.32))}.library-kicker{display:block;margin-bottom:7px;color:#a9f265b8;font-size:.74rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.library-hero h1{margin:0;color:var(--ink);font-size:clamp(4.2rem,13vw,7.8rem);font-weight:950;line-height:.8;text-shadow:0 1px 0 rgba(255,255,255,.12),0 24px 58px rgba(0,0,0,.48)}.game-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2.5vw,18px);animation:shelfEnter .76s var(--ease-heavy) 80ms both}.game-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;align-items:start;gap:14px;width:100%;min-height:clamp(260px,34vw,330px);padding:clamp(14px,2.4vw,20px);overflow:hidden;border:1px solid rgba(232,252,237,.15);border-radius:8px;background:linear-gradient(145deg,#ffffff1f,#ffffff05),linear-gradient(180deg,#141d1bf0,#090d0df0);color:var(--ink);cursor:pointer;text-align:left;box-shadow:inset 0 1px #ffffff29,inset 0 -18px 34px #00000038,0 28px 74px #00000057;transition:transform .62s var(--ease-spring),box-shadow .62s var(--ease-spring),border-color .62s var(--ease-spring),background .62s var(--ease-spring)}.game-card:after{position:absolute;inset:auto 0 0;height:3px;content:"";background:var(--game-accent);transform:scaleX(.34);transform-origin:left;transition:transform .62s var(--ease-spring)}.game-card-coral{--game-accent: linear-gradient(90deg, #ff8a6d, #f2c95f);--card-glow: rgba(255, 138, 109, .2)}.game-card-jade{--game-accent: linear-gradient(90deg, #a9f265, #6bd7ff);--card-glow: rgba(169, 242, 101, .18)}.game-card:hover{transform:translateY(-6px) scale(1.012);border-color:#e8fced4d;box-shadow:inset 0 1px #fff3,inset 0 -18px 34px #00000038,0 34px 86px #00000075,0 0 70px var(--card-glow)}.game-card:hover:after{transform:scaleX(1)}.game-card:active{transform:translateY(1px) scale(.99)}.game-card-icon,.game-card-arrow{display:grid;place-items:center;border-radius:8px}.game-card-icon{width:54px;height:54px;background:linear-gradient(145deg,#ffffff38,#ffffff05),#ffffff12;color:var(--ink);box-shadow:inset 0 1px #ffffff38,0 14px 30px #00000052}.game-card-coral .game-card-icon{background:linear-gradient(145deg,#ffffff42,#ffffff05),#8a382f}.game-card-jade .game-card-icon{background:linear-gradient(145deg,#ffffff42,#ffffff05),#2b6d5f}.game-card-icon svg{width:34px;height:34px}.game-card-copy{display:grid;gap:8px;min-width:0}.game-card-copy strong{overflow-wrap:anywhere;color:var(--ink);font-size:clamp(1.7rem,4vw,2.7rem);font-weight:950;line-height:.92;text-wrap:balance}.game-card-copy span,.game-card-stat{color:#f2f7ef94;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.game-card-stat{grid-column:1 / 3;align-self:end;justify-self:end;padding:7px 10px 8px;border:1px solid rgba(232,252,237,.12);border-radius:8px;background:#ffffff0f;white-space:nowrap}.game-card-arrow{grid-column:3;grid-row:3;align-self:end;width:40px;height:40px;background:#ffffff14;color:var(--ink);transition:transform .62s var(--ease-spring),background .62s var(--ease-spring)}.game-card:hover .game-card-arrow{transform:translate(4px);background:#a9f26529}.game-card-preview{grid-column:1 / -1;display:grid;align-self:stretch;height:clamp(126px,15vw,150px);overflow:hidden;border:1px solid rgba(232,252,237,.11);border-radius:8px;background:linear-gradient(180deg,#ffffff13,#ffffff04),#0305056b;box-shadow:inset 0 1px #ffffff1a,inset 0 -16px 28px #00000042}.game-card-preview-blocks{grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px;padding:12px}.preview-block{min-width:0;min-height:0;border-radius:5px;background:#ffffff0f;box-shadow:inset 0 1px #ffffff1f}.preview-block-0,.preview-block-3,.preview-block-4{background:linear-gradient(145deg,#ff9b7c,#c94a3e)}.preview-block-1{background:linear-gradient(145deg,#f3d36d,#b27a22)}.preview-block-2{background:linear-gradient(145deg,#75e6c0,#2f8c74)}.game-card-preview-numbers{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr;gap:9px;padding:12px}.preview-number-tile{display:grid;place-items:center;min-width:0;border-radius:8px;background:linear-gradient(145deg,#ffffff5c,#ffffff0a),linear-gradient(145deg,#a9f265,#3a9c7d);color:#08100d;font-size:clamp(1rem,3.2vw,1.9rem);font-weight:950;box-shadow:inset 0 3px #ffffff57,inset 0 -8px #00000024,0 12px 24px #00000047}.game-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,620px);min-height:100dvh;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) clamp(14px,4vw,26px) max(18px,env(safe-area-inset-bottom))}.game-shell>*{position:relative;z-index:1}.game-shell:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";opacity:.36;background-image:linear-gradient(rgba(32,35,34,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(32,35,34,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}.game-shell:after{position:fixed;inset:0;z-index:0;pointer-events:none;content:"";opacity:0;background:linear-gradient(135deg,transparent 0%,rgba(255,111,92,.24) 54%,transparent 100%),linear-gradient(45deg,rgba(255,111,92,.2),transparent 28%);mix-blend-mode:multiply;transition:opacity .52s var(--ease-heavy),transform .52s var(--ease-heavy)}.game-2048-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,620px);min-height:100dvh;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) clamp(14px,4vw,26px) max(18px,env(safe-area-inset-bottom))}.game-2048-shell>*{position:relative;z-index:1}.game-2048-shell:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";opacity:.48;background:linear-gradient(rgba(32,35,34,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(32,35,34,.04) 1px,transparent 1px),linear-gradient(145deg,rgba(88,183,215,.14),transparent 32%),linear-gradient(25deg,transparent 56%,rgba(237,183,63,.12) 72%,transparent);background-size:44px 44px,44px 44px,auto,auto;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}.game-shell.risk-warning:after{opacity:.28;animation:riskBreathe 1.8s var(--ease-heavy) infinite alternate}.game-shell.risk-danger:after{opacity:.52;animation:riskBreathe .9s var(--ease-heavy) infinite alternate}.hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;min-height:clamp(92px,15dvh,118px);padding-top:clamp(8px,2dvh,24px)}.best-chip,.icon-button,.combo-chip,.run-strip,.restart-button{border:1px solid rgba(32,35,34,.12);box-shadow:inset 0 1px #ffffff80,0 14px 34px #4552461f}.best-chip{display:inline-flex;align-items:center;justify-self:start;gap:6px;min-height:34px;padding:0 10px;border-radius:8px;background:#ffffff80;color:#c79b21;font-size:clamp(.84rem,2.6vw,1rem);font-weight:800}.best-chip svg{width:24px;height:24px;filter:drop-shadow(0 4px 8px rgba(199,155,33,.24))}.score-stack{position:relative;display:grid;justify-items:center;min-width:168px;line-height:.92;text-align:center}.score-value,.score-shadow{grid-area:1 / 1;font-family:Avenir Next,Trebuchet MS,Verdana,sans-serif;font-size:clamp(3.4rem,16vw,6.7rem);font-weight:900;letter-spacing:0}.score-value{color:#fbfbf8;text-shadow:0 2px 0 rgba(32,35,34,.12),0 22px 42px rgba(32,35,34,.22)}.score-shadow{transform:translate(10px,8px) rotate(-8deg);color:#52b99c5c}.combo-chip{margin-top:10px;padding:5px 10px 6px;border-radius:999px;background:#ec5f4f1f;color:#b64235;font-size:.78rem;font-weight:900;text-transform:uppercase}.hud-actions{display:flex;justify-self:end;gap:8px}.icon-button{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#ffffff8f;color:var(--graphite);cursor:pointer;transition:transform .42s var(--ease-heavy),background .42s var(--ease-heavy),box-shadow .42s var(--ease-heavy)}.icon-button svg{width:20px;height:20px}.icon-button:hover{transform:translateY(-2px);background:#ffffffbd}.icon-button:active,.restart-button:active,.piece-button:active{transform:translateY(1px) scale(.98)}.playfield{display:grid;align-content:center;gap:clamp(12px,3dvh,24px)}.board-bezel{position:relative;width:min(100%,540px,max(300px,calc(100dvh - 315px)));margin:0 auto;padding:clamp(6px,1.5vw,9px);border:1px solid rgba(32,35,34,.24);border-radius:8px;background:linear-gradient(180deg,#ffffff42,#ffffff05),#3b403d;box-shadow:inset 0 1px #ffffff52,inset 0 -3px 10px #0000002e,0 28px 72px #2023223d}.board-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--cell-gap);aspect-ratio:1;padding:var(--cell-gap);border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent),var(--graphite-2);box-shadow:inset 0 2px 4px #0000006b,inset 0 -1px #ffffff14}.board-cell{position:relative;display:grid;aspect-ratio:1;place-items:stretch;overflow:hidden;border-radius:5px;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 42%),#ffffff0b;box-shadow:inset 0 0 0 1px #00000021}.board-cell-ghost-valid:after,.board-cell-ghost-invalid:after{position:absolute;inset:8%;border-radius:5px;content:"";animation:ghostPulse .52s var(--ease-heavy) infinite alternate;z-index:4}.board-cell-ghost-valid:after{background:#52b99c6b;box-shadow:0 0 0 2px #76e1c3b3}.board-cell-ghost-invalid:after{background:#ec5f4f61;box-shadow:0 0 0 2px #ec5f4fb3}.board-cell-clearing{animation:clearFlash .52s var(--ease-heavy)}.board-cell-clearing:after{position:absolute;inset:-18%;z-index:5;border-radius:6px;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.88),transparent),radial-gradient(circle,rgba(88,183,215,.58),transparent 62%);animation:clearSweep .56s var(--ease-heavy) forwards}.board-cell-preview-clear{box-shadow:inset 0 0 0 1px #ffffff42,0 0 18px #ffffff24}.preview-clear-wash{position:absolute;inset:4%;z-index:3;border-radius:5px;opacity:.62;background:var(--cube-bg, rgba(255, 255, 255, .72));box-shadow:inset 0 2px #ffffff5c,0 0 18px #ffffff40;animation:previewLinePulse .62s var(--ease-heavy) infinite alternate}.cube{position:relative;display:block;width:100%;height:100%;border-radius:5px;background:var(--cube-bg, var(--pearl));box-shadow:inset 0 2px #ffffff61,inset 0 -4px #00000029,0 6px 12px #0003}.board-cell-clearing .board-cube{z-index:2;animation:clearCubeBurst .56s var(--ease-heavy) forwards}.cube:before{position:absolute;inset:10% 11% auto;height:28%;border-radius:4px;content:"";background:#ffffff38}.board-cube{z-index:2;animation:cubeLand .36s var(--ease-heavy)}.cube-amber{--cube-bg: linear-gradient(145deg, #ffd85a 0%, #edb73f 50%, #d88d22 100%)}.cube-rose{--cube-bg: linear-gradient(145deg, #ff9cb2 0%, #ec7692 54%, #ca516f 100%)}.cube-cyan{--cube-bg: linear-gradient(145deg, #81d9ef 0%, #58b7d7 54%, #337fa8 100%)}.cube-violet{--cube-bg: linear-gradient(145deg, #bba7ff 0%, #8f73d8 52%, #684bb2 100%)}.cube-jade{--cube-bg: linear-gradient(145deg, #75dcb8 0%, #52b99c 55%, #2f8472 100%)}.cube-coral{--cube-bg: linear-gradient(145deg, #ff9d85 0%, #ec5f4f 55%, #bf3d37 100%)}.cube-pearl,.cube-test,.cube-occupied,.cube-blocked{--cube-bg: linear-gradient(145deg, #f6fbfa 0%, #dfe8e8 52%, #aebcbc 100%)}.notice{position:absolute;left:50%;top:50%;z-index:3;display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 8px;padding:10px 14px;border:1px solid rgba(255,255,255,.32);border-radius:8px;background:#ffffffdb;color:var(--ink);box-shadow:0 18px 44px #0000003d;transform:translate(-50%,-50%);animation:noticePop .9s var(--ease-heavy) forwards;pointer-events:none}.notice svg{grid-row:span 2;width:22px;height:22px;color:var(--accent)}.notice span{font-size:clamp(1.15rem,5vw,2rem);font-weight:950;line-height:.9}.notice small{color:var(--ink-soft);font-size:.78rem;font-weight:800;text-transform:uppercase}.notice-combo{background:#fff3bf}.notice-blocked{background:#ffe5df}.tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,3vw,18px);width:min(100%,540px,max(300px,calc(100dvh - 315px)));margin:0 auto}.piece-slot{display:grid;min-height:clamp(74px,14dvh,112px);place-items:center;border:1px solid rgba(32,35,34,.1);border-radius:8px;background:linear-gradient(180deg,#ffffff70,#fff3),#ffffff47;box-shadow:inset 0 1px #fff6,0 18px 38px #4d5a4f1a}.piece-slot-empty{opacity:.42}.piece-button{display:grid;width:100%;min-height:72px;place-items:center;border:0;border-radius:8px;background:transparent;cursor:grab;touch-action:none;transition:transform .42s var(--ease-heavy),filter .42s var(--ease-heavy)}.piece-button:hover{transform:translateY(-4px);filter:saturate(1.08)}.piece-button:disabled{cursor:default;opacity:.55}.piece-preview{display:grid;grid-template-columns:repeat(var(--piece-width),var(--piece-cell));grid-template-rows:repeat(var(--piece-height),var(--piece-cell));gap:max(2px,calc(var(--piece-cell) * .13));filter:drop-shadow(0 12px 16px rgba(32,35,34,.18))}.piece-preview-drag{opacity:.98;transform:rotate(-2deg) scale(1.05);filter:drop-shadow(0 24px 30px rgba(32,35,34,.24))}.piece-cube{min-width:0}.piece-spent{width:46px;height:7px;border-radius:999px;background:#2023222e}.drag-avatar{position:fixed;left:0;top:0;z-index:6;pointer-events:none;transition:filter .18s var(--ease-heavy)}.drag-avatar-invalid{filter:grayscale(.25) saturate(.7)}.run-strip{display:flex;justify-content:center;gap:clamp(8px,3vw,18px);width:min(100%,540px,max(300px,calc(100dvh - 315px)));margin:clamp(14px,3dvh,22px) auto 0;padding:8px 12px;border-radius:8px;background:#ffffff6b;color:#202322ad;font-size:clamp(.72rem,2.4vw,.86rem);font-weight:850;text-transform:uppercase}.game-over{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:24px;background:#181b1a61}.game-over-panel{display:grid;justify-items:center;gap:12px;width:min(100%,330px);padding:26px;border:1px solid rgba(255,255,255,.4);border-radius:8px;background:#fafaf4f0;box-shadow:inset 0 1px #ffffff8a,0 30px 90px #00000047;animation:panelIn .54s var(--ease-heavy)}.game-over-panel span{color:var(--ink-soft);font-size:.82rem;font-weight:900;text-transform:uppercase}.game-over-panel strong{color:var(--ink);font-size:clamp(3rem,15vw,5rem);line-height:.95}.restart-button{display:inline-flex;align-items:center;gap:12px;margin-top:4px;padding:8px 8px 8px 18px;border-radius:999px;background:var(--graphite);color:#f8f8f1;cursor:pointer;transition:transform .42s var(--ease-heavy),background .42s var(--ease-heavy)}.restart-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;background:#ffffff1f;color:#fff}.hud-2048{min-height:clamp(90px,14dvh,112px)}.best-chip-2048{color:#2f8a76}.score-stack-2048{min-width:190px}.score-value-2048,.score-shadow-2048{font-size:5rem}.score-shadow-2048{color:#58b7d757}.combo-chip-2048{background:#52b99c24;color:#2f8472}.playfield-2048{align-content:center;gap:18px}.board-2048{--tile-gap-2048: clamp(8px, 2vw, 12px);--tile-size-2048: calc((100% - var(--tile-gap-2048) * 3) / 4);position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--tile-gap-2048);width:min(100%,540px,max(300px,calc(100dvh - 280px)));aspect-ratio:1;margin:0 auto;padding:var(--tile-gap-2048);overflow:hidden;border:1px solid rgba(32,35,34,.24);border-radius:8px;background:linear-gradient(180deg,#ffffff29,#ffffff05),#2d3330;box-shadow:inset 0 1px #ffffff47,inset 0 -5px 16px #0003,0 30px 74px #20232240;touch-action:none}.cell-2048{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:8px;background:linear-gradient(145deg,rgba(255,255,255,.06),transparent 48%),#ffffff0e;box-shadow:inset 0 0 0 1px #0000002e}.tile-layer-2048{position:absolute;inset:var(--tile-gap-2048);z-index:2;pointer-events:none}.tile-2048{position:absolute;left:0;top:0;display:block;width:var(--tile-size-2048);height:var(--tile-size-2048);transform:translate3d(calc(var(--tile-col) * (var(--tile-size-2048) + var(--tile-gap-2048))),calc(var(--tile-row) * (var(--tile-size-2048) + var(--tile-gap-2048))),0);transition:transform .19s var(--ease-out);will-change:transform}.tile-gel-2048{position:relative;display:grid;width:100%;height:100%;place-items:center;overflow:hidden;border-radius:8px;background:var(--tile-bg-2048);color:var(--tile-ink-2048, #202322);box-shadow:inset 0 4px #ffffff57,inset 0 -8px #00000024,0 12px 20px #0003}.tile-gel-2048:before{position:absolute;inset:10% 12% auto;height:31%;border-radius:8px;content:"";background:linear-gradient(180deg,#ffffff6b,#ffffff14);transform:skew(-8deg)}.tile-gel-2048:after{position:absolute;inset:0;content:"";background:radial-gradient(circle at 70% 78%,rgba(255,255,255,.18),transparent 38%);mix-blend-mode:screen}.tile-number-2048{position:relative;z-index:1;font-size:2.55rem;font-weight:950;line-height:1;text-shadow:0 2px 0 rgba(255,255,255,.22)}.tile-2048-new .tile-gel-2048{animation:jellySpawn2048 .36s var(--ease-heavy)}.tile-2048-merged .tile-gel-2048{animation:jellyMerge2048 .36s var(--ease-heavy)}.tile-value-2{--tile-bg-2048: linear-gradient(145deg, #f8fbf5, #dfe8e8 54%, #bdcaca)}.tile-value-4{--tile-bg-2048: linear-gradient(145deg, #e2f4df, #aedcc5 54%, #78af9d)}.tile-value-8{--tile-bg-2048: linear-gradient(145deg, #8fe0ef, #58b7d7 54%, #2f7da4);--tile-ink-2048: #fbfbf8}.tile-value-16{--tile-bg-2048: linear-gradient(145deg, #ffd95f, #edb73f 52%, #c47d22)}.tile-value-32{--tile-bg-2048: linear-gradient(145deg, #ff9f86, #ec5f4f 54%, #bf3d37);--tile-ink-2048: #fffaf4}.tile-value-64{--tile-bg-2048: linear-gradient(145deg, #ff9fba, #ec7692 52%, #b94162);--tile-ink-2048: #fffaf4}.tile-value-128{--tile-bg-2048: linear-gradient(145deg, #87e0c0, #52b99c 54%, #277a6b);--tile-ink-2048: #fffaf4}.tile-value-256{--tile-bg-2048: linear-gradient(145deg, #c3b0ff, #8f73d8 52%, #5d42a0);--tile-ink-2048: #fffaf4}.tile-value-512{--tile-bg-2048: linear-gradient(145deg, #67706b, #363d39 52%, #171a19);--tile-ink-2048: #fffaf4}.tile-value-1024{--tile-bg-2048: linear-gradient(145deg, #f6fbfa, #a8d8d6 48%, #3c8d95);--tile-ink-2048: #11201f}.tile-value-2048,.tile-value-super{--tile-bg-2048: linear-gradient(145deg, #fff3bf, #edb73f 38%, #ec5f4f 100%);--tile-ink-2048: #2a1814}.tile-value-128 .tile-number-2048,.tile-value-256 .tile-number-2048,.tile-value-512 .tile-number-2048{font-size:2.15rem}.tile-value-1024 .tile-number-2048,.tile-value-2048 .tile-number-2048,.tile-value-super .tile-number-2048{font-size:1.62rem}.pad-2048{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);justify-content:center;gap:8px}.pad-button-2048{width:42px;height:42px;background:#ffffff9e}.pad-up-2048{grid-column:2}.pad-left-2048{grid-column:1;grid-row:2}.pad-right-2048{grid-column:3;grid-row:2}.pad-down-2048{grid-column:2;grid-row:2}.run-strip-2048{width:min(100%,540px,max(300px,calc(100dvh - 280px)))}.game-over-panel-2048{background:#f6fbfaf0}.game-shell,.game-2048-shell{width:min(100%,660px)}.game-shell:before,.game-2048-shell:before{opacity:.9;background:linear-gradient(150deg,rgba(169,242,101,.1),transparent 30%),linear-gradient(25deg,transparent 48%,rgba(107,215,255,.11) 72%,transparent 100%),linear-gradient(rgba(230,246,234,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(230,246,234,.035) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px}.game-shell:after{background:linear-gradient(135deg,transparent 0%,rgba(255,111,92,.24) 54%,transparent 100%),linear-gradient(45deg,rgba(255,111,92,.2),transparent 28%);mix-blend-mode:screen}.best-chip,.icon-button,.combo-chip,.run-strip,.restart-button{border-color:#e8fced24;box-shadow:inset 0 1px #ffffff24,0 18px 38px #00000047}.best-chip,.icon-button,.run-strip{background:linear-gradient(145deg,#ffffff1f,#ffffff06),#0e1413c2;color:var(--ink)}.best-chip{color:var(--amber)}.best-chip-2048{color:var(--accent)}.icon-button:hover{background:linear-gradient(145deg,#a9f26538,#6bd7ff14),#141d1be6;box-shadow:inset 0 1px #ffffff2e,0 18px 44px #00000057,0 0 34px #a9f26521}.score-value{color:var(--ink);text-shadow:0 2px 0 rgba(255,255,255,.07),0 24px 60px rgba(0,0,0,.58),0 0 40px rgba(107,215,255,.12)}.score-shadow{color:#a9f26538}.combo-chip{background:#a9f26521;color:var(--accent)}.board-bezel,.board-2048{border-color:#e8fced2e;background:linear-gradient(180deg,#ffffff1f,#ffffff05),linear-gradient(145deg,#a9f26514,#6bd7ff0a),#121b18;box-shadow:inset 0 1px #ffffff2e,inset 0 -20px 34px #00000047,0 34px 86px #0000007a,0 0 70px #6bd7ff14}.board-grid,.tile-layer-2048{background:transparent}.board-grid{background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),#050807}.board-cell,.cell-2048{background:linear-gradient(145deg,#ffffff12,#ffffff05),#ffffff09;box-shadow:inset 0 1px #ffffff12,inset 0 0 0 1px #00000038}.cube,.tile-gel-2048{box-shadow:inset 0 3px #ffffff5c,inset 0 -8px #0000002e,0 10px 18px #00000057}.cube-amber{--cube-bg: linear-gradient(145deg, #ffe36f 0%, #f2c95f 48%, #a96b20 100%)}.cube-rose{--cube-bg: linear-gradient(145deg, #ff9fc0 0%, #ff7fa3 50%, #b23c64 100%)}.cube-cyan{--cube-bg: linear-gradient(145deg, #a4efff 0%, #6bd7ff 50%, #2678a4 100%)}.cube-violet{--cube-bg: linear-gradient(145deg, #c9b8ff 0%, #a58cff 52%, #684bb2 100%)}.cube-jade{--cube-bg: linear-gradient(145deg, #a9f265 0%, #6ee3ae 48%, #227c65 100%)}.cube-coral{--cube-bg: linear-gradient(145deg, #ffae8b 0%, #ff7d65 50%, #ae332b 100%)}.cube-pearl,.cube-test,.cube-occupied,.cube-blocked{--cube-bg: linear-gradient(145deg, #f2f7ef 0%, #b8c9bf 52%, #647269 100%)}.notice,.game-over-panel{border-color:#e8fced2e;background:linear-gradient(145deg,#ffffff1f,#ffffff06),#0e1413f0;color:var(--ink);box-shadow:inset 0 1px #ffffff29,0 30px 90px #0000007a}.notice small,.game-over-panel span{color:#f2f7ef9e}.notice-combo{background:linear-gradient(145deg,#a9f26533,#ffffff06),#0e1413f0}.notice-blocked{background:linear-gradient(145deg,#ff6f5c38,#ffffff06),#0e1413f0}.piece-slot{border-color:#e8fced1f;background:linear-gradient(180deg,#ffffff18,#ffffff05),#0e1413a8;box-shadow:inset 0 1px #ffffff1f,0 20px 42px #0000003d}.piece-preview{filter:drop-shadow(0 14px 22px rgba(0,0,0,.34))}.piece-spent{background:#e8fced29}.run-strip{color:#f2f7efa8;letter-spacing:.06em}.restart-button{background:linear-gradient(145deg,#a9f26538,#6bd7ff14),#121b18;color:var(--ink)}.restart-icon{background:#ffffff1a}.tile-2048{left:0;top:0;transform:translate3d(calc(var(--tile-col) * (100% + var(--tile-gap-2048))),calc(var(--tile-row) * (100% + var(--tile-gap-2048))),0);transition:transform .17s cubic-bezier(.2,.86,.2,1);will-change:transform}.tile-value-2{--tile-bg-2048: linear-gradient(145deg, #f3fbec, #c9d9ce 54%, #8a9b91);--tile-ink-2048: #101715}.tile-value-4{--tile-bg-2048: linear-gradient(145deg, #e3ffd0, #a9f265 54%, #4e9f48);--tile-ink-2048: #101715}.tile-value-8{--tile-bg-2048: linear-gradient(145deg, #9eecff, #6bd7ff 54%, #2678a4);--tile-ink-2048: #061014}.tile-value-16{--tile-bg-2048: linear-gradient(145deg, #ffe87f, #f2c95f 52%, #a96b20);--tile-ink-2048: #1a1307}.tile-value-32{--tile-bg-2048: linear-gradient(145deg, #ffb08c, #ff7d65 54%, #ae332b);--tile-ink-2048: #fff7ef}.tile-value-64{--tile-bg-2048: linear-gradient(145deg, #ffa2c0, #ff7fa3 52%, #b23c64);--tile-ink-2048: #fff7ef}.tile-value-128{--tile-bg-2048: linear-gradient(145deg, #b7ff7b, #6ee3ae 54%, #227c65);--tile-ink-2048: #07110d}.tile-value-256{--tile-bg-2048: linear-gradient(145deg, #cbbfff, #a58cff 52%, #5d42a0);--tile-ink-2048: #fff7ef}.tile-value-512{--tile-bg-2048: linear-gradient(145deg, #77837b, #303b36 52%, #101513);--tile-ink-2048: #f2f7ef}.tile-value-1024{--tile-bg-2048: linear-gradient(145deg, #f2f7ef, #a9f265 44%, #2a8068);--tile-ink-2048: #07110d}.tile-value-2048,.tile-value-super{--tile-bg-2048: linear-gradient(145deg, #fff29b, #a9f265 38%, #6bd7ff 100%);--tile-ink-2048: #07110d}.pad-button-2048{background:linear-gradient(145deg,#ffffff1f,#ffffff06),#0e1413c2}body{background:linear-gradient(135deg,rgba(242,201,95,.07) 0 1px,transparent 1px 38%),linear-gradient(90deg,rgba(169,242,101,.045) 1px,transparent 1px),linear-gradient(180deg,#18201d,#0b100f 48%,#060909);background-size:84px 84px,32px 32px,auto}body:after{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";opacity:.24;background-image:radial-gradient(circle at 20% 18%,rgba(255,255,255,.09) 0 1px,transparent 1px),radial-gradient(circle at 70% 78%,rgba(169,242,101,.12) 0 1px,transparent 1px);background-size:18px 18px,26px 26px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent)}.game-library-shell{width:min(100%,1120px);gap:clamp(22px,4dvh,42px)}.library-hero{align-items:center;max-width:860px}.library-mark{border-radius:8px;background:linear-gradient(145deg,#ffffff42,#ffffff09),linear-gradient(135deg,#a9f26538,#6bd7ff1f),#16221e}.library-hero h1{font-size:clamp(4.7rem,11vw,8.4rem);line-height:.82;text-wrap:balance}.library-hero p{max-width:36rem;margin:clamp(10px,1.6vw,14px) 0 0;color:#f2f7efa8;font-size:clamp(1rem,1.8vw,1.22rem);font-weight:650;line-height:1.38}.game-list{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.game-card{grid-template-columns:1fr;grid-template-rows:auto auto auto;align-content:space-between;min-height:clamp(314px,31vw,382px);padding:clamp(15px,2vw,20px);border-color:#e8fced24;background:linear-gradient(150deg,#ffffff24,#ffffff06),linear-gradient(180deg,#1a2521f5,#090d0df5)}.game-card:before{position:absolute;inset:7px;border:1px solid rgba(232,252,237,.08);border-radius:6px;content:"";pointer-events:none;box-shadow:inset 0 1px #ffffff14}.game-card:nth-child(1){min-height:clamp(314px,31vw,382px)}.game-card-icon{position:absolute;left:clamp(15px,2vw,20px);top:clamp(15px,2vw,20px)}.game-card-copy{grid-column:1;grid-row:1;align-self:start;height:max-content;padding-top:66px}.game-card-preview{grid-column:1 / -1;grid-row:2;align-self:center}.game-card-stat{grid-column:1;grid-row:3;justify-self:start}.game-card-arrow{position:absolute;right:clamp(15px,2vw,20px);top:clamp(15px,2vw,20px)}.game-card-cyan{--game-accent: linear-gradient(90deg, #6bd7ff, #a58cff);--card-glow: rgba(107, 215, 255, .2)}.game-card-cyan .game-card-icon{background:linear-gradient(145deg,#ffffff42,#ffffff05),#28647e}.game-card-violet{--game-accent: linear-gradient(90deg, #ff7fa3, #a58cff);--card-glow: rgba(165, 140, 255, .2)}.game-card-violet .game-card-icon{background:linear-gradient(145deg,#ffffff42,#ffffff05),#5d3f88}.game-card-copy small{max-width:15rem;color:#f2f7ef99;font-size:clamp(.84rem,1.5vw,.96rem);font-weight:650;line-height:1.28}.game-card-copy strong{font-size:clamp(1.45rem,2.9vw,2.2rem)}.game-card-preview{border-color:#e8fced1a}.game-card-preview-blocks{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.game-card-preview-tetris{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:7px;padding:13px}.game-card-preview-number-drop{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:7px;padding:13px;background:linear-gradient(180deg,#666fe833,#0a0e3e99),#11144e}.preview-drop-tile{display:grid;min-width:0;min-height:0;place-items:center;border-radius:5px;background:#ffffff0b;color:#fff;font-size:clamp(.72rem,1.7vw,1rem);font-weight:950;box-shadow:inset 0 2px #ffffff38,inset 0 -5px #00000029}.preview-drop-tile-2,.preview-drop-tile-4{background:linear-gradient(145deg,#58d5ff,#2777bf)}.preview-drop-tile-8,.preview-drop-tile-16{background:linear-gradient(145deg,#ff7fa3,#b23c64)}.preview-drop-tile-32,.preview-drop-tile-64{background:linear-gradient(145deg,#a58cff,#5d42a0)}.preview-drop-tile-128,.preview-drop-tile-256{background:linear-gradient(145deg,#6ee3ae,#227c65)}.preview-tetris-cell{min-width:0;min-height:0;border-radius:5px;background:#ffffff0b;box-shadow:inset 0 1px #ffffff14}.preview-tetris-cell-cyan{background:linear-gradient(145deg,#a4efff,#6bd7ff 50%,#2678a4)}.preview-tetris-cell-amber{background:linear-gradient(145deg,#ffe36f,#f2c95f 48%,#a96b20)}.preview-tetris-cell-jade{background:linear-gradient(145deg,#a9f265,#6ee3ae 48%,#227c65)}.preview-tetris-cell-rose{background:linear-gradient(145deg,#ff9fc0,#ff7fa3 50%,#b23c64)}.preview-block,.preview-tetris-cell{position:relative;overflow:hidden}.preview-block:before,.preview-tetris-cell:before{position:absolute;inset:10% 11% auto;height:28%;border-radius:4px;content:"";background:#fff3}.game-shell,.game-2048-shell,.game-tetris-shell{isolation:isolate}.game-tetris-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,980px);min-height:100dvh;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) clamp(12px,4vw,28px) max(18px,env(safe-area-inset-bottom))}.game-tetris-shell>*{position:relative;z-index:1}.game-tetris-shell:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";opacity:.9;background:linear-gradient(150deg,rgba(107,215,255,.12),transparent 31%),linear-gradient(25deg,transparent 48%,rgba(165,140,255,.12) 72%,transparent 100%),linear-gradient(rgba(230,246,234,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(230,246,234,.035) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}.hud-tetris{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.best-chip-tetris{color:var(--cyan)}.score-stack-tetris{min-width:220px}.score-value-tetris,.score-shadow-tetris{font-size:clamp(3.4rem,10vw,6.4rem)}.score-shadow-tetris{color:#6bd7ff3d}.combo-chip-tetris{background:#6bd7ff24;color:var(--cyan)}.tetris-stage{display:grid;grid-template-columns:minmax(280px,430px) minmax(220px,280px);align-items:center;justify-content:center;gap:clamp(18px,4vw,34px)}.tetris-board-bezel{position:relative;width:min(100%,390px,max(260px,calc((100dvh - 215px)/2)));margin:0 auto;padding:clamp(6px,1.2vw,9px);border:1px solid rgba(232,252,237,.18);border-radius:8px;background:linear-gradient(180deg,#ffffff21,#ffffff05),linear-gradient(145deg,#6bd7ff1a,#a9f2650d),#121b18;box-shadow:inset 0 1px #ffffff2e,inset 0 -20px 34px #00000047,0 34px 86px #0000007a,0 0 68px #6bd7ff14}.tetris-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(20,minmax(0,1fr));gap:clamp(2px,.55vw,4px);aspect-ratio:1 / 2;padding:clamp(4px,.8vw,7px);border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),#050807;box-shadow:inset 0 2px 4px #0000006b,inset 0 -1px #ffffff14}.tetris-cell{position:relative;display:grid;min-width:0;min-height:0;place-items:stretch;overflow:hidden;border-radius:4px;background:linear-gradient(145deg,#fff1,#ffffff04),#ffffff09;box-shadow:inset 0 1px #fff1,inset 0 0 0 1px #0003}.tetris-cell-filled{background:#ffffff0a}.tetris-cube{z-index:2;border-radius:4px;animation:tetrisJellyLand .3s var(--ease-heavy)}.tetris-ghost-cube{position:absolute;inset:0;opacity:.22;filter:grayscale(.1) saturate(.7);transform:scale(.82);animation:tetrisGhostPulse .86s var(--ease-heavy) infinite alternate}.tetris-overlay{position:absolute;left:50%;top:50%;z-index:5;display:grid;justify-items:center;gap:10px;width:min(84%,260px);padding:22px;border:1px solid rgba(232,252,237,.18);border-radius:8px;background:linear-gradient(145deg,#ffffff1f,#ffffff06),#0e1413f0;color:var(--ink);box-shadow:inset 0 1px #ffffff29,0 30px 90px #0000007a;transform:translate(-50%,-50%);animation:panelIn .54s var(--ease-heavy)}.tetris-overlay span{color:#f2f7ef9e;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tetris-overlay strong{font-size:clamp(2.6rem,10vw,4.4rem);line-height:.95}.tetris-side{display:grid;gap:12px;align-content:center}.tetris-side-panel,.tetris-stats,.tetris-controls{border:1px solid rgba(232,252,237,.14);border-radius:8px;background:linear-gradient(145deg,#ffffff1f,#ffffff06),#0e1413c2;box-shadow:inset 0 1px #ffffff24,0 18px 38px #00000047}.tetris-side-panel{display:grid;gap:8px;padding:11px}.tetris-side-label{color:#f2f7efa3;font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tetris-next-list{display:grid;gap:8px}.tetris-next-piece{display:grid;min-height:58px;place-items:center;border:1px solid rgba(232,252,237,.09);border-radius:6px;background:#ffffff0a}.tetris-mini-piece{display:grid;grid-template-columns:repeat(var(--mini-cols),18px);grid-template-rows:repeat(var(--mini-rows),18px);gap:3px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.34))}.tetris-mini-cube{min-width:0;border-radius:4px}.tetris-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:6px}.tetris-stats span{display:grid;gap:4px;min-width:0;padding:10px 7px;border-radius:6px;background:#ffffff0b;text-align:center}.tetris-stats small{color:#f2f7ef94;font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.tetris-stats strong{font-size:1.28rem;font-variant-numeric:tabular-nums}.tetris-controls{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,42px);justify-content:center;gap:8px;padding:12px}.tetris-control{width:42px;height:42px}.tetris-control-up{grid-column:2;grid-row:1}.tetris-control-left{grid-column:1;grid-row:2}.tetris-control-right{grid-column:3;grid-row:2}.tetris-control-down{grid-column:2;grid-row:2}.tetris-drop-button{grid-column:1 / -1;grid-row:3;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border:1px solid rgba(232,252,237,.14);border-radius:999px;background:linear-gradient(145deg,#6bd7ff38,#a9f26514),#0e1413e6;color:var(--ink);cursor:pointer;font-weight:900;letter-spacing:.05em;text-transform:uppercase;box-shadow:inset 0 1px #ffffff29,0 16px 34px #00000047;transition:transform .42s var(--ease-heavy),background .42s var(--ease-heavy),box-shadow .42s var(--ease-heavy)}.tetris-drop-button span:last-child{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:#ffffff1c}.tetris-drop-button svg{width:17px;height:17px}.tetris-drop-button:hover{transform:translateY(-2px);background:linear-gradient(145deg,#6bd7ff52,#a9f2651f),#0e1413f2;box-shadow:inset 0 1px #ffffff2e,0 18px 42px #00000057,0 0 34px #6bd7ff21}.tetris-drop-button:active{transform:translateY(1px) scale(.98)}.run-strip-tetris{width:min(100%,700px);margin-top:6px}.number-drop-shell{position:relative;display:grid;min-height:100dvh;place-items:center;padding:max(14px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}.number-drop-shell:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";opacity:.92;background:linear-gradient(150deg,rgba(165,140,255,.18),transparent 34%),linear-gradient(25deg,transparent 48%,rgba(255,127,163,.14) 72%,transparent 100%),linear-gradient(rgba(230,246,234,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(230,246,234,.028) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}.number-drop-phone{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;width:min(100%,390px);min-height:min(820px,calc(100dvh - 28px));overflow:hidden;border:1px solid rgba(211,219,255,.24);border-radius:8px;background:linear-gradient(180deg,#697cec2e,#151a54eb),#252f7c;color:#fff;box-shadow:inset 0 1px #fff3,inset 0 -24px 44px #0000002e,0 34px 86px #00000080;animation:shelfEnter .62s var(--ease-heavy)}.number-drop-phone:before{position:absolute;inset:0;pointer-events:none;content:"";background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),radial-gradient(circle at 20% 10%,rgba(255,255,255,.14),transparent 26%),radial-gradient(circle at 84% 18%,rgba(255,127,163,.18),transparent 32%);background-size:36px 36px,auto,auto;opacity:.4}.number-drop-phone>*{position:relative;z-index:1}.number-drop-topbar{display:grid;grid-template-columns:92px minmax(0,1fr) 98px;align-items:center;gap:8px;min-height:70px;padding:13px 14px 8px}.number-drop-gems,.number-drop-level{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;border-radius:999px;background:#14144c8a;font-size:.78rem;font-weight:950;box-shadow:inset 0 1px #ffffff24,0 12px 24px #0000002e}.number-drop-gems svg{color:#73ddff}.number-drop-level{background:linear-gradient(145deg,#ff7fa361,#4c3b97b3)}.number-drop-level svg{color:#f2c95f}.number-drop-score{justify-self:center;color:#f8fbff;font-size:clamp(2rem,11vw,3.2rem);font-weight:950;line-height:1;text-shadow:0 14px 28px rgba(0,0,0,.28);font-variant-numeric:tabular-nums}.number-drop-board-wrap{position:relative;display:grid;align-content:stretch;min-height:0;padding:0 14px 8px}.number-drop-board{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;min-height:0;padding:8px 8px 10px;border:1px solid rgba(96,109,219,.58);border-radius:8px;background:linear-gradient(180deg,rgba(10,13,67,.2),transparent),#17205f;box-shadow:inset 0 2px #ffffff14,inset 0 -18px 32px #0000001f}.number-drop-column{position:relative;display:grid;grid-template-rows:repeat(6,minmax(0,1fr));gap:5px;min-width:0;min-height:clamp(310px,58dvh,470px);padding:4px;border:0;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),#080d3d80;cursor:pointer;transition:transform .36s var(--ease-heavy),background .36s var(--ease-heavy),box-shadow .36s var(--ease-heavy)}.number-drop-column:after{position:absolute;inset:auto 10px 8px;height:3px;border-radius:999px;content:"";opacity:0;background:#ff7fa3;box-shadow:0 0 18px #ff7fa38c;transition:opacity .36s var(--ease-heavy)}.number-drop-column-selected{background:linear-gradient(180deg,rgba(255,127,163,.12),transparent 48%),#080d3d9e;box-shadow:inset 0 0 0 1px #ff7fa352,0 0 22px #ff7fa31f}.number-drop-column-selected:after{opacity:1}.number-drop-column-last{animation:numberColumnPulse .42s var(--ease-heavy)}.number-drop-column-locked{cursor:not-allowed;filter:grayscale(.18) saturate(.84)}.number-drop-column:active{transform:translateY(1px) scale(.99)}.number-drop-cell{display:grid;min-width:0;min-height:0;place-items:stretch}.number-drop-tile,.number-drop-active-tile,.number-drop-next-tile{position:relative;display:grid;place-items:center;border:0;border-radius:6px;background:var(--number-drop-bg);color:var(--number-drop-ink, #fff);font-weight:950;line-height:1;box-shadow:inset 0 3px #ffffff3d,inset 0 -7px #00000024,0 10px 18px #00000038}.number-drop-tile:before,.number-drop-active-tile:before,.number-drop-next-tile:before{position:absolute;inset:10% 12% auto;height:28%;border-radius:5px;content:"";background:linear-gradient(180deg,#ffffff4d,#ffffff0a)}.number-drop-tile{min-height:42px;font-size:clamp(.78rem,4.2vw,1.15rem);animation:numberDropLand .3s var(--ease-heavy)}.number-drop-tile-merged{animation:numberDropMerge .42s var(--ease-heavy)}.number-drop-launcher{display:grid;grid-template-columns:42px minmax(74px,1fr) 42px 70px 42px;align-items:center;gap:8px;padding:10px 14px 12px;background:linear-gradient(180deg,#5e6fdb5c,#17205fb3),#253f8f;box-shadow:inset 0 1px #ffffff1a,0 -14px 34px #00000026}.number-drop-small-button{width:42px;height:42px;background:linear-gradient(145deg,#ffffff1f,#ffffff06),#0e1448b3}.number-drop-active-tile{min-height:66px;cursor:pointer;color:var(--number-drop-ink, #fff);font:inherit;font-size:clamp(1.4rem,7vw,2.2rem);transition:transform .42s var(--ease-heavy),filter .42s var(--ease-heavy)}.number-drop-active-tile:hover{transform:translateY(-3px);filter:saturate(1.1) brightness(1.04)}.number-drop-active-tile:active{transform:translateY(1px) scale(.98)}.number-drop-active-blocked{filter:grayscale(.28) saturate(.7)}.number-drop-next{display:grid;justify-items:center;gap:4px;min-width:0;color:#ffffff9e;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.number-drop-next-tile{width:38px;height:38px;font-size:.82rem}.number-drop-actions{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:10px 14px 14px;background:#110e48d6}.number-drop-actions span{justify-self:center;color:#ffffffad;font-size:.82rem;font-weight:900;text-transform:uppercase}.number-drop-notice{position:absolute;left:50%;bottom:18px;z-index:3;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#0d113ccc;color:#fff;font-size:.78rem;font-weight:900;transform:translate(-50%);animation:numberNotice .9s var(--ease-heavy) forwards;pointer-events:none}.number-drop-game-over{position:absolute;inset:0;z-index:5;display:grid;align-content:center;justify-items:center;gap:12px;padding:24px;background:#080a2ac7;animation:panelIn .54s var(--ease-heavy)}.number-drop-game-over>span{color:#ffffffa8;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.number-drop-game-over>strong{color:#fff;font-size:clamp(3.6rem,18vw,5.4rem);line-height:.95}.number-drop-value-2,.number-drop-value-4{--number-drop-bg: linear-gradient(145deg, #6ee3ff, #32a5e4 52%, #2366ac)}.number-drop-value-8,.number-drop-value-16,.number-drop-value-32{--number-drop-bg: linear-gradient(145deg, #ff8fb0, #e14e86 52%, #9f285d)}.number-drop-value-64,.number-drop-value-128{--number-drop-bg: linear-gradient(145deg, #bba7ff, #8065df 52%, #4f3a9b)}.number-drop-value-256,.number-drop-value-512{--number-drop-bg: linear-gradient(145deg, #86f4ca, #42bf97 52%, #227c65);--number-drop-ink: #07110d}.number-drop-value-1024,.number-drop-value-2048,.number-drop-value-4096{--number-drop-bg: linear-gradient(145deg, #fff29b, #f2c95f 42%, #ff7fa3);--number-drop-ink: #241406}@keyframes cubeLand{0%{opacity:0;transform:translateY(-18%) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ghostPulse{0%{opacity:.48;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes clearFlash{0%,to{box-shadow:inset 0 0 0 1px #00000021}45%{background:#ffffffdb;box-shadow:inset 0 0 0 2px #ffffffe6,0 0 28px #58b7d7e0}}@keyframes clearSweep{0%{opacity:0;transform:translate(-80%) scale(.9)}42%{opacity:1;transform:translate(0) scale(1.05)}to{opacity:0;transform:translate(82%) scale(.88)}}@keyframes clearCubeBurst{0%{opacity:1;transform:scale(1);filter:saturate(1)}44%{opacity:1;transform:scale(1.1);filter:saturate(1.35) brightness(1.12)}to{opacity:0;transform:scale(.36) rotate(10deg);filter:saturate(.5) brightness(1.5)}}@keyframes previewLinePulse{0%{opacity:.42;transform:scale(.94)}to{opacity:.74;transform:scale(1)}}@keyframes riskBreathe{0%{transform:scale(.98);filter:saturate(.9)}to{transform:scale(1.03);filter:saturate(1.25)}}@keyframes noticePop{0%{opacity:0;transform:translate(-50%,-42%) scale(.82)}18%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-76%) scale(.92)}}@keyframes panelIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shelfEnter{0%{opacity:0;transform:translateY(18px) scale(.985);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes jellySpawn2048{0%{opacity:0;transform:scale(.18)}42%{opacity:1;transform:scaleX(1.18) scaleY(.82)}68%{transform:scaleX(.92) scaleY(1.12)}to{opacity:1;transform:scale(1)}}@keyframes jellyMerge2048{0%{transform:scale(1);filter:brightness(1)}36%{transform:scaleX(1.2) scaleY(.82);filter:brightness(1.12)}70%{transform:scaleX(.9) scaleY(1.14)}to{transform:scale(1);filter:brightness(1)}}@keyframes tetrisJellyLand{0%{opacity:.84;transform:translateY(-12%) scaleX(.88) scaleY(1.1)}46%{opacity:1;transform:translateY(0) scaleX(1.12) scaleY(.88)}72%{transform:scaleX(.94) scaleY(1.08)}to{opacity:1;transform:scale(1)}}@keyframes tetrisGhostPulse{0%{opacity:.16;transform:scale(.78)}to{opacity:.3;transform:scale(.86)}}@keyframes numberDropLand{0%{opacity:0;transform:translateY(42%) scaleX(.86) scaleY(1.08)}48%{opacity:1;transform:translateY(0) scaleX(1.1) scaleY(.9)}72%{transform:scaleX(.95) scaleY(1.06)}to{opacity:1;transform:scale(1)}}@keyframes numberDropMerge{0%{transform:scale(1);filter:brightness(1)}40%{transform:scaleX(1.18) scaleY(.86);filter:brightness(1.22)}70%{transform:scaleX(.9) scaleY(1.14)}to{transform:scale(1);filter:brightness(1)}}@keyframes numberColumnPulse{0%,to{transform:scale(1)}45%{transform:scale(1.018)}}@keyframes numberNotice{0%{opacity:0;transform:translate(-50%,10px) scale(.92)}18%,76%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-14px) scale(.94)}}@media(max-width:980px){.game-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.game-list{grid-template-columns:1fr}.game-card{min-height:224px}.game-card-preview{height:112px}.tetris-stage{grid-template-columns:1fr;align-content:start;gap:14px}.tetris-board-bezel{width:min(100%,350px,max(242px,calc((100dvh - 340px)/2)))}.tetris-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;width:min(100%,540px);margin:0 auto}.tetris-controls{grid-column:1 / -1}}@media(max-width:480px){.game-library-shell{align-content:start;gap:20px;padding-top:max(18px,env(safe-area-inset-top))}.library-mark{width:52px;height:52px}.library-hero h1{font-size:3.2rem}.game-card{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;min-height:206px;padding:12px}.game-card-icon{width:52px;height:52px}.game-card-icon svg{width:28px;height:28px}.game-card-copy strong{font-size:1.5rem}.game-card-stat{display:inline-flex;grid-column:1 / 3;justify-self:start;font-size:.68rem}.game-card-preview{height:96px}.game-card-preview-blocks,.game-card-preview-numbers,.game-card-preview-tetris,.game-card-preview-number-drop{gap:6px;padding:9px}.game-shell,.game-tetris-shell,.game-2048-shell{padding-inline:10px}.hud{min-height:108px}.best-chip{padding-inline:7px}.hud-actions{gap:6px}.icon-button{width:34px;height:34px}.tray{gap:8px}.score-stack-2048{min-width:136px}.score-value-2048,.score-shadow-2048{font-size:3.35rem}.board-2048{--tile-gap-2048: 8px}.hud-tetris{min-height:108px}.score-stack-tetris{min-width:134px}.score-value-tetris,.score-shadow-tetris{font-size:3.2rem}.tetris-board-bezel{width:min(100%,306px,max(226px,calc((100dvh - 342px)/2)))}.tetris-grid{gap:2px;padding:4px}.tetris-side{grid-template-columns:1fr;gap:9px}.tetris-next-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tetris-next-piece{min-height:58px}.tetris-mini-piece{grid-template-columns:repeat(var(--mini-cols),13px);grid-template-rows:repeat(var(--mini-rows),13px);gap:2px}.tetris-controls{grid-template-columns:repeat(5,38px);grid-template-rows:38px 38px}.tetris-control{width:38px;height:38px}.tetris-control-up{grid-column:3;grid-row:1}.tetris-control-left{grid-column:2;grid-row:2}.tetris-control-right{grid-column:4;grid-row:2}.tetris-control-down{grid-column:3;grid-row:2}.tetris-drop-button{grid-column:5;grid-row:1 / 3;min-width:38px;padding:0}.tetris-drop-button span:first-child{display:none}.tetris-drop-button span:last-child{width:24px;height:24px}.tile-number-2048{font-size:1.95rem}.tile-value-128 .tile-number-2048,.tile-value-256 .tile-number-2048,.tile-value-512 .tile-number-2048{font-size:1.58rem}.tile-value-1024 .tile-number-2048,.tile-value-2048 .tile-number-2048,.tile-value-super .tile-number-2048{font-size:1.18rem}}@media(max-width:380px){.number-drop-shell{padding-inline:8px}.number-drop-phone{min-height:calc(100dvh - 22px)}.number-drop-topbar{grid-template-columns:74px minmax(0,1fr) 86px;gap:6px;padding-inline:10px}.number-drop-gems,.number-drop-level{font-size:.68rem}.number-drop-board-wrap,.number-drop-launcher,.number-drop-actions{padding-inline:10px}.number-drop-board{gap:4px;padding:6px}.number-drop-column{gap:4px;min-height:clamp(290px,57dvh,440px)}.number-drop-launcher{grid-template-columns:36px minmax(64px,1fr) 36px 52px 36px;gap:6px}.number-drop-small-button{width:36px;height:36px}.number-drop-next-tile{width:34px;height:34px}}:root{--cabinet-black: #060909;--cabinet-panel: #101715;--cabinet-panel-2: #16211d;--cabinet-line: rgba(226, 244, 231, .16);--cabinet-line-bright: rgba(226, 244, 231, .28);--cabinet-text: #f5fbf2;--cabinet-muted: rgba(245, 251, 242, .66);--cabinet-dim: rgba(245, 251, 242, .45);--cabinet-lime: #b6f46e;--cabinet-blue: #72ddff;--cabinet-pink: #ff87ad;--cabinet-gold: #f6cc63;--cabinet-violet: #a68fff;--shadow-deep: 0 34px 96px rgba(0, 0, 0, .48);--shadow-soft: 0 22px 54px rgba(0, 0, 0, .32);--bezel-highlight: inset 0 1px 0 rgba(255, 255, 255, .18);--bezel-shadow: inset 0 -24px 42px rgba(0, 0, 0, .28)}html{background:var(--cabinet-black)}body{background:linear-gradient(115deg,rgba(246,204,99,.05) 0 1px,transparent 1px 36%),linear-gradient(90deg,rgba(114,221,255,.035) 1px,transparent 1px),linear-gradient(180deg,#18211e,#0b1110 46%,#050707);background-size:92px 92px,34px 34px,auto;color:var(--cabinet-text);font-family:SF Pro Rounded,Avenir Next,DIN Alternate,Trebuchet MS,Verdana,sans-serif;font-variant-numeric:tabular-nums}button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--cabinet-blue);outline-offset:3px}.game-library-shell{width:min(100%,1180px);align-content:start;gap:clamp(14px,2.4dvh,22px);padding:max(18px,env(safe-area-inset-top)) clamp(14px,4vw,40px) max(22px,env(safe-area-inset-bottom))}.game-library-shell:before{opacity:.82;background:linear-gradient(132deg,rgba(182,244,110,.13),transparent 34%),linear-gradient(44deg,transparent 54%,rgba(114,221,255,.1) 78%,transparent),linear-gradient(rgba(245,251,242,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(245,251,242,.042) 1px,transparent 1px);background-size:auto,auto,42px 42px,42px 42px}.library-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(14px,2.8vw,24px);max-width:none;padding:clamp(13px,2vw,18px);overflow:hidden;border:1px solid var(--cabinet-line);border-radius:8px;background:linear-gradient(145deg,#ffffff21,#ffffff06),linear-gradient(90deg,rgba(182,244,110,.12),rgba(114,221,255,.04) 44%,transparent),#0c1211c7;box-shadow:var(--bezel-highlight),var(--bezel-shadow),var(--shadow-soft)}.library-hero:before{position:absolute;inset:7px;border:1px solid rgba(245,251,242,.08);border-radius:6px;content:"";pointer-events:none;box-shadow:inset 0 1px #ffffff14}.library-hero:after{position:absolute;right:-10%;top:-28%;width:44%;height:160%;content:"";background:repeating-linear-gradient(115deg,rgba(255,255,255,.075) 0 1px,transparent 1px 13px),linear-gradient(90deg,#b6f46e1a,#72ddff0d);opacity:.58;transform:rotate(3deg);pointer-events:none}.library-mark{position:relative;z-index:1;width:clamp(62px,9vw,86px);height:clamp(62px,9vw,86px);border-color:var(--cabinet-line-bright);background:linear-gradient(145deg,#ffffff4d,#ffffff09),linear-gradient(150deg,#b6f46e52,#72ddff1f),#14211e;box-shadow:var(--bezel-highlight),inset 0 -16px 26px #00000047,0 18px 42px #0000005c,0 0 34px #b6f46e21}.library-mark svg{width:clamp(32px,5vw,42px);height:clamp(32px,5vw,42px)}.library-hero h1{position:relative;z-index:1;max-width:16ch;color:var(--cabinet-text);font-size:clamp(3rem,6.4vw,6.2rem);line-height:.88;text-shadow:0 1px 0 rgba(255,255,255,.1),0 30px 72px rgba(0,0,0,.58)}.library-hero p,.library-kicker{position:relative;z-index:1}.library-kicker{color:#b6f46ec2}.library-hero p{max-width:32rem;color:var(--cabinet-muted)}.game-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-template-rows:repeat(2,clamp(220px,30dvh,238px));grid-auto-rows:clamp(220px,30dvh,238px);gap:clamp(12px,1.7vw,18px)}.game-card{min-height:0;height:100%;padding:clamp(13px,1.6vw,17px);border-color:#f5fbf224;background:linear-gradient(150deg,#ffffff25,#ffffff06),linear-gradient(180deg,#18231ff5,#080c0cf5);box-shadow:var(--bezel-highlight),var(--bezel-shadow),var(--shadow-soft);animation:shelfEnter .7s var(--ease-heavy) both}.game-card:nth-child(1){grid-column:span 5;grid-row:span 2;min-height:0;animation-delay:40ms}.game-card:nth-child(2){grid-column:span 4;animation-delay:90ms}.game-card:nth-child(3){grid-column:span 3;animation-delay:.14s}.game-card:nth-child(4){grid-column:span 7;animation-delay:.19s}.game-card:before{border-color:#f5fbf216}.game-card:after{height:4px;background:var(--game-accent);filter:saturate(1.08)}.game-card:hover{transform:translateY(-7px) scale(1.01);border-color:#f5fbf242}.game-card-copy{gap:6px;padding-top:58px}.game-card-copy strong{max-width:10ch;font-size:clamp(1.34rem,2.3vw,2rem);line-height:.94}.game-card:nth-child(1) .game-card-copy strong,.game-card:nth-child(4) .game-card-copy strong{max-width:14ch}.game-card-copy span,.game-card-stat{color:#f5fbf28a}.game-card-copy small{color:#f5fbf29e;line-height:1.18}.game-card:not(:first-child) .game-card-copy{padding-right:43%}.game-card:not(:first-child) .game-card-copy small{display:none}.game-card:nth-child(4) .game-card-copy small{display:block}.game-card-icon{border:1px solid rgba(245,251,242,.13);box-shadow:inset 0 1px #fff3,inset 0 -10px 18px #0000002e,0 14px 32px #00000052}.game-card-arrow,.game-card-stat{border-color:#f5fbf221;background:#fff1;box-shadow:inset 0 1px #ffffff1a}.game-card-preview{height:min(78px,12dvh);border-color:#f5fbf21f;background:linear-gradient(180deg,#ffffff17,#ffffff04),#0306068a;box-shadow:inset 0 1px #ffffff1f,inset 0 -18px 30px #00000052}.game-card:nth-child(1) .game-card-preview,.game-card:nth-child(4) .game-card-preview{height:clamp(112px,18dvh,138px)}.game-card:not(:first-child) .game-card-preview{position:absolute;right:clamp(13px,1.6vw,17px);bottom:54px;width:min(40%,152px);height:74px}.game-card:nth-child(4) .game-card-preview{width:min(34%,190px);height:104px}.game-card:not(:first-child) .game-card-stat{position:absolute;left:clamp(13px,1.6vw,17px);bottom:16px}.game-card:not(:first-child) .game-card-arrow{top:auto;right:clamp(13px,1.6vw,17px);bottom:16px}.preview-number-tile,.preview-drop-tile,.preview-block,.preview-tetris-cell{box-shadow:inset 0 2px #ffffff47,inset 0 -6px #00000026,0 8px 18px #00000038}.game-shell,.game-2048-shell,.game-tetris-shell{width:min(100%,700px)}.hud{align-items:center}.best-chip,.icon-button,.combo-chip,.run-strip,.restart-button{border-color:#f5fbf226;box-shadow:inset 0 1px #ffffff29,inset 0 -8px 18px #00000026,0 16px 38px #0000004d}.icon-button{background:linear-gradient(145deg,#ffffff21,#ffffff07),#0c1211cc;color:var(--cabinet-text)}.icon-button:hover{transform:translateY(-3px);border-color:#b6f46e4d}.game-2048-shell{padding-inline:clamp(12px,3.6vw,32px)}.game-2048-shell:before{background:linear-gradient(132deg,rgba(182,244,110,.12),transparent 33%),linear-gradient(35deg,transparent 52%,rgba(246,204,99,.1) 78%,transparent),linear-gradient(rgba(245,251,242,.048) 1px,transparent 1px),linear-gradient(90deg,rgba(245,251,242,.036) 1px,transparent 1px);background-size:auto,auto,42px 42px,42px 42px}.board-2048{--tile-gap-2048: clamp(9px, 1.8vw, 13px);isolation:isolate;padding:calc(var(--tile-gap-2048) + 2px);border-color:#f5fbf238;background:linear-gradient(145deg,#ffffff29,#ffffff05),linear-gradient(180deg,#b6f46e14,#72ddff0a),#101815;box-shadow:var(--bezel-highlight),inset 0 -26px 46px #00000052,0 38px 100px #0000008a,0 0 58px #b6f46e0f}.board-2048:before{position:absolute;inset:7px;z-index:0;border:1px solid rgba(245,251,242,.08);border-radius:6px;content:"";pointer-events:none}.cell-2048{z-index:1;border-radius:8px;background:linear-gradient(145deg,#ffffff12,#ffffff04),#0000002e;box-shadow:inset 0 1px #ffffff12,inset 0 0 0 1px #00000047,inset 0 -10px 18px #00000029}.tile-layer-2048{z-index:3}.tile-2048{transition:transform .19s cubic-bezier(.18,.88,.18,1)}.tile-gel-2048{overflow:visible;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:linear-gradient(145deg,rgba(255,255,255,.32),rgba(255,255,255,.02) 34%,transparent 35%),var(--tile-bg-2048);box-shadow:inset 0 4px #ffffff61,inset 0 -9px #0000002e,inset 0 0 0 1px #ffffff12,0 15px 24px #00000057;transform-origin:center}.tile-gel-2048:before{inset:9% 12% auto;height:28%;border-radius:7px;background:linear-gradient(180deg,#ffffff8f,#ffffff0d)}.tile-gel-2048:after{border-radius:inherit;background:radial-gradient(circle at 76% 78%,rgba(255,255,255,.22),transparent 32%),linear-gradient(115deg,transparent 0 55%,rgba(255,255,255,.13) 56%,transparent 72%)}.tile-number-2048{color:var(--tile-ink-2048, #101715);text-shadow:0 1px 0 rgba(255,255,255,.28),0 8px 18px rgba(0,0,0,.2)}.tile-2048-new .tile-gel-2048{animation:jellySpawn2048 .43s cubic-bezier(.12,.86,.18,1) both}.tile-2048-merged .tile-gel-2048{animation:jellyMerge2048 .46s cubic-bezier(.12,.86,.18,1) both}.pad-2048{grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,46px)}.pad-button-2048{width:46px;height:46px}.number-drop-shell{padding:max(12px,env(safe-area-inset-top)) clamp(10px,3vw,18px) max(14px,env(safe-area-inset-bottom))}.number-drop-shell:before{background:linear-gradient(134deg,rgba(166,143,255,.2),transparent 36%),linear-gradient(38deg,transparent 52%,rgba(255,135,173,.16) 78%,transparent),linear-gradient(rgba(245,251,242,.034) 1px,transparent 1px),linear-gradient(90deg,rgba(245,251,242,.026) 1px,transparent 1px);background-size:auto,auto,42px 42px,42px 42px}.number-drop-phone{width:min(100%,410px);min-height:min(846px,calc(100dvh - 24px));border-color:#e2e8ff47;background:linear-gradient(180deg,rgba(255,255,255,.13),transparent 15%),linear-gradient(160deg,rgba(166,143,255,.34),transparent 34%),linear-gradient(28deg,transparent 55%,rgba(255,135,173,.2) 84%),#202c7c;box-shadow:inset 0 1px #ffffff3d,inset 0 -30px 50px #00000038,0 40px 112px #00000094,0 0 70px #a68fff1f}.number-drop-phone:after{position:absolute;top:10px;left:50%;z-index:2;width:74px;height:5px;border-radius:999px;content:"";background:#070a2d7a;box-shadow:inset 0 1px #ffffff29,0 1px #ffffff14;transform:translate(-50%)}.number-drop-topbar{grid-template-columns:94px minmax(0,1fr) 104px;min-height:82px;padding:22px 14px 9px}.number-drop-gems,.number-drop-level{border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,#ffffff1f,#ffffff05),#0c10469e;box-shadow:inset 0 1px #ffffff24,0 12px 24px #0003}.number-drop-score{font-size:clamp(2.15rem,10vw,3.4rem);letter-spacing:0}.number-drop-board-wrap{padding:0 15px 9px}.number-drop-board{gap:7px;padding:9px;border-color:#9aa9ff8a;background:linear-gradient(180deg,rgba(255,255,255,.075),transparent 16%),linear-gradient(180deg,#172161,#12184b);box-shadow:inset 0 2px #ffffff14,inset 0 -20px 34px #0000002e,0 18px 36px #0003}.number-drop-column{gap:6px;min-height:clamp(330px,57dvh,488px);padding:5px;border:1px solid rgba(255,255,255,.055);background:linear-gradient(180deg,rgba(255,255,255,.044),transparent 24%),#04082e6b;box-shadow:inset 0 1px #ffffff0d,inset 0 -14px 20px #00000029}.number-drop-column:before{position:absolute;inset:5px;border-radius:5px;content:"";background:linear-gradient(90deg,rgba(255,255,255,.04),transparent 50%,rgba(255,255,255,.025));opacity:0;transition:opacity .36s var(--ease-heavy);pointer-events:none}.number-drop-column:hover:before,.number-drop-column-selected:before{opacity:1}.number-drop-column-selected{background:linear-gradient(180deg,rgba(255,135,173,.14),transparent 50%),#060a36a8;box-shadow:inset 0 0 0 1px #ff87ad5c,inset 0 -14px 20px #00000029,0 0 26px #ff87ad24}.number-drop-cell{position:relative;overflow:hidden;border-radius:6px;background:linear-gradient(145deg,#ffffff0d,#ffffff03),#0000001f;box-shadow:inset 0 1px #ffffff0b,inset 0 -8px 14px #0000001f}.number-drop-tile,.number-drop-active-tile,.number-drop-next-tile{width:100%;height:100%;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.02) 34%,transparent 35%),var(--number-drop-bg);box-shadow:inset 0 4px #ffffff47,inset 0 -8px #0000002e,inset 0 0 0 1px #ffffff0f,0 12px 20px #00000047}.number-drop-tile:before,.number-drop-active-tile:before,.number-drop-next-tile:before{inset:9% 12% auto;height:28%;border-radius:7px;background:linear-gradient(180deg,#ffffff7a,#ffffff0d)}.number-drop-tile{min-height:0;font-size:clamp(.82rem,4vw,1.2rem);animation:numberDropLand .36s cubic-bezier(.12,.86,.18,1)}.number-drop-launcher{grid-template-columns:44px minmax(80px,1fr) 44px 76px 44px;gap:9px;padding:12px 15px;background:linear-gradient(180deg,#ffffff17,#ffffff05),linear-gradient(180deg,#5566d87a,#141b5cd1)}.number-drop-small-button{width:44px;height:44px}.number-drop-active-tile{min-height:72px;font-size:clamp(1.55rem,7vw,2.4rem)}.number-drop-next{align-self:stretch;justify-content:center;padding:5px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#04082e3d}.number-drop-actions{padding:11px 15px 15px;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),#0c0b3ae6}.number-drop-notice{bottom:20px;border-color:#ffffff2e;background:linear-gradient(145deg,#ffffff1f,#ffffff08),#090d38d6;box-shadow:inset 0 1px #ffffff24,0 16px 30px #00000047}.number-drop-value-2,.number-drop-value-4{--number-drop-bg: linear-gradient(145deg, #8ceaff, #45bae9 52%, #2367b4)}.number-drop-value-8,.number-drop-value-16,.number-drop-value-32{--number-drop-bg: linear-gradient(145deg, #ffa0be, #ef6094 52%, #a52962)}.number-drop-value-64,.number-drop-value-128{--number-drop-bg: linear-gradient(145deg, #c7b8ff, #8f73ef 52%, #5039a0)}.number-drop-value-256,.number-drop-value-512{--number-drop-bg: linear-gradient(145deg, #a6f8d6, #55d2a8 52%, #247c66)}.number-drop-value-1024,.number-drop-value-2048,.number-drop-value-4096{--number-drop-bg: linear-gradient(145deg, #fff3a7, #f6cc63 42%, #ff87ad)}@media(max-width:980px){.game-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto}.game-card,.game-card:nth-child(1),.game-card:nth-child(2),.game-card:nth-child(3),.game-card:nth-child(4){grid-column:auto;grid-row:auto;min-height:282px}.game-card:not(:first-child) .game-card-copy{padding-right:0}.game-card:not(:first-child) .game-card-copy small{display:block}.game-card:not(:first-child) .game-card-preview,.game-card:nth-child(4) .game-card-preview{position:static;width:auto;height:min(118px,20dvh)}.game-card:not(:first-child) .game-card-stat,.game-card:not(:first-child) .game-card-arrow{position:static}}@media(max-width:720px){.library-hero{align-items:start}.game-list{grid-template-columns:1fr}.game-card,.game-card:nth-child(1),.game-card:nth-child(2),.game-card:nth-child(3),.game-card:nth-child(4){min-height:238px}.game-card-preview,.game-card:nth-child(1) .game-card-preview,.game-card:nth-child(4) .game-card-preview{height:112px}}@media(max-width:480px){.library-hero{grid-template-columns:54px minmax(0,1fr);padding:13px}.library-mark{width:54px;height:54px}.library-hero h1{font-size:clamp(2.5rem,13vw,3.5rem)}.library-hero p{font-size:.95rem}.game-card,.game-card:nth-child(1),.game-card:nth-child(2),.game-card:nth-child(3),.game-card:nth-child(4){min-height:226px}.game-card-copy{padding-top:62px}.game-card-preview,.game-card:nth-child(1) .game-card-preview,.game-card:nth-child(4) .game-card-preview{height:100px}.pad-2048{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px)}.pad-button-2048{width:42px;height:42px}.number-drop-phone{width:min(100%,398px)}.number-drop-topbar{grid-template-columns:84px minmax(0,1fr) 94px}.number-drop-launcher{grid-template-columns:40px minmax(72px,1fr) 40px 64px 40px;gap:7px}.number-drop-small-button{width:40px;height:40px}}@media(max-width:380px){.number-drop-topbar{grid-template-columns:72px minmax(0,1fr) 80px}.number-drop-board{gap:5px}.number-drop-column{gap:5px;min-height:clamp(290px,56dvh,430px)}}.game-card-preview-number-drop{grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.number-drop-phone{--number-drop-cell-size: clamp(30px, calc((100vw - 98px)/8) , 40px);--number-drop-gap: 6px;--number-drop-pad: 9px;grid-template-rows:auto minmax(0,auto) auto auto;min-height:min(760px,calc(100dvh - 24px))}.number-drop-board-wrap{align-content:center;justify-content:center;padding-block:2px 12px}.number-drop-board{display:grid;grid-template-columns:repeat(8,var(--number-drop-cell-size));width:max-content;height:max-content;gap:var(--number-drop-gap);padding:var(--number-drop-pad);border-color:#9aa9ff6b;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 16%),linear-gradient(180deg,#172161,#11184d)}.number-drop-board:before{position:absolute;inset:var(--number-drop-pad);content:"";pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:calc(var(--number-drop-cell-size) + var(--number-drop-gap)) calc(var(--number-drop-cell-size) + var(--number-drop-gap)),calc(var(--number-drop-cell-size) + var(--number-drop-gap)) calc(var(--number-drop-cell-size) + var(--number-drop-gap));opacity:.48}.number-drop-column{display:grid;grid-template-rows:repeat(6,var(--number-drop-cell-size));gap:var(--number-drop-gap);width:var(--number-drop-cell-size);height:max-content;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.number-drop-column:before,.number-drop-column:after{display:none}.number-drop-column-selected,.number-drop-column-selected:hover{background:transparent;box-shadow:none}.number-drop-column-selected .number-drop-cell{box-shadow:inset 0 0 0 1px #ff87ad52,inset 0 -8px 14px #00000024,0 0 16px #ff87ad1f}.number-drop-column-last{animation:numberColumnPulse .36s var(--ease-heavy)}.number-drop-cell{width:var(--number-drop-cell-size);height:var(--number-drop-cell-size);border-radius:8px}.number-drop-tile,.number-drop-active-tile,.number-drop-next-tile{width:100%;height:100%;border-radius:9px}.number-drop-tile{min-height:0;font-size:clamp(.72rem,2.8vw,1rem);animation:none}.number-drop-tile-pushed{animation:numberDropPushUp .23s cubic-bezier(.16,1,.3,1) both}.number-drop-tile-merged{animation:numberDropMerge .42s cubic-bezier(.12,.86,.18,1) .21s both}.number-drop-tile-pushed.number-drop-tile-merged{animation:numberDropPushUp .23s cubic-bezier(.16,1,.3,1) both,numberDropMerge .42s cubic-bezier(.12,.86,.18,1) .23s both}.number-drop-launcher{grid-template-columns:42px 68px 42px 58px 42px;justify-content:center;gap:10px}.number-drop-active-tile{width:68px;height:68px;min-height:0;font-size:clamp(1.45rem,5vw,2.05rem)}.number-drop-next{width:58px;min-width:0;align-self:stretch}.number-drop-next-tile{width:42px;height:42px}@keyframes numberDropPushUp{0%{opacity:0;transform:translateY(150%) scaleX(.88) scaleY(1.08);filter:brightness(1.04)}56%{opacity:1;transform:translateY(-7%) scaleX(1.08) scaleY(.9)}to{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}}@media(max-width:480px){.number-drop-phone{--number-drop-cell-size: clamp(29px, calc((100vw - 98px)/8) , 37px);--number-drop-gap: 5px;min-height:min(760px,calc(100dvh - 24px))}.number-drop-board,.number-drop-column{gap:var(--number-drop-gap)}.number-drop-cell{border-radius:7px}.number-drop-launcher{grid-template-columns:38px 64px 38px 54px 38px;gap:8px}.number-drop-small-button{width:38px;height:38px}.number-drop-active-tile{width:64px;height:64px}.number-drop-next{width:54px}.number-drop-next-tile{width:38px;height:38px}}:root{--motion-press: .14s;--motion-fast: .18s;--motion-ui: .24s;--motion-state: .28s;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--ease-heavy: var(--ease-out);--ease-spring: var(--ease-out)}.library-hero{padding:2px 0 0;overflow:visible;border:0;background:transparent;box-shadow:none;animation-duration:var(--motion-state);animation-timing-function:var(--ease-out)}.library-hero:before,.library-hero:after{display:none}.library-mark{border-color:#f5fbf233;background:linear-gradient(145deg,#ffffff2e,#ffffff06),linear-gradient(180deg,#b6f46e2e,#72ddff1a),#101715;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #00000038,0 18px 44px #0000005c;transition:transform var(--motion-ui) var(--ease-out)}.game-list{animation-duration:var(--motion-state);animation-delay:40ms;animation-timing-function:var(--ease-out)}.game-card{isolation:isolate;border-color:#f5fbf226;background:linear-gradient(150deg,#ffffff24,#ffffff07),linear-gradient(180deg,#17221ff5,#060a0af5);box-shadow:var(--bezel-highlight),inset 0 -20px 34px #0000003b,0 20px 52px #0000004d;transition:transform var(--motion-ui) var(--ease-out),border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out);will-change:transform}.game-card:nth-child(1){animation-delay:0ms}.game-card:nth-child(2){animation-delay:45ms}.game-card:nth-child(3){animation-delay:90ms}.game-card:nth-child(4){animation-delay:135ms}.game-card:after{filter:none;transition:transform var(--motion-ui) var(--ease-out)}.game-card-arrow,.game-card-preview{transition:transform var(--motion-ui) var(--ease-out),border-color var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out)}.game-card-preview{border-color:#f5fbf21c}.game-card-preview-blocks{grid-template-columns:repeat(8,minmax(18px,32px));grid-template-rows:repeat(2,minmax(18px,32px));align-content:center;justify-content:center}.game-card-preview-number-drop{grid-template-columns:repeat(8,minmax(22px,42px));grid-template-rows:repeat(3,minmax(22px,42px));align-content:center;justify-content:center}.game-card-preview-numbers{grid-template-columns:repeat(2,clamp(28px,2.4vw,38px));grid-template-rows:repeat(2,clamp(28px,2.4vw,38px));align-content:center;justify-content:center;gap:6px;padding:8px}.game-card-preview-tetris{grid-template-columns:repeat(5,minmax(18px,32px));grid-template-rows:repeat(4,minmax(18px,32px));align-content:center;justify-content:center}.preview-block,.preview-number-tile,.preview-drop-tile,.preview-tetris-cell{aspect-ratio:1;min-height:0}.preview-number-tile{overflow:hidden;font-size:clamp(.88rem,1.7vw,1.25rem);line-height:1}.game-shell,.game-2048-shell,.game-tetris-shell,.number-drop-shell{isolation:isolate}.game-shell:before,.game-2048-shell:before,.game-tetris-shell:before,.number-drop-shell:before,.game-library-shell:before{opacity:.72}.board-bezel,.board-2048,.tetris-board-bezel,.number-drop-phone{border-color:#f5fbf233;box-shadow:var(--bezel-highlight),inset 0 -24px 42px #00000047,0 30px 86px #00000075}.board-grid,.tetris-grid,.number-drop-board{background:linear-gradient(180deg,rgba(255,255,255,.05),transparent),linear-gradient(135deg,rgba(255,255,255,.026) 0 1px,transparent 1px 18px),#050807}.number-drop-phone:before{background:linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.06),transparent 28%);background-size:34px 34px,auto;opacity:.34}.best-chip,.combo-chip,.run-strip,.restart-button,.icon-button,.piece-slot,.tetris-side-panel,.tetris-stats,.tetris-controls,.number-drop-gems,.number-drop-level,.number-drop-launcher,.number-drop-actions,.number-drop-next,.game-over-panel,.tetris-overlay,.number-drop-game-over{border-color:#f5fbf226;box-shadow:inset 0 1px #ffffff24,inset 0 -10px 20px #0000001f,0 14px 34px #0000003d}.icon-button,.restart-button,.piece-button,.tetris-drop-button,.number-drop-small-button,.number-drop-active-tile{transition:transform var(--motion-ui) var(--ease-out),border-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out),opacity var(--motion-ui) var(--ease-out);will-change:transform}.tile-2048{transition:transform var(--motion-fast) var(--ease-in-out);will-change:transform}.cube,.tile-gel-2048,.tetris-cube,.number-drop-tile,.number-drop-active-tile,.number-drop-next-tile,.preview-block,.preview-number-tile,.preview-drop-tile,.preview-tetris-cell{backface-visibility:hidden;transform:translateZ(0)}.board-cube{animation:cubeLand var(--motion-ui) var(--ease-out)}.board-cell-clearing{animation:clearFlash var(--motion-state) var(--ease-out)}.board-cell-clearing:after{animation:clearSweep var(--motion-state) var(--ease-out) forwards}.board-cell-clearing .board-cube{animation:clearCubeBurst var(--motion-state) var(--ease-out) forwards}.tile-2048-new .tile-gel-2048{animation:jellySpawn2048 var(--motion-state) var(--ease-out) both}.tile-2048-merged .tile-gel-2048{animation:jellyMerge2048 var(--motion-state) var(--ease-out) both}.tetris-cube{animation:tetrisJellyLand .26s var(--ease-out)}.number-drop-column{transition:transform var(--motion-ui) var(--ease-out),background-color var(--motion-ui) var(--ease-out),box-shadow var(--motion-ui) var(--ease-out)}.number-drop-column-last{animation:numberColumnPulse var(--motion-state) var(--ease-out)}.number-drop-tile-pushed{animation:numberDropPushUp .2s var(--ease-out) both}.number-drop-tile-merged{animation:numberDropMerge .26s var(--ease-out) .12s both}.number-drop-tile-pushed.number-drop-tile-merged{animation:numberDropPushUp .2s var(--ease-out) both,numberDropMerge .26s var(--ease-out) .15s both}.game-over-panel,.number-drop-game-over{animation:panelIn var(--motion-state) var(--ease-out)}.tetris-overlay{animation:centeredPanelIn var(--motion-state) var(--ease-out)}.notice{animation:noticePop .56s var(--ease-out) forwards}.number-drop-notice{animation:numberNotice .56s var(--ease-out) forwards}.game-card:active,.icon-button:active,.restart-button:active,.piece-button:active,.tetris-drop-button:active,.number-drop-small-button:active,.number-drop-active-tile:active,.number-drop-column:active{transform:scale(.97);transition-duration:var(--motion-press)}@media(hover:hover)and (pointer:fine){.library-mark:hover{transform:translateY(-2px)}.game-card:hover{transform:translateY(-4px) scale(1.006);border-color:#f5fbf242;box-shadow:var(--bezel-highlight),inset 0 -20px 34px #0000003b,0 26px 68px #0006,0 0 46px var(--card-glow)}.game-card:hover:after{transform:scaleX(1)}.game-card:hover .game-card-arrow{transform:translate(3px)}.icon-button:hover,.piece-button:hover,.tetris-drop-button:hover,.number-drop-active-tile:hover{transform:translateY(-2px)}}@media(hover:none),(pointer:coarse){.library-mark:hover,.game-card:hover,.icon-button:hover,.piece-button:hover,.tetris-drop-button:hover,.number-drop-active-tile:hover{transform:none}.piece-button:hover,.number-drop-active-tile:hover{filter:none}.game-card:hover:after{transform:scaleX(.34)}.game-card:hover .game-card-arrow{transform:none}.number-drop-column:hover:before{opacity:0}}@keyframes cubeLand{0%{opacity:0;transform:translateY(-10%) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes clearFlash{0%,to{transform:scale(1)}45%{transform:scale(.985)}}@keyframes clearSweep{0%{opacity:0;transform:translate(-82%) scale(.94)}42%{opacity:1;transform:translate(0) scale(1.02)}to{opacity:0;transform:translate(84%) scale(.92)}}@keyframes clearCubeBurst{0%{opacity:1;transform:scale(1)}48%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(.42) rotate(8deg)}}@keyframes riskBreathe{0%{transform:scale(.985)}to{transform:scale(1.02)}}@keyframes noticePop{0%{opacity:0;transform:translate(-50%,-42%) scale(.92)}18%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-68%) scale(.96)}}@keyframes panelIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes centeredPanelIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes shelfEnter{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes jellySpawn2048{0%{opacity:0;transform:scale(.72)}42%{opacity:1;transform:scaleX(1.12) scaleY(.88)}70%{transform:scaleX(.96) scaleY(1.06)}to{opacity:1;transform:scale(1)}}@keyframes jellyMerge2048{0%{transform:scale(1)}38%{transform:scaleX(1.14) scaleY(.86)}70%{transform:scaleX(.94) scaleY(1.08)}to{transform:scale(1)}}@keyframes tetrisJellyLand{0%{opacity:.9;transform:translateY(-9%) scaleX(.9) scaleY(1.08)}48%{opacity:1;transform:translateY(0) scaleX(1.1) scaleY(.9)}76%{transform:scaleX(.96) scaleY(1.05)}to{opacity:1;transform:scale(1)}}@keyframes numberDropPushUp{0%{opacity:0;transform:translateY(130%) scaleX(.92) scaleY(1.06)}58%{opacity:1;transform:translateY(-6%) scaleX(1.06) scaleY(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes numberDropMerge{0%{transform:scale(1)}40%{transform:scaleX(1.14) scaleY(.88)}72%{transform:scaleX(.94) scaleY(1.08)}to{transform:scale(1)}}@keyframes numberColumnPulse{0%,to{transform:scale(1)}45%{transform:scale(1.012)}}@keyframes numberNotice{0%{opacity:0;transform:translate(-50%,8px) scale(.94)}18%,76%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-10px) scale(.96)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
