* { box-sizing: border-box; }

html,
body {
  margin: 0;
  min-height: 100%;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.88), transparent 30%),
    radial-gradient(circle at 12% 18%, rgba(179, 217, 190, .32), transparent 26%),
    linear-gradient(180deg, #edf4e7 0%, #efe7d9 58%, #eadfcf 100%);
  font-family: Arial, sans-serif;
  color: #433225;
  overscroll-behavior: none;
  touch-action: none;
}

.calm-bg {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.leaf,
.wind {
  position: absolute;
  display: block;
  opacity: .62;
}

.leaf {
  width: 24px;
  height: 15px;
  border-radius: 100% 0 100% 0;
  background: linear-gradient(135deg, rgba(91, 149, 81, .78), rgba(199, 177, 91, .58));
  filter: blur(.1px);
  animation: leafFloat 15s linear infinite;
}

.leaf-1 { left: 8%; top: 16%; animation-duration: 16s; }
.leaf-2 { left: 72%; top: 8%; animation-duration: 19s; animation-delay: -9s; transform: scale(.82); }
.leaf-3 { left: 38%; top: 78%; animation-duration: 17s; animation-delay: -15s; transform: scale(1.12); }
.leaf-4 { left: 20%; top: 42%; animation-duration: 14s; animation-delay: -4s; transform: scale(1.2); }
.leaf-5 { left: 88%; top: 34%; animation-duration: 18s; animation-delay: -12s; transform: scale(.92); }
.leaf-6 { left: 58%; top: 62%; animation-duration: 16s; animation-delay: -7s; transform: scale(1.08); }
.leaf-7 { left: 3%; top: 68%; animation-duration: 13s; animation-delay: -10s; transform: scale(.78); }
.leaf-8 { left: 80%; top: 82%; animation-duration: 15s; animation-delay: -2s; transform: scale(1.28); }

.wind {
  width: 220px;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(109, 145, 141, .34), transparent);
  animation: windDrift 11s ease-in-out infinite;
}

.wind-1 { left: -80px; top: 22%; }
.wind-2 { left: 38%; top: 48%; width: 280px; animation-delay: -6s; }
.wind-3 { left: 12%; top: 74%; width: 190px; animation-delay: -11s; }
.wind-4 { left: 64%; top: 18%; width: 240px; animation-delay: -3s; }
.wind-5 { left: 4%; top: 56%; width: 310px; animation-delay: -8s; }

@keyframes leafFloat {
  0% { transform: translate3d(-30px, 0, 0) rotate(0deg); }
  50% { transform: translate3d(34px, 42px, 0) rotate(88deg); }
  100% { transform: translate3d(78px, 86px, 0) rotate(176deg); }
}

@keyframes windDrift {
  0%, 100% { transform: translateX(-12px); opacity: .12; }
  50% { transform: translateX(34px); opacity: .42; }
}

.page {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 14px;
}

.layout {
  width: min(100%, 980px);
  display: grid;
  grid-template-columns: minmax(330px, 620px) 250px;
  gap: 14px;
  align-items: stretch;
}

.mobile-head { display: none; }

.board-shell {
  background: rgba(255, 250, 239, 0.76);
  border: 2px solid rgba(94, 72, 50, 0.14);
  border-radius: 22px;
  padding: 12px;
  box-shadow: 0 18px 60px rgba(76, 52, 29, 0.13);
}

.board-title {
  height: 66px;
  display: flex;
  align-items: center;
  padding: 0 6px 10px;
}

.board-title h1 {
  margin: 0;
  font-size: 36px;
  line-height: 1;
  letter-spacing: -1px;
}

.board-title p {
  margin: 5px 0 0;
  font-size: 14px;
  color: rgba(67, 50, 37, .6);
  font-weight: 700;
}

.board {
  position: relative;
  width: 100%;
  aspect-ratio: 7 / 8.8;
  min-height: 570px;
  overflow: hidden;
  border-radius: 16px;
  border: 4px solid rgba(94, 72, 50, 0.13);
  background:
    radial-gradient(ellipse at 80% 80%, rgba(111, 96, 78, .13), transparent 22%),
    radial-gradient(ellipse at 15% 90%, rgba(111, 96, 78, .12), transparent 18%),
    linear-gradient(#fffdf4, #f7ead4);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.7);
}

.board::before,
.board::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 2;
}

.board::before {
  width: 22px;
  height: 14px;
  left: 10%;
  top: -28px;
  border-radius: 100% 0 100% 0;
  background: linear-gradient(135deg, rgba(91, 149, 81, .66), rgba(207, 184, 94, .5));
  box-shadow:
    120px 90px 0 -2px rgba(91, 149, 81, .48),
    320px 170px 0 1px rgba(190, 168, 83, .44),
    470px 310px 0 -1px rgba(91, 149, 81, .42),
    210px 430px 0 0 rgba(190, 168, 83, .4);
  animation: boardLeaves 9s linear infinite;
}

.board::after {
  left: -25%;
  right: -25%;
  top: 18%;
  height: 58%;
  background:
    linear-gradient(100deg, transparent 5%, rgba(118, 148, 145, .16) 18%, transparent 32%),
    linear-gradient(100deg, transparent 28%, rgba(118, 148, 145, .12) 42%, transparent 58%),
    linear-gradient(100deg, transparent 58%, rgba(118, 148, 145, .11) 72%, transparent 88%);
  animation: boardWind 7s ease-in-out infinite;
}

.board.screen-shake {
  animation: boardShake 260ms ease-out;
}

@keyframes boardShake {
  0%, 100% { transform: translate3d(0, 0, 0); }
  18% { transform: translate3d(-4px, 2px, 0); }
  36% { transform: translate3d(5px, -2px, 0); }
  54% { transform: translate3d(-3px, -1px, 0); }
  72% { transform: translate3d(3px, 1px, 0); }
}

@keyframes boardLeaves {
  0% { transform: translate3d(-30px, -30px, 0) rotate(0deg); opacity: .2; }
  12% { opacity: .72; }
  100% { transform: translate3d(90px, 620px, 0) rotate(210deg); opacity: .12; }
}

@keyframes boardWind {
  0%, 100% { transform: translateX(-20px); opacity: .18; }
  50% { transform: translateX(42px); opacity: .36; }
}

#game {
  display: block;
  width: 100%;
  height: 100%;
}

.boot-error {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(255, 248, 234, .92);
  color: #5d3a2d;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 900;
  text-align: center;
}

.game-notice {
  position: absolute;
  left: 50%;
  top: 92px;
  z-index: 4;
  transform: translateX(-50%);
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .86);
  color: #4d3726;
  font-size: 14px;
  line-height: 1;
  font-weight: 950;
  box-shadow: 0 8px 24px rgba(76, 52, 29, .12);
  pointer-events: none;
  animation: noticePop 950ms ease both;
}

@keyframes noticePop {
  0% { opacity: 0; transform: translate(-50%, 8px) scale(.96); }
  16% { opacity: 1; transform: translate(-50%, 0) scale(1); }
  78% { opacity: 1; transform: translate(-50%, 0) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -8px) scale(.98); }
}

.warning-line {
  position: absolute;
  left: 28px;
  right: 28px;
  top: 132px;
  border-top: 2px dashed rgba(229, 98, 104, .55);
  pointer-events: none;
}

.warning-line span {
  position: absolute;
  left: 0;
  top: -31px;
  color: rgba(224, 92, 98, .78);
  font-size: 13px;
  font-weight: 900;
}

#aimLine {
  position: absolute;
  top: 24px;
  bottom: 0;
  width: 4px;
  background: rgba(224, 177, 58, 0.92);
  border-radius: 100px;
  transform: translateX(-50%);
  box-shadow: 0 0 14px rgba(224, 177, 58, .45);
  pointer-events: none;
}

#ghostCat {
  position: absolute;
  top: 42px;
  width: 54px;
  height: 54px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  opacity: .82;
  pointer-events: none;
  filter: drop-shadow(0 10px 12px rgba(76, 52, 29, .18));
}

#ghostCatLevel {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, .72);
  font-size: clamp(13px, 38%, 26px);
  font-weight: 900;
  line-height: 1;
  text-shadow:
    0 1px 4px rgba(0, 0, 0, .34),
    0 0 1px rgba(67, 50, 37, .7);
  pointer-events: none;
}

#ghostCat img,
#nextPreview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}

#ghostCat img {
  transform: rotate(10deg);
}

.side {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.score-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.score-card,
.panel {
  background: rgba(255, 250, 239, .86);
  border: 2px solid rgba(94, 72, 50, 0.14);
  border-radius: 14px;
  box-shadow: 0 10px 34px rgba(76, 52, 29, 0.08);
}

.score-card {
  min-height: 64px;
  text-align: center;
  display: grid;
  place-items: center;
  padding: 7px 3px;
}

.score-card span {
  font-size: 12px;
  color: rgba(67, 50, 37, .62);
  font-weight: 800;
}

.score-card b {
  font-size: 28px;
  line-height: 1;
}

.panel {
  padding: 12px;
}

.panel-title {
  font-weight: 900;
  margin-bottom: 10px;
}

.leaderboard-panel {
  background: rgba(255, 255, 255, .9);
  padding: 12px;
}

.player-summary {
  border: 1px solid rgba(45, 138, 240, .16);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(244, 248, 255, .95), rgba(255,255,255,.92));
  padding: 8px 9px;
  margin-bottom: 9px;
}

.player-name {
  font-weight: 900;
  color: #25415f;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
  color: rgba(67, 50, 37, .66);
  font-size: 11px;
  font-weight: 800;
}

.leaderboard-list {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.leaderboard-row {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  min-height: 24px;
  font-size: 12px;
  font-weight: 800;
}

.leaderboard-row-current {
  border: 1px solid rgba(45, 138, 240, .18);
  border-radius: 10px;
  background: rgba(45, 138, 240, .1);
  padding: 6px 8px;
  color: #25415f;
}

.leaderboard-rank {
  color: rgba(67, 50, 37, .55);
}

.leaderboard-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.leaderboard-score {
  color: #1765c8;
  font-size: 12px;
}

.leaderboard-current {
  margin-top: 8px;
  padding: 7px 8px;
  border-radius: 10px;
  background: rgba(45, 138, 240, .1);
  border: 1px solid rgba(45, 138, 240, .18);
  color: #25415f;
  font-size: 12px;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.leaderboard-status {
  padding: 8px;
  border-radius: 10px;
  background: rgba(255, 250, 239, .86);
  color: rgba(67, 50, 37, .64);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.next-box {
  height: 116px;
  border-radius: 12px;
  border: 2px dashed rgba(94, 72, 50, .15);
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.5);
}

#nextPreview {
  display: grid;
  place-items: center;
  filter: drop-shadow(0 8px 10px rgba(76, 52, 29, .16));
}

.next-name {
  margin-top: 8px;
  text-align: center;
  color: rgba(67, 50, 37, .7);
  font-weight: 800;
  font-size: 13px;
}

.level-row {
  display: grid;
  grid-template-columns: 24px 1fr 20px;
  align-items: center;
  gap: 8px;
  min-height: 24px;
  font-weight: 800;
  font-size: 12px;
}

.level-row i {
  width: 20px;
  height: 14px;
  display: inline-block;
  border: 2px dashed var(--c);
  border-radius: 8px;
}

.level-row b {
  text-align: right;
  color: rgba(67, 50, 37, .65);
}

.actions {
  display: grid;
  grid-template-columns: minmax(78px, .8fr) minmax(132px, 1.2fr);
  gap: 9px;
}

button {
  appearance: none;
  border: 0;
  border-radius: 12px;
  padding: 12px 10px;
  color: white;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  background: #6fad3d;
  box-shadow: 0 4px 0 rgba(0,0,0,.14);
  max-width: 100%;
}

button:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0,0,0,.14);
}

#pauseBtn { background: #65a5de; }
#musicBtn {
  background: #75ad39;
  font-size: 13px;
}

#restartBtn {
  grid-column: 1 / -1;
  background: linear-gradient(180deg, #2d8af0, #1765c8);
  box-shadow:
    0 7px 18px rgba(31, 111, 212, .22),
    0 3px 0 rgba(0,0,0,.14);
}

#restartBtn:hover,
#restartBtn:focus-visible {
  filter: brightness(1.06);
  transform: translateY(-1px);
  outline: none;
}

#restartBtn:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0,0,0,.14);
}

.gameover-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

.challenge-copy {
  display: grid;
  gap: 4px;
  margin: 12px 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .58);
  color: #433225;
}

.challenge-copy strong {
  font-size: 16px;
  line-height: 1.1;
  font-weight: 950;
}

.challenge-copy span {
  font-size: 12px;
  line-height: 1.25;
  font-weight: 800;
  color: rgba(67, 50, 37, .68);
}

.share-score-btn,
.add-chat-btn {
  background: linear-gradient(180deg, #2d8af0, #1765c8);
  box-shadow:
    0 7px 18px rgba(31, 111, 212, .22),
    0 3px 0 rgba(0,0,0,.14);
}

.share-score-btn:hover,
.share-score-btn:focus-visible,
.add-chat-btn:hover,
.add-chat-btn:focus-visible,
.add-chat-link:hover,
.add-chat-link:focus-visible {
  filter: brightness(1.06);
  transform: translateY(-1px);
  outline: none;
}

.share-score-btn:active,
.add-chat-btn:active,
.add-chat-link:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0,0,0,.14);
}

.add-chat-link {
  margin-top: 8px;
  min-height: 0;
  padding: 8px 10px;
  background: transparent;
  color: #1f63b7;
  box-shadow: none;
  font-size: 12px;
}

.chat-card {
  border: 1px solid rgba(48, 105, 188, 0.16);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f4f8ff);
  padding: 12px;
  text-align: left;
  box-shadow:
    0 12px 30px rgba(54, 83, 126, 0.1),
    inset 0 0 0 1px rgba(255,255,255,.82);
}

.chat-title {
  font-size: 16px;
  line-height: 1.08;
  font-weight: 950;
  color: #163e73;
}

.chat-text {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.28;
  color: rgba(35, 55, 83, 0.76);
  font-weight: 700;
}

.add-chat-btn {
  width: 100%;
  margin-top: 10px;
  padding: 10px 11px;
  font-size: 13px;
}

.hint {
  background: rgba(255, 250, 239, .64);
  border-left: 4px solid #75ad39;
  border-radius: 10px;
  padding: 11px 12px;
  font-size: 13px;
  font-weight: 800;
  color: rgba(67, 50, 37, .64);
}

.hidden { display: none !important; }

#gameOver {
  position: absolute;
  inset: 0;
  background: rgba(67, 50, 37, .34);
  display: grid;
  place-items: center;
  backdrop-filter: blur(4px);
  z-index: 5;
}

.modal {
  width: min(82%, 330px);
  background: #fff8ea;
  border-radius: 22px;
  padding: 24px;
  text-align: center;
  box-shadow: 0 20px 70px rgba(0,0,0,.25);
}

.modal h2 {
  margin: 0 0 12px;
  font-size: 28px;
}

.modal p {
  margin: 7px 0;
  font-size: 18px;
}

.modal .muted {
  color: rgba(67, 50, 37, .65);
}


.ad-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(48, 105, 188, 0.16);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f4f8ff);
  padding: 12px;
  text-align: left;
  box-shadow:
    0 12px 30px rgba(54, 83, 126, 0.12),
    inset 0 0 0 1px rgba(255,255,255,.82);
  cursor: pointer;
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

.ad-card:hover,
.ad-card:focus-visible {
  border-color: rgba(31, 111, 212, .32);
  box-shadow:
    0 14px 34px rgba(54, 83, 126, 0.16),
    inset 0 0 0 1px rgba(255,255,255,.92);
  transform: translateY(-1px);
  outline: none;
}

.ad-card::before {
  content: "";
  position: absolute;
  inset: -40% -20% auto 35%;
  height: 88px;
  background: rgba(72, 143, 230, 0.13);
  filter: blur(24px);
  pointer-events: none;
}

.ad-card > * {
  position: relative;
  z-index: 1;
}

.ad-label {
  display: inline-block;
  margin-bottom: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(42, 113, 209, 0.1);
  color: #1f63b7;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ad-badge {
  display: inline-grid;
  place-items: center;
  min-width: 38px;
  height: 22px;
  margin-bottom: 7px;
  padding: 0 8px;
  border-radius: 999px;
  background: #1f6fd4;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .3px;
}

.ad-title {
  font-size: 17px;
  line-height: 1.05;
  font-weight: 950;
  color: #163e73;
  text-shadow: none;
}

.ad-text {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.28;
  color: rgba(35, 55, 83, 0.76);
  font-weight: 700;
}

.ad-points {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.ad-points span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(31, 111, 212, .08);
  color: #235b9e;
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
}

.ad-points span::before {
  content: "•";
  font-size: 12px;
  line-height: 1;
}

.ad-accent {
  margin-top: 7px;
  color: #1f63b7;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 950;
}

.ad-button {
  display: inline-block;
  margin-top: 10px;
  padding: 9px 11px;
  border-radius: 12px;
  background: linear-gradient(180deg, #2d8af0, #1765c8);
  color: #fff;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
  text-decoration: none;
  box-shadow:
    0 7px 18px rgba(31, 111, 212, .22),
    0 2px 0 rgba(0,0,0,.12);
  cursor: pointer;
  transition: filter 140ms ease, transform 140ms ease;
}

.ad-button:hover,
.ad-button:focus-visible {
  filter: brightness(1.06);
  transform: translateY(-1px);
  outline: none;
}

.ad-sidebar {
  min-height: 112px;
  display: grid;
  align-content: center;
}

.ad-gameover {
  margin: 12px 0 14px;
  min-height: 0;
  display: grid;
  align-content: center;
  text-align: center;
}

@media (max-width: 760px) {
  html,
  body {
    overflow-x: hidden;
  }

  .leaf,
  .wind {
    opacity: .42;
  }

  .page {
    display: block;
    width: 100%;
    padding: 8px;
  }

  .mobile-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
  }

  .logo {
    font-size: 25px;
    line-height: 1;
    font-weight: 950;
  }

  .tagline {
    margin-top: 4px;
    font-size: 12px;
    color: rgba(67, 50, 37, .62);
    font-weight: 800;
  }

  .head-score {
    width: 74px;
    height: 58px;
    border-radius: 14px;
    background: rgba(255,250,239,.86);
    border: 2px solid rgba(94, 72, 50, 0.14);
    text-align: center;
    display: grid;
    place-items: center;
  }

  .head-score span {
    font-size: 11px;
    opacity: .64;
    font-weight: 900;
  }

  .head-score b {
    font-size: 24px;
    line-height: 1;
  }

  .layout {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .board-shell {
    padding: 7px;
    border-radius: 16px;
  }

  .board-title {
    display: none;
  }

  .board {
    width: 100%;
    min-height: 310px;
    height: min(64svh, calc((100vw - 30px) * 1.25));
    max-height: calc(100svh - 206px);
    aspect-ratio: auto;
    border-width: 3px;
    border-radius: 14px;
  }

  .side {
    margin-top: 8px;
    gap: 8px;
  }

  .score-grid,
  .next,
  .levels,
  .hint {
    display: none;
  }

  .leaderboard-panel {
    padding: 10px;
  }

  .leaderboard-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
  }

  .leaderboard-row {
    grid-template-columns: 22px minmax(0, 1fr) auto;
    font-size: 11px;
  }

  .actions {
    grid-template-columns: minmax(68px, .75fr) minmax(124px, 1.25fr);
    padding: 7px;
    gap: 7px;
  }

  #musicBtn {
    font-size: 12px;
  }

  button {
    min-height: 46px;
    font-size: 12px;
    padding: 10px 7px;
    border-radius: 10px;
  }

  .warning-line {
    top: 112px;
  }

  .warning-line span {
    font-size: 11px;
  }


  .ad-sidebar {
    min-height: 72px;
    padding: 9px 10px;
    margin-top: 8px;
  }

  .chat-card {
    padding: 10px;
  }

  .chat-title {
    font-size: 14px;
  }

  .chat-text {
    font-size: 11px;
  }

  .add-chat-btn {
    min-height: 42px;
    font-size: 12px;
  }

  .ad-sidebar .ad-title {
    font-size: 13px;
  }

  .ad-sidebar .ad-text {
    font-size: 11px;
  }

  .modal {
    width: min(92vw, 360px);
    max-height: calc(100svh - 18px);
    overflow: auto;
    padding: 14px;
    border-radius: 18px;
  }

  .modal h2 {
    font-size: 24px;
  }

  .modal p {
    font-size: 16px;
  }

  .challenge-copy {
    margin: 10px 0;
    padding: 9px 10px;
  }

  .challenge-copy strong {
    font-size: 15px;
  }

  .challenge-copy span {
    font-size: 11px;
  }

  .ad-gameover {
    min-height: 0;
    margin: 10px 0 12px;
    padding: 10px 11px;
  }

  .ad-gameover .ad-title {
    font-size: 14px;
  }

  .ad-gameover .ad-text {
    font-size: 11px;
  }

  .ad-button {
    padding: 9px 10px;
    font-size: 12px;
  }

}

@media (max-width: 380px) {
  .page {
    padding: 6px;
  }

  .board {
    min-height: 290px;
    height: min(60svh, calc((100vw - 26px) * 1.22));
    max-height: calc(100svh - 198px);
  }

  .logo {
    font-size: 22px;
  }

  .tagline {
    display: none;
  }

  .head-score {
    height: 52px;
  }

  button {
    min-height: 44px;
    font-size: 11px;
    padding-inline: 5px;
  }

  #musicBtn {
    font-size: 11px;
  }
}

/* ===== TG MOBILE UI FIX V1 ===== */
body.is-telegram .page {
  padding: 8px;
}

body.is-telegram .mobile-head,
body.is-telegram .board-title {
  margin-bottom: 8px;
}

body.is-telegram .logo,
body.is-telegram .board-title h1 {
  font-size: 28px !important;
  line-height: 1.05;
}

body.is-telegram .tagline,
body.is-telegram .board-title p {
  font-size: 12px !important;
  line-height: 1.2;
}

body.is-telegram .head-score,
body.is-telegram .score-card {
  min-width: 86px;
  padding: 8px 10px !important;
  border-radius: 18px !important;
}

body.is-telegram .head-score span,
body.is-telegram .score-card span {
  font-size: 11px !important;
}

body.is-telegram .head-score b,
body.is-telegram .score-card b {
  font-size: 18px !important;
}

body.is-telegram .board-shell,
body.is-telegram .board {
  border-radius: 18px !important;
}

body.is-telegram .board {
  min-height: 66vh !important;
}

body.is-telegram .side {
  gap: 10px !important;
  margin-top: 10px !important;
}

body.is-telegram .panel,
body.is-telegram .ad-card,
body.is-telegram .hint,
body.is-telegram .leaderboard,
body.is-telegram .leaderboard-panel,
body.is-telegram .score-grid {
  padding: 12px !important;
  border-radius: 16px !important;
}

body.is-telegram .panel-title,
body.is-telegram .leaderboard-title {
  font-size: 15px !important;
  margin-bottom: 8px !important;
}

body.is-telegram .actions {
  gap: 8px !important;
}

body.is-telegram .actions button,
body.is-telegram button {
  min-height: 46px;
  font-size: 16px !important;
  border-radius: 16px !important;
}

/* Красную линию выше */
body.is-telegram .warning-line {
  top: 13% !important;
}

body.is-telegram .warning-line span {
  font-size: 12px !important;
  padding: 0 6px !important;
}

/* Вертикальная линия — желтая и полупрозрачная вниз */
body.is-telegram #aimLine {
  width: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    180deg,
    rgba(220, 178, 52, 0.98) 0%,
    rgba(220, 178, 52, 0.92) 45%,
    rgba(220, 178, 52, 0.70) 75%,
    rgba(220, 178, 52, 0.24) 100%
  ) !important;
  box-shadow: 0 0 10px rgba(220, 178, 52, 0.20) !important;
}

/* Модалка конца игры компактнее */
body.is-telegram .modal {
  padding: 16px !important;
  border-radius: 18px !important;
}

body.is-telegram .modal h2 {
  font-size: 22px !important;
  line-height: 1.1;
}

body.is-telegram .modal p {
  font-size: 15px !important;
}

/* Ещё компактнее на узких экранах */
@media (max-width: 768px) {
  .page {
    padding: 8px !important;
  }

  .logo,
  .board-title h1 {
    font-size: 26px !important;
  }

  .tagline,
  .board-title p {
    font-size: 12px !important;
  }

  .head-score,
  .score-card {
    min-width: 82px !important;
    padding: 8px 10px !important;
  }

  .head-score b,
  .score-card b {
    font-size: 17px !important;
  }

  .board {
    min-height: 64vh !important;
  }

  .warning-line {
    top: 12.5% !important;
  }

  .warning-line span {
    font-size: 11px !important;
  }

  #aimLine {
    width: 4px !important;
  }

  .panel,
  .ad-card,
  .hint,
  .leaderboard,
  .leaderboard-panel {
    padding: 10px !important;
  }

  .actions button,
  button {
    min-height: 44px !important;
    font-size: 15px !important;
  }
}

/* ===== TG SCROLL FIX V1 ===== */
html,
body {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.is-telegram {
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

body.is-telegram .page {
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
  padding-bottom: 130px !important;
}

body.is-telegram .layout {
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
}

body.is-telegram .board-shell,
body.is-telegram .board,
body.is-telegram .side {
  overflow: visible !important;
}

body.is-telegram canvas {
  touch-action: manipulation !important;
}

body.is-telegram .side {
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: 130px !important;
}

/* На мобилке поле чуть компактнее, чтобы рейтинг и баннеры были ближе */
@media (max-width: 768px) {
  body.is-telegram .board {
    min-height: 58vh !important;
  }

  body.is-telegram .page {
    padding-bottom: 150px !important;
  }

  body.is-telegram .side {
    padding-bottom: 150px !important;
  }
}

/* ===== TG HARD SCROLL FIX V2 ===== */
html {
  height: auto !important;
  min-height: 100% !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  overscroll-behavior-y: auto !important;
}

body {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
}

body.is-telegram,
body.is-telegram .page,
body.is-telegram .layout,
body.is-telegram main,
body.is-telegram .board-shell,
body.is-telegram .side {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: relative !important;
}

body.is-telegram .page {
  display: block !important;
  padding-bottom: 180px !important;
}

body.is-telegram .layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

body.is-telegram .board {
  min-height: 52vh !important;
  max-height: none !important;
  overflow: hidden !important;
  touch-action: pan-y !important;
}

body.is-telegram canvas,
body.is-telegram #game {
  touch-action: pan-y !important;
}

body.is-telegram .side {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding-bottom: 180px !important;
}

/* Чтобы нижние кнопки и баннеры не прятались под панелью iPhone/Telegram */
body.is-telegram .actions,
body.is-telegram .ad-card,
body.is-telegram .hint,
body.is-telegram .leaderboard,
body.is-telegram .leaderboard-panel {
  flex-shrink: 0 !important;
}

/* На мобильном делаем поле ниже, чтобы был реальный скролл */
@media (max-width: 768px) {
  body.is-telegram .board {
    min-height: 50vh !important;
  }

  body.is-telegram .page {
    padding-bottom: 220px !important;
  }

  body.is-telegram .side {
    padding-bottom: 220px !important;
  }
}

/* ===== TG AIM LINE SOFT V2 ===== */
body.is-telegram #aimLine,
@media (max-width: 768px) {
  #aimLine {
    width: 2px !important;
    opacity: 0.34 !important;
    background: linear-gradient(
      180deg,
      rgba(220, 178, 52, 0.55) 0%,
      rgba(220, 178, 52, 0.36) 45%,
      rgba(220, 178, 52, 0.18) 78%,
      rgba(220, 178, 52, 0.04) 100%
    ) !important;
    box-shadow: none !important;
  }
}

/* ===== TG AIM LINE SAFE OVERRIDE V3 ===== */
body.is-telegram #aimLine {
  width: 2px !important;
  opacity: 0.34 !important;
  background: linear-gradient(
    180deg,
    rgba(220, 178, 52, 0.55) 0%,
    rgba(220, 178, 52, 0.36) 45%,
    rgba(220, 178, 52, 0.18) 78%,
    rgba(220, 178, 52, 0.04) 100%
  ) !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  body.is-telegram #aimLine,
  #aimLine {
    width: 2px !important;
    opacity: 0.30 !important;
    box-shadow: none !important;
  }
}

/* ===== AIM LINE FINAL MOBILE SOFT V6 ===== */
body.is-telegram #aimLine {
  width: 1px !important;
  opacity: 0.14 !important;
  background: linear-gradient(
    180deg,
    rgba(220, 178, 52, 0.22) 0%,
    rgba(220, 178, 52, 0.14) 45%,
    rgba(220, 178, 52, 0.05) 78%,
    rgba(220, 178, 52, 0.00) 100%
  ) !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  body.is-telegram #aimLine,
  #aimLine {
    width: 1px !important;
    opacity: 0.12 !important;
    box-shadow: none !important;
  }
}

/* ===== AIM LINE VISIBLE BALANCED V7 ===== */
body.is-telegram #aimLine,
#aimLine {
  width: 2px !important;
  opacity: 0.32 !important;
  background: linear-gradient(
    180deg,
    rgba(255, 210, 74, 0.58) 0%,
    rgba(255, 210, 74, 0.38) 45%,
    rgba(255, 210, 74, 0.18) 78%,
    rgba(255, 210, 74, 0.03) 100%
  ) !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  body.is-telegram #aimLine,
  #aimLine {
    width: 2px !important;
    opacity: 0.28 !important;
    box-shadow: none !important;
  }
}

/* ===== TELEGRAM SCROLL RESTORE FINAL V8 ===== */
html {
  height: auto !important;
  min-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y !important;
}

body.is-telegram {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: 240px !important;
}

body.is-telegram .page {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  display: block !important;
  padding-bottom: 260px !important;
}

body.is-telegram .layout {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

body.is-telegram main,
body.is-telegram .board-shell,
body.is-telegram .side {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: relative !important;
}

body.is-telegram .board {
  min-height: 50vh !important;
  max-height: 52vh !important;
  overflow: hidden !important;
}

body.is-telegram .side {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding-bottom: 260px !important;
}

@media (max-width: 768px) {
  body.is-telegram .board {
    min-height: 48vh !important;
    max-height: 50vh !important;
  }

  body.is-telegram .page,
  body.is-telegram .side {
    padding-bottom: 300px !important;
  }
}

/* ===== FORCE MOBILE SCROLL V9 ===== */
html,
body {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: auto !important;
}

body.is-telegram {
  position: static !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-y: auto !important;
  touch-action: pan-y !important;
}

body.is-telegram .page,
body.is-telegram .layout,
body.is-telegram main,
body.is-telegram .board-shell,
body.is-telegram .side {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: relative !important;
}

body.is-telegram .layout {
  display: flex !important;
  flex-direction: column !important;
}

body.is-telegram .board {
  min-height: 46vh !important;
  max-height: 48vh !important;
  overflow: hidden !important;
}

body.is-telegram .side {
  padding-bottom: 340px !important;
}

body.is-telegram .page {
  padding-bottom: 340px !important;
}

@media (max-width: 768px) {
  body.is-telegram .board {
    min-height: 44vh !important;
    max-height: 46vh !important;
  }

  body.is-telegram .side,
  body.is-telegram .page {
    padding-bottom: 380px !important;
  }
}

/* ===== MOBILE BOARD BIGGER + SCROLL KEEP V10 ===== */
body.is-telegram .board {
  min-height: 54vh !important;
  max-height: 56vh !important;
  overflow: hidden !important;
}

body.is-telegram .side {
  padding-bottom: 320px !important;
}

body.is-telegram .page {
  padding-bottom: 320px !important;
}

@media (max-width: 768px) {
  body.is-telegram .board {
    min-height: 52vh !important;
    max-height: 54vh !important;
  }

  body.is-telegram .side,
  body.is-telegram .page {
    padding-bottom: 340px !important;
  }
}

/* ===== GAMEPLAY STAGE 1 BOARD BIGGER V13 ===== */
body.is-telegram .board {
  min-height: 60vh !important;
  max-height: 62vh !important;
  overflow: hidden !important;
}

body.is-telegram .side,
body.is-telegram .page {
  padding-bottom: 340px !important;
}

@media (max-width: 768px) {
  body.is-telegram .board {
    min-height: 58vh !important;
    max-height: 60vh !important;
  }

  body.is-telegram .side,
  body.is-telegram .page {
    padding-bottom: 360px !important;
  }
}

/* ===== GAMEPLAY STAGE 2 BOARD BIGGER ===== */
body.is-telegram .board {
  min-height: 62vh !important;
  max-height: 64vh !important;
  overflow: hidden !important;
}

body.is-telegram .side,
body.is-telegram .page {
  padding-bottom: 360px !important;
}

@media (max-width: 768px) {
  body.is-telegram .board {
    min-height: 60vh !important;
    max-height: 62vh !important;
  }

  body.is-telegram .side,
  body.is-telegram .page {
    padding-bottom: 380px !important;
  }
}

/* ===== STAGE 2 FORCE BOARD BIGGER V14 ===== */
body.is-telegram .board {
  min-height: 66vh !important;
  max-height: 68vh !important;
  overflow: hidden !important;
}

body.is-telegram .side,
body.is-telegram .page {
  padding-bottom: 380px !important;
}

@media (max-width: 768px) {
  body.is-telegram .board {
    min-height: 64vh !important;
    max-height: 66vh !important;
  }

  body.is-telegram .side,
  body.is-telegram .page {
    padding-bottom: 400px !important;
  }
}

/* ===== VISIBLE FORCE V16 GLOBAL BOARD ===== */
.board {
  min-height: 68vh !important;
  max-height: 70vh !important;
  overflow: hidden !important;
}

.board-shell {
  min-height: 68vh !important;
}

#gameCanvas,
canvas {
  min-height: 68vh !important;
}

@media (max-width: 768px) {
  .board {
    min-height: 66vh !important;
    max-height: 68vh !important;
  }

  .board-shell {
    min-height: 66vh !important;
  }

  #gameCanvas,
  canvas {
    min-height: 66vh !important;
  }
}

/* ===== KOTOPAD V17 CLEAN GAMEPLAY ===== */

/* Убираем тестовую метку V16 */
#kotopadVersionBadgeV16 {
  display: none !important;
}

/* Нормально увеличиваем именно игровое поле, не растягивая canvas отдельно */
.board {
  height: 68svh !important;
  min-height: 540px !important;
  max-height: none !important;
  overflow: hidden !important;
}

.board-shell {
  height: auto !important;
  min-height: 68svh !important;
  overflow: visible !important;
}

#gameCanvas,
.board canvas,
canvas {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  display: block !important;
}

/* На телефоне поле большое, но без обрезания нижних котов */
@media (max-width: 768px) {
  .board {
    height: 69svh !important;
    min-height: 560px !important;
    max-height: none !important;
  }

  .board-shell {
    min-height: 69svh !important;
  }
}



/* ===== KOTOPAD RATING V18 CLEAN KING ===== */

.kotopad-leaderboard-panel-v18 {
  position: relative !important;
  overflow: hidden !important;
}

.kotopad-rating-title-v18 {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #3b2b22 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.kotopad-king-card-v18 {
  position: relative !important;
  overflow: hidden !important;
  margin: 8px 0 14px 0 !important;
  padding: 14px 15px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(214, 157, 35, 0.72) !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.92), transparent 26%),
    linear-gradient(135deg, #fff8ce 0%, #ffd46b 42%, #fff1a8 100%) !important;
  box-shadow:
    0 12px 30px rgba(205, 145, 24, 0.22),
    inset 0 0 0 1px rgba(255,255,255,.56) !important;
  color: #432900 !important;
}

.kotopad-king-card-v18::before {
  content: "" !important;
  position: absolute !important;
  inset: -60% -40% !important;
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 41%,
    rgba(255,255,255,.88) 48%,
    rgba(255,255,255,.25) 53%,
    transparent 61%,
    transparent 100%
  ) !important;
  transform: translateX(-55%) rotate(10deg) !important;
  animation: kotopadKingShineV18 3.2s ease-in-out infinite !important;
  pointer-events: none !important;
}

.kotopad-king-card-v18::after {
  content: "" !important;
  position: absolute !important;
  right: 14px !important;
  top: 12px !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle, rgba(255,255,255,.95) 0 9%, transparent 10% 100%),
    radial-gradient(circle at 72% 28%, rgba(255,255,255,.8) 0 8%, transparent 9%),
    radial-gradient(circle at 28% 76%, rgba(255,255,255,.7) 0 7%, transparent 8%) !important;
  opacity: .55 !important;
  filter: blur(.2px) !important;
  animation: kotopadKingSparkV18 1.8s ease-in-out infinite !important;
  pointer-events: none !important;
}

@keyframes kotopadKingShineV18 {
  0% { transform: translateX(-75%) rotate(10deg); opacity: 0; }
  18% { opacity: .9; }
  46% { transform: translateX(70%) rotate(10deg); opacity: .55; }
  100% { transform: translateX(95%) rotate(10deg); opacity: 0; }
}

@keyframes kotopadKingSparkV18 {
  0%, 100% { transform: scale(.94) rotate(0deg); opacity: .38; }
  50% { transform: scale(1.08) rotate(16deg); opacity: .76; }
}

.kotopad-king-label-v18 {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: rgba(93, 57, 0, 0.12) !important;
  color: #6f4300 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.kotopad-king-main-v18 {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.kotopad-king-name-v18 {
  min-width: 0 !important;
  color: #2f210d !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.kotopad-king-score-v18 {
  flex-shrink: 0 !important;
  color: #0f67bc !important;
  font-size: 21px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.7) !important;
}

.kotopad-rating-list-v18 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px 12px !important;
  margin-top: 10px !important;
}

.kotopad-rating-row-v18 {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  padding: 4px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.kotopad-rating-place-v18 {
  color: #7b6d62 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

.kotopad-rating-name-v18 {
  min-width: 0 !important;
  color: #3a2d26 !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.kotopad-rating-score-v18 {
  color: #126fc4 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

@media (max-width: 430px) {
  .kotopad-rating-list-v18 {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 10px !important;
  }

  .kotopad-king-name-v18 {
    font-size: 20px !important;
  }

  .kotopad-king-score-v18 {
    font-size: 19px !important;
  }

  .kotopad-rating-name-v18,
  .kotopad-rating-score-v18 {
    font-size: 14px !important;
  }
}

/* ===== KOTOPAD RECORD WIN V20 ===== */

.kotopad-record-win-v20.hidden {
  display: none !important;
}

.kotopad-record-win-v20 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  background: radial-gradient(circle at center, rgba(255, 225, 105, .22), rgba(0, 0, 0, .18) 62%, rgba(0, 0, 0, .34)) !important;
}

.kotopad-record-burst-v20 {
  position: relative !important;
  width: min(88vw, 390px) !important;
  height: 270px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.kotopad-record-card-v20 {
  position: relative !important;
  z-index: 3 !important;
  width: min(82vw, 340px) !important;
  padding: 24px 18px 22px !important;
  border-radius: 28px !important;
  text-align: center !important;
  color: #3f2800 !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.95), transparent 26%),
    linear-gradient(135deg, #fff8cf 0%, #ffd25e 44%, #fff0a4 100%) !important;
  border: 2px solid rgba(214, 154, 28, .78) !important;
  box-shadow:
    0 22px 55px rgba(195, 130, 18, .38),
    inset 0 0 0 1px rgba(255,255,255,.68) !important;
  overflow: hidden !important;
}

.kotopad-record-card-v20::before {
  content: "" !important;
  position: absolute !important;
  inset: -70% -40% !important;
  background: linear-gradient(115deg, transparent 0%, transparent 42%, rgba(255,255,255,.92) 49%, rgba(255,255,255,.18) 56%, transparent 64%) !important;
  animation: kotopadRecordShineV20 1.55s ease-in-out infinite !important;
}

.kotopad-record-crown-v20 {
  position: relative !important;
  z-index: 2 !important;
  font-size: 44px !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
  filter: drop-shadow(0 7px 12px rgba(128, 81, 0, .22)) !important;
  animation: kotopadRecordCrownV20 1.1s ease-in-out infinite !important;
}

.kotopad-record-title-v20 {
  position: relative !important;
  z-index: 2 !important;
  font-size: 28px !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
  letter-spacing: .4px !important;
  color: #5a3700 !important;
  text-shadow: 0 2px 0 rgba(255,255,255,.55) !important;
}

.kotopad-record-score-v20 {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 10px !important;
  color: #086ac1 !important;
  font-size: 42px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  text-shadow: 0 2px 0 rgba(255,255,255,.65) !important;
}

.kotopad-record-sub-v20 {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 9px !important;
  color: rgba(79, 51, 0, .82) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.kotopad-record-coin-v20 {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 1 !important;
  color: #ffd64a !important;
  font-size: 22px !important;
  text-shadow: 0 0 12px rgba(255, 214, 74, .85) !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) scale(.5) !important;
}

.kotopad-record-show-v20 .kotopad-record-card-v20 {
  animation: kotopadRecordPopV20 .72s cubic-bezier(.15,1.45,.35,1) both !important;
}

.kotopad-record-show-v20 .kotopad-record-coin-v20 {
  animation: kotopadRecordCoinV20 1.8s ease-out both !important;
  animation-delay: var(--d) !important;
}

@keyframes kotopadRecordPopV20 {
  0% { transform: scale(.58) rotate(-3deg); opacity: 0; }
  62% { transform: scale(1.08) rotate(1deg); opacity: 1; }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

@keyframes kotopadRecordShineV20 {
  0% { transform: translateX(-55%) rotate(8deg); opacity: .1; }
  40% { opacity: .95; }
  100% { transform: translateX(58%) rotate(8deg); opacity: .1; }
}

@keyframes kotopadRecordCrownV20 {
  0%, 100% { transform: translateY(0) rotate(-2deg) scale(1); }
  50% { transform: translateY(-4px) rotate(2deg) scale(1.06); }
}

@keyframes kotopadRecordCoinV20 {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.4) rotate(0deg);
  }
  18% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--x)), calc(-50% - 155px)) scale(1.25) rotate(260deg);
  }
}


/* ===== KOTOPAD COMBO V22 FORCE BEAUTY ===== */

.kotopad-combo-v22.hidden {
  display: none !important;
}

.kotopad-combo-v22 {
  position: fixed !important;
  left: 50% !important;
  top: 92px !important;
  z-index: 999998 !important;
  width: min(84vw, 360px) !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  text-align: center !important;
  padding: 14px 16px 12px !important;
  border-radius: 24px !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.35), transparent 30%),
    linear-gradient(135deg, rgba(31, 124, 255, .96), rgba(111, 74, 255, .96)) !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  box-shadow:
    0 18px 40px rgba(50, 91, 255, .34),
    inset 0 0 0 1px rgba(255,255,255,.16) !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

.kotopad-combo-glow-v22 {
  position: absolute !important;
  inset: -60% -30% !important;
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 42%,
    rgba(255,255,255,.82) 49%,
    rgba(255,255,255,.2) 55%,
    transparent 64%
  ) !important;
  animation: kotopadComboShineV22 1.05s ease-in-out infinite !important;
}

.kotopad-combo-title-v22 {
  position: relative !important;
  z-index: 2 !important;
  font-size: 21px !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
  letter-spacing: .4px !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.28) !important;
}

.kotopad-combo-bonus-v22 {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 5px !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  color: rgba(255,255,255,.92) !important;
}

.kotopad-combo-stripe-v22 {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 7px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.92), transparent) !important;
  animation: kotopadComboLineV22 .82s ease-in-out infinite !important;
}

.kotopad-combo-show-v22 {
  animation: kotopadComboPopV22 1.12s cubic-bezier(.16,1.35,.32,1) both !important;
}

.kotopad-combo-hot-v22 {
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.42), transparent 30%),
    linear-gradient(135deg, rgba(255, 122, 48, .96), rgba(255, 57, 111, .96)) !important;
  box-shadow:
    0 18px 42px rgba(255, 80, 60, .36),
    inset 0 0 0 1px rgba(255,255,255,.18) !important;
}

.kotopad-combo-fire-v22 {
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.48), transparent 30%),
    linear-gradient(135deg, rgba(255, 209, 58, .98), rgba(255, 74, 40, .98), rgba(142, 67, 255, .98)) !important;
  box-shadow:
    0 20px 48px rgba(255, 105, 35, .45),
    0 0 30px rgba(255, 214, 78, .26),
    inset 0 0 0 1px rgba(255,255,255,.22) !important;
}

@keyframes kotopadComboPopV22 {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(-18px) scale(.78);
  }
  18% {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1.07);
  }
  66% {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translateX(-50%) translateY(-14px) scale(.96);
  }
}

@keyframes kotopadComboShineV22 {
  0% { transform: translateX(-55%) rotate(9deg); opacity: .1; }
  48% { opacity: .92; }
  100% { transform: translateX(58%) rotate(9deg); opacity: .1; }
}

@keyframes kotopadComboLineV22 {
  0% { transform: translateX(-30%); opacity: .35; }
  50% { opacity: 1; }
  100% { transform: translateX(30%); opacity: .35; }
}

@media (max-width: 430px) {
  .kotopad-combo-v22 {
    top: 88px !important;
    width: min(86vw, 330px) !important;
    padding: 12px 14px 11px !important;
  }

  .kotopad-combo-title-v22 {
    font-size: 19px !important;
  }
}


/* ===== HIDE OLD SHOP V24 IF EXISTS ===== */
.kotopad-shopbar-v24,
.kotopad-shop-modal-v24,
.kotopad-coin-reward-v24 {
  display: none !important;
}


/* ===== KOTOPAD REAL SKINS SHOP V25 ===== */

.kotopad-shopbar-v25 {
  width: 100% !important;
  max-width: 760px !important;
  margin: 10px auto 12px !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px !important;
  align-items: center !important;
}

.kotopad-coins-card-v25 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  padding: 10px 13px !important;
  border-radius: 19px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,.92), transparent 30%),
    linear-gradient(135deg, #fff7cc, #ffe08a) !important;
  border: 1px solid rgba(216, 158, 36, .35) !important;
  box-shadow: 0 10px 22px rgba(180, 126, 20, .12), inset 0 0 0 1px rgba(255,255,255,.55) !important;
}

.kotopad-coins-icon-v25 {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.58) !important;
  font-size: 20px !important;
}

.kotopad-coins-value-v25 {
  color: #452b00 !important;
  font-size: 19px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
}

.kotopad-coins-label-v25 {
  margin-top: 3px !important;
  color: rgba(82, 53, 0, .68) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .35px !important;
}

.kotopad-shop-btn-v25 {
  height: 46px !important;
  padding: 0 17px !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: linear-gradient(135deg, #1677ff, #7b61ff) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
  box-shadow: 0 12px 24px rgba(45, 105, 255, .22) !important;
}

.kotopad-shop-modal-v25.hidden {
  display: none !important;
}

.kotopad-shop-modal-v25 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
}

.kotopad-shop-backdrop-v25 {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15, 23, 42, .48) !important;
  backdrop-filter: blur(8px) !important;
}

.kotopad-shop-window-v25 {
  position: relative !important;
  z-index: 1 !important;
  width: min(94vw, 760px) !important;
  max-height: 86vh !important;
  overflow: auto !important;
  padding: 16px !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,.95), transparent 30%),
    linear-gradient(135deg, #f8fbff, #eef4ff) !important;
  border: 1px solid rgba(68, 101, 151, .16) !important;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .30), inset 0 0 0 1px rgba(255,255,255,.74) !important;
}

.kotopad-shop-head-v25 {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  align-items: flex-start !important;
}

.kotopad-shop-kicker-v25 {
  color: rgba(50, 64, 90, .62) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
}

.kotopad-shop-head-v25 h2 {
  margin: 2px 0 0 !important;
  color: #172033 !important;
  font-size: 28px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
}

.kotopad-shop-close-v25 {
  width: 39px !important;
  height: 39px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(15, 23, 42, .08) !important;
  color: #172033 !important;
  font-size: 27px !important;
  font-weight: 900 !important;
}

.kotopad-shop-balance-v25 {
  margin: 12px 0 14px !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.72) !important;
  color: #28344c !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}

.kotopad-shop-grid-v25 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.kotopad-skin-card-v25 {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: 160px auto auto !important;
  gap: 10px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.80) !important;
  border: 1px solid rgba(61, 92, 135, .12) !important;
  box-shadow: 0 12px 24px rgba(45, 72, 110, .08) !important;
}

.kotopad-skin-card-v25.active {
  background:
    radial-gradient(circle at 15% 0%, rgba(255,255,255,.96), transparent 26%),
    linear-gradient(135deg, #fff6c7, #ffd86f) !important;
  border-color: rgba(210, 154, 23, .58) !important;
  box-shadow: 0 16px 34px rgba(211, 158, 35, .20), inset 0 0 0 1px rgba(255,255,255,.55) !important;
}

.kotopad-skin-preview-v25 {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background:
    linear-gradient(45deg, rgba(230,236,246,.9) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(230,236,246,.9) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(230,236,246,.9) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(230,236,246,.9) 75%) !important;
  background-size: 18px 18px !important;
  background-position: 0 0, 0 9px, 9px -9px, -9px 0px !important;
  display: grid !important;
  place-items: center !important;
}

.kotopad-skin-preview-v25 img {
  width: 138px !important;
  height: 138px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 12px 16px rgba(20,30,45,.18)) !important;
}

.kotopad-classic-preview-v25 {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  font-size: 58px !important;
  background: linear-gradient(135deg, #f8fbff, #ffffff) !important;
}

.kotopad-skin-name-v25 {
  color: #18253a !important;
  font-size: 16px !important;
  font-weight: 1000 !important;
  line-height: 1.1 !important;
}

.kotopad-skin-rarity-v25 {
  margin-top: 4px !important;
  color: #126fc4 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}

.kotopad-skin-desc-v25 {
  margin-top: 6px !important;
  color: rgba(49, 62, 84, .72) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
}

.kotopad-buy-btn-v25 {
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, #1677ff, #7b61ff) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  white-space: nowrap !important;
}

.kotopad-buy-btn-v25.owned {
  background: rgba(18, 111, 196, .12) !important;
  color: #126fc4 !important;
}

.kotopad-buy-btn-v25.selected {
  background: linear-gradient(135deg, #ffd65a, #ffb629) !important;
  color: #4b2e00 !important;
}

.kotopad-buy-btn-v25.disabled {
  opacity: .48 !important;
  filter: grayscale(.3) !important;
}

.kotopad-coin-reward-v25.hidden {
  display: none !important;
}

.kotopad-coin-reward-v25 {
  position: fixed !important;
  left: 50% !important;
  top: 24% !important;
  z-index: 999998 !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.kotopad-coin-reward-card-v25 {
  width: min(86vw, 340px) !important;
  padding: 18px 16px !important;
  border-radius: 26px !important;
  text-align: center !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.95), transparent 30%),
    linear-gradient(135deg, #fff8ce, #ffd76a) !important;
  color: #462b00 !important;
  border: 1px solid rgba(210, 154, 23, .55) !important;
  box-shadow: 0 20px 52px rgba(170, 112, 20, .28), inset 0 0 0 1px rgba(255,255,255,.65) !important;
}

.kotopad-coin-reward-v25.show .kotopad-coin-reward-card-v25 {
  animation: kotopadCoinPopV25 .9s cubic-bezier(.16,1.35,.32,1) both !important;
}

.kotopad-coin-reward-icon-v25 {
  font-size: 35px !important;
  line-height: 1 !important;
}

.kotopad-coin-reward-title-v25 {
  margin-top: 7px !important;
  font-size: 16px !important;
  font-weight: 1000 !important;
}

.kotopad-coin-reward-value-v25 {
  margin-top: 5px !important;
  color: #0f67bc !important;
  font-size: 40px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
}

.kotopad-coin-reward-parts-v25 {
  margin-top: 8px !important;
  color: rgba(78, 50, 0, .72) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

@keyframes kotopadCoinPopV25 {
  0% { opacity: 0; transform: translateY(-18px) scale(.82); }
  20% { opacity: 1; transform: translateY(0) scale(1.06); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 430px) {
  .kotopad-shopbar-v25 {
    grid-template-columns: 1fr 110px !important;
    gap: 8px !important;
    margin: 8px auto 10px !important;
  }

  .kotopad-shop-btn-v25 {
    height: 44px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }

  .kotopad-shop-grid-v25 {
    grid-template-columns: 1fr !important;
  }

  .kotopad-skin-card-v25 {
    grid-template-rows: 170px auto auto !important;
  }

  .kotopad-skin-preview-v25 img {
    width: 154px !important;
    height: 154px !important;
  }

  .kotopad-shop-head-v25 h2 {
    font-size: 24px !important;
  }
}


/* ===== KOTOPAD SHOP V26 CLEAN PREVIEW BACKGROUND ===== */

/* Убираем шахматный PNG-фон в карточках магазина */
.kotopad-skin-preview-v25 {
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.95), transparent 30%),
    linear-gradient(135deg, #eef6ff 0%, #ffffff 48%, #eaf1ff 100%) !important;
  background-size: auto !important;
  background-position: center !important;
  border: 1px solid rgba(66, 98, 145, .10) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.72),
    0 10px 22px rgba(45, 72, 110, .08) !important;
}

/* Активный выбранный скин — золотой красивый фон */
.kotopad-skin-card-v25.active .kotopad-skin-preview-v25 {
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.98), transparent 30%),
    linear-gradient(135deg, #fff6c7 0%, #ffd96f 48%, #fff0ac 100%) !important;
  border-color: rgba(210, 154, 23, .38) !important;
}

/* Премиум-карточка выглядит дороже */
.kotopad-skin-card-v25:has(img[src*="premium_suit"]) .kotopad-skin-preview-v25 {
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.92), transparent 28%),
    linear-gradient(135deg, #101114 0%, #272b35 48%, #f0c75a 100%) !important;
}

/* Красный Тихон — красный фон */
.kotopad-skin-card-v25:has(img[src*="red_jacket"]) .kotopad-skin-preview-v25 {
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.92), transparent 28%),
    linear-gradient(135deg, #fff1f1 0%, #ffd4d4 45%, #ef4444 100%) !important;
}

/* Худи — синий фон */
.kotopad-skin-card-v25:has(img[src*="blue_hoodie"]) .kotopad-skin-preview-v25 {
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.92), transparent 28%),
    linear-gradient(135deg, #eef7ff 0%, #d8ebff 45%, #3387e8 100%) !important;
}

/* Водолазка — зелёный фон */
.kotopad-skin-card-v25:has(img[src*="green_turtleneck"]) .kotopad-skin-preview-v25 {
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.92), transparent 28%),
    linear-gradient(135deg, #f1fff5 0%, #dcfce7 45%, #27ae60 100%) !important;
}

/* Стиляга — чистый стильный фон */
.kotopad-skin-card-v25:has(img[src*="stylish_jacket"]) .kotopad-skin-preview-v25 {
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.95), transparent 28%),
    linear-gradient(135deg, #f8fbff 0%, #e8eef7 45%, #9aa8bd 100%) !important;
}

.kotopad-skin-preview-v25 img {
  background: transparent !important;
}


/* ===== KOTOPAD UI V29 CLEAN FIX ===== */

body.kp-v29-body {
  margin: 0 !important;
  background: #fff7ed url("./assets/ui_v28/bg_kawaii_balcony.png") center top / cover fixed no-repeat !important;
  overflow-x: hidden !important;
  color: #744329 !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.kp-v29-body > *:not(#kpV29Shell):not(#kotopadShopModalV25):not(.kotopad-shop-modal-v25):not(#kotopadCoinRewardV25):not(.kotopad-coin-reward-v25) {
  display: none !important;
}

#kpV29Shell {
  display: block !important;
}

.kp-v29-shell {
  min-height: 100vh !important;
  padding: 14px 10px 26px !important;
  box-sizing: border-box !important;
}

.kp-v29-app {
  width: min(100%, 560px) !important;
  margin: 0 auto !important;
  padding: 18px 14px !important;
  border-radius: 34px !important;
  background: rgba(255, 248, 235, .76) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  backdrop-filter: blur(14px) saturate(1.08) !important;
  box-shadow: 0 28px 80px rgba(153, 92, 48, .18), inset 0 0 0 1px rgba(255,255,255,.38) !important;
}

.kp-v29-logo {
  text-align: center !important;
  font-size: 54px !important;
  font-weight: 1000 !important;
  line-height: .9 !important;
  letter-spacing: -1.5px !important;
  color: #75452c !important;
  text-shadow: 0 4px 0 #fff0cd, 0 10px 22px rgba(150, 88, 45, .20) !important;
}

.kp-v29-logo::after {
  content: "🐾" !important;
  margin-left: 6px !important;
  font-size: .38em !important;
  vertical-align: super !important;
}

.kp-v29-ribbon {
  width: fit-content !important;
  max-width: 100% !important;
  margin: 8px auto 14px !important;
  padding: 9px 16px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #fff0ca, #ffdea7) !important;
  color: #a5663d !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
  text-align: center !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.60), 0 10px 20px rgba(157, 91, 45, .10) !important;
}

.kp-v29-top,
.kp-v29-stats,
.kp-v29-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

.kp-v29-coin-card,
.kp-v29-shop-card,
.kp-v29-score,
.kp-v29-combo,
.kp-v29-next,
.kp-v29-board-card,
.kp-v29-leaders-card,
.kp-v29-ad,
.kp-v29-bottom,
.kp-v29-tip {
  border-radius: 26px !important;
  background: rgba(255, 249, 237, .88) !important;
  border: 1px solid rgba(236, 181, 123, .36) !important;
  box-shadow: 0 14px 30px rgba(145, 88, 40, .12), inset 0 0 0 1px rgba(255,255,255,.70) !important;
}

.kp-v29-coin-card,
.kp-v29-shop-card {
  position: relative !important;
  min-height: 78px !important;
  border: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.kp-v29-coin-card {
  background: linear-gradient(135deg, #fff4d0, #ffe0a7) !important;
  color: #714329 !important;
}

.kp-v29-coin-card span {
  font-size: 28px !important;
}

.kp-v29-coin-card b {
  font-size: 24px !important;
  font-weight: 1000 !important;
}

.kp-v29-coin-card em {
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #99dc7b !important;
  color: #fff !important;
  font-style: normal !important;
  font-size: 24px !important;
  font-weight: 1000 !important;
}

.kp-v29-shop-card {
  background: linear-gradient(135deg, #dff7df, #bcefc9) !important;
  color: #39754f !important;
  text-transform: uppercase !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
}

.kp-v29-shop-card img {
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
}

.kp-v29-shop-card small {
  position: absolute !important;
  right: -4px !important;
  top: -9px !important;
  padding: 6px 10px !important;
  border-radius: 14px !important;
  background: #ff8fa0 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  box-shadow: 0 8px 14px rgba(255, 100, 130, .24) !important;
}

.kp-v29-stats {
  margin-top: 10px !important;
}

.kp-v29-score {
  padding: 18px !important;
}

.kp-v29-score div,
.kp-v29-combo div {
  color: #9f6844 !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
}

.kp-v29-score b {
  display: block !important;
  margin-top: 4px !important;
  color: #70422b !important;
  font-size: 42px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
}

.kp-v29-score span {
  display: block !important;
  margin-top: 9px !important;
  color: rgba(112, 66, 43, .72) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.kp-v29-score em {
  font-style: normal !important;
}

.kp-v29-combo {
  padding: 18px !important;
  text-align: center !important;
  background: linear-gradient(135deg, #ffc4cf, #ff8fa4) !important;
  color: white !important;
}

.kp-v29-combo div {
  color: white !important;
}

.kp-v29-combo b {
  display: block !important;
  margin-top: 7px !important;
  font-size: 52px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  color: white !important;
  text-shadow: 0 5px 0 rgba(170, 65, 90, .20) !important;
}

.kp-v29-next {
  margin-top: 10px !important;
  padding: 12px 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.kp-v29-next img {
  width: 76px !important;
  height: 76px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 14px rgba(105, 70, 40, .18)) !important;
}

.kp-v29-next b {
  display: block !important;
  color: #9f6844 !important;
  font-size: 16px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
}

.kp-v29-next span {
  display: block !important;
  margin-top: 4px !important;
  color: rgba(112, 66, 43, .68) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.kp-v29-board-card {
  position: relative !important;
  margin-top: 10px !important;
  padding: 48px 8px 8px !important;
  background: linear-gradient(180deg, rgba(255, 232, 200, .94), rgba(255, 209, 178, .91)) !important;
  overflow: hidden !important;
}

.kp-v29-warning {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  top: 11px !important;
  z-index: 5 !important;
  min-height: 32px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  border-radius: 16px !important;
  background: rgba(255, 247, 235, .86) !important;
  color: #e36c7e !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
  text-align: center !important;
}

.kp-v29-board-slot .board-shell,
.kp-v29-board-slot .board {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  border-radius: 23px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.kp-v29-board-slot canvas {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 21px !important;
}

.kp-v29-leaders-card {
  margin-top: 10px !important;
  padding: 14px !important;
}

.kp-v29-title {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}

.kp-v29-title img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
}

.kp-v29-title b {
  color: #9f6844 !important;
  font-size: 20px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
}

.kp-v29-leaders {
  display: grid !important;
  gap: 8px !important;
}

.kp-v29-leader {
  display: grid !important;
  grid-template-columns: 32px 36px 1fr auto !important;
  gap: 8px !important;
  align-items: center !important;
  min-height: 46px !important;
  padding: 7px 9px !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.68) !important;
}

.kp-v29-leader.gold {
  background: linear-gradient(135deg, #fff1bd, #ffe28f) !important;
}

.kp-v29-place {
  width: 29px !important;
  height: 29px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #f3c269 !important;
  color: white !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
}

.kp-v29-cat {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: white !important;
  font-size: 18px !important;
}

.kp-v29-leader-name {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #70422b !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}

.kp-v29-leader-score {
  color: #2b74c7 !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
}

.kp-v29-empty {
  padding: 12px !important;
  text-align: center !important;
  color: rgba(112, 66, 43, .68) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.kp-v29-leaders-card button {
  width: 100% !important;
  min-height: 42px !important;
  margin-top: 10px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #d9f3d8, #b9e6ba) !important;
  color: #3d7a51 !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
}

.kp-v29-ad {
  position: relative !important;
  margin-top: 10px !important;
  padding: 18px !important;
  min-height: 210px !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, #dff5ff, #b7e6ff 52%, #82ccff) !important;
  color: #1f5f96 !important;
}

.kp-v29-ad-badge {
  position: absolute !important;
  right: 15px !important;
  top: 14px !important;
  z-index: 4 !important;
  padding: 6px 11px !important;
  border-radius: 14px !important;
  background: #ff8ea1 !important;
  color: white !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  transform: rotate(-4deg) !important;
}

.kp-v29-ad h3 {
  margin: 0 !important;
  color: #18507d !important;
  font-size: 34px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
}

.kp-v29-ad p {
  margin: 8px 0 0 !important;
  color: #286a9d !important;
  font-size: 19px !important;
  font-weight: 1000 !important;
  line-height: 1.16 !important;
}

.kp-v29-ad ul {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  gap: 5px !important;
}

.kp-v29-ad li {
  color: #2f6d9d !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.kp-v29-ad li::before {
  content: "✓" !important;
  margin-right: 7px !important;
  color: #2fb875 !important;
  font-weight: 1000 !important;
}

.kp-v29-ad img {
  position: absolute !important;
  right: 14px !important;
  bottom: 62px !important;
  width: 132px !important;
  height: 132px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 14px 18px rgba(50, 90, 140, .18)) !important;
}

.kp-v29-ad button {
  width: 100% !important;
  min-height: 48px !important;
  margin-top: 16px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #62bfff, #2d91dc) !important;
  color: white !important;
  font-size: 17px !important;
  font-weight: 1000 !important;
  box-shadow: 0 12px 20px rgba(39, 130, 210, .26), inset 0 0 0 1px rgba(255,255,255,.36) !important;
}

.kp-v29-bottom {
  margin-top: 10px !important;
  padding: 8px !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 5px !important;
  background: rgba(255, 245, 226, .88) !important;
}

.kp-v29-bottom button {
  min-height: 58px !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.55) !important;
  color: #8a5b3c !important;
  font-size: 11px !important;
  font-weight: 1000 !important;
}

.kp-v29-bottom img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto 4px !important;
}

.kp-v29-bottom .main {
  min-height: 72px !important;
  margin-top: -18px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ffb6c0, #ff8295) !important;
}

.kp-v29-bottom .main img {
  width: 54px !important;
  height: 54px !important;
  margin: 0 auto !important;
}

.kp-v29-actions {
  margin-top: 10px !important;
}

.kp-v29-actions button,
.kp-v29-play {
  min-height: 54px !important;
  border: 0 !important;
  border-radius: 20px !important;
  color: white !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
  box-shadow: 0 12px 24px rgba(60, 120, 200, .20), inset 0 0 0 1px rgba(255,255,255,.30) !important;
}

.kp-v29-actions button:first-child {
  background: linear-gradient(135deg, #76c4ff, #4c98e8) !important;
}

.kp-v29-actions button:last-child {
  background: linear-gradient(135deg, #a8de83, #73be54) !important;
}

.kp-v29-play {
  width: 100% !important;
  margin-top: 10px !important;
  min-height: 66px !important;
  background: linear-gradient(135deg, #45a2ff, #1679ed) !important;
  font-size: 24px !important;
}

.kp-v29-tip {
  margin-top: 10px !important;
  padding: 12px 14px !important;
  background: rgba(211, 139, 111, .48) !important;
  color: white !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-align: center !important;
}

@media (max-width: 420px) {
  .kp-v29-app {
    padding: 14px 10px !important;
    border-radius: 30px !important;
  }

  .kp-v29-logo {
    font-size: 46px !important;
  }

  .kp-v29-ribbon {
    font-size: 12px !important;
  }

  .kp-v29-score b {
    font-size: 34px !important;
  }

  .kp-v29-combo b {
    font-size: 42px !important;
  }

  .kp-v29-shop-card {
    font-size: 15px !important;
  }

  .kp-v29-coin-card b {
    font-size: 20px !important;
  }

  .kp-v29-ad h3 {
    font-size: 30px !important;
  }

  .kp-v29-ad p {
    font-size: 17px !important;
  }

  .kp-v29-ad img {
    width: 112px !important;
    height: 112px !important;
  }

  .kp-v29-bottom button span {
    font-size: 10px !important;
  }
}


/* ===== KOTOPAD UI V30 TOP ADS ===== */

/* Название блока лидеров без "недели" */
.kp-v29-title b {
  text-transform: none !important;
}

/* Явная пометка рекламы */
.kp-v30-ad-label {
  position: absolute !important;
  left: 16px !important;
  top: 14px !important;
  z-index: 5 !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .78) !important;
  color: rgba(31, 95, 150, .78) !important;
  font-size: 11px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .35px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65) !important;
}

.kp-v29-ad-badge {
  top: 14px !important;
}

/* Чтобы заголовок рекламы не налезал на "Реклама" */
.kp-v29-ad h3 {
  margin-top: 26px !important;
}

/* Полный топ */
.kp-v30-top-modal.kp-v30-hidden {
  display: none !important;
}

.kp-v30-top-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
}

.kp-v30-top-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(66, 40, 28, .38) !important;
  backdrop-filter: blur(8px) !important;
}

.kp-v30-top-window {
  position: relative !important;
  z-index: 1 !important;
  width: min(94vw, 520px) !important;
  max-height: 84vh !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.92), transparent 30%),
    linear-gradient(180deg, #fff9ec, #ffe9d6) !important;
  border: 1px solid rgba(255,255,255,.80) !important;
  box-shadow: 0 28px 80px rgba(80, 45, 28, .30), inset 0 0 0 1px rgba(255,255,255,.55) !important;
}

.kp-v30-top-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 18px 18px 12px !important;
}

.kp-v30-top-head span {
  color: rgba(116, 67, 43, .62) !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .45px !important;
}

.kp-v30-top-head h2 {
  margin: 2px 0 0 !important;
  color: #744329 !important;
  font-size: 25px !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
}

.kp-v30-top-head button {
  width: 40px !important;
  height: 40px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(116, 67, 43, .10) !important;
  color: #744329 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
}

.kp-v30-full-top-list {
  max-height: calc(84vh - 82px) !important;
  overflow-y: auto !important;
  padding: 0 14px 16px !important;
  display: grid !important;
  gap: 8px !important;
}

.kp-v30-loading {
  padding: 18px !important;
  text-align: center !important;
  color: rgba(116, 67, 43, .68) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.kp-v30-top-row {
  display: grid !important;
  grid-template-columns: 34px 40px 1fr auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 54px !important;
  padding: 8px 10px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.66) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55) !important;
}

.kp-v30-top-row.top {
  background: linear-gradient(135deg, #fff2bd, #ffe28f) !important;
}

.kp-v30-top-place {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #f3c269 !important;
  color: white !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
}

.kp-v30-top-avatar {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #fff !important;
  font-size: 21px !important;
}

.kp-v30-top-name {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #70422b !important;
  font-size: 15px !important;
  font-weight: 950 !important;
}

.kp-v30-top-score {
  color: #2b74c7 !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
}

/* Делаем кнопку "Смотреть все" явно нажимаемой */
.kp-v29-leaders-card button {
  cursor: pointer !important;
  user-select: none !important;
  transition: transform .12s ease, filter .12s ease !important;
}

.kp-v29-leaders-card button:active {
  transform: scale(.97) !important;
  filter: brightness(.96) !important;
}



/* ===== KOTOPAD UI V31 VISUAL LOADER ===== */

/* Пока игра грузится — скрываем старую версию */
body.kp-v31-loading > *:not(#kpV31Loader):not(script):not(style) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.kp-v31-loader {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px !important;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.76), transparent 26%),
    radial-gradient(circle at 80% 20%, rgba(190,230,255,.68), transparent 28%),
    linear-gradient(180deg, #dff4ff 0%, #fff3dd 52%, #ffe2cf 100%) !important;
  transition: opacity .35s ease, transform .35s ease !important;
}

.kp-v31-loader-hide {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: scale(1.03) !important;
}

.kp-v31-loader-card {
  width: min(86vw, 340px) !important;
  padding: 28px 20px 24px !important;
  border-radius: 34px !important;
  text-align: center !important;
  background: rgba(255, 249, 237, .76) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  backdrop-filter: blur(14px) saturate(1.08) !important;
  box-shadow: 0 28px 80px rgba(153, 92, 48, .20), inset 0 0 0 1px rgba(255,255,255,.48) !important;
}

.kp-v31-loader-cat {
  position: relative !important;
  width: 142px !important;
  height: 142px !important;
  margin: 0 auto 14px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #fff7d8, #ffd8aa) !important;
  box-shadow: 0 16px 35px rgba(170, 100, 45, .20), inset 0 0 0 6px rgba(255,255,255,.45) !important;
  animation: kpV31CatDance 1.05s ease-in-out infinite !important;
}

.kp-v31-loader-cat::before,
.kp-v31-loader-cat::after {
  content: "🐾" !important;
  position: absolute !important;
  top: 54px !important;
  font-size: 30px !important;
  filter: drop-shadow(0 6px 8px rgba(90, 55, 30, .18)) !important;
}

.kp-v31-loader-cat::before {
  left: -13px !important;
  animation: kpV31LeftPaw .8s ease-in-out infinite !important;
}

.kp-v31-loader-cat::after {
  right: -13px !important;
  animation: kpV31RightPaw .8s ease-in-out infinite !important;
}

.kp-v31-loader-cat img {
  width: 112px !important;
  height: 112px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 12px 14px rgba(90, 60, 35, .22)) !important;
}

.kp-v31-loader-title {
  color: #744329 !important;
  font-size: 25px !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
}

.kp-v31-loader-subtitle {
  margin-top: 7px !important;
  color: rgba(116, 67, 43, .68) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.kp-v31-loader-dots {
  margin-top: 16px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
}

.kp-v31-loader-dots span {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #ff8fa0 !important;
  animation: kpV31Dots .9s ease-in-out infinite !important;
}

.kp-v31-loader-dots span:nth-child(2) {
  animation-delay: .14s !important;
}

.kp-v31-loader-dots span:nth-child(3) {
  animation-delay: .28s !important;
}

@keyframes kpV31CatDance {
  0%, 100% { transform: translateY(0) rotate(-2deg) scale(1); }
  50% { transform: translateY(-9px) rotate(2deg) scale(1.03); }
}

@keyframes kpV31LeftPaw {
  0%, 100% { transform: rotate(-18deg) translateY(4px); }
  50% { transform: rotate(18deg) translateY(-8px); }
}

@keyframes kpV31RightPaw {
  0%, 100% { transform: rotate(18deg) translateY(-8px); }
  50% { transform: rotate(-18deg) translateY(4px); }
}

@keyframes kpV31Dots {
  0%, 100% { transform: translateY(0); opacity: .55; }
  50% { transform: translateY(-7px); opacity: 1; }
}

/* Главный экран — прозрачнее, но читаемый */
.kp-v29-app {
  background: rgba(255, 248, 235, .58) !important;
  backdrop-filter: blur(18px) saturate(1.12) !important;
  border-color: rgba(255,255,255,.82) !important;
}

.kp-v29-coin-card,
.kp-v29-shop-card,
.kp-v29-score,
.kp-v29-combo,
.kp-v29-next,
.kp-v29-leaders-card,
.kp-v29-ad,
.kp-v29-bottom,
.kp-v29-tip {
  box-shadow:
    0 16px 34px rgba(145, 88, 40, .14),
    inset 0 0 0 1px rgba(255,255,255,.76) !important;
}

.kp-v29-coin-card,
.kp-v29-shop-card,
.kp-v29-bottom button,
.kp-v29-leaders-card button,
.kp-v29-ad button {
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease !important;
}

.kp-v29-coin-card:active,
.kp-v29-shop-card:active,
.kp-v29-bottom button:active,
.kp-v29-leaders-card button:active,
.kp-v29-ad button:active {
  transform: scale(.97) !important;
  filter: brightness(.97) !important;
}

/* Поле — чище и без грязного низа */
.kp-v29-board-card {
  padding: 50px 10px 14px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.58), transparent 32%),
    linear-gradient(180deg, rgba(255, 232, 200, .84), rgba(255, 209, 178, .80)) !important;
  border-color: rgba(255,255,255,.78) !important;
}

.kp-v29-board-slot {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.25)),
    radial-gradient(circle at 50% 100%, rgba(255,255,255,.46), transparent 38%) !important;
  box-shadow:
    inset 0 -18px 30px rgba(255, 255, 255, .20),
    inset 0 0 0 1px rgba(255,255,255,.24) !important;
}

.kp-v29-board-slot .board-shell,
.kp-v29-board-slot .board {
  max-width: 100% !important;
  margin: 0 auto !important;
}

.kp-v29-board-slot canvas {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 22px !important;
}

/* Служебные кнопки переносим в Настройки */
.kp-v29-actions,
.kp-v29-play {
  display: none !important;
}

/* Магазин — красивые карточки Тихонов */
.kotopad-shop-window-v25 {
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.94), transparent 32%),
    linear-gradient(180deg, #fff9ec, #ffe9d6) !important;
}

.kotopad-shop-grid-v25 {
  grid-template-columns: 1fr !important;
}

.kotopad-skin-card-v25 {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 10px 12px !important;
  align-items: center !important;
  padding: 12px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.88), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,239,216,.78)) !important;
  border: 1px solid rgba(236, 181, 123, .34) !important;
}

.kotopad-skin-card-v25.active {
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,.96), transparent 32%),
    linear-gradient(135deg, #fff3bd, #ffd773) !important;
}

.kotopad-skin-preview-v25 {
  grid-row: 1 / 3 !important;
  width: 112px !important;
  height: 112px !important;
  min-height: 112px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.96), transparent 34%),
    linear-gradient(135deg, #eaf7ff, #fff4df) !important;
  border: 1px solid rgba(255,255,255,.76) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 10px 18px rgba(120, 80, 45, .10) !important;
}

.kotopad-skin-preview-v25 img {
  width: 98px !important;
  height: 98px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 12px rgba(80,50,30,.16)) !important;
}

.kotopad-buy-btn-v25 {
  grid-column: 2 !important;
  width: 100% !important;
  min-height: 42px !important;
}

/* Настройки */
.kp-v31-settings-modal.kp-v31-hidden {
  display: none !important;
}

.kp-v31-settings-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
}

.kp-v31-settings-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(66, 40, 28, .38) !important;
  backdrop-filter: blur(8px) !important;
}

.kp-v31-settings-window {
  position: relative !important;
  z-index: 1 !important;
  width: min(92vw, 430px) !important;
  border-radius: 30px !important;
  padding: 16px !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.94), transparent 32%),
    linear-gradient(180deg, #fff9ec, #ffe9d6) !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  box-shadow: 0 28px 80px rgba(80,45,28,.30), inset 0 0 0 1px rgba(255,255,255,.55) !important;
}

.kp-v31-settings-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

.kp-v31-settings-head span {
  color: rgba(116, 67, 43, .62) !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .45px !important;
}

.kp-v31-settings-head h2 {
  margin: 2px 0 0 !important;
  color: #744329 !important;
  font-size: 27px !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
}

.kp-v31-settings-head button {
  width: 40px !important;
  height: 40px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(116, 67, 43, .10) !important;
  color: #744329 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
}

.kp-v31-settings-list {
  display: grid !important;
  gap: 9px !important;
}

.kp-v31-settings-list button {
  min-height: 68px !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
  background: rgba(255,255,255,.66) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55) !important;
}

.kp-v31-settings-list button span {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #fff3cf, #ffdba0) !important;
  font-size: 24px !important;
}

.kp-v31-settings-list button b {
  display: block !important;
  color: #744329 !important;
  font-size: 16px !important;
  font-weight: 1000 !important;
}

.kp-v31-settings-list button small {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(116,67,43,.64) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

/* ===== KOTOPAD V31.1 SHOP STANDARD BACKGROUND ===== */

/* Один стандартный фон для всех карточек Тихонов */
.kotopad-skin-card-v25,
.kotopad-skin-card-v25.active {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.82), transparent 34%),
    linear-gradient(180deg, rgba(255, 248, 235, .86), rgba(255, 232, 205, .86)) !important;
  border: 1px solid rgba(236, 181, 123, .34) !important;
  box-shadow:
    0 14px 28px rgba(145, 88, 40, .12),
    inset 0 0 0 1px rgba(255,255,255,.72) !important;
}

/* Надетый кот отличается не фоном, а красивой рамкой */
.kotopad-skin-card-v25.active {
  border: 2px solid rgba(255, 188, 75, .95) !important;
  box-shadow:
    0 16px 34px rgba(255, 174, 54, .18),
    inset 0 0 0 1px rgba(255,255,255,.82) !important;
}

/* Один стандартный фон превью для всех котов */
.kotopad-skin-preview-v25 {
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.92), transparent 34%),
    linear-gradient(180deg, rgba(235, 248, 255, .82), rgba(255, 242, 222, .82)) !important;
  border: 1px solid rgba(255,255,255,.76) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.65),
    0 10px 18px rgba(120, 80, 45, .10) !important;
}



/* ===== KOTOPAD V31.2 SHOP TELEСNY STANDARD BG ===== */

/*
  В магазине у всех Тихонов один стандартный телесный фон.
  Никаких зелёных, синих, белых разных подложек.
*/

.kotopad-shop-window-v25,
.kotopad-shop-modal-v25 .kotopad-shop-window-v25 {
  background:
    radial-gradient(circle at 22% 0%, rgba(255,255,255,.86), transparent 34%),
    linear-gradient(180deg, #fff5e8 0%, #ffe8d1 58%, #f7d8bd 100%) !important;
}

/* Карточка каждого Тихона — одинаковая */
.kotopad-skin-card-v25,
.kotopad-skin-card-v25.active,
.kotopad-shop-modal-v25 .kotopad-skin-card-v25,
.kotopad-shop-modal-v25 .kotopad-skin-card-v25.active {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.70), transparent 36%),
    linear-gradient(180deg, rgba(255, 246, 232, .92), rgba(255, 228, 201, .92)) !important;
  border: 1px solid rgba(222, 168, 112, .42) !important;
  box-shadow:
    0 14px 28px rgba(126, 78, 42, .12),
    inset 0 0 0 1px rgba(255,255,255,.70) !important;
}

/* Надетый кот отличается только рамкой, не фоном */
.kotopad-skin-card-v25.active,
.kotopad-shop-modal-v25 .kotopad-skin-card-v25.active {
  border: 2px solid rgba(255, 185, 65, .98) !important;
  box-shadow:
    0 16px 34px rgba(255, 174, 54, .18),
    inset 0 0 0 1px rgba(255,255,255,.82) !important;
}

/* Самое главное: превью кота всегда телесное */
.kotopad-skin-preview-v25,
.kotopad-skin-preview-v25[style],
.kotopad-shop-modal-v25 .kotopad-skin-preview-v25,
.kotopad-shop-modal-v25 .kotopad-skin-preview-v25[style] {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #ffe8d1 !important;
  background-color: #ffe8d1 !important;
  background-image:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.78), transparent 36%),
    linear-gradient(180deg, #fff1df 0%, #ffe4cb 100%) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.66),
    0 10px 18px rgba(120, 80, 45, .10) !important;
}

/* Жёсткая перекрывающая телесная подложка поверх старых цветов */
.kotopad-skin-preview-v25::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  border-radius: inherit !important;
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.82), transparent 36%),
    linear-gradient(180deg, #fff1df 0%, #ffe4cb 100%) !important;
  pointer-events: none !important;
}

/* Кот всегда поверх телесного фона */
.kotopad-skin-preview-v25 img,
.kotopad-shop-modal-v25 .kotopad-skin-preview-v25 img {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Если внутри превью есть дополнительные цветные div — убираем */
.kotopad-skin-preview-v25 > *:not(img) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Классический Тихон тоже на телесной подложке */
.kotopad-skin-preview-v25 .kotopad-classic-cat,
.kotopad-skin-preview-v25 .classic-cat {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
}



/* ===== KOTOPAD UI V32 DAILY TASKS ===== */

.kp-v32-tasks-modal.kp-v32-hidden {
  display: none !important;
}

.kp-v32-tasks-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
}

.kp-v32-tasks-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(66, 40, 28, .40) !important;
  backdrop-filter: blur(9px) !important;
}

.kp-v32-tasks-window {
  position: relative !important;
  z-index: 1 !important;
  width: min(94vw, 500px) !important;
  max-height: 86vh !important;
  overflow: hidden !important;
  border-radius: 32px !important;
  padding: 16px !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.92), transparent 32%),
    linear-gradient(180deg, #fff6e8, #ffe2ca) !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  box-shadow:
    0 28px 80px rgba(80, 45, 28, .32),
    inset 0 0 0 1px rgba(255,255,255,.58) !important;
}

.kp-v32-tasks-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.kp-v32-tasks-head span {
  color: rgba(116, 67, 43, .62) !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .45px !important;
}

.kp-v32-tasks-head h2 {
  margin: 2px 0 0 !important;
  color: #744329 !important;
  font-size: 30px !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
}

.kp-v32-tasks-head button {
  width: 42px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(116, 67, 43, .10) !important;
  color: #744329 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
}

.kp-v32-tasks-balance {
  margin-bottom: 10px !important;
  padding: 12px 14px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.70) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.62) !important;
}

.kp-v32-tasks-balance span {
  display: block !important;
  color: rgba(116,67,43,.58) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

.kp-v32-tasks-balance b {
  display: block !important;
  margin-top: 3px !important;
  color: #1f2d46 !important;
  font-size: 20px !important;
  font-weight: 1000 !important;
}

.kp-v32-tasks-info {
  margin-bottom: 10px !important;
  padding: 10px 12px !important;
  border-radius: 18px !important;
  background: rgba(255, 239, 208, .76) !important;
  color: rgba(116,67,43,.72) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.kp-v32-tasks-list {
  max-height: calc(86vh - 178px) !important;
  overflow-y: auto !important;
  display: grid !important;
  gap: 10px !important;
  padding: 2px 2px 4px !important;
}

.kp-v32-tasks-loading {
  padding: 20px !important;
  text-align: center !important;
  color: rgba(116,67,43,.68) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
}

.kp-v32-task-card {
  padding: 12px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.82), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,238,218,.76)) !important;
  border: 1px solid rgba(222,168,112,.38) !important;
  box-shadow:
    0 12px 24px rgba(126,78,42,.10),
    inset 0 0 0 1px rgba(255,255,255,.66) !important;
}

.kp-v32-task-card.done {
  border-color: rgba(93, 189, 115, .56) !important;
}

.kp-v32-task-card.claimed {
  opacity: .82 !important;
}

.kp-v32-task-top {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px !important;
  align-items: start !important;
}

.kp-v32-task-top h3 {
  margin: 0 !important;
  color: #1f2d46 !important;
  font-size: 16px !important;
  font-weight: 1000 !important;
  line-height: 1.12 !important;
}

.kp-v32-task-top p {
  margin: 5px 0 0 !important;
  color: rgba(31,45,70,.62) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.22 !important;
}

.kp-v32-task-reward {
  min-width: 48px !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #ffe17a, #ffb938) !important;
  color: #5b351f !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  box-shadow: 0 8px 16px rgba(255,174,54,.22) !important;
}

.kp-v32-task-progress {
  height: 10px !important;
  margin: 12px 0 8px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(116,67,43,.10) !important;
}

.kp-v32-task-progress div {
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #74df8a, #34b7ff) !important;
  transition: width .22s ease !important;
}

.kp-v32-task-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.kp-v32-task-bottom span {
  color: rgba(31,45,70,.68) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}

.kp-v32-task-bottom button {
  min-width: 112px !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #39b6ff, #1685f8) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  box-shadow: 0 10px 18px rgba(40,145,235,.20) !important;
}

.kp-v32-task-bottom button:disabled {
  background: rgba(116,67,43,.13) !important;
  color: rgba(116,67,43,.48) !important;
  box-shadow: none !important;
}

.kp-v32-task-bottom button.claimed {
  background: rgba(93,189,115,.20) !important;
  color: rgba(38,128,62,.84) !important;
}


/* ===== KOTOPAD UI V33.1 BONUS CHAIN ===== */

.kp-v331-bonus-modal.kp-v331-hidden {
  display: none !important;
}

.kp-v331-bonus-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
}

.kp-v331-bonus-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(66, 40, 28, .40) !important;
  backdrop-filter: blur(9px) !important;
}

.kp-v331-bonus-window {
  position: relative !important;
  z-index: 1 !important;
  width: min(94vw, 520px) !important;
  max-height: 86vh !important;
  overflow-y: auto !important;
  border-radius: 32px !important;
  padding: 16px !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.92), transparent 32%),
    linear-gradient(180deg, #fff6e8, #ffe2ca) !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  box-shadow:
    0 28px 80px rgba(80, 45, 28, .32),
    inset 0 0 0 1px rgba(255,255,255,.58) !important;
}

.kp-v331-bonus-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.kp-v331-bonus-head span {
  color: rgba(116, 67, 43, .62) !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .45px !important;
}

.kp-v331-bonus-head h2 {
  margin: 2px 0 0 !important;
  color: #744329 !important;
  font-size: 28px !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
}

.kp-v331-bonus-head button {
  width: 42px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(116, 67, 43, .10) !important;
  color: #744329 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
}

.kp-v331-bonus-balance {
  margin-bottom: 10px !important;
  padding: 12px 14px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.70) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.62) !important;
}

.kp-v331-bonus-balance span {
  display: block !important;
  color: rgba(116,67,43,.58) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

.kp-v331-bonus-balance b {
  display: block !important;
  margin-top: 3px !important;
  color: #1f2d46 !important;
  font-size: 20px !important;
  font-weight: 1000 !important;
}

.kp-v331-bonus-info {
  margin-bottom: 12px !important;
  padding: 10px 12px !important;
  border-radius: 18px !important;
  background: rgba(255, 239, 208, .76) !important;
  color: rgba(116,67,43,.72) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.kp-v331-bonus-chain {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.kp-v331-bonus-loading {
  grid-column: 1 / -1 !important;
  padding: 20px !important;
  text-align: center !important;
  color: rgba(116,67,43,.68) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
}

.kp-v331-day {
  min-height: 146px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.80), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,235,213,.80)) !important;
  border: 1px solid rgba(222,168,112,.38) !important;
  box-shadow:
    0 12px 24px rgba(126,78,42,.10),
    inset 0 0 0 1px rgba(255,255,255,.66) !important;
}

.kp-v331-day.today {
  border: 2px solid rgba(57,182,255,.80) !important;
  box-shadow:
    0 14px 28px rgba(57,182,255,.16),
    inset 0 0 0 1px rgba(255,255,255,.74) !important;
}

.kp-v331-day.claimed {
  border-color: rgba(93, 189, 115, .60) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.82), transparent 34%),
    linear-gradient(180deg, rgba(235,255,240,.82), rgba(255,239,216,.82)) !important;
}

.kp-v331-day.locked {
  opacity: .70 !important;
}

.kp-v331-day-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}

.kp-v331-day-top span {
  color: rgba(116,67,43,.58) !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
}

.kp-v331-day-top b {
  color: #744329 !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
}

.kp-v331-day-gift {
  margin: 8px auto 4px !important;
  width: 54px !important;
  height: 54px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #fff1c7, #ffd073) !important;
  font-size: 30px !important;
  box-shadow: 0 10px 18px rgba(255,174,54,.18) !important;
}

.kp-v331-day-status {
  text-align: center !important;
  color: #1f2d46 !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
}

.kp-v331-day button {
  width: 100% !important;
  min-height: 36px !important;
  margin-top: 8px !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, #39b6ff, #1685f8) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  box-shadow: 0 10px 18px rgba(40,145,235,.20) !important;
}

.kp-v331-chest {
  margin-top: 12px !important;
  padding: 13px !important;
  border-radius: 22px !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 12px !important;
  align-items: center !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.82), transparent 34%),
    linear-gradient(135deg, rgba(255,244,204,.88), rgba(255,222,150,.88)) !important;
  border: 1px solid rgba(255,190,80,.46) !important;
  box-shadow:
    0 12px 24px rgba(126,78,42,.12),
    inset 0 0 0 1px rgba(255,255,255,.66) !important;
}

.kp-v331-chest.ready {
  animation: kpV331ChestPulse 1.2s ease-in-out infinite !important;
}

.kp-v331-chest b {
  display: block !important;
  color: #744329 !important;
  font-size: 16px !important;
  font-weight: 1000 !important;
}

.kp-v331-chest span {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(116,67,43,.66) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.kp-v331-chest button {
  min-width: 104px !important;
  min-height: 40px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #39b6ff, #1685f8) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  box-shadow: 0 10px 18px rgba(40,145,235,.20) !important;
}

.kp-v331-chest button:disabled {
  background: rgba(116,67,43,.13) !important;
  color: rgba(116,67,43,.48) !important;
  box-shadow: none !important;
}

@keyframes kpV331ChestPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.012); }
}


/* ===== KOTOPAD UI V34 KING ===== */

.kp-v34-king-badge {
  margin: 8px 0 10px !important;
  padding: 10px 12px !important;
  border-radius: 22px !important;
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  gap: 10px !important;
  align-items: center !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.84), transparent 34%),
    linear-gradient(135deg, rgba(255,244,204,.86), rgba(255,226,164,.86)) !important;
  border: 1px solid rgba(255,190,80,.48) !important;
  box-shadow:
    0 12px 24px rgba(126,78,42,.12),
    inset 0 0 0 1px rgba(255,255,255,.66) !important;
}

.kp-v34-king-badge.is-king {
  animation: kpV34KingGlow 1.35s ease-in-out infinite !important;
}

.kp-v34-crown {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 17px !important;
  background: linear-gradient(135deg, #fff1a8, #ffba30) !important;
  font-size: 25px !important;
  box-shadow: 0 10px 18px rgba(255,174,54,.22) !important;
}

.kp-v34-king-badge b {
  display: block !important;
  color: #744329 !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
  line-height: 1.12 !important;
}

.kp-v34-king-badge span {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(116,67,43,.68) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

@keyframes kpV34KingGlow {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.01); filter: brightness(1.04); }
}
