@font-face {
  font-family: 'GameFont';
  src: url('fonts/FredokaOne-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html, body {
  width:100%; height:100%;
  overflow:hidden;
  background:#fde0a0;
  user-select:none; -webkit-user-select:none;
  margin:0; padding:0;
}

/* Wrapper fisso 420×780 */
#scaleRoot {
  width:420px;
  height:780px;
  position:relative;
  transform-origin: top left;
  overflow:hidden;
  background:#fde0a0;
  font-family:'GameFont','Nunito',sans-serif;
}

/* Nessun scanline — aspetto candy pulito */

.screen {
  display:none; flex-direction:column; align-items:center;
  width:420px; height:780px;
  position:absolute; top:0; left:0;
}
.screen.active { display:flex; }

/* ====== HOME ====== */
#homeScreen {
  justify-content:center; gap:14px;
  background:#fde0a0;
  position:relative; overflow:hidden;
}

/* Nuvole decorative */
.candy-clouds { position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; }
.cloud {
  position:absolute; font-size:48px; opacity:.18;
  animation: cloudFloat 8s ease-in-out infinite;
}
.cloud1 { top:6%; left:-2%; animation-delay:0s; }
.cloud2 { top:14%; right:2%; animation-delay:2.5s; font-size:36px; }
.cloud3 { top:3%;  left:55%; animation-delay:4s;   font-size:32px; }
@keyframes cloudFloat {
  0%,100%{ transform:translateY(0); }
  50%    { transform:translateY(-10px); }
}

/* LOGO CADUTA CARAMELLE */
.logo-dynamic {
  width:200px; height:120px;
  position:relative; overflow:visible;
  margin-bottom:2px;
}
.fall-piece {
  position:absolute;
  border-radius:10px;
  animation:fallDown linear infinite;
  opacity:0;
}
@keyframes fallDown {
  0%   { transform:translateY(-60px) rotate(0deg);  opacity:0; }
  10%  { opacity:1; }
  85%  { opacity:1; }
  100% { transform:translateY(140px) rotate(20deg); opacity:0; }
}

/* TITOLO */
.game-title {
  font-size:48px; font-weight:900; color:#e63900; letter-spacing:4px;
  text-shadow:
    0 5px 0 #8b1a00,
    0 7px 0 rgba(139,26,0,.25);
  -webkit-text-stroke:1px #8b2000;
}

.game-sub {
  font-size:12px; color:#c05010; font-weight:700;
  text-align:center; line-height:1.75; max-width:250px; letter-spacing:.3px;
}

/* PLAY BUTTON */
.btn-play {
  width:120px; height:120px;
  background: linear-gradient(135deg,#ff6ec7,#ff3da8);
  border: 3px solid #fff;
  border-radius:32px; cursor:pointer;
  box-shadow:
    0 8px 0 #c01a7a,
    0 12px 20px rgba(255,61,168,.4),
    inset 0 3px 0 rgba(255,255,255,.5);
  display:flex; align-items:center; justify-content:center;
  transition: box-shadow .12s, transform .1s;
}
.btn-play:active {
  transform:scale(.95) translateY(4px);
  box-shadow:0 4px 0 #c01a7a, 0 6px 10px rgba(255,61,168,.3);
}
.btn-play svg { width:50px; height:50px; fill:white; margin-left:8px;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.25)); }

/* HOME BUTTONS */
.home-btns { display:flex; gap:10px; }
.home-btn {
  width:56px; height:56px; border-radius:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:transform .1s, box-shadow .1s;
}
.home-btn:active {
  transform:scale(.88) translateY(3px);
}
.home-btn svg { width:26px; height:26px; fill:#333; pointer-events:none; }

.best-score {
  font-size:28px; font-weight:900; color:#e63900; text-align:center;
}
.best-score small {
  font-size:11px; color:#c05010; display:block; font-weight:700; letter-spacing:2px; margin-bottom:2px;
}

.mapi-brand {
  font-size:11px; font-weight:900; color:#e63900; letter-spacing:4px; text-align:center;
  opacity:.45;
}

/* ====== GAME HEADER ====== */
#gameScreen {
  justify-content:flex-start;
  background:#fde0a0;
}
.game-header {
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 14px 6px;
}
.hdr-group { display:flex; gap:8px; }
.hbtn {
  width:46px; height:46px; border-radius:16px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  border:none;
  transition:transform .1s;
}
.hbtn:active { transform:scale(.9) translateY(3px); }
.hbtn svg { width:22px; height:22px; fill:white; pointer-events:none; }

#btnSound {
  background:linear-gradient(135deg,#ffd600,#ffaa00);
  box-shadow:0 4px 0 #b37200, 0 6px 12px rgba(255,170,0,.3);
}
#btnStar {
  background:linear-gradient(135deg,#ff6ec7,#e040a8);
  box-shadow:0 4px 0 #9c0c6a, 0 6px 12px rgba(224,64,168,.3);
}
#btnReset {
  background:linear-gradient(135deg,#ff7043,#e53935);
  box-shadow:0 4px 0 #b71c1c, 0 6px 12px rgba(229,57,53,.3);
}
#btnHome {
  background:linear-gradient(135deg,#4cde80,#22c55e);
  box-shadow:0 4px 0 #166534, 0 6px 12px rgba(34,197,94,.3);
}

.score-box { text-align:center; }
.score-num {
  font-size:40px; font-weight:900; color:#e63900; line-height:1;
  text-shadow:0 3px 0 #8b1a00, 0 5px 12px rgba(139,26,0,.2);
}
.score-best {
  font-size:12px; font-weight:800; color:#c05010;
}
.score-best::before,.score-best::after { content:"🍬"; font-size:10px; margin:0 2px; }

/* ====== GRID ====== */
.grid-wrap {
  flex:1; display:flex; align-items:center; justify-content:center;
  width:100%; max-width:420px; padding:0 8px;
}
#grid {
  display:grid; grid-template-columns:repeat(11,1fr); gap:3px;
  background: linear-gradient(135deg,#ff8ac0,#ffb066);
  border-radius:22px; padding:9px;
  box-shadow:
    0 8px 0 #c0306a,
    0 12px 30px rgba(180,0,80,.35),
    inset 0 2px 6px rgba(255,255,255,.4);
  border:4px solid #fff;
  width:100%; max-width:400px; aspect-ratio:1/1;
}
.cell {
  border-radius:7px;
  background:rgba(255,120,170,.35);
  border:1.5px solid rgba(255,255,255,.3);
  aspect-ratio:1/1;
  transition:background .08s;
}
@keyframes popOff {
  0%  { transform:scale(1);   opacity:1; }
  30% { transform:scale(1.4); opacity:.9; filter:brightness(1.8) saturate(2.5); }
  100%{ transform:scale(0);   opacity:0; filter:blur(4px); }
}
.cell.popping { animation:popOff .32s ease forwards; }
.cell.hl-ok {
  background:rgba(76,222,128,.35) !important;
  border-color:#22c55e !important;
  box-shadow:0 0 10px rgba(34,197,94,.6), inset 0 2px 0 rgba(255,255,255,.6) !important;
}
.cell.hl-no {
  background:rgba(255,100,100,.3) !important;
  border-color:#ef4444 !important;
  box-shadow:0 0 10px rgba(239,68,68,.6) !important;
}

/* ====== DIVIDER ====== */
.divider {
  width:88%; height:3px; flex-shrink:0; margin:6px 0;
  background:linear-gradient(90deg,transparent,#fff,rgba(255,220,80,.9),#fff,transparent);
  border-radius:4px;
  box-shadow:0 2px 8px rgba(255,100,180,.25);
}

/* ====== TRAY ====== */
.tray {
  width:100%; max-width:420px;
  display:flex; justify-content:space-around; align-items:flex-end;
  padding:4px 10px 16px; flex-shrink:0;
  background:linear-gradient(180deg,transparent,rgba(180,30,80,.25));
}
.piece-slot {
  display:flex; align-items:center; justify-content:center;
  width:30%; min-height:76px; cursor:grab;
  background:rgba(255,255,255,.55);
  border-radius:18px;
  border:2px dashed #ffb3de;
  transition:opacity .2s, border-color .15s;
}
.piece-slot:hover { border-color:#ff6ec7; }
.piece-slot.used    { opacity:.12; pointer-events:none; }
.piece-slot.dragging{ opacity:.3; }
.pg { display:inline-grid; gap:3px; pointer-events:none; }
.pc { border-radius:7px; pointer-events:none; }

/* ====== DRAG FLOAT ====== */
#dragFloat {
  position:fixed; pointer-events:none; display:none; z-index:999;
}
#dragFloat .pc { border-radius:9px; }

/* ====== LEADERBOARD ====== */
#lbScreen {
  background:#fde0a0;
  justify-content:center;
}
.lb-wrap { width:100%; padding:30px 28px; display:flex; flex-direction:column; align-items:center; gap:18px; }
.lb-title {
  font-size:28px; font-weight:900; color:#e63900; letter-spacing:2px;
  text-shadow:0 4px 0 #8b1a00;
}
.lb-subtitle {
  font-size:11px; font-weight:800; color:#c05010; letter-spacing:3px;
}
.lb-card {
  width:100%;
  background:rgba(255,255,255,.7);
  border:3px solid #ffb3de;
  border-radius:24px; padding:28px 24px;
  display:flex; align-items:center; justify-content:space-between;
  box-shadow:0 8px 0 #f0b0d0, 0 12px 30px rgba(255,100,180,.15);
  animation:lbBounce 2.5s ease-in-out infinite;
}
@keyframes lbBounce {
  0%,100%{ transform:translateY(0); }
  50%    { transform:translateY(-5px); }
}
.lb-rank { font-size:28px; }
.lb-name {
  font-size:20px; font-weight:900; color:#e63900; letter-spacing:2px;
}
.lb-score {
  font-size:38px; font-weight:900; color:#ff9800;
  text-shadow:0 3px 0 #b37200;
}
.lb-empty { font-size:14px; color:#c05010; font-weight:700; text-align:center; display:none; }

/* ====== PARTICLE CANVAS ====== */
#particleCanvas {
  position:absolute; top:0; left:0;
  width:420px; height:780px;
  pointer-events:none; z-index:500;
}

/* ====== HOW TO PLAY ====== */
#howScreen {
  background:#fde0a0;
  justify-content:center;
}
.htp-wrap {
  width:100%; padding:20px 22px;
  display:flex; flex-direction:column; gap:12px;
  overflow-y:auto; max-height:780px;
}
.htp-title {
  font-size:24px; font-weight:900; color:#e63900; text-align:center; letter-spacing:2px; margin-bottom:4px;
  text-shadow:0 4px 0 #8b1a00;
}
.htp-card {
  background:rgba(255,255,255,.7); border-radius:18px; padding:14px 16px;
  display:flex; align-items:flex-start; gap:14px;
  border:2px solid #ffb3de;
  box-shadow:0 4px 0 #f0b0d0, 0 6px 16px rgba(255,100,180,.1);
}
.htp-icon { font-size:26px; flex-shrink:0; }
.htp-text { font-size:13px; color:#884040; font-weight:700; line-height:1.6; }
.htp-text b {
  color:#e63900; display:block; margin-bottom:3px; font-size:14px;
}
.htp-back {
  margin-top:8px; align-self:center; display:flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,#ff6ec7,#e040a8);
  border:3px solid #fff; border-radius:18px;
  color:#fff; font-family:'GameFont','Nunito',sans-serif; font-size:16px; font-weight:800;
  padding:12px 28px; cursor:pointer;
  box-shadow:0 5px 0 #9c0c6a, 0 8px 20px rgba(224,64,168,.3);
  transition:transform .1s;
}
.htp-back:active { transform:scale(.95) translateY(3px); box-shadow:0 2px 0 #9c0c6a; }

/* ====== CONTINUE DIALOG ====== */
#continueOverlay {
  display:none; position:absolute; inset:0;
  background:rgba(180,30,80,.75); backdrop-filter:blur(10px);
  z-index:900; align-items:center; justify-content:center;
}
#continueOverlay.show { display:flex; }
.cont-box {
  background:rgba(255,255,255,.92);
  border:3px solid #ffb3de; border-radius:28px; padding:32px 28px;
  text-align:center;
  box-shadow:0 10px 0 #f0b0d0, 0 16px 40px rgba(255,100,180,.25);
  animation:popIn .4s cubic-bezier(.34,1.56,.64,1);
  width:300px;
}
.cont-title {
  font-size:22px; font-weight:900; color:#e63900; margin-bottom:6px;
  text-shadow:0 3px 0 #8b1a00;
}
.cont-score { font-size:14px; color:#884040; font-weight:700; margin-bottom:22px; }
.cont-score span {
  font-size:26px; font-weight:900; color:#ff9d00; display:block; margin-top:4px;
  text-shadow:0 3px 0 #b37200;
}
.cont-btns { display:flex; flex-direction:column; gap:10px; }
.cont-btn {
  padding:14px; border:none; border-radius:16px;
  font-family:'GameFont','Nunito',sans-serif; font-size:16px; font-weight:900; cursor:pointer;
  transition:transform .1s;
}
.cont-btn:active { transform:scale(.96) translateY(2px); }
.cont-continue {
  background:linear-gradient(135deg,#4cde80,#22c55e);
  border:3px solid #fff; color:#fff; font-size:18px;
  box-shadow:0 5px 0 #166534;
  letter-spacing:1px;
}
.cont-new {
  background:#fff0fb; border:2px solid #ffd6eb; color:#c070a0; font-size:14px;
}

/* ====== PAUSE OVERLAY ====== */
#pauseOverlay {
  display:none; position:absolute; inset:0;
  background:rgba(180,30,80,.8); backdrop-filter:blur(10px);
  z-index:700; align-items:center; justify-content:center;
}
#pauseOverlay.show { display:flex; }
.pause-box {
  color:#e63900; font-size:32px; font-weight:900; text-align:center; line-height:1.6;
  text-shadow:0 4px 0 #8b1a00;
  background:rgba(255,255,255,.92); border-radius:24px; padding:28px 40px;
  border:3px solid #ffb3de;
  box-shadow:0 8px 0 #f0b0d0;
}
.pause-box small { font-size:13px; color:#c05010; font-weight:700; text-shadow:none; }

/* ====== GAME OVER ====== */
#goOverlay {
  display:none; position:fixed; inset:0;
  background:rgba(180,30,80,.82); backdrop-filter:blur(8px);
  z-index:800; align-items:center; justify-content:center;
}
#goOverlay.show { display:flex; }
.go-box {
  background:rgba(255,255,255,.92);
  border:3px solid #ffb3de; border-radius:28px; padding:32px 28px;
  text-align:center;
  box-shadow:0 10px 0 #f0b0d0, 0 16px 40px rgba(255,100,180,.3);
  animation:popIn .4s cubic-bezier(.34,1.56,.64,1);
  min-width:280px;
}
@keyframes popIn { from{transform:scale(.5);opacity:0} to{transform:scale(1);opacity:1} }
.go-emoji { font-size:42px; margin-bottom:4px; animation:wobble 1s ease-in-out infinite; }
@keyframes wobble {
  0%,100%{ transform:rotate(-5deg); }
  50%    { transform:rotate(5deg); }
}
.go-title {
  font-size:32px; font-weight:900; color:#e63900; margin-bottom:10px;
  text-shadow:0 4px 0 #8b1a00;
}
.go-sc    { font-size:15px; color:#884040; font-weight:700; margin-bottom:4px; }
.go-best  {
  font-size:28px; font-weight:900; color:#ff9800; margin-bottom:24px;
  text-shadow:0 3px 0 #b37200;
}
.go-btns  { display:flex; gap:12px; justify-content:center; }
.go-btn {
  padding:13px 22px; border:none; border-radius:16px;
  font-family:'GameFont','Nunito',sans-serif; font-size:15px; font-weight:800;
  cursor:pointer; transition:transform .1s;
  border:3px solid rgba(255,255,255,.7);
}
.go-btn:active { transform:scale(.94) translateY(3px); }
.go-btn-play {
  background:linear-gradient(135deg,#4cde80,#22c55e); color:#fff;
  box-shadow:0 5px 0 #166534;
}
.go-btn-home {
  background:linear-gradient(135deg,#60a5fa,#3b82f6); color:#fff;
  box-shadow:0 5px 0 #1d4ed8;
}

/* ====== SHAKE & FLASH ====== */
@keyframes shakeGrid {
  0%,100%{ transform:translate(0,0) rotate(0deg); }
  10%    { transform:translate(-4px,-2px) rotate(-1.5deg); }
  25%    { transform:translate(5px,2px)  rotate(1.5deg); }
  40%    { transform:translate(-5px,-1px) rotate(-1.5deg); }
  55%    { transform:translate(4px,2px) rotate(1deg); }
  70%    { transform:translate(-3px,-2px) rotate(-.5deg); }
  85%    { transform:translate(2px,1px) rotate(.5deg); }
}
@keyframes shakeMini {
  0%,100%{ transform:translate(0,0); }
  30%    { transform:translate(-2px,1px); }
  60%    { transform:translate(2px,-1px); }
}
@keyframes flashBright {
  0%,100%{ filter:brightness(1) saturate(1); }
  30%    { filter:brightness(1.35) saturate(2); }
  60%    { filter:brightness(1.15) saturate(1.5); }
}
#grid.shake-big  { animation:shakeGrid .42s cubic-bezier(.36,.07,.19,.97); }
#grid.shake-mini { animation:shakeMini .16s ease; }
#scaleRoot.flash { animation:flashBright .38s ease; }

/* ====== NEW BEST ====== */
@keyframes newBestIn {
  0%  { transform:scale(0) rotate(-15deg); opacity:0; }
  60% { transform:scale(1.2) rotate(4deg);  opacity:1; }
  80% { transform:scale(.95) rotate(-2deg); }
  100%{ transform:scale(1) rotate(0deg);    opacity:1; }
}
@keyframes newBestOut {
  0%  { transform:scale(1);   opacity:1; }
  100%{ transform:scale(1.3) translateY(-30px); opacity:0; }
}
#newBestBadge {
  position:absolute; top:56px; left:50%; transform:translateX(-50%);
  background:linear-gradient(135deg,#ffe066,#ffaa00);
  border:3px solid #fff;
  color:#fff; font-size:13px; font-weight:900; letter-spacing:2px;
  padding:8px 20px; border-radius:30px;
  box-shadow:0 5px 0 #b37200, 0 8px 20px rgba(255,157,0,.4);
  pointer-events:none; z-index:600; display:none;
  white-space:nowrap;
  text-shadow:0 2px 0 rgba(0,0,0,.2);
}
#newBestBadge.show { display:block; animation:newBestIn .5s cubic-bezier(.34,1.56,.64,1) forwards; }
#newBestBadge.hide { animation:newBestOut .4s ease forwards; }

/* ====== COMBO / SUGAR RUSH ====== */
@keyframes comboIn {
  0%  { transform:translateX(-50%) scale(.4) rotate(-10deg); opacity:0; }
  60% { transform:translateX(-50%) scale(1.2) rotate(3deg); opacity:1; }
  100%{ transform:translateX(-50%) scale(1) rotate(0deg);   opacity:1; }
}
@keyframes comboPulse {
  0%,100%{ transform:translateX(-50%) scale(1); }
  50%    { transform:translateX(-50%) scale(1.08); }
}
@keyframes comboOut {
  to{ transform:translateX(-50%) translateY(-40px) scale(.7) rotate(10deg); opacity:0; }
}
#comboBanner {
  position:absolute; top:46%; left:50%;
  transform:translateX(-50%);
  pointer-events:none; z-index:610; display:none;
  text-align:center; line-height:1.1;
  background:rgba(255,255,255,.9);
  border:3px solid #ff6ec7;
  border-radius:22px; padding:8px 24px;
  box-shadow:0 8px 0 #f0b0d0, 0 12px 30px rgba(255,100,180,.3);
}
#comboBanner.show  { display:block; animation:comboIn .35s cubic-bezier(.34,1.56,.64,1) forwards; }
#comboBanner.pulse { animation:comboPulse .35s ease infinite; }
#comboBanner.hide  { animation:comboOut .4s ease forwards; }
.combo-label { font-size:10px; font-weight:900; color:#e63900; letter-spacing:4px; }
.combo-count { font-size:52px; font-weight:900; }

/* ====== INTRO SPLASH ====== */
#introSplash {
  position:fixed; inset:0; z-index:2000;
  background:#fde0a0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px;
  font-family:'GameFont','Nunito',sans-serif;
  overflow:hidden;
}
.sp-deco {
  position:absolute; font-size:52px;
  animation:spDecoFloat 3s ease-in-out infinite;
  opacity:.35;
}
.sp-deco1 { top:8%;  left:8%;  animation-delay:0s; }
.sp-deco2 { top:12%; right:6%; animation-delay:.7s; font-size:44px; }
.sp-deco3 { bottom:12%; left:10%; animation-delay:1.4s; font-size:40px; }
.sp-deco4 { bottom:16%; right:8%; animation-delay:.3s; font-size:46px; }
@keyframes spDecoFloat {
  0%,100%{ transform:translateY(0) rotate(-5deg); }
  50%    { transform:translateY(-15px) rotate(5deg); }
}
#introSplash .sp-title {
  font-size:60px; font-weight:900; color:#e63900; letter-spacing:6px;
  text-shadow:0 6px 0 #8b1a00, 0 10px 20px rgba(139,26,0,.25);
  -webkit-text-stroke:1px #8b2000;
  opacity:0; animation:spTitleIn .7s .3s cubic-bezier(.34,1.56,.64,1) forwards;
}
#introSplash .sp-sub {
  font-size:12px; font-weight:700; color:#c05010; letter-spacing:5px;
  opacity:0; animation:spSubIn .5s .8s ease forwards;
}
#introSplash .sp-bar {
  width:200px; height:10px; background:rgba(200,120,20,.2); border-radius:10px; overflow:hidden;
  opacity:0; animation:spSubIn .5s .9s ease forwards;
}
#introSplash .sp-bar-fill {
  height:100%; background:linear-gradient(90deg,#fff,#ffe066,#fff);
  border-radius:10px; animation:spBarFill 1.4s 1s ease forwards;
  box-shadow:0 0 10px rgba(255,110,199,.5); width:0;
}
@keyframes spTitleIn {
  from{ opacity:0; transform:scale(.5) translateY(30px); }
  to  { opacity:1; transform:scale(1)  translateY(0); }
}
@keyframes spSubIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
@keyframes spBarFill { from{width:0} to{width:100%} }
@keyframes spFadeOut { from{opacity:1} to{opacity:0;pointer-events:none} }

/* ====== SCORE POP ====== */
.spop {
  position:fixed; font-size:24px; font-weight:900; color:#e63900;
  text-shadow:0 3px 0 #8b1a00;
  pointer-events:none; z-index:1000;
  animation:spopAnim .9s ease forwards;
  background:rgba(255,255,255,.88); padding:2px 10px; border-radius:20px;
  border:2px solid #ffb3de;
}
@keyframes spopAnim {
  from{ transform:translateY(0) scale(1); opacity:1; }
  to  { transform:translateY(-60px) scale(.6); opacity:0; }
}

/* ══════════════════════════════════
   6 CANDY THEMES (ciclo con bottone ★)
   ══════════════════════════════════ */

/* 🫐 BLUEBERRY */
body.theme-blueberry { background:#ede9fe; }
body.theme-blueberry #scaleRoot { background:linear-gradient(180deg,#ede9fe 0%,#f0f9ff 55%,#faf5ff 100%); }
body.theme-blueberry #homeScreen { background:linear-gradient(180deg,#ddd6fe 0%,#ede9fe 55%,#bfdbfe 100%); }
body.theme-blueberry #gameScreen { background:linear-gradient(180deg,#f5f3ff 0%,#eff6ff 100%); }
body.theme-blueberry #howScreen { background:#ede9fe; }
body.theme-blueberry #lbScreen { background:#ede9fe; }
body.theme-blueberry .game-title { color:#7c3ced; text-shadow:0 4px 0 #4a0fa8,0 6px 0 rgba(74,15,168,.3); -webkit-text-stroke:1px #5b21b6; }
body.theme-blueberry .game-sub { color:#6d28d9; }
body.theme-blueberry .btn-play { background:linear-gradient(135deg,#a78bfa,#7c3ced); box-shadow:0 8px 0 #4a0fa8,0 12px 20px rgba(124,60,237,.4),inset 0 3px 0 rgba(255,255,255,.5); }
body.theme-blueberry .best-score { color:#7c3ced; }
body.theme-blueberry .best-score small { color:#8b5cf6; }
body.theme-blueberry .mapi-brand { color:#7c3ced; }
body.theme-blueberry .score-num { color:#7c3ced; text-shadow:0 3px 0 #4a0fa8; }
body.theme-blueberry .score-best { color:#818cf8; }
body.theme-blueberry #grid { background:linear-gradient(135deg,#ede9fe,#dbeafe); border-color:#c4b5fd; box-shadow:0 8px 0 #a5b4fc,0 12px 30px rgba(124,60,237,.2),inset 0 2px 6px rgba(255,255,255,.9); }
body.theme-blueberry .cell { background:#f5f0ff; border-color:#ddd6fe; }
body.theme-blueberry .divider { background:linear-gradient(90deg,transparent,#a78bfa,#60a5fa,transparent); }
body.theme-blueberry .piece-slot { border-color:#c4b5fd; }
body.theme-blueberry .go-title { color:#7c3ced; text-shadow:0 4px 0 #4a0fa8; }
body.theme-blueberry .lb-title { color:#7c3ced; text-shadow:0 4px 0 #4a0fa8; }
body.theme-blueberry .htp-title { color:#7c3ced; }
body.theme-blueberry .htp-text b { color:#7c3ced; }
body.theme-blueberry .cont-title { color:#7c3ced; }
body.theme-blueberry .pause-box { color:#7c3ced; border-color:#c4b5fd; box-shadow:0 8px 0 #a5b4fc; }
body.theme-blueberry #comboBanner { border-color:#a78bfa; }
body.theme-blueberry #newBestBadge { background:linear-gradient(135deg,#a78bfa,#7c3ced); box-shadow:0 5px 0 #4a0fa8; }

/* 🍋 LEMON */
body.theme-lemon { background:#fef9c3; }
body.theme-lemon #scaleRoot { background:linear-gradient(180deg,#fef9c3 0%,#f0fdf4 55%,#fefce8 100%); }
body.theme-lemon #homeScreen { background:linear-gradient(180deg,#fef9c3 0%,#ecfccb 55%,#d9f99d 100%); }
body.theme-lemon #gameScreen { background:linear-gradient(180deg,#fefce8 0%,#f7fee7 100%); }
body.theme-lemon #howScreen { background:#fef9c3; }
body.theme-lemon #lbScreen { background:#fef9c3; }
body.theme-lemon .game-title { color:#ca8a04; text-shadow:0 4px 0 #854d0e,0 6px 0 rgba(133,77,14,.3); -webkit-text-stroke:1px #a16207; }
body.theme-lemon .game-sub { color:#a16207; }
body.theme-lemon .btn-play { background:linear-gradient(135deg,#fde047,#eab308); box-shadow:0 8px 0 #854d0e,0 12px 20px rgba(234,179,8,.4),inset 0 3px 0 rgba(255,255,255,.5); }
body.theme-lemon .best-score { color:#ca8a04; }
body.theme-lemon .best-score small { color:#a16207; }
body.theme-lemon .mapi-brand { color:#ca8a04; }
body.theme-lemon .score-num { color:#ca8a04; text-shadow:0 3px 0 #854d0e; }
body.theme-lemon .score-best { color:#a3e635; }
body.theme-lemon #grid { background:linear-gradient(135deg,#fef9c3,#ecfccb); border-color:#fde047; box-shadow:0 8px 0 #eab308,0 12px 30px rgba(234,179,8,.2),inset 0 2px 6px rgba(255,255,255,.9); }
body.theme-lemon .cell { background:#fefce8; border-color:#fef08a; }
body.theme-lemon .divider { background:linear-gradient(90deg,transparent,#fde047,#a3e635,transparent); }
body.theme-lemon .piece-slot { border-color:#fde047; }
body.theme-lemon .go-title { color:#ca8a04; text-shadow:0 4px 0 #854d0e; }
body.theme-lemon .lb-title { color:#ca8a04; }
body.theme-lemon .htp-title { color:#ca8a04; }
body.theme-lemon .htp-text b { color:#ca8a04; }
body.theme-lemon .cont-title { color:#ca8a04; }
body.theme-lemon .pause-box { color:#ca8a04; border-color:#fde047; box-shadow:0 8px 0 #eab308; }
body.theme-lemon #comboBanner { border-color:#fde047; }
body.theme-lemon #newBestBadge { background:linear-gradient(135deg,#fde047,#eab308); box-shadow:0 5px 0 #854d0e; }

/* 🌿 MINT */
body.theme-mint { background:#d1fae5; }
body.theme-mint #scaleRoot { background:linear-gradient(180deg,#d1fae5 0%,#ccfbf1 55%,#ecfdf5 100%); }
body.theme-mint #homeScreen { background:linear-gradient(180deg,#d1fae5 0%,#ccfbf1 55%,#a7f3d0 100%); }
body.theme-mint #gameScreen { background:linear-gradient(180deg,#ecfdf5 0%,#f0fdfa 100%); }
body.theme-mint #howScreen { background:#d1fae5; }
body.theme-mint #lbScreen { background:#d1fae5; }
body.theme-mint .game-title { color:#059669; text-shadow:0 4px 0 #065f46,0 6px 0 rgba(6,95,70,.3); -webkit-text-stroke:1px #047857; }
body.theme-mint .game-sub { color:#047857; }
body.theme-mint .btn-play { background:linear-gradient(135deg,#34d399,#059669); box-shadow:0 8px 0 #065f46,0 12px 20px rgba(5,150,105,.4),inset 0 3px 0 rgba(255,255,255,.5); }
body.theme-mint .best-score { color:#059669; }
body.theme-mint .best-score small { color:#047857; }
body.theme-mint .mapi-brand { color:#059669; }
body.theme-mint .score-num { color:#059669; text-shadow:0 3px 0 #065f46; }
body.theme-mint .score-best { color:#2dd4bf; }
body.theme-mint #grid { background:linear-gradient(135deg,#d1fae5,#ccfbf1); border-color:#6ee7b7; box-shadow:0 8px 0 #34d399,0 12px 30px rgba(52,211,153,.2),inset 0 2px 6px rgba(255,255,255,.9); }
body.theme-mint .cell { background:#ecfdf5; border-color:#a7f3d0; }
body.theme-mint .divider { background:linear-gradient(90deg,transparent,#34d399,#2dd4bf,transparent); }
body.theme-mint .piece-slot { border-color:#6ee7b7; }
body.theme-mint .go-title { color:#059669; text-shadow:0 4px 0 #065f46; }
body.theme-mint .lb-title { color:#059669; }
body.theme-mint .htp-title { color:#059669; }
body.theme-mint .htp-text b { color:#059669; }
body.theme-mint .cont-title { color:#059669; }
body.theme-mint .pause-box { color:#059669; border-color:#6ee7b7; box-shadow:0 8px 0 #34d399; }
body.theme-mint #comboBanner { border-color:#34d399; }
body.theme-mint #newBestBadge { background:linear-gradient(135deg,#34d399,#059669); box-shadow:0 5px 0 #065f46; }

/* 🍫 CHOCO */
body.theme-choco { background:#ffedd5; }
body.theme-choco #scaleRoot { background:linear-gradient(180deg,#ffedd5 0%,#fef9c3 55%,#fff7ed 100%); }
body.theme-choco #homeScreen { background:linear-gradient(180deg,#ffedd5 0%,#fef3c7 55%,#fde68a 100%); }
body.theme-choco #gameScreen { background:linear-gradient(180deg,#fff7ed 0%,#fffbeb 100%); }
body.theme-choco #howScreen { background:#ffedd5; }
body.theme-choco #lbScreen { background:#ffedd5; }
body.theme-choco .game-title { color:#ea580c; text-shadow:0 4px 0 #9a3412,0 6px 0 rgba(154,52,18,.3); -webkit-text-stroke:1px #c2410c; }
body.theme-choco .game-sub { color:#c2410c; }
body.theme-choco .btn-play { background:linear-gradient(135deg,#fb923c,#ea580c); box-shadow:0 8px 0 #9a3412,0 12px 20px rgba(234,88,12,.4),inset 0 3px 0 rgba(255,255,255,.5); }
body.theme-choco .best-score { color:#ea580c; }
body.theme-choco .best-score small { color:#c2410c; }
body.theme-choco .mapi-brand { color:#ea580c; }
body.theme-choco .score-num { color:#ea580c; text-shadow:0 3px 0 #9a3412; }
body.theme-choco .score-best { color:#fbbf24; }
body.theme-choco #grid { background:linear-gradient(135deg,#ffedd5,#fef3c7); border-color:#fdba74; box-shadow:0 8px 0 #fb923c,0 12px 30px rgba(251,146,60,.2),inset 0 2px 6px rgba(255,255,255,.9); }
body.theme-choco .cell { background:#fff7ed; border-color:#fed7aa; }
body.theme-choco .divider { background:linear-gradient(90deg,transparent,#fb923c,#fbbf24,transparent); }
body.theme-choco .piece-slot { border-color:#fdba74; }
body.theme-choco .go-title { color:#ea580c; text-shadow:0 4px 0 #9a3412; }
body.theme-choco .lb-title { color:#ea580c; }
body.theme-choco .htp-title { color:#ea580c; }
body.theme-choco .htp-text b { color:#ea580c; }
body.theme-choco .cont-title { color:#ea580c; }
body.theme-choco .pause-box { color:#ea580c; border-color:#fdba74; box-shadow:0 8px 0 #fb923c; }
body.theme-choco #comboBanner { border-color:#fb923c; }
body.theme-choco #newBestBadge { background:linear-gradient(135deg,#fb923c,#ea580c); box-shadow:0 5px 0 #9a3412; }

/* 🍬 BUBBLEGUM */
body.theme-bubblegum { background:#fae8ff; }
body.theme-bubblegum #scaleRoot { background:linear-gradient(180deg,#fae8ff 0%,#f5d0fe 55%,#fdf4ff 100%); }
body.theme-bubblegum #homeScreen { background:linear-gradient(180deg,#fae8ff 0%,#f5d0fe 55%,#e9d5ff 100%); }
body.theme-bubblegum #gameScreen { background:linear-gradient(180deg,#fdf4ff 0%,#f5f3ff 100%); }
body.theme-bubblegum #howScreen { background:#fae8ff; }
body.theme-bubblegum #lbScreen { background:#fae8ff; }
body.theme-bubblegum .game-title { color:#c026d3; text-shadow:0 4px 0 #7e22ce,0 6px 0 rgba(126,34,206,.3); -webkit-text-stroke:1px #a21caf; }
body.theme-bubblegum .game-sub { color:#a21caf; }
body.theme-bubblegum .btn-play { background:linear-gradient(135deg,#e879f9,#c026d3); box-shadow:0 8px 0 #7e22ce,0 12px 20px rgba(192,38,211,.4),inset 0 3px 0 rgba(255,255,255,.5); }
body.theme-bubblegum .best-score { color:#c026d3; }
body.theme-bubblegum .best-score small { color:#a21caf; }
body.theme-bubblegum .mapi-brand { color:#c026d3; }
body.theme-bubblegum .score-num { color:#c026d3; text-shadow:0 3px 0 #7e22ce; }
body.theme-bubblegum .score-best { color:#e879f9; }
body.theme-bubblegum #grid { background:linear-gradient(135deg,#fae8ff,#f5d0fe); border-color:#e879f9; box-shadow:0 8px 0 #c026d3,0 12px 30px rgba(192,38,211,.2),inset 0 2px 6px rgba(255,255,255,.9); }
body.theme-bubblegum .cell { background:#fdf4ff; border-color:#f0abfc; }
body.theme-bubblegum .divider { background:linear-gradient(90deg,transparent,#e879f9,#f472b6,transparent); }
body.theme-bubblegum .piece-slot { border-color:#e879f9; }
body.theme-bubblegum .go-title { color:#c026d3; text-shadow:0 4px 0 #7e22ce; }
body.theme-bubblegum .lb-title { color:#c026d3; }
body.theme-bubblegum .htp-title { color:#c026d3; }
body.theme-bubblegum .htp-text b { color:#c026d3; }
body.theme-bubblegum .cont-title { color:#c026d3; }
body.theme-bubblegum .pause-box { color:#c026d3; border-color:#e879f9; box-shadow:0 8px 0 #c026d3; }
body.theme-bubblegum #comboBanner { border-color:#e879f9; }
body.theme-bubblegum #newBestBadge { background:linear-gradient(135deg,#e879f9,#c026d3); box-shadow:0 5px 0 #7e22ce; }
