/* Performance pass: no scroll capture, no removed scenes or game mechanics. */
@font-face {
  font-family: 'Comfortaa'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('fonts/comfortaa-cyrillic-600-normal.woff2') format('woff2');
  unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Comfortaa'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('fonts/comfortaa-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* Rounded lettering belongs to the pet world; body copy stays in the fast system font.
   Wordmark and launch screen keep their approved geometry and exact timings. */
main h1, main h2, main h3 {
  font-family: 'Comfortaa', 'Segoe UI', sans-serif;
  font-weight: 600; line-height: 1.2; letter-spacing: -.03em;
}
main h1 em, main h2 em {
  font-family: inherit; font-weight: inherit; font-style: normal; letter-spacing: inherit;
}
.offscreen-idle, .offscreen-idle *, .offscreen-idle *::before, .offscreen-idle *::after,
.page-hidden *, .page-hidden *::before, .page-hidden *::after {
  animation-play-state: paused !important;
}
.offscreen-idle *, .page-hidden * { will-change: auto !important; }
/* The bar has the same appearance but no longer causes width layout per scroll. */
#reading-progress { width: 100%; transform: scaleX(0); transform-origin: left; }
/* Never keep a blurred compositor over animated content on touch devices. */
@media (max-width: 759px), (pointer: coarse) {
  .scene-dock, .pet-speech, .pet-picker, .gecko-actions button,
  .sound-panel, .secret-overlay { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .scene-dock { background: #28133f; }
  .pet-speech { background: var(--surface); }
  .pet-picker { background: var(--surface-low); }
  .gecko-actions button { background: #35105b; }
  .pet-light { filter: none; }
  .pet-art img, .gecko-puppet { filter: none; }
  .story-object, .gsap-depth { will-change: auto; }
}
@media (prefers-reduced-motion: reduce) {
  #reading-progress { transition: none; }
}
