/* 2048 — scoped to #sdb-game-root. spieldb.de pastel tokens. */
#sdb-game-root{
  --cream:#FDFBF7;--paper:#fff;--rose:#E5989B;--mustard:#FFB347;--deep:#4A4E69;--ink:#22223B;--board:#EDE9F0;--cell:rgba(74,78,105,.10);
  font-family:'Be Vietnam Pro',system-ui,sans-serif;color:var(--ink);max-width:480px;margin:0 auto;
}
#sdb-game-root *{box-sizing:border-box;}
.g2-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1.1rem;}
.g2-scores{display:flex;gap:.75rem;}
.g2-score{background:var(--deep);color:#fff;border-radius:1rem;padding:.5rem 1.1rem;text-align:center;font-weight:800;line-height:1.1;}
.g2-score span{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.7;}
.g2-btn{font:inherit;font-weight:700;padding:.6rem 1.3rem;border:0;border-radius:999px;background:var(--mustard);color:var(--ink);cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
.g2-btn:hover{transform:translateY(-2px) scale(1.03);}
.g2-btn:focus-visible{outline:3px solid var(--deep);outline-offset:2px;}
.g2-board{position:relative;background:var(--board);border-radius:1.5rem;padding:3.2%;display:grid;grid-template-columns:repeat(4,1fr);gap:3.2%;aspect-ratio:1;touch-action:none;}
.g2-bg{background:var(--cell);border-radius:1rem;}
.g2-tile{display:flex;align-items:center;justify-content:center;border-radius:1rem;font-weight:800;font-size:clamp(1.1rem,7vw,2rem);}
.g2-pop{animation:g2pop .2s cubic-bezier(.34,1.56,.64,1);}
.g2-merge{animation:g2merge .2s ease;}
@keyframes g2pop{0%{transform:scale(.1);}100%{transform:scale(1);}}
@keyframes g2merge{0%{transform:scale(1);}50%{transform:scale(1.16);}100%{transform:scale(1);}}
.g2-hint{margin-top:.9rem;text-align:center;color:var(--ink);opacity:.55;font-weight:600;font-size:.95rem;}
.g2-msg{margin-top:.8rem;text-align:center;font-weight:800;color:var(--deep);min-height:1.4rem;}
/* tile colors by value */
.v2{background:#F3E9DD;color:var(--ink);} .v4{background:#EFE0C8;color:var(--ink);}
.v8{background:#F2B179;color:#fff;} .v16{background:#F09660;color:#fff;}
.v32{background:#E5989B;color:#fff;} .v64{background:#D9696E;color:#fff;}
.v128{background:#FFC871;color:#fff;} .v256{background:#FFB347;color:#fff;}
.v512{background:#7C80A0;color:#fff;} .v1024{background:#5A5F83;color:#fff;} .v2048{background:#4A4E69;color:#fff;}
@media (prefers-reduced-motion:reduce){.g2-pop,.g2-merge{animation:none!important;}}
