:root {
  color-scheme: light;
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  --ink: #2c2b34;
  --muted: #7b7482;
  --paper: #fff9ee;
  --panel: #ffffff;
  --line: #eadfce;
  --coral: #ff8f70;
  --mint: #7dccba;
  --sky: #74a9e8;
  --gold: #f6c557;
  --lilac: #b99bea;
  --leaf: #9acb64;
  --wood: #b98055;
  --cream: #fff1d2;
  --pink: #ffb0b7;
  --brown: #654029;
  --sticker: #fffaf1;
  --soft-peach: #ffe4bd;
  --soft-pink: #ffd4df;
  --soft-green: #cdf0dd;
  --soft-blue: #c9ecff;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 4% 10%, rgba(255, 171, 197, 0.7) 0 76px, transparent 78px),
    radial-gradient(circle at 93% 18%, rgba(255, 218, 167, 0.72) 0 104px, transparent 106px),
    radial-gradient(circle at 7% 72%, rgba(255, 201, 220, 0.68) 0 96px, transparent 99px),
    radial-gradient(circle at 94% 76%, rgba(196, 238, 222, 0.72) 0 118px, transparent 121px),
    radial-gradient(circle at 10% 94%, rgba(255, 224, 171, 0.72) 0 92px, transparent 95px),
    linear-gradient(180deg, #fff0ca 0%, #fff8df 48%, #ffeccd 100%);
  display: grid;
  place-items: center;
  overflow-x: hidden;
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body::before {
  opacity: 0.95;
  background:
    radial-gradient(circle at 8% 19%, #fff 0 6px, transparent 7px),
    radial-gradient(circle at 11% 20.5%, #fff 0 3px, transparent 4px),
    radial-gradient(circle at 7% 22%, #fff 0 3px, transparent 4px),
    radial-gradient(circle at 89% 15%, rgba(255, 255, 255, 0.76) 0 11px, transparent 12px),
    radial-gradient(circle at 92% 17.5%, rgba(255, 255, 255, 0.76) 0 11px, transparent 12px),
    radial-gradient(circle at 88.5% 19.5%, rgba(255, 255, 255, 0.76) 0 14px, transparent 15px),
    radial-gradient(circle at 89.7% 20.6%, rgba(255, 190, 154, 0.6) 0 16px, transparent 17px),
    radial-gradient(circle at 82% 82%, rgba(255, 143, 168, 0.58) 0 14px, transparent 15px),
    radial-gradient(circle at 18% 63%, rgba(255, 122, 140, 0.55) 0 11px, transparent 12px),
    radial-gradient(circle at 77% 27%, rgba(255, 132, 155, 0.52) 0 18px, transparent 19px);
}

body::after {
  opacity: 0.72;
  background:
    radial-gradient(circle at 16% 32%, rgba(158, 225, 248, 0.3) 0 14px, transparent 15px),
    radial-gradient(circle at 82% 70%, rgba(158, 225, 248, 0.28) 0 18px, transparent 19px),
    radial-gradient(circle at 74% 10%, rgba(255, 255, 255, 0.9) 0 3px, transparent 4px),
    radial-gradient(circle at 21% 7%, rgba(255, 255, 255, 0.9) 0 3px, transparent 4px),
    radial-gradient(circle at 78% 56%, rgba(255, 184, 201, 0.4) 0 7px, transparent 8px),
    radial-gradient(circle at 20% 86%, rgba(255, 255, 255, 0.9) 0 6px, transparent 7px);
}

body:has(.cover-image-mode:not(.hidden)) {
  place-items: start center;
}

body:has(.cover-image-mode:not(.hidden)) .app {
  width: min(760px, 100vw);
  min-height: 0;
  padding: 0;
}

body:has(.game-view:not(.hidden)) {
  background:
    radial-gradient(ellipse at 50% 102%, rgba(178, 120, 63, 0.13) 0 43%, transparent 44%),
    radial-gradient(circle at 12% 20%, rgba(255, 184, 198, 0.38) 0 74px, transparent 78px),
    radial-gradient(circle at 88% 18%, rgba(255, 205, 139, 0.34) 0 86px, transparent 90px),
    radial-gradient(circle at 93% 74%, rgba(190, 235, 216, 0.34) 0 116px, transparent 120px),
    linear-gradient(180deg, #fff0cd 0%, #fff8e9 44%, #ffe6bd 100%);
}

body:has(.game-view:not(.hidden))::before {
  opacity: 0.8;
  background:
    linear-gradient(90deg, rgba(160, 106, 67, 0.12) 0 14%, transparent 25%),
    radial-gradient(circle at 17% 13%, rgba(255, 255, 255, 0.74) 0 5px, transparent 6px),
    radial-gradient(circle at 77% 11%, rgba(255, 255, 255, 0.72) 0 4px, transparent 5px),
    radial-gradient(circle at 91% 22%, rgba(255, 255, 255, 0.66) 0 18px, transparent 19px),
    radial-gradient(circle at 94% 26%, rgba(255, 255, 255, 0.66) 0 13px, transparent 14px),
    radial-gradient(circle at 10% 84%, rgba(255, 150, 181, 0.23) 0 58px, transparent 61px);
}

body:has(.game-view:not(.hidden))::after {
  opacity: 0.7;
  background:
    radial-gradient(circle at 9% 57%, rgba(255, 255, 255, 0.74) 0 5px, transparent 6px),
    radial-gradient(circle at 13% 60%, rgba(255, 255, 255, 0.74) 0 3px, transparent 4px),
    radial-gradient(circle at 8% 62%, rgba(255, 255, 255, 0.74) 0 3px, transparent 4px),
    radial-gradient(circle at 88% 60%, rgba(255, 255, 255, 0.7) 0 5px, transparent 6px),
    radial-gradient(circle at 92% 62%, rgba(255, 255, 255, 0.7) 0 3px, transparent 4px),
    radial-gradient(circle at 87% 65%, rgba(255, 255, 255, 0.7) 0 3px, transparent 4px),
    radial-gradient(circle at 77% 88%, rgba(255, 167, 188, 0.24) 0 9px, transparent 10px),
    radial-gradient(circle at 24% 88%, rgba(116, 169, 232, 0.2) 0 13px, transparent 14px);
}

body:has(.room-cover-mode:not(.hidden)) {
  place-items: start center;
  background:
    radial-gradient(circle at 10% 95%, rgba(80, 133, 74, 0.42) 0 120px, transparent 123px),
    radial-gradient(circle at 94% 93%, rgba(75, 128, 69, 0.38) 0 130px, transparent 134px),
    radial-gradient(circle at 11% 10%, rgba(156, 119, 76, 0.22) 0 96px, transparent 100px),
    linear-gradient(90deg, rgba(122, 86, 54, 0.17) 0 14%, transparent 28%),
    linear-gradient(180deg, #f8ddaa 0%, #fff0cb 36%, #ffe0ad 100%);
}

body:has(.room-cover-mode:not(.hidden)) .app {
  width: min(640px, 100vw);
  min-height: 0;
  padding: 10px 18px 22px;
}

body:has(.room-cover-mode:not(.hidden))::before {
  opacity: 0.86;
  background:
    radial-gradient(circle at 83% 25%, rgba(255, 255, 255, 0.9) 0 74px, transparent 76px),
    radial-gradient(circle at 88% 15%, rgba(139, 202, 244, 0.74) 0 110px, transparent 114px),
    radial-gradient(circle at 70% 8%, rgba(255, 255, 255, 0.8) 0 5px, transparent 6px),
    radial-gradient(circle at 58% 17%, rgba(255, 255, 255, 0.86) 0 3px, transparent 4px),
    radial-gradient(circle at 78% 61%, rgba(255, 139, 131, 0.5) 0 15px, transparent 16px),
    radial-gradient(circle at 20% 43%, rgba(255, 255, 255, 0.86) 0 7px, transparent 8px),
    radial-gradient(circle at 12% 64%, rgba(255, 255, 255, 0.86) 0 5px, transparent 6px);
}

body:has(.room-cover-mode:not(.hidden))::after {
  opacity: 0.82;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(123, 82, 41, 0.16) 0 34%, transparent 35%),
    radial-gradient(circle at 20% 94%, rgba(255, 219, 98, 0.45) 0 20px, transparent 21px),
    radial-gradient(circle at 85% 89%, rgba(255, 153, 187, 0.45) 0 18px, transparent 19px),
    radial-gradient(circle at 4% 55%, rgba(255, 255, 255, 0.82) 0 26px, transparent 27px),
    radial-gradient(circle at 96% 56%, rgba(255, 255, 255, 0.82) 0 26px, transparent 27px);
}

button {
  border: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

.app {
  width: min(430px, 100vw);
  min-height: min(840px, 100vh);
  padding: 14px;
  position: relative;
  z-index: 1;
}

.home-view,
.game-view,
.petbook-view,
.level-reward-view,
.room-view,
.task-view {
  min-height: calc(100vh - 36px);
}

.home-view {
  position: relative;
}

.room-cover-mode {
  min-height: 0;
  isolation: isolate;
}

.home-view::before {
  content: "";
  position: absolute;
  inset: 52px -18px auto auto;
  width: 72px;
  height: 72px;
  pointer-events: none;
  opacity: 0.75;
  background:
    radial-gradient(circle at 25% 25%, #fff 0 4px, transparent 5px),
    radial-gradient(circle at 65% 33%, #ffbdd0 0 7px, transparent 8px),
    radial-gradient(circle at 40% 68%, #ffbdd0 0 13px, transparent 14px);
  transform: rotate(-18deg);
}

.home-view::after {
  content: "";
  position: absolute;
  left: -8px;
  top: 220px;
  z-index: -1;
  width: 70px;
  height: 52px;
  pointer-events: none;
  opacity: 0.58;
  background:
    radial-gradient(circle at 30% 65%, rgba(255, 170, 138, 0.54) 0 13px, transparent 14px),
    radial-gradient(circle at 16% 32%, rgba(255, 170, 138, 0.54) 0 5px, transparent 6px),
    radial-gradient(circle at 36% 24%, rgba(255, 170, 138, 0.54) 0 5px, transparent 6px),
    radial-gradient(circle at 55% 35%, rgba(255, 170, 138, 0.54) 0 5px, transparent 6px);
  transform: rotate(-12deg);
}

.room-cover-mode::before {
  display: block;
  inset: auto -34px -12px -34px;
  z-index: -2;
  width: auto;
  height: 190px;
  opacity: 0.82;
  border-radius: 50% 50% 0 0;
  background:
    radial-gradient(circle at 14% 70%, rgba(85, 130, 73, 0.5) 0 70px, transparent 73px),
    radial-gradient(circle at 86% 72%, rgba(76, 126, 67, 0.5) 0 86px, transparent 89px),
    linear-gradient(180deg, transparent, rgba(128, 83, 42, 0.14));
  transform: none;
}

.room-cover-mode::after {
  display: block;
  left: -8px;
  right: -8px;
  top: auto;
  bottom: 28px;
  z-index: -1;
  width: auto;
  height: 44px;
  opacity: 0.42;
  background: radial-gradient(ellipse, rgba(127, 81, 42, 0.25), transparent 70%);
  transform: none;
}

.cover-image-mode {
  min-height: 100svh;
  height: 100svh;
  width: 100%;
  aspect-ratio: auto;
  overflow: hidden;
  border-radius: 0;
}

.home-cover-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
}

.cover-image-mode::before,
.cover-image-mode::after {
  display: none;
}

.cover-image-mode .brand-block,
.cover-image-mode .home-stage,
.cover-image-mode .progress-panel {
  opacity: 0;
  pointer-events: none;
}

.cover-image-mode .resource-bar,
.cover-image-mode .home-actions,
.cover-image-mode .home-nav {
  position: absolute;
  z-index: 3;
  opacity: 0;
}

.cover-image-mode .resource-bar {
  left: 8.5%;
  right: 8.5%;
  top: 1.1%;
  height: 5.8%;
  margin: 0;
  padding: 0;
  gap: 7px;
}

.cover-image-mode .resource-pill,
.cover-image-mode .settings-button {
  height: 100%;
}

.cover-image-mode .resource-pill {
  min-width: 92px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.92);
  border-width: 2px;
  box-shadow:
    0 8px 16px rgba(113, 75, 42, 0.12),
    inset 0 -3px 0 rgba(255, 207, 160, 0.16);
  backdrop-filter: blur(5px);
  font-size: 20px;
}

.cover-image-mode .resource-icon {
  width: 30px;
  height: 30px;
  font-size: 13px;
}

.cover-image-mode .settings-button {
  width: auto;
  min-width: 42px;
  aspect-ratio: 1;
  opacity: 1;
  border-radius: 999px;
  background: rgba(255, 250, 238, 0.94);
  border: 2px solid rgba(255, 255, 255, 0.9);
  box-shadow:
    0 8px 16px rgba(113, 75, 42, 0.14),
    inset 0 2px 0 rgba(255, 255, 255, 0.72),
    inset 0 -3px 0 rgba(255, 207, 160, 0.18);
  backdrop-filter: blur(5px);
}

.cover-image-mode .brand-block {
  position: absolute;
}

.cover-image-mode .home-stage {
  position: absolute;
}

.cover-image-mode .progress-panel {
  position: absolute;
}

.featured-pet-badge {
  display: none;
}

.cover-image-mode .featured-pet-badge {
  position: absolute;
  left: 15%;
  right: 15%;
  top: 63.3%;
  z-index: 4;
  display: block;
  min-height: 30px;
  padding: 7px 14px;
  border-radius: 999px;
  color: #7a4c38;
  background: rgba(255, 250, 238, 0.88);
  border: 2px solid rgba(255, 255, 255, 0.8);
  box-shadow:
    0 9px 18px rgba(121, 79, 43, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.76);
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  pointer-events: none;
}

.cover-image-mode .player-level-card {
  position: absolute;
  left: 16%;
  right: 16%;
  width: auto;
  top: 58.4%;
  z-index: 4;
  min-height: 0;
  height: 4.2%;
  margin: 0;
  padding: 5px 12px;
  grid-template-columns: auto 1fr;
  box-sizing: border-box;
  align-items: center;
  border-radius: 999px;
  background: rgba(255, 250, 238, 0.9);
  box-shadow: 0 9px 18px rgba(121, 79, 43, 0.1);
}

.cover-image-mode .player-level-card strong {
  font-size: 17px;
}

.cover-image-mode .player-level-card span,
.cover-image-mode .level-exp-row span {
  font-size: 10px;
}

.cover-image-mode .home-actions {
  left: 13.2%;
  right: 13.2%;
  top: 82.6%;
  height: 6.8%;
  margin: 0;
  z-index: 4;
  background: rgba(255, 246, 225, 0.94);
  border-radius: 18px;
}

.cover-image-mode .start-game-button {
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 18px;
  padding: 0 4.4%;
  background: linear-gradient(135deg, #ff7f88 0%, #ff9a58 56%, #ffc35a 100%);
  border: 3px solid rgba(255, 246, 222, 0.92);
  box-shadow:
    0 13px 22px rgba(212, 103, 61, 0.24),
    inset 0 2px 0 rgba(255, 255, 255, 0.48),
    inset 0 -4px 0 rgba(180, 88, 47, 0.12);
}

.cover-image-mode .home-nav {
  left: 13.2%;
  right: 13.2%;
  top: 91.8%;
  height: 6.7%;
  margin: 0;
  gap: 7px;
  z-index: 4;
  padding: 4px;
  background: rgba(255, 246, 225, 0.96);
  border-radius: 16px;
  box-shadow: 0 8px 18px rgba(117, 76, 39, 0.1);
}

.cover-image-mode .nav-button {
  min-height: 0;
  height: 100%;
  padding: 3px 2px 4px;
  border-radius: 12px;
  gap: 1px;
  font-size: 10px;
  background: rgba(255, 255, 255, 0.98);
  border-style: solid;
}

.cover-image-mode .nav-icon {
  width: 32px;
  height: 32px;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.48),
    0 5px 10px rgba(93, 64, 42, 0.12);
}

.cover-image-mode .nav-button b {
  font-size: 10px;
}

.cover-image-mode .resource-bar,
.cover-image-mode .progress-panel,
.cover-image-mode .home-actions,
.cover-image-mode .home-nav {
  opacity: 1;
  pointer-events: auto;
}

.cover-image-mode .progress-panel {
  left: 13.5%;
  right: 13.4%;
  top: 66.8%;
  height: 14.2%;
  z-index: 3;
  padding: 1.35% 3.2% 1.15%;
  grid-template-columns: 1fr 1fr;
  align-content: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.36), transparent 45%),
    radial-gradient(circle at 88% 22%, rgba(255, 155, 127, 0.22) 0 5px, transparent 6px),
    radial-gradient(circle at 91% 31%, rgba(255, 155, 127, 0.18) 0 4px, transparent 5px),
    rgba(255, 252, 244, 0.96);
  border: 3px solid rgba(255, 255, 255, 0.94);
  border-radius: 22px;
  box-shadow:
    0 16px 28px rgba(115, 77, 42, 0.14),
    inset 0 2px 0 rgba(255, 255, 255, 0.8),
    inset 0 -5px 0 rgba(255, 220, 184, 0.28);
}

.cover-image-mode .progress-panel span {
  font-size: clamp(12px, 2vw, 15px);
}

.cover-image-mode .progress-panel strong {
  font-size: clamp(22px, 4.6vw, 34px);
  line-height: 1.05;
}

.cover-image-mode .next-pet-row {
  align-self: end;
}

.cover-image-mode .mini-progress {
  height: 10px;
}

.room-decor {
  position: absolute;
  pointer-events: none;
  z-index: -1;
}

.shelf-decor {
  left: -88px;
  top: 0;
  width: 150px;
  height: 180px;
  border-radius: 0 0 18px 0;
  opacity: 0.62;
  background:
    linear-gradient(#a36e48, #a36e48) 0 48px / 110px 8px no-repeat,
    linear-gradient(#a36e48, #a36e48) 0 108px / 118px 8px no-repeat,
    linear-gradient(90deg, rgba(113, 75, 47, 0.4), transparent);
  filter: blur(0.2px);
}

.shelf-decor span,
.shelf-decor i,
.shelf-decor b {
  position: absolute;
  display: block;
  border-radius: 10px;
}

.shelf-decor span {
  left: 34px;
  top: 14px;
  width: 36px;
  height: 30px;
  background: rgba(255, 239, 210, 0.72);
  box-shadow: inset 0 -8px 0 rgba(230, 166, 116, 0.35);
}

.shelf-decor i {
  left: 76px;
  top: 83px;
  width: 34px;
  height: 22px;
  background: rgba(124, 176, 105, 0.58);
}

.shelf-decor b {
  left: 34px;
  top: 77px;
  width: 26px;
  height: 28px;
  background: rgba(255, 221, 176, 0.72);
}

.sky-window {
  right: -8px;
  top: 0;
  width: 178px;
  height: 228px;
  border-radius: 0 0 0 34px;
  opacity: 0.72;
  background:
    linear-gradient(90deg, transparent 47%, rgba(255, 255, 255, 0.75) 48% 52%, transparent 53%),
    linear-gradient(180deg, transparent 45%, rgba(255, 255, 255, 0.72) 46% 50%, transparent 51%),
    radial-gradient(circle at 72% 68%, rgba(255, 255, 255, 0.92) 0 32px, transparent 34px),
    linear-gradient(135deg, #8bd3ff, #e7f8ff 70%);
  border: 12px solid rgba(255, 244, 222, 0.74);
  box-shadow:
    0 18px 45px rgba(105, 68, 32, 0.1),
    inset 0 0 0 4px rgba(255, 255, 255, 0.42);
}

.plant-decor {
  right: -38px;
  bottom: -4px;
  width: 150px;
  height: 190px;
  opacity: 0.68;
  background:
    radial-gradient(ellipse at 34% 58%, rgba(72, 131, 65, 0.55) 0 23px, transparent 24px),
    radial-gradient(ellipse at 60% 45%, rgba(91, 152, 72, 0.55) 0 24px, transparent 25px),
    radial-gradient(ellipse at 48% 72%, rgba(66, 118, 59, 0.55) 0 28px, transparent 29px),
    linear-gradient(180deg, transparent 0 68%, rgba(158, 103, 53, 0.46) 69% 100%);
  filter: blur(0.2px);
}

.music-note {
  left: -1px;
  top: 338px;
  width: 54px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #ee776e;
  font-size: 28px;
  font-weight: 1000;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 24px rgba(112, 74, 44, 0.1);
}

.hero-kitty {
  right: 92px;
  top: 82px;
  z-index: 2;
  width: 172px;
  height: 132px;
  filter: drop-shadow(0 13px 12px rgba(118, 75, 43, 0.14));
}

.hero-face {
  position: absolute;
  left: 19px;
  top: 24px;
  width: 128px;
  height: 94px;
  border-radius: 58% 58% 46% 46%;
  background:
    radial-gradient(circle at 28% 62%, rgba(255, 165, 154, 0.58) 0 11px, transparent 12px),
    radial-gradient(circle at 74% 62%, rgba(255, 165, 154, 0.5) 0 11px, transparent 12px),
    linear-gradient(135deg, #fffaf2, #fff0df);
  box-shadow:
    inset 0 -8px 0 rgba(210, 158, 111, 0.08),
    0 0 0 5px rgba(255, 255, 255, 0.68);
}

.hero-ear {
  position: absolute;
  top: 6px;
  width: 46px;
  height: 54px;
  border-radius: 14px 5px 14px 5px;
  background:
    radial-gradient(circle at 58% 58%, #ffd0c3 0 13px, transparent 14px),
    #fff3e5;
}

.hero-ear.left {
  left: 20px;
  transform: rotate(-25deg);
}

.hero-ear.right {
  right: 26px;
  transform: rotate(24deg);
}

.hero-eye,
.hero-wink,
.hero-mouth {
  position: absolute;
  display: block;
}

.hero-eye {
  left: 40px;
  top: 38px;
  width: 19px;
  height: 23px;
  border-radius: 50%;
  background: #674332;
  box-shadow: inset 5px 5px 0 rgba(255, 255, 255, 0.72);
}

.hero-wink {
  right: 33px;
  top: 45px;
  width: 24px;
  height: 11px;
  border-bottom: 4px solid #674332;
  border-radius: 0 0 999px 999px;
  transform: rotate(-12deg);
}

.hero-mouth {
  left: 63px;
  top: 62px;
  width: 19px;
  height: 18px;
  border-radius: 0 0 999px 999px;
  background: #f5776f;
}

.hero-paw {
  position: absolute;
  bottom: 0;
  width: 43px;
  height: 36px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 33% 36%, #ffb7a8 0 5px, transparent 6px),
    radial-gradient(circle at 58% 32%, #ffb7a8 0 5px, transparent 6px),
    radial-gradient(circle at 50% 58%, #ffb7a8 0 9px, transparent 10px),
    #fff4e8;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.58);
}

.hero-paw.left {
  left: 18px;
  transform: rotate(16deg);
}

.hero-paw.right {
  right: 6px;
  transform: rotate(-12deg);
}

.box-kitty {
  left: -8px;
  top: 456px;
  z-index: 2;
  width: 116px;
  height: 116px;
  border-radius: 18px 18px 6px 6px;
  background:
    linear-gradient(180deg, transparent 0 46%, #c9925e 47% 100%);
  filter: drop-shadow(0 12px 12px rgba(95, 60, 36, 0.13));
}

.box-kitty::before,
.box-kitty::after {
  content: "";
  position: absolute;
}

.box-kitty::before {
  left: 12px;
  top: 16px;
  width: 76px;
  height: 60px;
  border-radius: 42px 42px 28px 28px;
  background:
    radial-gradient(circle at 30% 42%, #fff 0 5px, #3a302e 6px 11px, transparent 12px),
    radial-gradient(circle at 62% 42%, #fff 0 5px, #3a302e 6px 11px, transparent 12px),
    radial-gradient(circle at 47% 60%, #ffa09a 0 5px, transparent 6px),
    linear-gradient(135deg, #2f2b2d 0 42%, #fff4ec 43% 70%, #2f2b2d 71% 100%);
}

.box-kitty::after {
  left: 18px;
  top: 4px;
  width: 24px;
  height: 30px;
  border-radius: 8px 2px 8px 2px;
  background: #2f2b2d;
  transform: rotate(-24deg);
  box-shadow: 50px 24px 0 -1px #2f2b2d;
}

.box-kitty span {
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 0;
  height: 52px;
  border-radius: 8px;
  background:
    linear-gradient(90deg, transparent 48%, rgba(121, 78, 48, 0.22) 49% 51%, transparent 52%),
    #c9925e;
}

.fluffy-puppy {
  right: -22px;
  top: 646px;
  z-index: 4;
  width: 128px;
  height: 94px;
  border-radius: 52px;
  background:
    radial-gradient(circle at 40% 48%, #2b241f 0 5px, transparent 6px),
    radial-gradient(circle at 62% 48%, #2b241f 0 5px, transparent 6px),
    radial-gradient(circle at 51% 66%, #ff908d 0 7px, transparent 8px),
    radial-gradient(circle at 23% 38%, #fff8ef 0 26px, transparent 27px),
    radial-gradient(circle at 72% 38%, #fff8ef 0 30px, transparent 31px),
    radial-gradient(circle at 47% 54%, #fff8ef 0 46px, transparent 47px);
  filter: drop-shadow(0 12px 10px rgba(93, 59, 35, 0.14));
}

.peeking-kitty {
  right: 88px;
  top: 86px;
  z-index: 2;
  width: 166px;
  height: 118px;
  opacity: 0.96;
  filter: drop-shadow(0 12px 14px rgba(119, 74, 44, 0.12));
}

.peek-face {
  position: absolute;
  left: 12px;
  top: 20px;
  width: 116px;
  height: 88px;
  border-radius: 55% 55% 46% 46%;
  background:
    radial-gradient(circle at 25% 62%, rgba(255, 163, 154, 0.55) 0 10px, transparent 11px),
    radial-gradient(circle at 73% 62%, rgba(255, 163, 154, 0.5) 0 10px, transparent 11px),
    linear-gradient(135deg, #fffaf0, #fff0df);
  box-shadow:
    inset 0 -8px 0 rgba(207, 158, 112, 0.08),
    0 0 0 5px rgba(255, 255, 255, 0.66);
}

.peek-ear {
  position: absolute;
  z-index: 0;
  top: 8px;
  width: 42px;
  height: 48px;
  border-radius: 13px 5px 13px 5px;
  background:
    radial-gradient(circle at 58% 58%, #ffd0c3 0 12px, transparent 13px),
    #fff3e5;
}

.peek-ear.left {
  left: 14px;
  transform: rotate(-28deg);
}

.peek-ear.right {
  right: 28px;
  transform: rotate(28deg);
}

.peek-eye,
.peek-wink,
.peek-mouth {
  position: absolute;
  display: block;
}

.peek-eye {
  left: 36px;
  top: 36px;
  width: 17px;
  height: 21px;
  border-radius: 50%;
  background: #684635;
  box-shadow: inset 4px 4px 0 rgba(255, 255, 255, 0.72);
}

.peek-wink {
  right: 30px;
  top: 42px;
  width: 22px;
  height: 10px;
  border-bottom: 4px solid #684635;
  border-radius: 0 0 999px 999px;
  transform: rotate(-12deg);
}

.peek-mouth {
  left: 57px;
  top: 57px;
  width: 18px;
  height: 17px;
  border-radius: 0 0 999px 999px;
  background: #f5776f;
}

.peek-paw {
  position: absolute;
  right: 14px;
  bottom: 2px;
  width: 42px;
  height: 38px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 36%, #ffb7a8 0 5px, transparent 6px),
    radial-gradient(circle at 56% 30%, #ffb7a8 0 5px, transparent 6px),
    radial-gradient(circle at 50% 58%, #ffb7a8 0 9px, transparent 10px),
    #fff4e8;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.58);
}

.hidden {
  display: none !important;
}

.resource-bar,
.topbar,
.game-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.resource-bar {
  margin-bottom: 14px;
  padding: 0 2px;
}

.room-cover-mode .resource-bar {
  max-width: 510px;
  margin: 0 auto 18px;
  padding: 0 10px;
}

.resource-pill {
  min-width: 86px;
  height: 46px;
  padding: 6px 11px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255, 255, 255, 0.88);
  border: 3px solid rgba(255, 255, 255, 0.86);
  box-shadow:
    0 10px 22px rgba(97, 76, 45, 0.12),
    inset 0 -5px 0 rgba(255, 214, 179, 0.18);
  font-weight: 900;
}

.room-cover-mode .resource-pill {
  min-width: 106px;
  height: 50px;
  gap: 12px;
  background: rgba(255, 250, 240, 0.82);
  border: 3px solid rgba(255, 255, 255, 0.72);
  box-shadow:
    0 14px 26px rgba(107, 70, 37, 0.14),
    inset 0 -6px 0 rgba(205, 146, 88, 0.1);
  backdrop-filter: blur(6px);
  font-size: 22px;
}

.resource-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}

.coin-icon {
  background: linear-gradient(135deg, var(--gold), #f08e42);
}

.paw-icon {
  background: linear-gradient(135deg, var(--pink), var(--coral));
}

.brand-block {
  margin: 0 0 14px 16px;
  position: relative;
}

.room-cover-mode .brand-block {
  width: min(390px, 72%);
  margin: 4px 0 18px 34px;
  z-index: 3;
}

.tagline {
  margin: 6px 0 0;
  position: relative;
  width: fit-content;
}

.tagline::before,
.tagline::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 12px 12px 3px 12px;
  background: linear-gradient(135deg, #ff9eb5, #ff6d87);
  transform: rotate(45deg);
  box-shadow:
    0 0 0 4px rgba(255, 255, 255, 0.72),
    0 5px 12px rgba(205, 93, 111, 0.18);
}

.tagline::before {
  left: -28px;
  top: 8px;
}

.tagline::after {
  right: -24px;
  top: 4px;
  width: 15px;
  height: 15px;
}

.tagline span {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--brown);
  font-size: 17px;
  font-weight: 1000;
  letter-spacing: 0;
  transform: rotate(-2deg);
  box-shadow:
    0 0 0 5px rgba(255, 255, 255, 0.72),
    0 8px 18px rgba(99, 66, 38, 0.1);
}

.room-cover-mode .tagline span {
  padding: 9px 20px;
  font-size: 18px;
  background: rgba(255, 255, 248, 0.88);
  box-shadow:
    0 0 0 5px rgba(255, 255, 255, 0.64),
    0 13px 26px rgba(115, 73, 42, 0.13);
}

.eyebrow {
  margin: 0 0 4px;
  color: #9b7660;
  font-size: 14px;
  font-weight: 1000;
  text-transform: uppercase;
  text-shadow:
    1px 0 0 #fff,
    -1px 0 0 #fff,
    0 1px 0 #fff,
    0 -1px 0 #fff;
}

h1,
h2 {
  margin: 0;
  letter-spacing: 0;
}

h1 {
  font-size: 42px;
  color: var(--brown);
  text-shadow:
    4px 0 0 #fff,
    -4px 0 0 #fff,
    0 4px 0 #fff,
    0 -4px 0 #fff,
    3px 3px 0 #fff,
    -3px 3px 0 #fff,
    0 7px 0 rgba(111, 69, 43, 0.2),
    0 10px 20px rgba(99, 66, 38, 0.18);
}

.room-cover-mode h1 {
  font-size: 48px;
  line-height: 1.05;
  text-shadow:
    5px 0 0 #fff,
    -5px 0 0 #fff,
    0 5px 0 #fff,
    0 -5px 0 #fff,
    4px 4px 0 #fff,
    -4px 4px 0 #fff,
    0 8px 0 rgba(111, 69, 43, 0.18),
    0 14px 22px rgba(99, 66, 38, 0.2);
}

h2 {
  font-size: 24px;
}

.icon-button {
  width: 50px;
  height: 50px;
  border-radius: 8px;
  background: var(--panel);
  box-shadow:
    0 10px 24px rgba(98, 77, 50, 0.14),
    inset 0 -4px 0 rgba(255, 214, 179, 0.18);
  display: grid;
  place-items: center;
  font-size: 26px;
}

.settings-button span {
  position: relative;
  width: 7px;
  height: 7px;
  display: block;
  background: #ffffff;
  border-radius: 50%;
  box-shadow:
    0 -11px 0 #ffffff,
    0 11px 0 #ffffff,
    11px 0 0 #ffffff,
    -11px 0 0 #ffffff,
    8px 8px 0 #ffffff,
    -8px 8px 0 #ffffff,
    8px -8px 0 #ffffff,
    -8px -8px 0 #ffffff;
}

.settings-button {
  background: #23222c;
  border: 5px solid rgba(255, 255, 255, 0.88);
}

.room-cover-mode .settings-button {
  background: #815f44;
}

.settings-button span::before,
.settings-button span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 25px;
  height: 25px;
  border: 3px solid #ffffff;
  border-radius: 50%;
  background: transparent;
  transform: translate(-50%, -50%);
}

.settings-button span::after {
  width: 13px;
  height: 13px;
  border-color: #23222c;
}

.cover-image-mode .settings-button span {
  background: #7a4c38;
  box-shadow:
    0 -11px 0 #7a4c38,
    0 11px 0 #7a4c38,
    11px 0 0 #7a4c38,
    -11px 0 0 #7a4c38,
    8px 8px 0 #7a4c38,
    -8px 8px 0 #7a4c38,
    8px -8px 0 #7a4c38,
    -8px -8px 0 #7a4c38;
}

.cover-image-mode .settings-button span::before {
  border-color: #7a4c38;
}

.cover-image-mode .settings-button span::after {
  border-color: rgba(255, 250, 238, 0.94);
}

.room-cover-mode .settings-button span::after {
  border-color: #815f44;
}

.home-stage {
  height: 296px;
  margin: 10px 0 12px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 43% 17%, rgba(255, 160, 129, 0.34) 0 7px, transparent 8px),
    radial-gradient(circle at 49% 14%, rgba(255, 160, 129, 0.34) 0 7px, transparent 8px),
    radial-gradient(circle at 46% 24%, rgba(255, 160, 129, 0.34) 0 13px, transparent 14px),
    radial-gradient(circle at 84% 24%, rgba(255, 129, 157, 0.42) 0 13px, transparent 14px),
    radial-gradient(circle at 74% 79%, rgba(255, 198, 148, 0.42) 0 5px, transparent 6px),
    radial-gradient(circle at 16% 13%, rgba(255, 255, 255, 0.82) 0 3px, transparent 4px),
    linear-gradient(180deg, rgba(255, 253, 240, 0.56), rgba(255, 248, 228, 0.82)),
    linear-gradient(135deg, #ffe9b5 0%, #fff5d2 46%, #e4f6ea 100%);
  box-shadow:
    inset 0 0 0 4px rgba(255, 255, 255, 0.78),
    inset 0 0 0 9px rgba(255, 210, 153, 0.34),
    inset 0 -31px 0 rgba(143, 103, 67, 0.09),
    0 18px 42px rgba(78, 58, 36, 0.14);
  position: relative;
  overflow: hidden;
}

.room-cover-mode .home-stage {
  height: 404px;
  margin: 0 auto 12px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 58% 16%, rgba(230, 168, 88, 0.38) 0 8px, transparent 9px),
    radial-gradient(circle at 52% 17%, rgba(230, 168, 88, 0.38) 0 8px, transparent 9px),
    radial-gradient(circle at 55% 25%, rgba(230, 168, 88, 0.38) 0 14px, transparent 15px),
    radial-gradient(circle at 41% 50%, rgba(255, 255, 255, 0.96) 0 8px, transparent 9px),
    radial-gradient(circle at 84% 56%, rgba(255, 255, 255, 0.95) 0 5px, transparent 6px),
    radial-gradient(circle at 66% 70%, rgba(255, 255, 255, 0.95) 0 7px, transparent 8px),
    radial-gradient(circle at 21% 53%, rgba(255, 255, 255, 0.95) 0 5px, transparent 6px),
    linear-gradient(180deg, rgba(255, 252, 232, 0.9), rgba(255, 235, 194, 0.9)),
    linear-gradient(135deg, #fff0c7 0%, #ffe6b3 100%);
  border: 3px solid rgba(255, 255, 255, 0.78);
  box-shadow:
    inset 0 0 0 3px rgba(255, 219, 169, 0.48),
    inset 0 0 0 10px rgba(255, 255, 255, 0.18),
    0 18px 34px rgba(119, 78, 39, 0.16),
    0 0 0 1px rgba(255, 217, 166, 0.72);
}

.room-cover-mode .fixed-pet-art {
  position: absolute;
  left: 50%;
  bottom: 34px;
  z-index: 5;
  width: min(112%, 680px);
  max-width: none;
  display: block;
  transform: translateX(-50%);
  pointer-events: none;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 13%, #000 89%, transparent 100%);
}

.fixed-pet-art {
  display: none;
}

.room-cover-mode .speech-bubble,
.room-cover-mode .pet-figure,
.room-cover-mode .pet-bowl {
  display: none;
}

.room-cover-mode .meme-stickers {
  display: block;
  z-index: 8;
}

.room-cover-mode .meme-sticker {
  z-index: 8;
  background: rgba(255, 250, 241, 0.94);
}

.room-cover-mode .sticker-three {
  display: none;
}

.room-cover-mode .home-stage::before {
  left: 44px;
  right: 44px;
  bottom: 28px;
  height: 58px;
  background: rgba(194, 132, 80, 0.16);
}

.room-cover-mode .home-stage::after {
  left: 68px;
  right: 68px;
  bottom: 28px;
  height: 54px;
  background: rgba(255, 255, 255, 0.26);
}

.home-stage::before {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 26px;
  height: 39px;
  border-radius: 999px;
  background: rgba(160, 115, 70, 0.15);
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.48),
    0 0 0 4px rgba(255, 245, 229, 0.34);
}

.home-stage::after {
  content: "";
  position: absolute;
  left: 42px;
  right: 42px;
  bottom: 20px;
  height: 38px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.3);
}

.sticker-headline {
  position: absolute;
  left: 28px;
  top: 12px;
  z-index: 4;
  padding: 8px 17px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--brown);
  font-size: 16px;
  font-weight: 1000;
  transform: rotate(-4deg);
  box-shadow:
    0 0 0 5px rgba(255, 255, 255, 0.72),
    0 8px 18px rgba(99, 66, 38, 0.12);
}

.room-cover-mode .sticker-headline {
  left: 24px;
  top: 24px;
  padding: 11px 22px;
  font-size: 18px;
  transform: rotate(-7deg);
}

.window-glow {
  position: absolute;
  left: 72px;
  top: 54px;
  width: 100px;
  height: 94px;
  border-radius: 12px 12px 28px 28px;
  background:
    linear-gradient(90deg, transparent 48%, rgba(255, 255, 255, 0.65) 49% 51%, transparent 52%),
    linear-gradient(180deg, transparent 48%, rgba(255, 255, 255, 0.65) 49% 51%, transparent 52%),
    linear-gradient(135deg, #fff7c8, #bfe4ff);
  border: 9px solid rgba(255, 255, 255, 0.88);
  box-shadow: 0 14px 26px rgba(103, 81, 49, 0.12);
}

.room-cover-mode .window-glow {
  left: 60px;
  top: 92px;
  width: 132px;
  height: 122px;
  border-radius: 10px 10px 20px 20px;
  background:
    linear-gradient(90deg, transparent 47%, rgba(255, 255, 255, 0.8) 48% 52%, transparent 53%),
    linear-gradient(180deg, transparent 47%, rgba(255, 255, 255, 0.8) 48% 52%, transparent 53%),
    radial-gradient(circle at 62% 70%, rgba(255, 255, 255, 0.9) 0 24px, transparent 25px),
    linear-gradient(145deg, #a7dcff, #fff4b8 78%);
  border-width: 11px;
}

.room-cover-mode .window-glow::after {
  content: "";
  position: absolute;
  right: -22px;
  top: 13px;
  width: 42px;
  height: 104px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.58);
  transform: rotate(12deg);
  box-shadow: -10px 0 0 rgba(255, 255, 255, 0.28);
}

.shelf {
  position: absolute;
  right: 44px;
  top: 78px;
  width: 126px;
  height: 56px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.55);
  border-bottom: 11px solid rgba(132, 91, 54, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.room-cover-mode .shelf {
  right: 124px;
  top: 116px;
  width: 134px;
  height: 64px;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.55);
  border-bottom-color: rgba(144, 91, 48, 0.2);
}

.pet-bowl {
  position: absolute;
  left: 48px;
  bottom: 55px;
  z-index: 2;
  width: 54px;
  height: 24px;
  border-radius: 8px 8px 18px 18px;
  background: linear-gradient(180deg, #ffffff, #ffd5ac);
  box-shadow: inset 0 -6px 0 rgba(160, 94, 47, 0.16);
}

.pet-bowl::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d28b54;
  box-shadow:
    10px 0 0 #d28b54,
    20px 1px 0 #d28b54;
}

.wall-paw {
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(255, 143, 112, 0.32);
}

.wall-paw::before,
.wall-paw::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: inherit;
  top: -7px;
}

.wall-paw::before {
  left: -4px;
}

.wall-paw::after {
  right: -4px;
}

.paw-one {
  left: 194px;
  top: 62px;
}

.paw-two {
  right: 150px;
  top: 44px;
  transform: rotate(15deg);
}

.shelf-item {
  width: 30px;
  height: 30px;
  display: block;
  border-radius: 50%;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.1);
}

.fish-item {
  width: 34px;
  border-radius: 50% 8px 8px 50%;
  background: var(--gold);
}

.ball-item {
  background: radial-gradient(circle at 35% 30%, #fff 0 12%, transparent 13%), var(--lilac);
}

.bone-item {
  border-radius: 10px;
  background: #fff8e8;
}

.speech-bubble {
  position: absolute;
  left: 42px;
  top: 136px;
  z-index: 3;
  max-width: 188px;
  padding: 9px 14px;
  border-radius: 13px;
  background: var(--sticker);
  color: var(--brown);
  font-size: 15px;
  font-weight: 800;
  box-shadow:
    0 0 0 6px rgba(255, 255, 255, 0.82),
    0 12px 26px rgba(78, 58, 36, 0.13);
  transform: rotate(-2deg);
}

.room-cover-mode .speech-bubble {
  left: 56px;
  top: 210px;
  max-width: 188px;
  padding: 9px 13px;
  font-size: 15px;
  transform: rotate(-3deg);
}

.speech-bubble::after {
  content: "";
  position: absolute;
  left: 28px;
  bottom: -9px;
  border: 10px solid transparent;
  border-top-color: rgba(255, 255, 255, 0.92);
  border-bottom: 0;
}

.pet-figure {
  position: absolute;
  z-index: 2;
  width: 132px;
  height: 138px;
  padding-top: 12px;
  text-align: center;
  filter:
    drop-shadow(0 0 0 #fff)
    drop-shadow(0 7px 0 #fff)
    drop-shadow(0 14px 16px rgba(70, 49, 32, 0.18));
}

.cat-figure {
  left: 88px;
  bottom: 21px;
  transform: rotate(-4deg);
}

.dog-figure {
  right: 76px;
  bottom: 22px;
  transform: scale(0.94) rotate(4deg);
}

.room-cover-mode .cat-figure {
  left: 160px;
  bottom: 42px;
}

.room-cover-mode .dog-figure {
  right: 146px;
  bottom: 43px;
}

.pet-figure .face {
  position: relative;
  z-index: 3;
  width: 76px;
  height: 70px;
  margin: 0 auto -10px;
  display: block;
  border-radius: 45% 45% 42% 42%;
  background:
    radial-gradient(circle at 37% 27%, #fff 0 5%, transparent 6%),
    radial-gradient(circle at 25% 62%, rgba(255, 134, 141, 0.38) 0 7%, transparent 8%),
    radial-gradient(circle at 75% 62%, rgba(255, 134, 141, 0.38) 0 7%, transparent 8%),
    radial-gradient(circle at 50% 58%, #fff6e8 0 14%, transparent 15%),
    repeating-linear-gradient(90deg, transparent 0 11px, rgba(133, 72, 37, 0.22) 11px 14px, transparent 14px 24px),
    linear-gradient(135deg, #ffbf6d, #ff8f52);
}

.dog-figure .face {
  width: 80px;
  height: 76px;
  border-radius: 44% 44% 48% 48%;
  background:
    radial-gradient(circle at 38% 27%, #fff 0 5%, transparent 6%),
    radial-gradient(circle at 25% 62%, rgba(255, 186, 170, 0.44) 0 8%, transparent 9%),
    radial-gradient(circle at 75% 62%, rgba(255, 186, 170, 0.44) 0 8%, transparent 9%),
    radial-gradient(ellipse at 50% 62%, #fff8ed 0 27%, transparent 28%),
    radial-gradient(ellipse at 50% 95%, #fff8ed 0 20%, transparent 21%),
    linear-gradient(135deg, #f0a34b, #c6783f);
}

.cat-figure .face::before,
.cat-figure .face::after {
  content: "";
  position: absolute;
  top: 43px;
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: rgba(107, 67, 48, 0.45);
}

.cat-figure .face::before {
  left: 7px;
  box-shadow: 0 6px 0 rgba(107, 67, 48, 0.35);
  transform: rotate(8deg);
}

.cat-figure .face::after {
  right: 7px;
  box-shadow: 0 6px 0 rgba(107, 67, 48, 0.35);
  transform: rotate(-8deg);
}

.ear {
  position: absolute;
  top: 4px;
  width: 28px;
  height: 34px;
  background: #ff9c62;
  transform: rotate(45deg);
  border-radius: 9px 2px 9px 2px;
  box-shadow: inset 5px 5px 0 rgba(255, 203, 180, 0.75);
}

.dog-figure .ear {
  top: 0;
  width: 30px;
  height: 42px;
  background: #c56f34;
  border-radius: 22px 8px 18px 8px;
  box-shadow: inset 5px 5px 0 rgba(255, 203, 180, 0.8);
  transform: rotate(-20deg);
}

.ear-left {
  left: 28px;
}

.ear-right {
  right: 28px;
  transform: rotate(-45deg);
}

.dog-figure .ear-right {
  transform: rotate(20deg);
}

.eye,
.nose {
  position: absolute;
  display: block;
  border-radius: 50%;
  background: #4a352f;
}

.eye {
  top: 28px;
  width: 8px;
  height: 10px;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.75);
}

.eye-left {
  left: 24px;
}

.eye-right {
  right: 24px;
}

.nose {
  left: 34px;
  top: 42px;
  width: 9px;
  height: 7px;
  background: #8c5144;
}

.nose::after {
  content: "";
  position: absolute;
  left: -7px;
  top: 7px;
  width: 22px;
  height: 9px;
  border-bottom: 3px solid #7b463b;
  border-radius: 0 0 18px 18px;
}

.cheek {
  position: absolute;
  top: 44px;
  width: 9px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 132, 141, 0.55);
}

.cheek-left {
  left: 13px;
}

.cheek-right {
  right: 13px;
}

.stripe {
  position: absolute;
  top: 10px;
  width: 3px;
  height: 16px;
  border-radius: 999px;
  background: rgba(120, 65, 38, 0.46);
}

.stripe-one {
  left: 31px;
  transform: rotate(-10deg);
}

.stripe-two {
  left: 38px;
}

.stripe-three {
  left: 45px;
  transform: rotate(10deg);
}

.pet-body {
  position: relative;
  z-index: 2;
  width: 82px;
  height: 54px;
  margin: 0 auto;
  display: block;
  border-radius: 42px 42px 28px 28px;
  background:
    radial-gradient(ellipse at 50% 34%, #fff6e8 0 26%, transparent 27%),
    repeating-linear-gradient(90deg, transparent 0 14px, rgba(133, 72, 37, 0.2) 14px 17px, transparent 17px 27px),
    linear-gradient(135deg, #ffa65d, #ff874f);
}

.dog-figure .pet-body {
  width: 88px;
  height: 58px;
  border-radius: 44px 44px 24px 24px;
  background:
    radial-gradient(ellipse at 50% 34%, #fff8ed 0 34%, transparent 35%),
    linear-gradient(135deg, #f0a34b, #c6783f);
}

.front-paw {
  position: absolute;
  bottom: 3px;
  width: 17px;
  height: 13px;
  border-radius: 999px 999px 7px 7px;
  background: #fff6e8;
  box-shadow: inset 0 -2px 0 rgba(115, 74, 45, 0.12);
}

.paw-left {
  left: 20px;
}

.paw-right {
  right: 20px;
}

.dog-figure .front-paw {
  background: #fff8ed;
}

.tongue {
  position: absolute;
  left: 36px;
  top: 53px;
  width: 10px;
  height: 12px;
  border-radius: 0 0 999px 999px;
  background: #ff6c6c;
}

.tail {
  position: absolute;
  z-index: -1;
  right: 4px;
  bottom: 42px;
  width: 38px;
  height: 42px;
  border: 10px solid #e87945;
  border-left: 0;
  border-bottom: 0;
  border-radius: 0 34px 0 0;
  transform: rotate(18deg);
}

.dog-figure .tail {
  right: -4px;
  bottom: 50px;
  width: 30px;
  height: 24px;
  border-width: 8px;
  border-color: #c6783f;
  transform: rotate(22deg);
}

.pet-figure strong {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--sticker);
  font-size: 13px;
  color: var(--brown);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.75);
}

.cat-figure .face,
.cat-figure .pet-body {
  box-shadow:
    inset 0 -5px 0 rgba(165, 91, 43, 0.12),
    0 0 0 2px rgba(255, 255, 255, 0.16);
}

.dog-figure .face,
.dog-figure .pet-body {
  box-shadow:
    inset 0 -5px 0 rgba(124, 75, 39, 0.12),
    0 0 0 2px rgba(255, 255, 255, 0.16);
}

.locked-pet {
  position: absolute;
  right: 32px;
  bottom: 116px;
  z-index: 1;
  width: 62px;
  height: 68px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.45);
  color: rgba(72, 62, 70, 0.45);
  border: 2px dashed rgba(255, 255, 255, 0.9);
  font-weight: 900;
  transform: rotate(3deg);
}

.room-cover-mode .locked-pet {
  right: 48px;
  bottom: 150px;
  width: 76px;
  height: 92px;
  background: rgba(255, 255, 255, 0.5);
  display: grid;
  z-index: 8;
}

.meme-stickers {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.meme-sticker {
  position: absolute;
  z-index: 4;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--sticker);
  color: var(--brown);
  font-size: 12px;
  font-weight: 1000;
  box-shadow:
    0 0 0 4px rgba(255, 255, 255, 0.78),
    0 6px 12px rgba(89, 57, 34, 0.12);
}

.meme-sticker b {
  color: #8a5637;
}

.meme-sticker::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(255, 123, 135, 0.68);
}

.sticker-one {
  left: 170px;
  top: 112px;
  transform: rotate(5deg);
}

.room-cover-mode .sticker-one {
  left: 304px;
  top: 142px;
}

.sticker-one::after {
  right: -12px;
  top: -8px;
}

.sticker-two {
  right: 26px;
  top: 108px;
  transform: rotate(-5deg);
}

.room-cover-mode .sticker-two {
  right: 54px;
  top: 146px;
}

.sticker-two::after {
  left: -11px;
  top: -6px;
  background: rgba(246, 197, 87, 0.8);
}

.sticker-three {
  left: 38px;
  bottom: 80px;
  transform: rotate(-7deg);
}

.room-cover-mode .sticker-three {
  left: 46px;
  bottom: 118px;
}

.sticker-three::after {
  right: -10px;
  bottom: -6px;
}

.sticker-four {
  right: 48px;
  bottom: 142px;
  transform: rotate(6deg);
}

.room-cover-mode .sticker-four {
  right: 122px;
  bottom: 164px;
}

.sticker-four::after {
  right: -9px;
  top: -8px;
  background: rgba(185, 155, 234, 0.75);
}

.locked-pet span {
  font-size: 30px;
}

.locked-pet small {
  margin-top: -14px;
}

.progress-panel,
.goal-panel,
.tool-row {
  display: grid;
  gap: 10px;
}

.player-level-card {
  width: 100%;
  min-height: 70px;
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  display: grid;
  gap: 9px;
  text-align: left;
  background:
    radial-gradient(circle at 90% 20%, rgba(255, 199, 93, 0.28) 0 34px, transparent 36px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 245, 222, 0.86));
  border: 2px solid rgba(255, 255, 255, 0.86);
  box-shadow:
    0 12px 22px rgba(98, 77, 50, 0.12),
    inset 0 2px 0 rgba(255, 255, 255, 0.72);
}

.player-level-card > div:first-child,
.level-exp-row,
.reward-level-panel > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.player-level-card span,
.level-exp-row span,
.reward-level-panel span {
  color: #8a6350;
  font-size: 12px;
  font-weight: 900;
}

.player-level-card strong {
  color: var(--brown);
  font-size: 24px;
  line-height: 1;
}

.level-exp-row {
  display: grid;
  grid-template-columns: auto 1fr;
}

.level-exp-row i,
.reward-level-panel i {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(236, 210, 175, 0.78);
}

.level-exp-row em,
.reward-level-panel em {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff8f70, #ffc65e);
  transition: width 0.24s ease;
}

.progress-panel {
  grid-template-columns: repeat(2, 1fr);
  padding: 14px 16px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 84% 28%, rgba(255, 143, 112, 0.18) 0 5px, transparent 6px),
    radial-gradient(circle at 88% 33%, rgba(255, 143, 112, 0.18) 0 5px, transparent 6px),
    radial-gradient(circle at 86% 41%, rgba(255, 143, 112, 0.18) 0 10px, transparent 11px),
    rgba(255, 250, 241, 0.92);
  box-shadow:
    0 14px 28px rgba(98, 77, 50, 0.12),
    inset 0 0 0 3px rgba(255, 255, 255, 0.72);
  border: 2px dashed rgba(239, 190, 139, 0.48);
}

.room-cover-mode .progress-panel {
  min-height: 136px;
  margin: 0 auto 12px;
  padding: 18px 28px 16px;
  grid-template-columns: 1fr 1fr;
  border-radius: 18px;
  background:
    radial-gradient(circle at 84% 70%, rgba(39, 32, 30, 0.86) 0 34px, transparent 35px),
    radial-gradient(circle at 81% 87%, rgba(255, 151, 182, 0.52) 0 16px, transparent 17px),
    radial-gradient(circle at 70% 86%, rgba(255, 151, 182, 0.52) 0 20px, transparent 21px),
    radial-gradient(circle at 76% 82%, rgba(255, 151, 182, 0.6) 0 39px, transparent 40px),
    rgba(255, 252, 240, 0.88);
  border: 3px solid rgba(255, 255, 255, 0.82);
  box-shadow:
    0 15px 30px rgba(111, 72, 36, 0.16),
    inset 0 0 0 2px rgba(255, 228, 188, 0.6);
  position: relative;
  overflow: hidden;
}

.room-cover-mode .progress-panel::after {
  content: "";
  position: absolute;
  right: 28px;
  bottom: 13px;
  width: 130px;
  height: 18px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 8% 50%, #ff87a4 0 10px, transparent 11px),
    linear-gradient(90deg, #ff8da9, #d95a72);
  box-shadow:
    36px 2px 0 -7px #ff8da9,
    72px -1px 0 -8px #ff8da9;
  transform: rotate(-4deg);
}

.room-cover-mode .progress-panel::before {
  content: "";
  position: absolute;
  right: 38px;
  bottom: 72px;
  width: 92px;
  height: 62px;
  border-radius: 46px 46px 24px 24px;
  background:
    radial-gradient(circle at 39% 35%, #e8f06c 0 7px, #3b342b 8px 13px, transparent 14px),
    radial-gradient(circle at 62% 35%, #e8f06c 0 7px, #3b342b 8px 13px, transparent 14px),
    radial-gradient(circle at 50% 57%, #ff868d 0 4px, transparent 5px),
    #292422;
  filter: drop-shadow(0 8px 8px rgba(87, 54, 31, 0.12));
}

.progress-panel span {
  color: #9a6d55;
  display: block;
  font-size: 14px;
  font-weight: 800;
}

.progress-panel strong {
  display: block;
  margin-top: 4px;
  font-size: 23px;
  color: #1f2230;
}

.next-pet-row {
  grid-column: 1 / -1;
}

.room-cover-mode .next-pet-row {
  max-width: 330px;
  position: relative;
  z-index: 2;
}

.mini-progress {
  height: 11px;
  margin-top: 8px;
  border-radius: 999px;
  background: #ead8c4;
  overflow: hidden;
}

.mini-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--pink), var(--gold));
}

.coin-pill {
  min-height: 44px;
  border-radius: 8px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 20px rgba(98, 77, 50, 0.08);
}

.home-actions {
  margin-top: 10px;
  display: grid;
  gap: 10px;
}

.room-cover-mode .home-actions {
  margin-top: 0;
}

.primary-button,
.secondary-button,
.modal-actions button {
  height: 52px;
  border-radius: 14px;
  font-weight: 800;
}

.start-game-button {
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  border: 3px solid rgba(255, 255, 255, 0.72);
  box-shadow:
    0 16px 28px rgba(220, 111, 65, 0.28),
    inset 0 -5px 0 rgba(177, 77, 57, 0.12);
  text-shadow: 0 2px 0 rgba(109, 61, 37, 0.18);
}

.room-cover-mode .start-game-button {
  height: 76px;
  border-radius: 20px;
  padding: 0 42px;
  background: linear-gradient(135deg, #de714f 0%, #ff8f45 55%, #ffc14d 100%);
  border: 3px solid rgba(255, 218, 163, 0.8);
  outline: 2px dashed rgba(255, 244, 220, 0.42);
  outline-offset: -10px;
}

.start-game-button span {
  font-size: 23px;
  font-weight: 1000;
}

.start-game-button b {
  padding: 9px 16px;
  border-radius: 999px;
  background: rgba(255, 236, 174, 0.34);
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.34),
    0 5px 12px rgba(131, 68, 36, 0.12);
  font-size: 16px;
}

.home-nav {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.room-cover-mode .home-nav {
  margin-top: 14px;
}

.nav-button {
  min-width: 0;
  min-height: 74px;
  border-radius: 14px;
  padding: 8px 4px;
  background: rgba(255, 250, 241, 0.94);
  box-shadow:
    0 10px 20px rgba(98, 77, 50, 0.1),
    inset 0 0 0 2px rgba(255, 255, 255, 0.66);
  color: var(--brown);
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 900;
  border: 2px dashed rgba(239, 190, 139, 0.48);
}

.room-cover-mode .nav-button {
  min-height: 88px;
  border-radius: 16px;
  background: rgba(255, 248, 229, 0.86);
  border: 2px solid rgba(255, 255, 255, 0.84);
  box-shadow:
    0 10px 22px rgba(111, 72, 36, 0.14),
    inset 0 0 0 2px rgba(255, 228, 184, 0.46);
}

.nav-button b {
  font-size: 12px;
}

.nav-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--sky), var(--mint));
  font-size: 14px;
  font-weight: 900;
  position: relative;
}

.album-icon::before,
.gift-icon::before,
.trophy-icon::before,
.task-icon::before,
.task-icon::after,
.trophy-icon::after,
.gift-icon::after {
  content: "";
  position: absolute;
  display: block;
}

.album-icon::before {
  width: 17px;
  height: 20px;
  border-radius: 4px;
  background: #fff;
  box-shadow: inset 4px 0 0 rgba(116, 169, 232, 0.55);
}

.album-icon::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 2px;
  border-radius: 99px;
  background: rgba(116, 169, 232, 0.7);
  box-shadow: 0 5px 0 rgba(116, 169, 232, 0.7);
}

.gift-icon {
  background: linear-gradient(135deg, var(--coral), var(--gold));
}

.gift-icon::before {
  width: 20px;
  height: 16px;
  bottom: 6px;
  border-radius: 4px;
  background: #fff;
  box-shadow: inset 0 6px 0 rgba(255, 143, 112, 0.28);
}

.gift-icon::after {
  width: 4px;
  height: 18px;
  bottom: 5px;
  border-radius: 999px;
  background: rgba(255, 143, 112, 0.55);
}

#rewardDot {
  position: absolute;
  right: -2px;
  top: -2px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ff4f61;
  border: 2px solid #fff;
}

#rewardDot.hidden {
  display: none;
}

.trophy-icon {
  background: linear-gradient(135deg, var(--gold), #f49a4a);
}

.trophy-icon::before {
  width: 16px;
  height: 15px;
  top: 7px;
  border-radius: 4px 4px 9px 9px;
  background: #fff;
}

.trophy-icon::after {
  width: 20px;
  height: 5px;
  bottom: 7px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 -5px 0 -2px #fff;
}

.task-icon {
  background: linear-gradient(135deg, var(--lilac), var(--pink));
}

.task-icon::before {
  width: 17px;
  height: 20px;
  border-radius: 5px;
  background: #fff;
}

.task-icon::after {
  width: 10px;
  height: 6px;
  border-left: 3px solid var(--lilac);
  border-bottom: 3px solid var(--lilac);
  transform: rotate(-45deg);
}

.room-icon {
  background: linear-gradient(135deg, #ffb36c, #ff8f70);
}

.room-icon::before,
.room-icon::after {
  content: "";
  position: absolute;
  display: block;
}

.room-icon::before {
  width: 22px;
  height: 17px;
  bottom: 7px;
  border-radius: 5px;
  background: #fff;
}

.room-icon::after {
  width: 18px;
  height: 18px;
  top: 7px;
  border-radius: 4px;
  background: #fff;
  transform: rotate(45deg);
  clip-path: polygon(50% 0, 100% 50%, 86% 50%, 86% 100%, 14% 100%, 14% 50%, 0 50%);
}

.primary-button,
.modal-actions button:first-child {
  color: #fff;
  background: linear-gradient(135deg, #ff6f7c 0%, #ff8f70 48%, #f0a13f 100%);
}

.secondary-button,
.modal-actions button {
  background: var(--panel);
  box-shadow: 0 8px 20px rgba(98, 77, 50, 0.08);
}

.game-view {
  position: relative;
  isolation: isolate;
}

.game-view::before {
  content: "";
  position: absolute;
  left: -2px;
  right: -2px;
  top: 86px;
  bottom: 82px;
  z-index: -1;
  border-radius: 28px;
  background:
    radial-gradient(circle at 14% 18%, rgba(255, 178, 194, 0.34) 0 13px, transparent 14px),
    radial-gradient(circle at 86% 83%, rgba(124, 204, 186, 0.24) 0 18px, transparent 19px),
    linear-gradient(180deg, rgba(255, 252, 241, 0.5), rgba(255, 238, 207, 0.42));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
  pointer-events: none;
}

.game-view::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 84px;
  width: 58px;
  height: 34px;
  z-index: -1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 31% 36%, rgba(255, 178, 188, 0.6) 0 5px, transparent 6px),
    radial-gradient(circle at 52% 27%, rgba(255, 178, 188, 0.6) 0 5px, transparent 6px),
    radial-gradient(circle at 47% 60%, rgba(255, 178, 188, 0.68) 0 9px, transparent 10px),
    rgba(255, 255, 255, 0.46);
  transform: rotate(-12deg);
  pointer-events: none;
}

.game-view .game-header {
  min-height: 74px;
  padding: 8px 10px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.68), rgba(255, 248, 232, 0.48)),
    rgba(255, 246, 226, 0.54);
  box-shadow:
    0 14px 26px rgba(110, 75, 44, 0.08),
    inset 0 0 0 2px rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(6px);
}

.game-view .game-header .eyebrow {
  margin: 0;
  color: #9a715e;
  letter-spacing: 0;
}

.game-view .game-header h2 {
  margin: 2px 0 0;
  line-height: 1;
}

.game-view .icon-button,
.game-view .coin-pill {
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid rgba(255, 255, 255, 0.86);
  box-shadow:
    0 10px 18px rgba(101, 64, 41, 0.1),
    inset 0 -4px 0 rgba(255, 218, 178, 0.2);
}

.goal-panel {
  grid-template-columns: 1fr 1.1fr;
  margin: 8px 0 10px;
  gap: 8px;
}

.stat-card {
  position: relative;
  min-height: 52px;
  padding: 8px 11px;
  border-radius: 14px;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(255, 214, 106, 0.22) 0 18px, transparent 20px),
    rgba(255, 255, 255, 0.84);
  border: 2px solid rgba(255, 255, 255, 0.76);
  box-shadow:
    0 10px 20px rgba(103, 71, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.stat-card span {
  display: block;
  color: #8a6350;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.stat-card strong {
  display: flex;
  align-items: baseline;
  gap: 2px;
  margin-top: 4px;
  color: var(--ink);
  font-size: 25px;
  font-weight: 1000;
  line-height: 1;
}

.stat-card strong i {
  color: #8a6350;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.moves-stat.low {
  background:
    radial-gradient(circle at 88% 20%, rgba(255, 151, 83, 0.32) 0 22px, transparent 24px),
    rgba(255, 250, 238, 0.88);
}

.moves-stat.danger {
  background:
    radial-gradient(circle at 88% 20%, rgba(255, 108, 118, 0.36) 0 24px, transparent 26px),
    rgba(255, 246, 238, 0.92);
  animation: movesDangerPulse 0.9s ease-in-out infinite;
}

.moves-stat.low strong,
.moves-stat.danger strong {
  color: #ef704f;
}

.stat-card em {
  position: absolute;
  right: 10px;
  bottom: 8px;
  color: #ef704f;
  font-size: 11px;
  font-style: normal;
  font-weight: 1000;
}

.score-stat.complete {
  background:
    radial-gradient(circle at 88% 18%, rgba(119, 211, 177, 0.28) 0 22px, transparent 24px),
    rgba(249, 255, 246, 0.9);
}

#scoreGain {
  right: 12px;
  top: 10px;
  bottom: auto;
  opacity: 0;
  color: #ff8b58;
}

#scoreGain.show {
  animation: scoreGainFloat 0.62s ease-out both;
}

.stat-pop strong {
  animation: statValuePop 0.28s ease-out both;
}

.target-strip {
  grid-column: 1 / -1;
  min-height: 42px;
  padding: 5px;
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.72);
  border: 2px solid rgba(255, 255, 255, 0.68);
  box-shadow:
    0 10px 20px rgba(103, 71, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.target-pill {
  min-height: 30px;
  padding: 3px 6px 3px 4px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #704a38;
  background: rgba(255, 248, 233, 0.92);
  border: 2px solid rgba(255, 226, 181, 0.74);
  font-size: 11px;
  font-weight: 1000;
}

.target-pill img,
.target-pill em {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  object-fit: contain;
  font-style: normal;
  background: rgba(255, 255, 255, 0.62);
}

.target-pill b {
  color: var(--ink);
  font-size: 11px;
  line-height: 1;
}

.target-pill i {
  color: #8a6350;
  font-size: 10px;
  font-style: normal;
}

.target-pill.complete {
  color: #548b68;
  background: rgba(239, 255, 238, 0.92);
  border-color: rgba(152, 220, 166, 0.82);
}

.target-pill.complete b {
  color: #4f9b63;
  font-size: 16px;
}

.score-target em {
  color: #f6a83d;
  font-size: 17px;
}

@keyframes statValuePop {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.14);
  }
}

@keyframes scoreGainFloat {
  0% {
    opacity: 0;
    transform: translateY(8px) scale(0.9);
  }

  20% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateY(-24px) scale(1.08);
  }
}

@keyframes movesDangerPulse {
  0%,
  100% {
    box-shadow:
      0 10px 20px rgba(103, 71, 42, 0.08),
      inset 0 1px 0 rgba(255, 255, 255, 0.72);
  }

  50% {
    box-shadow:
      0 0 0 4px rgba(255, 111, 124, 0.18),
      0 10px 20px rgba(103, 71, 42, 0.08),
      inset 0 1px 0 rgba(255, 255, 255, 0.72);
  }
}

.board-wrap {
  position: relative;
  padding: 14px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 7% 8%, rgba(255, 183, 194, 0.28) 0 10px, transparent 11px),
    radial-gradient(circle at 92% 10%, rgba(246, 197, 87, 0.18) 0 12px, transparent 13px),
    linear-gradient(180deg, rgba(255, 252, 242, 0.98), rgba(255, 242, 214, 0.92)),
    rgba(255, 255, 255, 0.78);
  border: 3px solid rgba(255, 255, 255, 0.86);
  box-shadow:
    0 20px 42px rgba(93, 67, 41, 0.13),
    inset 0 2px 0 rgba(255, 255, 255, 0.78),
    inset 0 -8px 0 rgba(222, 167, 104, 0.08);
}

.tool-burst,
.tool-spark,
.tool-paw-stamp {
  position: absolute;
  z-index: 8;
  left: 50%;
  top: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.tool-burst {
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.bomb-burst {
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.92) 0 17%, rgba(255, 208, 93, 0.82) 18% 36%, rgba(255, 108, 84, 0.45) 37% 62%, transparent 63%);
  animation: bombBurst 0.58s ease-out both;
}

.paw-burst {
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.95) 0 22%, rgba(255, 150, 196, 0.66) 23% 55%, transparent 56%);
  animation: pawBurst 0.54s ease-out both;
}

.tool-paw-stamp {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ff76a8;
  background: rgba(255, 255, 255, 0.84);
  border: 3px solid rgba(255, 201, 224, 0.9);
  box-shadow: 0 12px 22px rgba(166, 80, 110, 0.18);
  font-size: 28px;
  animation: pawStamp 0.62s cubic-bezier(.2, .9, .26, 1.22) both;
}

.tool-spark {
  min-width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 16px;
  font-weight: 1000;
  text-shadow: 0 2px 4px rgba(116, 65, 33, 0.18);
}

.bomb-spark {
  color: #ffb33f;
  animation: bombSpark 0.58s ease-out both;
}

.paw-spark {
  color: #ff7eb2;
  animation: pawSpark 0.62s ease-out both;
}

.spark-1 {
  --spark-x: -22px;
}

.spark-2 {
  --spark-x: 20px;
}

.spark-3 {
  --spark-x: -10px;
}

.spark-4 {
  --spark-x: 14px;
}

.board-wrap::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: -12px;
  height: 24px;
  z-index: -1;
  border-radius: 50%;
  background: rgba(150, 99, 50, 0.12);
  filter: blur(7px);
}

.board {
  display: grid;
  grid-template-columns: repeat(var(--board-size, 6), 1fr);
  gap: 8px;
  aspect-ratio: 1;
  touch-action: none;
}

.board-shuffle .tile {
  animation: boardShuffleTile 0.46s ease-in-out both;
}

.board-shuffle .tile:nth-child(3n) {
  animation-delay: 0.04s;
}

.board-shuffle .tile:nth-child(4n) {
  animation-delay: 0.08s;
}

.board[data-size="7"] {
  gap: 6px;
}

.board[data-size="8"] {
  gap: 5px;
}

.tile {
  min-width: 0;
  position: relative;
  overflow: hidden;
  padding: 0;
  border-radius: 16px;
  border: 0;
  background: transparent;
  color: var(--ink);
  user-select: none;
  box-shadow: none;
  transition:
    transform 120ms ease,
    filter 120ms ease,
    box-shadow 120ms ease;
}

.board[data-size="7"] .tile {
  border-radius: 14px;
}

.board[data-size="8"] .tile {
  border-radius: 12px;
}

.tile::after {
  display: none;
}

.tile-image {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  transform: translate(-50%, -50%);
  user-select: none;
  filter: none;
}

.tile-caption {
  display: none;
}

.tile.selected {
  transform: scale(0.9);
  filter: brightness(1.06) saturate(1.18);
  outline: 3px solid rgba(255, 255, 255, 0.95);
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.9),
    inset 0 -4px 0 rgba(111, 77, 47, 0.12),
    0 0 0 4px rgba(255, 181, 98, 0.35),
    0 8px 16px rgba(123, 82, 48, 0.18);
}

.tile.tile-tap-feedback {
  animation: tile-pop 160ms ease-out;
}

.tile.tile-click-feedback {
  animation: tile-pop 220ms ease-out;
}

.tile.tile-bomb-hit {
  animation: tileBombHit 0.36s ease-out both;
  filter: brightness(1.12) saturate(1.24);
}

.tile.tile-paw-hit {
  animation: tilePawHit 0.34s ease-out both;
  filter: brightness(1.14) saturate(1.2);
}

@keyframes tile-pop {
  0% {
    transform: scale(0.92);
  }

  65% {
    transform: scale(1.04);
  }

  100% {
    transform: scale(1);
  }
}

.tile[data-type="cat_food"] {
  background: transparent;
}

.tile[data-type="dog_food"] {
  background: transparent;
}

.tile[data-type="dried_fish"] {
  background: transparent;
}

.tile[data-type="bone"] {
  background: transparent;
}

.tile[data-type="toy_ball"] {
  background: transparent;
}

.tile[data-type="bell"] {
  background: transparent;
}

.tool-row {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 16px;
  padding: 7px;
  border-radius: 22px;
  background: rgba(255, 244, 222, 0.72);
  border: 2px solid rgba(255, 255, 255, 0.62);
  box-shadow:
    0 13px 24px rgba(102, 68, 39, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.tool-button {
  min-height: 58px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 249, 235, 0.9));
  border: 2px solid rgba(255, 255, 255, 0.8);
  box-shadow:
    0 8px 16px rgba(98, 77, 50, 0.08),
    inset 0 -4px 0 rgba(255, 220, 183, 0.22);
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.tool-button::before {
  content: "";
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 12px;
  background: center / contain no-repeat;
  filter: drop-shadow(0 5px 6px rgba(105, 68, 39, 0.16));
}

#bombButton::before {
  background-image: url("./assets/tools/bomb.png");
}

#shuffleButton::before {
  background-image: url("./assets/tools/shuffle.png");
}

#pawButton::before {
  background-image: url("./assets/tools/magic_paw.png");
}

.tool-button.active {
  color: #fff;
  background: linear-gradient(135deg, var(--sky), var(--mint));
  box-shadow:
    0 0 0 4px rgba(255, 255, 255, 0.78),
    0 0 18px rgba(118, 210, 207, 0.42),
    inset 0 2px 0 rgba(255, 255, 255, 0.42);
  transform: translateY(-1px);
}

.tool-button.tool-spin::before {
  animation: toolSpin 0.56s ease-in-out both;
}

.tool-button.tool-boom {
  animation: toolBoom 0.52s ease-out both;
}

.tool-button.tool-paw {
  animation: toolPaw 0.52s ease-out both;
}

.tool-button.tool-shake {
  animation: toolShake 0.36s ease-in-out both;
}

.tool-count-pop {
  display: inline-block;
  animation: toolCountPop 0.36s ease-out both;
}

@keyframes boardShuffleTile {
  0% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }

  45% {
    opacity: 0.44;
    transform: scale(0.72) rotate(12deg);
  }

  100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
}

@keyframes tileBombHit {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }

  24% {
    transform: translate(-2px, 1px) scale(0.94);
  }

  52% {
    transform: translate(2px, -2px) scale(1.08);
  }
}

@keyframes tilePawHit {
  0% {
    transform: scale(1);
  }

  52% {
    transform: scale(0.78) rotate(-4deg);
  }

  100% {
    transform: scale(1.04) rotate(0deg);
  }
}

@keyframes bombBurst {
  0% {
    opacity: 0.95;
    transform: translate(-50%, -50%) scale(0.2);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(4.6);
  }
}

@keyframes pawBurst {
  0% {
    opacity: 0.9;
    transform: translate(-50%, -50%) scale(0.2);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2.4);
  }
}

@keyframes pawStamp {
  0% {
    opacity: 0;
    transform: translate(-50%, -120%) scale(1.4) rotate(-12deg);
  }

  48% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0.92) rotate(4deg);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -42%) scale(1.08) rotate(0deg);
  }
}

@keyframes bombSpark {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.7);
  }

  25% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--spark-x)), -92px) scale(1.22);
  }
}

@keyframes pawSpark {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.74);
  }

  25% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--spark-x)), -66px) scale(1.08);
  }
}

@keyframes toolSpin {
  0% {
    transform: rotate(0deg) scale(1);
  }

  60% {
    transform: rotate(280deg) scale(1.12);
  }

  100% {
    transform: rotate(360deg) scale(1);
  }
}

@keyframes toolBoom {
  0%,
  100% {
    transform: scale(1);
  }

  40% {
    transform: scale(1.08);
    box-shadow:
      0 0 0 6px rgba(255, 199, 91, 0.42),
      0 14px 22px rgba(214, 99, 55, 0.18);
  }
}

@keyframes toolPaw {
  0%,
  100% {
    transform: scale(1);
  }

  48% {
    transform: scale(1.08) rotate(-2deg);
    box-shadow:
      0 0 0 6px rgba(255, 152, 194, 0.36),
      0 14px 22px rgba(174, 93, 132, 0.16);
  }
}

@keyframes toolShake {
  0%,
  100% {
    transform: translateX(0);
  }

  24% {
    transform: translateX(-5px);
  }

  52% {
    transform: translateX(5px);
  }

  76% {
    transform: translateX(-3px);
  }
}

@keyframes toolCountPop {
  0%,
  100% {
    transform: scale(1);
  }

  45% {
    transform: scale(1.32);
    color: #ff7f88;
  }
}

.room-scene {
  position: relative;
  min-height: 390px;
  margin-top: 16px;
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 82%, rgba(255, 166, 132, 0.24) 0 94px, transparent 98px),
    linear-gradient(180deg, transparent 0 58%, rgba(245, 189, 128, 0.24) 59% 61%, transparent 62%),
    radial-gradient(circle at 18% 80%, rgba(255, 177, 191, 0.36) 0 48px, transparent 50px),
    radial-gradient(circle at 86% 78%, rgba(125, 204, 186, 0.28) 0 64px, transparent 66px),
    linear-gradient(180deg, rgba(255, 249, 233, 0.96), rgba(255, 226, 187, 0.9));
  border: 3px solid rgba(255, 255, 255, 0.82);
  box-shadow:
    0 16px 34px rgba(101, 70, 42, 0.12),
    inset 0 2px 0 rgba(255, 255, 255, 0.68);
}

.room-scene::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 28px;
  width: 64px;
  height: 48px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 44% 55%, #ff9f77 0 7px, transparent 8px),
    radial-gradient(circle at 33% 43%, #ff9f77 0 4px, transparent 5px),
    radial-gradient(circle at 45% 36%, #ff9f77 0 4px, transparent 5px),
    radial-gradient(circle at 57% 43%, #ff9f77 0 4px, transparent 5px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 239, 206, 0.88));
  border: 4px solid rgba(255, 255, 255, 0.82);
  box-shadow:
    0 9px 14px rgba(118, 76, 45, 0.12),
    inset 0 2px 0 rgba(255, 255, 255, 0.72);
  transform: translateX(-50%) rotate(-2deg);
}

.room-scene::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  bottom: 106px;
  width: min(278px, 76%);
  height: 86px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 205, 142, 0.72), rgba(255, 168, 138, 0.18) 70%, transparent 72%);
  transform: translateX(-50%);
}

.room-window {
  position: absolute;
  z-index: 1;
  left: 28px;
  top: 24px;
  width: 96px;
  height: 86px;
  border-radius: 20px;
  background:
    linear-gradient(90deg, transparent 47%, rgba(255, 255, 255, 0.76) 48% 52%, transparent 53%),
    linear-gradient(180deg, transparent 47%, rgba(255, 255, 255, 0.76) 48% 52%, transparent 53%),
    linear-gradient(135deg, #bceaff, #fff0b6);
  border: 6px solid rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 18px rgba(103, 70, 42, 0.12);
}

.room-header-pills {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.room-header-pills .coin-pill {
  min-width: 82px;
  white-space: nowrap;
}

.room-prop {
  position: absolute;
  z-index: 3;
  width: 68px;
  height: 68px;
  border: 0;
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  transition: transform 0.16s ease, filter 0.16s ease;
}

.room-prop::after {
  content: attr(data-cost);
  position: absolute;
  right: -7px;
  bottom: -5px;
  min-width: 34px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 25% 28%, rgba(255, 255, 255, 0.8) 0 3px, transparent 4px),
    linear-gradient(135deg, #ff9a52, #f6c557);
  border: 2px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 7px 12px rgba(132, 85, 42, 0.18);
  font-size: 12px;
  font-weight: 1000;
}

.room-prop:active {
  transform: scale(0.94);
}

.room-prop.unavailable span {
  opacity: 0.48;
  filter: grayscale(0.35) drop-shadow(0 6px 8px rgba(103, 70, 42, 0.1));
}

.room-prop.unavailable::after {
  color: #9a8174;
  background: rgba(236, 225, 211, 0.92);
}

.room-prop-denied {
  animation: roomPropDenied 0.34s ease-in-out both;
}

.room-prop-pop {
  animation: roomPropPop 0.56s ease-out both;
}

.room-prop-roll {
  animation: roomPropRoll 0.74s ease-in-out both;
}

.room-prop-glow {
  animation: roomPropGlow 0.68s ease-out both;
}

.room-prop span {
  width: 64px;
  height: 64px;
  display: block;
  background: center / contain no-repeat;
  filter: drop-shadow(0 9px 10px rgba(103, 70, 42, 0.16));
}

.room-prop-food {
  left: 24px;
  bottom: 118px;
}

.room-prop-food span {
  background-image: url("./assets/room-props/food-bowl.png");
}

.room-prop-toy {
  right: 24px;
  bottom: 118px;
}

.room-prop-toy span {
  background-image: url("./assets/room-props/yarn-ball.png");
}

.room-prop-fish {
  right: 32px;
  top: 30px;
}

.room-prop-fish span {
  background-image: url("./assets/room-props/dried-fish.png");
}

.room-dialogue {
  position: absolute;
  left: 50%;
  top: 112px;
  z-index: 4;
  max-width: 78%;
  padding: 10px 14px;
  border-radius: 18px;
  color: #6f442c;
  background: rgba(255, 255, 255, 0.93);
  border: 3px solid rgba(255, 240, 214, 0.9);
  box-shadow: 0 10px 18px rgba(103, 70, 42, 0.12);
  transform: translateX(-50%);
  text-align: center;
  font-size: 13px;
  font-weight: 900;
  pointer-events: none;
}

.room-dialogue::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 18px;
  height: 18px;
  border-radius: 0 0 5px 0;
  background: rgba(255, 255, 255, 0.93);
  transform: translateX(-50%) rotate(45deg);
}

.room-dialogue.pop {
  animation: roomDialoguePop 0.28s ease-out both;
}

.room-sofa {
  position: absolute;
  left: 50%;
  bottom: 48px;
  width: min(280px, 72%);
  min-height: 126px;
  transform: translateX(-50%);
  border-radius: 46px 46px 28px 28px;
  display: grid;
  place-items: center;
  color: #6f442c;
  background:
    radial-gradient(circle at 28% 34%, rgba(255, 255, 255, 0.68) 0 14px, transparent 15px),
    linear-gradient(135deg, #ffd99f, #ffad87);
  border: 4px solid rgba(255, 255, 255, 0.82);
  box-shadow:
    0 16px 24px rgba(124, 80, 43, 0.15),
    inset 0 -7px 0 rgba(159, 86, 49, 0.1);
  font-size: 24px;
  font-weight: 1000;
  cursor: pointer;
  font-family: inherit;
  overflow: visible;
}

.room-pet-seat {
  z-index: 2;
  bottom: 82px;
  width: min(292px, 76%);
  min-height: 198px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.room-pet-seat::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2px;
  z-index: 0;
  width: 84%;
  height: 40px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 28% 34%, rgba(255, 255, 255, 0.62) 0 14px, transparent 15px),
    linear-gradient(135deg, rgba(255, 218, 159, 0.92), rgba(255, 173, 135, 0.88));
  border: 4px solid rgba(255, 255, 255, 0.82);
  box-shadow:
    0 16px 22px rgba(124, 80, 43, 0.13),
    inset 0 -7px 0 rgba(159, 86, 49, 0.08);
}

.room-pet-seat::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 0;
  width: 74%;
  height: 34px;
  border-radius: 50%;
  background: rgba(136, 86, 45, 0.13);
  transform: translateX(-50%);
  filter: blur(1px);
}

.room-pet-image {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 1;
  width: min(212px, 82%);
  height: 212px;
  object-fit: contain;
  transform: translateX(-50%);
  filter:
    drop-shadow(0 14px 14px rgba(109, 72, 40, 0.16))
    saturate(1.08)
    brightness(1.03);
  pointer-events: none;
}

.room-affinity {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 48px;
  z-index: 3;
  padding: 10px 12px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.8);
  border: 2px solid rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 18px rgba(103, 70, 42, 0.1);
}

.room-affinity div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
  color: #744b38;
  font-size: 12px;
  font-weight: 900;
}

.room-affinity b {
  color: #f28a58;
}

.room-affinity i {
  display: block;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(236, 210, 175, 0.75);
}

.room-affinity em {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff8f70, #ffc65e);
  box-shadow: 0 0 12px rgba(255, 154, 92, 0.28);
  transition: width 0.24s ease;
}

#roomFeaturedPetFallback {
  position: relative;
  z-index: 1;
  width: min(198px, 74%);
  height: 188px;
  display: grid;
  place-items: end center;
}

.room-pet-avatar {
  --avatar-fur: #ffd48d;
  --avatar-fur-deep: #f3a454;
  --avatar-ear: #ffc1b0;
  --avatar-mark: transparent;
  --avatar-muzzle: rgba(255, 250, 238, 0.9);
  --avatar-nose: #6c4635;
  position: relative;
  display: block;
  flex: 0 0 auto;
  filter: drop-shadow(0 9px 10px rgba(103, 70, 42, 0.14));
}

.room-pet-avatar-large {
  width: 172px;
  height: 174px;
}

.room-pet-avatar-small {
  grid-row: 1 / 3;
  width: 50px;
  height: 50px;
  filter: drop-shadow(0 5px 6px rgba(103, 70, 42, 0.12));
}

.avatar-face,
.avatar-body,
.avatar-ear,
.avatar-eye,
.avatar-nose,
.avatar-mouth,
.avatar-cheek,
.avatar-mark {
  position: absolute;
  display: block;
}

.avatar-face {
  left: 50%;
  top: 19%;
  z-index: 2;
  width: 74%;
  height: 62%;
  border-radius: 48% 48% 44% 44%;
  background:
    radial-gradient(circle at 33% 68%, rgba(255, 166, 154, 0.42) 0 9%, transparent 10%),
    radial-gradient(circle at 67% 68%, rgba(255, 166, 154, 0.36) 0 9%, transparent 10%),
    radial-gradient(ellipse at 50% 76%, var(--avatar-muzzle) 0 30%, transparent 31%),
    linear-gradient(145deg, var(--avatar-fur), var(--avatar-fur-deep));
  border: 4px solid rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 -8px 0 rgba(109, 72, 40, 0.06);
  transform: translateX(-50%);
}

.avatar-body {
  left: 50%;
  bottom: 0;
  z-index: 1;
  width: 82%;
  height: 48%;
  border-radius: 52% 52% 36% 36%;
  background:
    radial-gradient(circle at 34% 25%, rgba(255, 255, 255, 0.48) 0 13%, transparent 14%),
    linear-gradient(145deg, var(--avatar-fur), var(--avatar-fur-deep));
  border: 4px solid rgba(255, 255, 255, 0.72);
  transform: translateX(-50%);
}

.avatar-ear {
  top: 7%;
  z-index: 1;
  width: 30%;
  height: 34%;
  background:
    radial-gradient(circle at 54% 57%, var(--avatar-ear) 0 32%, transparent 34%),
    var(--avatar-fur);
  border: 4px solid rgba(255, 255, 255, 0.74);
}

.avatar-ear.left {
  left: 18%;
  border-radius: 30% 14% 42% 16%;
  transform: rotate(-24deg);
}

.avatar-ear.right {
  right: 18%;
  border-radius: 14% 30% 16% 42%;
  transform: rotate(24deg);
}

.avatar-dog .avatar-ear {
  top: 18%;
  width: 25%;
  height: 38%;
  border-radius: 48% 48% 56% 56%;
  transform-origin: top center;
}

.avatar-dog .avatar-ear.left {
  left: 12%;
  transform: rotate(18deg);
}

.avatar-dog .avatar-ear.right {
  right: 12%;
  transform: rotate(-18deg);
}

.avatar-eye {
  top: 42%;
  width: 9%;
  height: 13%;
  border-radius: 50%;
  background: #4b342d;
  box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.78);
}

.avatar-eye.left {
  left: 31%;
}

.avatar-eye.right {
  right: 31%;
}

.avatar-nose {
  left: 50%;
  top: 58%;
  width: 11%;
  height: 8%;
  border-radius: 50% 50% 58% 58%;
  background: var(--avatar-nose);
  transform: translateX(-50%);
}

.avatar-mouth {
  left: 50%;
  top: 67%;
  width: 16%;
  height: 8%;
  border-bottom: 3px solid rgba(100, 65, 48, 0.68);
  border-radius: 0 0 999px 999px;
  transform: translateX(-50%);
}

.avatar-cheek {
  top: 61%;
  width: 12%;
  height: 7%;
  border-radius: 999px;
  background: rgba(255, 146, 141, 0.28);
}

.avatar-cheek.left {
  left: 18%;
}

.avatar-cheek.right {
  right: 18%;
}

.avatar-mark {
  left: 50%;
  top: 10%;
  width: 30%;
  height: 30%;
  opacity: 0.55;
  transform: translateX(-50%);
}

.avatar-pattern-stripes .avatar-mark {
  background:
    linear-gradient(90deg, transparent 0 26%, var(--avatar-mark) 27% 34%, transparent 35% 64%, var(--avatar-mark) 65% 72%, transparent 73%),
    linear-gradient(180deg, var(--avatar-mark) 0 16%, transparent 17% 39%, var(--avatar-mark) 40% 54%, transparent 55%);
  border-radius: 16px;
}

.avatar-pattern-mask .avatar-mark {
  top: 26%;
  width: 66%;
  height: 36%;
  border-radius: 44% 44% 36% 36%;
  background: var(--avatar-mark);
}

.avatar-pattern-blaze .avatar-mark {
  top: 7%;
  width: 20%;
  height: 58%;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
}

.avatar-pattern-fluffy .avatar-face {
  border-radius: 45% 45% 50% 50%;
  box-shadow:
    0 0 0 7px rgba(255, 255, 255, 0.36),
    inset 0 -8px 0 rgba(109, 72, 40, 0.04);
}

.avatar-theme-orange {
  --avatar-fur: #ffd18a;
  --avatar-fur-deep: #f39b48;
  --avatar-mark: #d67b37;
}

.avatar-theme-cream {
  --avatar-fur: #fff3d4;
  --avatar-fur-deep: #f4c982;
  --avatar-ear: #ffcdbd;
  --avatar-mark: #eac174;
}

.avatar-theme-blue {
  --avatar-fur: #cfd5de;
  --avatar-fur-deep: #8998ab;
  --avatar-ear: #f5bfb7;
  --avatar-mark: #718196;
}

.avatar-theme-ragdoll {
  --avatar-fur: #f8ead7;
  --avatar-fur-deep: #d6b68f;
  --avatar-ear: #e9b2ac;
  --avatar-mark: #8b6a61;
}

.avatar-theme-siamese {
  --avatar-fur: #ead2ac;
  --avatar-fur-deep: #b48a65;
  --avatar-ear: #bb8379;
  --avatar-mark: #57443f;
}

.avatar-theme-shiba {
  --avatar-fur: #f4b061;
  --avatar-fur-deep: #c76f38;
  --avatar-ear: #f7c09f;
  --avatar-muzzle: #fff3de;
}

.avatar-theme-corgi {
  --avatar-fur: #efa957;
  --avatar-fur-deep: #c56e3a;
  --avatar-ear: #f3b49a;
  --avatar-muzzle: #fff5e7;
}

.avatar-theme-golden {
  --avatar-fur: #f8cf7d;
  --avatar-fur-deep: #d99b45;
  --avatar-ear: #f1b98b;
}

.avatar-theme-samoyed {
  --avatar-fur: #fff8ec;
  --avatar-fur-deep: #e8d9bd;
  --avatar-ear: #ffd1c6;
}

.avatar-theme-collie {
  --avatar-fur: #9b6a4d;
  --avatar-fur-deep: #5b3e34;
  --avatar-ear: #be8b76;
  --avatar-muzzle: #fff4e0;
}

.avatar-theme-labrador {
  --avatar-fur: #8a6042;
  --avatar-fur-deep: #4f3529;
  --avatar-ear: #76503c;
  --avatar-muzzle: #d8b792;
  --avatar-nose: #2e2422;
}

.avatar-theme-husky {
  --avatar-fur: #dce4ec;
  --avatar-fur-deep: #8191a3;
  --avatar-ear: #c6a3a1;
  --avatar-mark: #566575;
  --avatar-muzzle: #fff;
}

.room-pet-avatar-small .avatar-face {
  border-width: 2px;
}

.room-pet-avatar-small .avatar-ear,
.room-pet-avatar-small .avatar-body {
  border-width: 2px;
}

.room-pet-avatar-small .avatar-mouth {
  border-bottom-width: 2px;
}

.room-pet-avatar-empty {
  color: #9a8174;
  background:
    radial-gradient(circle at 50% 55%, rgba(255, 255, 255, 0.92) 0 38%, transparent 39%),
    rgba(236, 225, 211, 0.76);
  border-radius: 999px;
  border: 4px dashed rgba(205, 180, 150, 0.8);
}

.room-pet-avatar-empty::after {
  content: "?";
  position: absolute;
  left: 50%;
  top: 50%;
  color: #a68b7c;
  font-size: 34px;
  font-weight: 1000;
  transform: translate(-50%, -50%);
}

.room-pet-hop {
  animation: roomPetHop 0.55s ease-out both;
}

.room-pet-wiggle {
  animation: roomPetWiggle 0.62s ease-in-out both;
}

.room-pet-snooze {
  animation: roomPetSnooze 0.85s ease-in-out both;
}

.room-pet-eat {
  animation: roomPetEat 0.7s ease-in-out both;
}

.room-float-effect {
  position: absolute;
  left: 50%;
  top: 46%;
  z-index: 5;
  min-width: 30px;
  height: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #ff7f88;
  background: rgba(255, 255, 255, 0.88);
  border: 2px solid rgba(255, 229, 206, 0.9);
  box-shadow: 0 9px 16px rgba(118, 76, 45, 0.13);
  font-size: 14px;
  font-weight: 1000;
  pointer-events: none;
  animation: roomFloatEffect 0.9s ease-out both;
}

.room-float-effect.effect-1 {
  margin-left: -92px;
  animation-delay: 0s;
}

.room-float-effect.effect-2 {
  margin-left: 52px;
  color: #f4a23e;
  animation-delay: 0.06s;
}

.room-float-effect.effect-3 {
  margin-left: -18px;
  color: #9d6cec;
  animation-delay: 0.12s;
}

@keyframes roomDialoguePop {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(8px) scale(0.94);
  }

  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }
}

@keyframes roomPetHop {
  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }

  45% {
    transform: translateX(-50%) translateY(-12px);
  }
}

@keyframes roomPetWiggle {
  0%,
  100% {
    transform: translateX(-50%) rotate(0deg);
  }

  25% {
    transform: translateX(-50%) rotate(-3deg);
  }

  65% {
    transform: translateX(-50%) rotate(3deg);
  }
}

@keyframes roomPetSnooze {
  0%,
  100% {
    transform: translateX(-50%) scale(1);
  }

  50% {
    transform: translateX(-50%) scale(0.96);
  }
}

@keyframes roomPetEat {
  0%,
  100% {
    transform: translateX(-50%) translateY(0) scale(1);
  }

  35% {
    transform: translateX(-50%) translateY(8px) scale(1.02);
  }

  68% {
    transform: translateX(-50%) translateY(2px) scale(0.98);
  }
}

@keyframes roomPropPop {
  0%,
  100% {
    transform: scale(1);
  }

  45% {
    transform: scale(1.14) translateY(-6px);
  }
}

@keyframes roomPropRoll {
  0%,
  100% {
    transform: rotate(0deg) scale(1);
  }

  45% {
    transform: rotate(18deg) scale(1.08);
  }

  72% {
    transform: rotate(-12deg) scale(1.04);
  }
}

@keyframes roomPropGlow {
  0%,
  100% {
    filter: drop-shadow(0 0 0 rgba(255, 193, 94, 0));
    transform: scale(1);
  }

  45% {
    filter: drop-shadow(0 0 18px rgba(255, 193, 94, 0.72));
    transform: scale(1.08);
  }
}

@keyframes roomPropDenied {
  0%,
  100% {
    transform: translateX(0);
  }

  25% {
    transform: translateX(-5px);
  }

  55% {
    transform: translateX(5px);
  }

  78% {
    transform: translateX(-2px);
  }
}

@keyframes roomFloatEffect {
  0% {
    opacity: 0;
    transform: translate(-50%, 10px) scale(0.76);
  }

  18% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -54px) scale(1.08);
  }
}

.room-scene p {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 18px;
  margin: 0;
  color: #8a6350;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
}

.room-pet-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.room-pet-card {
  min-height: 92px;
  border-radius: 18px;
  padding: 10px;
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  text-align: left;
  background: rgba(255, 252, 241, 0.9);
  border: 2px solid rgba(255, 255, 255, 0.8);
  box-shadow:
    0 10px 20px rgba(98, 77, 50, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.68);
}

.room-pet-card.active {
  border-color: rgba(255, 185, 86, 0.92);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(255, 237, 198, 0.9));
}

.room-pet-face {
  grid-row: 1 / 3;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #7a4c38;
  background: linear-gradient(135deg, #ffe0a2, #ff9f77);
  border: 3px solid rgba(255, 255, 255, 0.88);
  font-size: 20px;
  font-weight: 1000;
}

.room-pet-card strong {
  color: var(--ink);
  font-size: 14px;
}

.room-pet-card small {
  color: #8d756a;
  font-size: 11px;
  font-weight: 800;
}

.room-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 18px;
  border-radius: 18px;
  color: #8a6350;
  background: rgba(255, 252, 241, 0.9);
  text-align: center;
  font-weight: 800;
}

.reward-level-panel,
.daily-reward-card,
.level-reward-card {
  border-radius: 18px;
  background: rgba(255, 252, 241, 0.92);
  border: 2px solid rgba(255, 255, 255, 0.82);
  box-shadow:
    0 12px 22px rgba(98, 77, 50, 0.1),
    inset 0 2px 0 rgba(255, 255, 255, 0.68);
}

.reward-level-panel {
  margin-top: 16px;
  padding: 14px;
}

.reward-level-panel strong {
  color: var(--brown);
  font-size: 18px;
}

.daily-reward-card {
  width: 100%;
  min-height: 76px;
  margin-top: 12px;
  padding: 14px 16px;
  display: grid;
  gap: 5px;
  text-align: left;
  background:
    radial-gradient(circle at 92% 24%, rgba(255, 143, 112, 0.2) 0 32px, transparent 34px),
    rgba(255, 252, 241, 0.94);
}

.daily-reward-card span {
  color: #8a6350;
  font-size: 12px;
  font-weight: 900;
}

.daily-reward-card strong {
  color: var(--ink);
  font-size: 15px;
}

.level-reward-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.level-reward-card {
  min-height: 100px;
  padding: 12px;
  display: grid;
  grid-template-columns: 58px 1fr auto;
  gap: 10px;
  align-items: center;
}

.level-reward-card.available {
  border-color: rgba(255, 187, 89, 0.92);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 239, 202, 0.9));
}

.level-reward-card.claimed {
  opacity: 0.72;
}

.reward-level-badge {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #ff9a58, #ffc65e);
  box-shadow: inset 0 -5px 0 rgba(143, 84, 40, 0.12);
  font-size: 14px;
  font-weight: 1000;
}

.level-reward-card strong {
  color: var(--ink);
  font-size: 15px;
}

.level-reward-card p {
  margin: 4px 0 0;
  color: #8a756b;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.45;
}

.sticker-reward-tag {
  display: inline-block;
  margin-top: 7px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #9a4a32;
  background: rgba(255, 220, 177, 0.8);
  font-size: 10px;
  font-weight: 900;
}

.level-reward-card button {
  min-width: 66px;
  min-height: 36px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #ff8f70, #ffa943);
  font-size: 12px;
  font-weight: 900;
}

.level-reward-card button:disabled {
  color: #9a8174;
  background: rgba(236, 221, 198, 0.9);
  cursor: default;
}

.task-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.task-card {
  min-height: 102px;
  padding: 14px;
  border-radius: 20px;
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 12px;
  align-items: center;
  background:
    radial-gradient(circle at 92% 16%, rgba(255, 181, 112, 0.2) 0 30px, transparent 32px),
    rgba(255, 252, 241, 0.94);
  border: 2px solid rgba(255, 255, 255, 0.82);
  box-shadow:
    0 12px 22px rgba(98, 77, 50, 0.1),
    inset 0 2px 0 rgba(255, 255, 255, 0.68);
}

.task-card.complete {
  background:
    radial-gradient(circle at 92% 16%, rgba(125, 204, 186, 0.22) 0 30px, transparent 32px),
    rgba(248, 255, 241, 0.94);
}

.task-icon-badge {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #ff8f70, #ffc65e);
  box-shadow: inset 0 -5px 0 rgba(143, 84, 40, 0.12);
  font-size: 23px;
  font-weight: 1000;
}

.task-card.complete .task-icon-badge {
  background: linear-gradient(135deg, #72cfae, #aee48a);
}

.task-card strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
}

.task-card p {
  margin: 5px 0 0;
  color: #8a756b;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}

.task-card button {
  min-width: 72px;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #ff8f70, #ffa943);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.task-card.complete button {
  color: #5f7f5c;
  background: rgba(222, 241, 209, 0.95);
}

.pet-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.book-card {
  min-height: 218px;
  border-radius: 18px;
  padding: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 248, 232, 0.88));
  border: 2px solid rgba(255, 255, 255, 0.78);
  box-shadow:
    0 12px 24px rgba(98, 77, 50, 0.1),
    inset 0 2px 0 rgba(255, 255, 255, 0.68);
}

.book-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.book-card .pet-face {
  width: 62px;
  height: 62px;
  margin: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.68) 0 10px, transparent 11px),
    linear-gradient(135deg, #ffe0a2, #ff9f77);
  border: 3px solid rgba(255, 255, 255, 0.9);
  color: #7a4c38;
  font-weight: 900;
  font-size: 24px;
  box-shadow: 0 8px 16px rgba(127, 84, 49, 0.14);
}

.book-card.locked .pet-face {
  opacity: 0.58;
  filter: grayscale(0.2);
}

.pet-meta {
  min-width: 0;
}

.pet-meta strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.2;
}

.pet-star {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 5px;
  color: #f5aa35;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.pet-star i {
  font-style: normal;
  color: #9a6d55;
  font-size: 11px;
}

.book-card p {
  min-height: 42px;
  margin: 10px 0 8px;
  color: #735d54;
  font-size: 12px;
  line-height: 1.45;
}

.pet-reward {
  width: fit-content;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 999px;
  color: #8a5937;
  background: rgba(255, 236, 185, 0.74);
  border: 1px solid rgba(255, 206, 124, 0.65);
  font-size: 11px;
  font-weight: 900;
}

.pet-progress-row {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
  color: #8b7469;
  font-size: 11px;
  font-weight: 800;
}

.pet-progress-row b {
  color: var(--ink);
}

.book-card.locked {
  color: var(--muted);
}

.book-card.unlocked {
  border-color: rgba(255, 217, 130, 0.9);
  box-shadow:
    0 14px 28px rgba(178, 112, 45, 0.13),
    inset 0 2px 0 rgba(255, 255, 255, 0.78);
  cursor: pointer;
}

.book-card.unlocked:focus-visible {
  outline: 3px solid rgba(255, 181, 98, 0.55);
  outline-offset: 2px;
}

.book-card.unlocked:hover {
  transform: translateY(-1px);
}

.book-card.star-2 {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 239, 255, 0.88));
}

.book-card.star-3 {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 242, 213, 0.9));
}

.book-card.star-4 {
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 184, 210, 0.28) 0 18px, transparent 19px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(232, 250, 255, 0.88));
}

.pet-shard-button {
  width: 100%;
  min-height: 34px;
  margin-top: 10px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #ff8f70, #f6c557);
  box-shadow:
    0 8px 15px rgba(165, 95, 45, 0.18),
    inset 0 2px 0 rgba(255, 255, 255, 0.35);
  font-size: 12px;
  font-weight: 900;
}

.pet-shard-button:active {
  transform: translateY(1px);
}

.pet-shard-button.urgent {
  background: linear-gradient(135deg, #ff6f7c, #ffb84f);
  box-shadow:
    0 9px 18px rgba(211, 89, 56, 0.22),
    inset 0 2px 0 rgba(255, 255, 255, 0.42);
}

.pet-shard-button.unlocked,
.pet-shard-button:disabled {
  color: #8f786b;
  background: rgba(236, 225, 211, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
  cursor: default;
}

.progress {
  height: 8px;
  margin-top: 10px;
  border-radius: 999px;
  background: #ede4d8;
  overflow: hidden;
}

.progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--mint), var(--sky));
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 20;
  background: rgba(42, 38, 34, 0.34);
  display: grid;
  place-items: center;
  padding: 20px;
}

.modal-card {
  position: relative;
  z-index: 21;
  width: min(360px, 100%);
  border-radius: 8px;
  padding: 22px;
  background: var(--paper);
  box-shadow: 0 24px 64px rgba(47, 39, 27, 0.28);
}

.modal-card p {
  line-height: 1.6;
}

.settings-panel {
  display: grid;
  gap: 12px;
  margin: 14px 0 4px;
}

.setting-row {
  min-height: 76px;
  padding: 13px 12px;
  border-radius: 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  background:
    radial-gradient(circle at 92% 18%, rgba(255, 190, 128, 0.22) 0 26px, transparent 28px),
    rgba(255, 252, 241, 0.94);
  border: 2px solid rgba(255, 255, 255, 0.82);
  box-shadow:
    0 10px 18px rgba(98, 77, 50, 0.08),
    inset 0 2px 0 rgba(255, 255, 255, 0.72);
}

.setting-row strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
}

.setting-row span {
  display: block;
  margin-top: 6px;
  color: #8a756b;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.setting-toggle {
  width: 70px;
  height: 38px;
  padding: 4px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  color: #8a756b;
  background: rgba(230, 219, 205, 0.95);
  box-shadow:
    inset 0 2px 4px rgba(116, 82, 53, 0.1),
    0 6px 12px rgba(98, 77, 50, 0.08);
  transition: background 0.18s ease, color 0.18s ease;
}

.setting-toggle i {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.9) 0 5px, transparent 6px),
    #ffffff;
  box-shadow: 0 4px 8px rgba(96, 69, 47, 0.18);
  transition: transform 0.18s ease;
}

.setting-toggle b {
  font-size: 13px;
  font-weight: 1000;
}

.setting-toggle.on {
  justify-content: flex-start;
  color: #ffffff;
  background: linear-gradient(135deg, #ff8f70, #f6c557);
}

.setting-toggle.on i {
  transform: translateX(31px);
}

.setting-toggle.on b {
  transform: translateX(-31px);
}

.setting-toggle:disabled {
  opacity: 0.58;
  cursor: default;
}

.setting-toggle:disabled i,
.setting-toggle:disabled b {
  transform: none;
}

.modal-actions {
  display: grid;
  gap: 10px;
}

@media (max-width: 380px) {
  .app {
    padding: 12px;
  }

  h1 {
    font-size: 36px;
  }

  .brand-block {
    margin-left: 8px;
  }

  .home-stage {
    height: 288px;
  }

  .cat-figure {
    left: 66px;
  }

  .dog-figure {
    right: 48px;
  }

  .speech-bubble {
    left: 34px;
    max-width: 176px;
    font-size: 14px;
  }

  .sticker-one {
    left: 146px;
  }

  .sticker-two {
    right: 18px;
  }

  .sticker-four {
    right: 36px;
  }

  .start-game-button span {
    font-size: 21px;
  }

  .goal-panel {
    grid-template-columns: 1fr;
  }
}
