/* ============================================================
   ChatMee Happy – uitsluitend voor de openbare website.
   Dit bestand wijzigt geen chatbox-, profiel- of spelthema's.
   ============================================================ */

html.site-themes-disabled .chatmee-theme-picker { display: none !important; }

html.site-theme-chatmee-happy {
  color-scheme: dark;
  background: #2a1053 !important;
}

html.site-theme-chatmee-happy body,
html.site-theme-chatmee-happy body.cm-wave-background,
html.site-theme-chatmee-happy body.cm-wave-background[data-theme="light"],
html.site-theme-chatmee-happy body.cm-wave-background[data-theme="dark"] {
  --bg: #2a1053;
  --text: #fffdf8;
  --muted: #f0dafa;
  --line: rgba(255,255,255,.24);
  --primary: #ffd447;
  --primary-hover: #ffb43c;
  --surface: rgba(87,31,116,.82);
  --soft: rgba(255,255,255,.10);
  --menu-bg: rgba(51,25,100,.82);
  --pink: #ff5ab3;
  --cyan: #35d7ff;
  --gold: #ffd447;
  color: var(--text) !important;
  background-color: var(--bg) !important;
  background-image:
    radial-gradient(circle at 86% 14%,rgba(53,215,255,.28),transparent 27%),
    radial-gradient(circle at 10% 20%,rgba(255,90,179,.35),transparent 31%),
    radial-gradient(circle at 72% 78%,rgba(255,212,71,.18),transparent 29%),
    linear-gradient(145deg,#2a1053 0%,#5a1b79 48%,#173b7e 100%) !important;
  background-size: 140% 140%,135% 135%,145% 145%,100% 100% !important;
  background-attachment: fixed !important;
  animation: chatmee-happy-background 18s ease-in-out infinite alternate !important;
  isolation: isolate;
  overflow-x: hidden !important;
}

html.site-theme-chatmee-happy body::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  background-image:
    radial-gradient(circle at 7% 20%,#ffd447 0 3px,transparent 4px),
    radial-gradient(circle at 18% 71%,#35d7ff 0 3px,transparent 4px),
    radial-gradient(circle at 79% 16%,#ff5ab3 0 4px,transparent 5px),
    radial-gradient(circle at 93% 64%,#54efae 0 3px,transparent 4px),
    radial-gradient(circle,rgba(255,255,255,.10) 1.4px,transparent 1.6px) !important;
  background-size: auto,auto,auto,auto,29px 29px !important;
  opacity: .72 !important;
  filter: none !important;
  pointer-events: none !important;
  animation: chatmee-happy-confetti 6s ease-in-out infinite alternate !important;
}

html.site-theme-chatmee-happy body::after {
  content: "" !important;
  position: fixed !important;
  inset: auto -12vw -36vh auto !important;
  z-index: 0 !important;
  display: block !important;
  width: 64vw !important;
  height: 64vw !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle,rgba(255,212,71,.12),transparent 68%) !important;
  opacity: 1 !important;
  pointer-events: none !important;
  animation: chatmee-happy-orbit 22s linear infinite !important;
}

html.site-theme-chatmee-happy body > :not(.chatmee-retro-floaters),
html.site-theme-chatmee-happy body > main,
html.site-theme-chatmee-happy body > header,
html.site-theme-chatmee-happy body > footer {
  position: relative;
  z-index: 2;
}

html.site-theme-chatmee-happy .cm-animated-background { display: none !important; }

html.site-theme-chatmee-happy .chatmee-happy-floaters {
  position: fixed;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

html.site-theme-chatmee-happy .chatmee-happy-floaters .chatmee-retro-floater {
  width: calc(var(--float-size) + 14px);
  height: calc(var(--float-size) + 14px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  background: rgba(67,24,103,.42);
  box-shadow: 0 0 22px rgba(255,90,179,.18);
  filter: drop-shadow(0 5px 12px rgba(22,3,43,.42));
}

/* Zwevende, afgeronde websitekop. */
html.site-theme-chatmee-happy body > header,
html.site-theme-chatmee-happy .chatmee-home-header,
html.site-theme-chatmee-happy .topbar,
html.site-theme-chatmee-happy .site-header {
  width: min(calc(100% - 28px),1500px) !important;
  min-height: 82px !important;
  margin: 12px auto 0 !important;
  padding: 9px 13px 9px 18px !important;
  border: 1px solid rgba(255,212,71,.52) !important;
  border-radius: 28px !important;
  color: #fff !important;
  background: linear-gradient(135deg,rgba(78,25,118,.94),rgba(23,58,126,.88)) !important;
  box-shadow: 0 10px 0 rgba(255,90,179,.13),0 24px 55px rgba(30,5,55,.36) !important;
  backdrop-filter: blur(22px) saturate(1.18) !important;
  overflow: visible !important;
}

html.site-theme-chatmee-happy body > header::after,
html.site-theme-chatmee-happy .chatmee-home-header::after,
html.site-theme-chatmee-happy .topbar::after {
  left: 26px !important;
  right: 26px !important;
  bottom: -7px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,var(--pink),var(--gold),var(--cyan),var(--pink)) !important;
  background-size: 220% 100% !important;
  animation: chatmee-happy-line 7s ease-in-out infinite !important;
}

html.site-theme-chatmee-happy .brand img:first-child,
html.site-theme-chatmee-happy header .brand img:first-child {
  filter: drop-shadow(0 7px 13px rgba(13,2,35,.56)) !important;
}

html.site-theme-chatmee-happy .chatmee-logo-mascot {
  animation: chatmee-happy-mascot 3.6s ease-in-out infinite !important;
  filter: drop-shadow(0 8px 12px rgba(13,2,35,.50)) !important;
}

html.site-theme-chatmee-happy .top-menu,
html.site-theme-chatmee-happy .rules-top-menu,
html.site-theme-chatmee-happy .nav {
  gap: 4px !important;
  padding: 5px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  background: rgba(31,23,83,.44) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important;
  animation: none !important;
}

html.site-theme-chatmee-happy .top-menu a,
html.site-theme-chatmee-happy .rules-top-menu a,
html.site-theme-chatmee-happy .nav a {
  min-height: 38px !important;
  padding: 0 13px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: transparent !important;
  font-weight: 800 !important;
  transition: transform .18s ease,background .18s ease,box-shadow .18s ease !important;
  white-space: nowrap !important;
}

html.site-theme-chatmee-happy .top-menu a:hover,
html.site-theme-chatmee-happy .top-menu a.active,
html.site-theme-chatmee-happy .rules-top-menu a:hover,
html.site-theme-chatmee-happy .rules-top-menu a.active,
html.site-theme-chatmee-happy .nav a:hover,
html.site-theme-chatmee-happy .nav a.active {
  border-color: rgba(255,255,255,.30) !important;
  background: rgba(255,255,255,.12) !important;
  box-shadow: 0 8px 18px rgba(28,4,48,.22) !important;
  transform: translateY(-1px) !important;
}

html.site-theme-chatmee-happy .top-menu a.primary,
html.site-theme-chatmee-happy .rules-top-menu a.primary,
html.site-theme-chatmee-happy .nav a.primary {
  border-color: #ffd447 !important;
  color: #31114b !important;
  background: linear-gradient(135deg,#ffd447,#ff9e3f) !important;
  box-shadow: 0 6px 0 #963c68,0 12px 24px rgba(22,2,43,.28) !important;
}

html.site-theme-chatmee-happy .theme-toggle,
html.site-theme-chatmee-happy .rules-theme-toggle,
html.site-theme-chatmee-happy .chatmee-theme-picker summary,
html.site-theme-chatmee-happy .chatmee-font-size-control {
  border-color: rgba(255,255,255,.25) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(24,22,73,.60) !important;
}

html.site-theme-chatmee-happy .theme-toggle button,
html.site-theme-chatmee-happy .chatmee-font-size-control button { border-radius: 999px !important; }

html.site-theme-chatmee-happy .theme-toggle button.is-active,
html.site-theme-chatmee-happy .chatmee-font-size-control button.is-active {
  color: #31114b !important;
  background: #ffd447 !important;
}

html.site-theme-chatmee-happy .chatmee-theme-picker-menu {
  border: 1px solid rgba(255,212,71,.56) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg,#32145f,#191d5d) !important;
  box-shadow: 0 20px 44px rgba(19,2,37,.52) !important;
}

html.site-theme-chatmee-happy .chatmee-theme-picker-menu button { border-radius: 12px !important; }
html.site-theme-chatmee-happy .chatmee-theme-picker-menu button:hover,
html.site-theme-chatmee-happy .chatmee-theme-picker-menu button.is-active {
  border-color: rgba(255,255,255,.28) !important;
  color: #32114b !important;
  background: linear-gradient(135deg,#ffd447,#ffae54) !important;
}

/* Uitgelogd zijn Registreren en Wachtwoord kwijt zichtbaar. Geef die
   uitgebreidere navigatie extra ruimte zonder de ingelogde header te wijzigen. */
html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])),
html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) {
  width: min(calc(100% - 16px),1880px) !important;
  padding-right: 10px !important;
  padding-left: 12px !important;
}

html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .header-actions,
html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .header-actions {
  flex: 1 1 auto !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  justify-content: flex-end !important;
}

html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .top-menu,
html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .top-menu {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  gap: 1px !important;
  justify-content: center !important;
  overflow-x: auto !important;
  scrollbar-width: none;
}

html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .top-menu::-webkit-scrollbar,
html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .top-menu::-webkit-scrollbar { display: none; }

html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .top-menu a,
html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .top-menu a {
  min-height: 34px !important;
  padding-right: 7px !important;
  padding-left: 7px !important;
  font-size: 12px !important;
}

@media (min-width: 681px) {
  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])),
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) {
    display: flex !important;
    flex-wrap: nowrap !important;
    height: auto !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) > .brand,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) > .brand {
    flex: 0 0 auto !important;
    align-self: center !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .brand img:first-child,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .brand img:first-child {
    width: 185px !important;
    height: 62px !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-logo-mascot,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-logo-mascot {
    width: 58px !important;
    height: 62px !important;
    object-fit: contain !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .theme-toggle,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .theme-toggle {
    flex: 0 0 auto !important;
    padding: 3px !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .theme-toggle button,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .theme-toggle button {
    min-height: 32px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-reader-controls,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-reader-controls {
    flex: 0 0 auto !important;
    width: auto !important;
    gap: 4px !important;
    margin-left: 0 !important;
    order: 0 !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-theme-picker summary,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-theme-picker summary {
    padding: 8px 9px !important;
    font-size: 11px !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-font-size-control,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-font-size-control {
    gap: 2px !important;
    padding: 3px 5px !important;
    font-size: 11px !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-font-size-control button,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .chatmee-font-size-control button {
    min-width: 25px !important;
    min-height: 28px !important;
    padding: 0 3px !important;
    font-size: 11px !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .language-switch-slot,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .language-switch-slot {
    flex: 0 0 auto !important;
  }

  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .language-switch-slot .chatmee-language-switch button,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .language-switch-slot .chatmee-language-switch button {
    width: 40px !important;
    min-height: 32px !important;
  }
}

/* Hoofdinhoud en presentatiekaarten. */
html.site-theme-chatmee-happy body > main {
  width: min(calc(100% - 28px),1500px) !important;
  margin: 0 auto !important;
}

html.site-theme-chatmee-happy h1,
html.site-theme-chatmee-happy h2,
html.site-theme-chatmee-happy h3 { color: #fffdf8 !important; }

html.site-theme-chatmee-happy h1 {
  letter-spacing: -.035em !important;
  text-shadow: 0 4px 26px rgba(29,3,53,.34) !important;
}

html.site-theme-chatmee-happy p,
html.site-theme-chatmee-happy dd,
html.site-theme-chatmee-happy .muted { color: var(--muted) !important; }

html.site-theme-chatmee-happy .eyebrow,
html.site-theme-chatmee-happy .kicker,
html.site-theme-chatmee-happy .age {
  border-color: rgba(255,212,71,.56) !important;
  color: #3d1554 !important;
  background: linear-gradient(135deg,#ffe16d,#ffaf45) !important;
  box-shadow: 0 7px 20px rgba(28,3,49,.22) !important;
}

html.site-theme-chatmee-happy .hero,
html.site-theme-chatmee-happy .page-hero,
html.site-theme-chatmee-happy main > section:first-child {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 88% 14%,rgba(53,215,255,.17),transparent 28%),
    radial-gradient(circle at 7% 80%,rgba(255,90,179,.19),transparent 30%),
    linear-gradient(135deg,rgba(79,27,113,.72),rgba(23,36,102,.72)) !important;
  box-shadow: 0 26px 70px rgba(29,3,53,.32),inset 0 1px 0 rgba(255,255,255,.08) !important;
}

html.site-theme-chatmee-happy .hero { padding: clamp(20px,3vw,44px) !important; }

html.site-theme-chatmee-happy .info,
html.site-theme-chatmee-happy .server-status,
html.site-theme-chatmee-happy .mobile-chat,
html.site-theme-chatmee-happy .seo-copy article,
html.site-theme-chatmee-happy .home-info,
html.site-theme-chatmee-happy .rules-menu-block,
html.site-theme-chatmee-happy .card,
html.site-theme-chatmee-happy .contact-card,
html.site-theme-chatmee-happy .profile-preview,
html.site-theme-chatmee-happy .guide-step,
html.site-theme-chatmee-happy .summary-bar,
html.site-theme-chatmee-happy .profile-card,
html.site-theme-chatmee-happy .empty-state,
html.site-theme-chatmee-happy .error-state,
html.site-theme-chatmee-happy .kudo-ranking,
html.site-theme-chatmee-happy main:not(.profile-page) > section:not(:first-child) {
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 26px !important;
  color: #fff !important;
  background: linear-gradient(145deg,rgba(92,31,122,.86),rgba(34,35,101,.84)) !important;
  box-shadow: 0 18px 46px rgba(28,3,49,.24),inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter: blur(16px) !important;
}

html.site-theme-chatmee-happy .info:hover,
html.site-theme-chatmee-happy .profile-card:hover,
html.site-theme-chatmee-happy .guide-step:hover,
html.site-theme-chatmee-happy .seo-copy article:hover {
  border-color: rgba(255,212,71,.64) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 22px 50px rgba(28,3,49,.32),0 0 24px rgba(255,90,179,.10) !important;
}

html.site-theme-chatmee-happy .hero-actions a,
html.site-theme-chatmee-happy .mobile-chat-actions a,
html.site-theme-chatmee-happy .mobile-chat-actions button,
html.site-theme-chatmee-happy .rules-menu-grid a,
html.site-theme-chatmee-happy .profile-action,
html.site-theme-chatmee-happy .pagination span,
html.site-theme-chatmee-happy button.submit,
html.site-theme-chatmee-happy input[type="submit"] {
  min-height: 46px !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg,#7532b2,#d83c9c) !important;
  box-shadow: 0 7px 0 rgba(62,20,103,.62),0 14px 26px rgba(23,2,43,.25) !important;
  font-weight: 800 !important;
}

html.site-theme-chatmee-happy .hero-actions a.primary,
html.site-theme-chatmee-happy .mobile-chat-actions a.primary,
html.site-theme-chatmee-happy button.submit,
html.site-theme-chatmee-happy input[type="submit"] {
  border-color: #ffe36c !important;
  color: #32114b !important;
  background: linear-gradient(135deg,#ffe36c,#ff9f3d) !important;
  box-shadow: 0 7px 0 #963c68,0 15px 29px rgba(24,2,44,.30) !important;
}

html.site-theme-chatmee-happy .hero-actions a:hover,
html.site-theme-chatmee-happy .mobile-chat-actions a:hover,
html.site-theme-chatmee-happy .mobile-chat-actions button:hover,
html.site-theme-chatmee-happy button.submit:hover {
  filter: brightness(1.07) !important;
  transform: translateY(-2px) !important;
}

html.site-theme-chatmee-happy .status-value::before,
html.site-theme-chatmee-happy .online-dot,
html.site-theme-chatmee-happy .is-online::before {
  box-shadow: 0 0 0 4px rgba(83,242,173,.15),0 0 15px rgba(83,242,173,.52) !important;
}

html.site-theme-chatmee-happy .visitor-stat,
html.site-theme-chatmee-happy .kudo-ranking-item,
html.site-theme-chatmee-happy .stat,
html.site-theme-chatmee-happy .profile-stat {
  border-color: rgba(255,255,255,.18) !important;
  border-radius: 18px !important;
  background: rgba(34,22,87,.54) !important;
}

html.site-theme-chatmee-happy .kudo-ranking-head h2,
html.site-theme-chatmee-happy .kudo-ranking strong,
html.site-theme-chatmee-happy .visitor-stat strong { color: #ffe36c !important; }

html.site-theme-chatmee-happy input,
html.site-theme-chatmee-happy textarea,
html.site-theme-chatmee-happy select {
  border: 1px solid rgba(255,255,255,.27) !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: rgba(28,17,70,.76) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

html.site-theme-chatmee-happy input:focus,
html.site-theme-chatmee-happy textarea:focus,
html.site-theme-chatmee-happy select:focus {
  border-color: #35d7ff !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(53,215,255,.16) !important;
}

html.site-theme-chatmee-happy select option { color: #fff !important; background: #32145f !important; }

html.site-theme-chatmee-happy .warning,
html.site-theme-chatmee-happy .notice,
html.site-theme-chatmee-happy .contact-ban-warning {
  border-color: rgba(255,212,71,.58) !important;
  border-left: 4px solid #ffd447 !important;
  border-radius: 14px !important;
  color: #fff1ae !important;
  background: rgba(255,212,71,.10) !important;
}

/* Footer als rustige afronding van de vrolijke pagina. */
html.site-theme-chatmee-happy body > footer,
html.site-theme-chatmee-happy footer.chatmee-copyright-footer,
html.site-theme-chatmee-happy footer.contact-inline-footer,
html.site-theme-chatmee-happy footer.site-footer,
html.site-theme-chatmee-happy footer.footer {
  width: min(calc(100% - 28px),1500px) !important;
  margin: 14px auto 8px !important;
  padding: 12px 16px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 18px !important;
  color: #ead8f5 !important;
  background: rgba(35,20,78,.68) !important;
  box-shadow: 0 16px 34px rgba(22,2,41,.18) !important;
  backdrop-filter: blur(14px) !important;
}

html.site-theme-chatmee-happy a:focus-visible,
html.site-theme-chatmee-happy button:focus-visible,
html.site-theme-chatmee-happy input:focus-visible,
html.site-theme-chatmee-happy select:focus-visible,
html.site-theme-chatmee-happy textarea:focus-visible {
  outline: 3px solid #35d7ff !important;
  outline-offset: 3px !important;
}

@keyframes chatmee-happy-background {
  from { background-position: 0 0,100% 0,80% 100%,0 0; }
  to { background-position: 8% 7%,92% 10%,70% 91%,0 0; }
}
@keyframes chatmee-happy-confetti { to { transform: translate3d(0,12px,0); } }
@keyframes chatmee-happy-orbit { to { transform: rotate(360deg); } }
@keyframes chatmee-happy-line { 50% { background-position: 100% 50%; } }
@keyframes chatmee-happy-mascot { 50% { transform: translateY(-7px) rotate(2deg); } }

@media (max-width: 1180px) {
  html.site-theme-chatmee-happy body > header,
  html.site-theme-chatmee-happy .chatmee-home-header,
  html.site-theme-chatmee-happy .topbar { flex-wrap: wrap !important; }
  html.site-theme-chatmee-happy .header-actions { flex: 1 1 760px !important; justify-content: flex-end !important; flex-wrap: wrap !important; }
  html.site-theme-chatmee-happy .top-menu { max-width: 100% !important; overflow-x: auto !important; }
}

@media (max-width: 680px) {
  html.site-theme-chatmee-happy body > header,
  html.site-theme-chatmee-happy .chatmee-home-header,
  html.site-theme-chatmee-happy .topbar,
  html.site-theme-chatmee-happy body > main,
  html.site-theme-chatmee-happy body > footer { width: calc(100% - 12px) !important; }
  html.site-theme-chatmee-happy body > header,
  html.site-theme-chatmee-happy .chatmee-home-header,
  html.site-theme-chatmee-happy .topbar { padding: 11px !important; border-radius: 22px !important; }
  html.site-theme-chatmee-happy .header-actions {
    flex: 0 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
  }
  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .header-actions,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .header-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }
  html.site-theme-chatmee-happy .top-menu,
  html.site-theme-chatmee-happy .rules-top-menu,
  html.site-theme-chatmee-happy .nav {
    width: 100% !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
  }
  html.site-theme-chatmee-happy body > header:has(.top-menu a[href*="tab=register"]:not([hidden])) .top-menu,
  html.site-theme-chatmee-happy .chatmee-home-header:has(.top-menu a[href*="tab=register"]:not([hidden])) .top-menu {
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
  }
  html.site-theme-chatmee-happy .hero,
  html.site-theme-chatmee-happy .hero-side,
  html.site-theme-chatmee-happy .intro,
  html.site-theme-chatmee-happy .info,
  html.site-theme-chatmee-happy .server-status {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html.site-theme-chatmee-happy .hero-actions,
  html.site-theme-chatmee-happy .mobile-chat-actions {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  html.site-theme-chatmee-happy p { overflow-wrap: anywhere; }
  html.site-theme-chatmee-happy .hero,
  html.site-theme-chatmee-happy .page-hero,
  html.site-theme-chatmee-happy main > section:first-child { border-radius: 24px !important; }
  html.site-theme-chatmee-happy .info,
  html.site-theme-chatmee-happy .server-status,
  html.site-theme-chatmee-happy .card,
  html.site-theme-chatmee-happy .contact-card,
  html.site-theme-chatmee-happy .profile-card,
  html.site-theme-chatmee-happy .guide-step,
  html.site-theme-chatmee-happy .kudo-ranking { border-radius: 20px !important; }
  html.site-theme-chatmee-happy h1 { font-size: clamp(30px,10vw,48px) !important; }
  html.site-theme-chatmee-happy .chatmee-happy-floaters .chatmee-retro-floater { --float-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html.site-theme-chatmee-happy body,
  html.site-theme-chatmee-happy body::before,
  html.site-theme-chatmee-happy body::after,
  html.site-theme-chatmee-happy .chatmee-logo-mascot,
  html.site-theme-chatmee-happy body > header::after { animation: none !important; }
  html.site-theme-chatmee-happy .chatmee-happy-floaters { display: none !important; }
}
