/* Shared play table + home punch + 2048 sliding tray. Single site. */
.g2-scores{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 10px}
.g2-box{position:relative;min-width:72px;background:linear-gradient(180deg,#3d342c,#2a241c);color:#f6efe4;border-radius:12px;padding:8px 12px 7px;text-align:center;box-shadow:0 6px 14px rgba(42,36,28,.18)}
.g2-box span{display:block;font:700 10px/1 "Source Sans 3",system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#e8c86a;margin-bottom:4px}
.g2-box b{display:block;font:800 20px/1 Fraunces,Georgia,serif;font-variant-numeric:tabular-nums}
.g2-plus{position:absolute;right:8px;top:-8px;color:#e8c86a;font:800 13px/1 "Source Sans 3",system-ui,sans-serif;animation:g2Plus .65s ease-out forwards;pointer-events:none}
@keyframes g2Plus{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}
.g2048-tray{--n:4;position:relative;width:min(100%,440px);aspect-ratio:1;margin:0 auto;padding:12px;border-radius:18px;background:linear-gradient(180deg,#c4b3a2,#a89888);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 16px 32px rgba(42,36,28,.22);touch-action:none;user-select:none}
body.dark .g2048-tray,body.oled .g2048-tray{background:linear-gradient(180deg,#3a3228,#241e18)}
.g2048-tray.n5{padding:10px}.g2048-tray.n6{padding:8px}
.g2048-slots{display:grid;grid-template-columns:repeat(var(--n),1fr);grid-template-rows:repeat(var(--n),1fr);gap:10px;width:100%;height:100%}
.g2048-tray.n5 .g2048-slots{gap:6px}.g2048-tray.n6 .g2048-slots{gap:5px}
.g2048-slots i{display:block;border-radius:10px;background:rgba(238,228,218,.35);box-shadow:inset 0 1px 2px rgba(42,36,28,.12)}
.g2048-layer{position:absolute;inset:12px;pointer-events:none}
.g2048-tray.n5 .g2048-layer{inset:10px}.g2048-tray.n6 .g2048-layer{inset:8px}
.g2-tile{position:absolute;left:0;top:0;border-radius:10px;display:grid;place-items:center;font:800 clamp(16px,5.2vw,32px)/1 "Source Sans 3",system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#776e65;background:#eee4da;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 3px 0 rgba(0,0,0,.16);will-change:transform;z-index:2}
.g2-tile[data-v="2"]{background:linear-gradient(180deg,#f6efe6,#eee4da);color:#776e65}
.g2-tile[data-v="4"]{background:linear-gradient(180deg,#f3e6c8,#ede0c8);color:#776e65}
.g2-tile[data-v="8"]{background:linear-gradient(180deg,#f7c08c,#f2b179);color:#fff}
.g2-tile[data-v="16"]{background:linear-gradient(180deg,#f8a878,#f59563);color:#fff}
.g2-tile[data-v="32"]{background:linear-gradient(180deg,#f88c72,#f67c5f);color:#fff}
.g2-tile[data-v="64"]{background:linear-gradient(180deg,#f8724c,#f65e3b);color:#fff}
.g2-tile[data-v="128"]{background:linear-gradient(180deg,#f3d984,#edcf72);color:#fff;font-size:clamp(14px,4vw,24px)}
.g2-tile[data-v="256"]{background:linear-gradient(180deg,#f2d56f,#edcc61);color:#fff;font-size:clamp(14px,4vw,24px)}
.g2-tile[data-v="512"]{background:linear-gradient(180deg,#f1d05c,#edc850);color:#fff;font-size:clamp(14px,4vw,22px)}
.g2-tile[data-v="1024"]{background:linear-gradient(180deg,#f0cc4a,#edc53f);color:#fff;font-size:clamp(12px,3.4vw,18px)}
.g2-tile[data-v="2048"]{background:linear-gradient(180deg,#f4d034,#edc22e);color:#fff;font-size:clamp(12px,3.4vw,18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 0 22px rgba(237,194,46,.55)}
.g2-tile[data-v="4096"],.g2-tile[data-big]{background:linear-gradient(180deg,#3d342c,#1e1814);color:#e8c86a;font-size:clamp(12px,3.2vw,16px)}
.g2-tile.g-new{animation:flPop .22s cubic-bezier(.34,1.4,.64,1)}
.g2-tile.fl-pop{animation:flPop .32s cubic-bezier(.34,1.4,.64,1);z-index:3}
.g2048-tray.g2-shake{animation:flShake .32s cubic-bezier(.2,.8,.2,1)}
.g2-pad{display:grid;grid-template-columns:repeat(4,minmax(56px,72px));gap:8px;justify-content:center;margin:12px auto 0;max-width:340px}
.g2-dir{min-height:48px;border:0;border-radius:14px;background:linear-gradient(180deg,#fffdf8,#f0e4d0);color:#2a241c;font-size:18px;cursor:pointer;box-shadow:0 4px 0 #c9b896,0 6px 12px rgba(80,55,25,.12)}
.g2-dir:active{transform:translateY(2px);box-shadow:0 2px 0 #c9b896}
body.dark .g2-dir,body.oled .g2-dir{background:rgba(255,255,255,.08);color:#f3ece3;box-shadow:0 4px 0 rgba(0,0,0,.35)}
#play{background:radial-gradient(120% 80% at 50% -10%,rgba(232,200,106,.16),transparent 55%),linear-gradient(180deg,#f7efe0,#efe3ce)}
body.dark #play,body.oled #play{background:#1a1612}
#stage{max-width:520px;margin:0 auto}
.home .card{min-height:220px}
.home .card .mini{height:118px!important;font-size:44px!important}
.home .card .play-cta{min-height:46px;font-size:15px;background:#e8c86a!important;color:#241c14!important}
.home .card:hover .play-cta{background:#2a241c!important;color:#f6efe4!important}
.h-feature .go{background:#e8c86a;color:#241c14}
.home .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (min-width:720px){.home .grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
