/* ── Оформление: дурашливый тон ──────────────────────────────────────── */

body[data-tone="goofy"] {
  --wall-bg: linear-gradient(165deg, #5b1fc9 0%, #a41fc0 40%, #e0328f 72%, #ff5f7e 100%);
  --wall-glow: radial-gradient(70% 50% at 20% 10%, rgba(255, 230, 90, .3), transparent 60%),
               radial-gradient(70% 50% at 80% 12%, rgba(120, 255, 230, .28), transparent 60%);
  --floor-bg: repeating-linear-gradient(90deg, #2a0f45 0 60px, #3a1560 60px 120px);
  --table-bg: linear-gradient(180deg, #ffd166, #e0932c);
  --screen-bg: linear-gradient(155deg, #6a20d6, #d4249b 55%, #ff6b57);
  --finale-bg: linear-gradient(155deg, #7a1fe0, #ff2fa0 50%, #ffb03a);
  --panel: rgba(28, 8, 44, .82);
  --panel-line: rgba(255, 255, 255, .3);
  --radius: 8px;
  --font-display: "Arial Black", "Segoe UI Black", "Helvetica Neue", system-ui, sans-serif;
}

body[data-tone="goofy"] .screen-title,
body[data-tone="goofy"] .finale .screen-title {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.02em;
  line-height: .98;
  text-shadow:
    3px 3px 0 #26073d, -3px 3px 0 #26073d, 3px -3px 0 #26073d, -3px -3px 0 #26073d,
    0 4px 0 #26073d, 0 -4px 0 #26073d, 4px 0 0 #26073d, -4px 0 0 #26073d,
    0 12px 26px rgba(0, 0, 0, .45);
  animation: titleWobble 3.4s ease-in-out infinite;
}
@keyframes titleWobble {
  0%, 100% { transform: rotate(-1.4deg) scale(1); }
  50%      { transform: rotate(1.4deg) scale(1.02); }
}

body[data-tone="goofy"] .screen-kicker {
  background: #26073d;
  padding: 6px 14px;
  border-radius: 999px;
  transform: rotate(-2deg);
  animation: kickerPulse 1.2s ease-in-out infinite;
}
@keyframes kickerPulse { 0%, 100% { transform: rotate(-2deg) scale(1); } 50% { transform: rotate(-2deg) scale(1.07); } }

body[data-tone="goofy"] .screen-text { color: #fff; font-weight: 600; text-shadow: 0 2px 10px rgba(0,0,0,.4); }
body[data-tone="goofy"] .screen-hint { color: rgba(255,255,255,.8); font-weight: 700; text-shadow: 0 2px 8px rgba(0,0,0,.45); }
body[data-tone="goofy"] .finale-text { color: #fff; font-weight: 600; text-shadow: 0 2px 10px rgba(0,0,0,.35); }

body[data-tone="goofy"] .finale-sign {
  font-style: normal;
  font-weight: 900;
  color: #fff;
  background: #26073d;
  padding: 10px 18px;
  border-radius: 12px;
  transform: rotate(-1.5deg);
}

body[data-tone="goofy"] .btn {
  border: 3px solid #26073d;
  border-radius: 12px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .02em;
  box-shadow: 5px 5px 0 #26073d;
  background: linear-gradient(135deg, #ffe066, #ff9f68);
  color: #26073d;
}
body[data-tone="goofy"] .btn:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 #26073d; }
body[data-tone="goofy"] .btn:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 #26073d; }
body[data-tone="goofy"] .btn--ghost { background: #fff; color: #26073d; }


body[data-tone="goofy"] .meter {
  border: 3px solid #26073d;
  background: rgba(255, 255, 255, .95);
  box-shadow: 3px 3px 0 #26073d;
}
body[data-tone="goofy"] .meter-label { color: rgba(38, 7, 61, .75); }
body[data-tone="goofy"] .meter-track { background: rgba(38, 7, 61, .18); }
body[data-tone="goofy"] .meter-fill { background: linear-gradient(90deg, #ff2fa0, #ffe066, #35e6c4); }

body[data-tone="goofy"] .hud-btn {
  border: 3px solid #26073d;
  background: #fff;
  color: #26073d;
  font-weight: 900;
  box-shadow: 3px 3px 0 #26073d;
  text-transform: uppercase;
}

body[data-tone="goofy"] .toast {
  border: 3px solid #26073d;
  background: #ffe066;
  color: #26073d;
  font-weight: 800;
  box-shadow: 5px 5px 0 #26073d;
  transform: translate(-50%, -18px) rotate(-1deg);
}
body[data-tone="goofy"] .toast.is-visible { transform: translate(-50%, 0) rotate(-1deg); }

body[data-tone="goofy"] .focus-prompt {
  font-weight: 900;
  text-transform: uppercase;
  text-shadow: 2px 2px 0 #26073d, -2px 2px 0 #26073d, 2px -2px 0 #26073d, -2px -2px 0 #26073d;
  animation: promptPulse 1s ease-in-out infinite;
}
@keyframes promptPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }

body[data-tone="goofy"] .pet-pop {
  font-weight: 900;
  font-size: 20px;
  color: #fff;
  text-shadow: 2px 2px 0 #26073d, -2px 2px 0 #26073d, 2px -2px 0 #26073d, -2px -2px 0 #26073d;
}

body[data-tone="goofy"] .wall::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  background-image: radial-gradient(circle at 50% 62%, #fff 4px, transparent 4.2px),
    radial-gradient(circle at 39% 43%, #fff 2px, transparent 2.2px),
    radial-gradient(circle at 50% 39%, #fff 2.1px, transparent 2.3px),
    radial-gradient(circle at 61% 43%, #fff 2px, transparent 2.2px);
  background-size: 88px 88px;
  animation: pawDrift 22s linear infinite;
}
@keyframes pawDrift { to { background-position: 88px 88px; } }

body[data-tone="goofy"] .cat { animation: catArrive .5s var(--spring) both, wiggle 2.6s ease-in-out infinite .5s; }
@keyframes wiggle {
  0%, 100% { transform: rotate(-2deg); }
  50%      { transform: rotate(2deg); }
}

/* Градиентная заливка имени несовместима с многослойной обводкой:
   текст прозрачный, и от него остаётся только тёмный контур. Заливаем цветом. */
body[data-tone="goofy"] .finale .screen-title em {
  background: none;
  color: #ffe066;
  -webkit-text-fill-color: #ffe066;
}

/* на светлых участках градиента белый текст плохо читается */
body[data-tone="goofy"] .finale-text {
  background: rgba(38, 7, 61, .55);
  padding: 16px 20px;
  border-radius: 16px;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
