/* ============================================
   KEA MASCOT — Peek from bottom, eye tracks cursor
   Colors driven by CSS classes — theme overrides below
   ============================================ */

/* ---- Layout & animation ---- */
.kea-mascot {
  position: fixed;
  bottom: 0;
  right: clamp(2rem, 6vw, 5rem);
  z-index: 900;
  width: 160px;
  transform: translateY(58%);
  transition: transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

.kea-mascot-inner {
  animation: kea-bob 3.8s ease-in-out infinite;
  transform-origin: bottom center;
}

@keyframes kea-bob {
  0%   { transform: translateY(0px)  rotate(0deg); }
  25%  { transform: translateY(-4px) rotate(0.6deg); }
  50%  { transform: translateY(-2px) rotate(0deg); }
  75%  { transform: translateY(-5px) rotate(-0.5deg); }
  100% { transform: translateY(0px)  rotate(0deg); }
}

.kea-mascot.kea-excited .kea-mascot-inner {
  animation: kea-squawk 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes kea-squawk {
  0%   { transform: rotate(0deg); }
  15%  { transform: rotate(-8deg) scale(1.06); }
  30%  { transform: rotate(7deg)  scale(1.08); }
  45%  { transform: rotate(-5deg) scale(1.04); }
  60%  { transform: rotate(4deg)  scale(1.02); }
  75%  { transform: rotate(-2deg); }
  100% { transform: rotate(0deg) scale(1); }
}

.kea-mascot svg {
  width: 160px;
  height: 160px;
  filter: drop-shadow(0 -6px 20px rgba(0,0,0,0.2)) drop-shadow(0 2px 8px rgba(0,0,0,0.1));
  display: block;
  overflow: visible;
}

/* Speech bubble */
.kea-speech {
  position: absolute;
  bottom: calc(100% + 8px);
  right: 10px;
  background: #1A1A18;
  color: #fff;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.45rem 0.8rem;
  border-radius: 12px 12px 4px 12px;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(6px) scale(0.9);
  transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
}
.kea-speech::after {
  content: '';
  position: absolute;
  bottom: -6px;
  right: 14px;
  border: 6px solid transparent;
  border-top-color: #1A1A18;
  border-bottom: none;
}
.kea-mascot:hover .kea-speech {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Pupil smooth tracking */
.kea-pupil {
  transition: cx 0.06s linear, cy 0.06s linear;
}

/* ============================================================
   DEFAULT / PROVIDA palette — the natural kea
   ============================================================ */
.kea-head       { fill: #0D9473; }
.kea-belly      { fill: #12A882; }
.kea-beak-top   { fill: #F2C230; }
.kea-beak-ridge { stroke: #F8DA60; }
.kea-beak-bot   { fill: #C86E1E; }
.kea-nostril    { fill: #D4A420; }
.kea-eye-white  { fill: #F5F0E8; }
.kea-eye-ring   { stroke: #0A7560; }
.kea-eye-dark   { fill: #1B2820; }
.kea-catchlight { fill: #FFFFFF; }
.kea-crest      { fill: #0B8568; }

/* ============================================================
   PROVIDA-LIGHT — fresh, bright teal
   ============================================================ */
:root[data-theme="provida-light"] .kea-head      { fill: #10A882; }
:root[data-theme="provida-light"] .kea-belly     { fill: #18C498; }
:root[data-theme="provida-light"] .kea-beak-top  { fill: #F5CE40; }
:root[data-theme="provida-light"] .kea-beak-ridge{ stroke: #FAE070; }
:root[data-theme="provida-light"] .kea-beak-bot  { fill: #D4781E; }
:root[data-theme="provida-light"] .kea-nostril   { fill: #E0B828; }
:root[data-theme="provida-light"] .kea-eye-ring  { stroke: #0A8A68; }
:root[data-theme="provida-light"] .kea-crest     { fill: #0C9070; }

/* ============================================================
   PROVIDA-DARK — deeper teal, richer tones
   ============================================================ */
:root[data-theme="provida-dark"] .kea-head      { fill: #0A7A60; }
:root[data-theme="provida-dark"] .kea-belly     { fill: #0D9473; }
:root[data-theme="provida-dark"] .kea-beak-top  { fill: #E8B820; }
:root[data-theme="provida-dark"] .kea-beak-ridge{ stroke: #F0CC50; }
:root[data-theme="provida-dark"] .kea-beak-bot  { fill: #B85A14; }
:root[data-theme="provida-dark"] .kea-nostril   { fill: #C8A018; }
:root[data-theme="provida-dark"] .kea-eye-ring  { stroke: #086050; }
:root[data-theme="provida-dark"] .kea-crest     { fill: #087060; }

/* ============================================================
   MIDNIGHT — night kea: dark forest body, gold + coral warmth
   ============================================================ */
:root[data-theme="midnight"] .kea-head      { fill: #1A3530; }
:root[data-theme="midnight"] .kea-belly     { fill: #243D38; }
:root[data-theme="midnight"] .kea-beak-top  { fill: #F0B429; }
:root[data-theme="midnight"] .kea-beak-ridge{ stroke: #F8CC60; }
:root[data-theme="midnight"] .kea-beak-bot  { fill: #E8885E; }
:root[data-theme="midnight"] .kea-nostril   { fill: #C89020; }
:root[data-theme="midnight"] .kea-eye-white { fill: #F0EFE8; }
:root[data-theme="midnight"] .kea-eye-ring  { stroke: #243D38; }
:root[data-theme="midnight"] .kea-eye-dark  { fill: #141413; }
:root[data-theme="midnight"] .kea-crest     { fill: #0F2A25; }

/* ============================================================
   HEIDI — forest kea: deep woodland green, honey amber beak
   ============================================================ */
:root[data-theme="heidi"] .kea-head      { fill: #194b22; }
:root[data-theme="heidi"] .kea-belly     { fill: #2b6433; }
:root[data-theme="heidi"] .kea-beak-top  { fill: #c9860a; }
:root[data-theme="heidi"] .kea-beak-ridge{ stroke: #E8A030; }
:root[data-theme="heidi"] .kea-beak-bot  { fill: #8A5408; }
:root[data-theme="heidi"] .kea-nostril   { fill: #A87010; }
:root[data-theme="heidi"] .kea-eye-white { fill: #faf6f3; }
:root[data-theme="heidi"] .kea-eye-ring  { stroke: #143818; }
:root[data-theme="heidi"] .kea-eye-dark  { fill: #28030f; }
:root[data-theme="heidi"] .kea-crest     { fill: #0F3015; }

/* ============================================================
   AXIS — dramatic kea: deep purple body, coral-orange beak
   ============================================================ */
:root[data-theme="axis"] .kea-head      { fill: #2A1040; }
:root[data-theme="axis"] .kea-belly     { fill: #3A1855; }
:root[data-theme="axis"] .kea-beak-top  { fill: #e85535; }
:root[data-theme="axis"] .kea-beak-ridge{ stroke: #F07050; }
:root[data-theme="axis"] .kea-beak-bot  { fill: #C03820; }
:root[data-theme="axis"] .kea-nostril   { fill: #D04428; }
:root[data-theme="axis"] .kea-eye-white { fill: #f4f8f9; }
:root[data-theme="axis"] .kea-eye-ring  { stroke: #1A0829; }
:root[data-theme="axis"] .kea-eye-dark  { fill: #0A0412; }
:root[data-theme="axis"] .kea-crest     { fill: #1A0829; }

/* ============================================================
   MUSEUM — unhinged kea: forest body, PINK beak, neon crest
   ============================================================ */
:root[data-theme="museum"] .kea-head      { fill: #006332; }
:root[data-theme="museum"] .kea-belly     { fill: #1ce585; }
:root[data-theme="museum"] .kea-beak-top  { fill: #f580db; }
:root[data-theme="museum"] .kea-beak-ridge{ stroke: #FF9EE8; }
:root[data-theme="museum"] .kea-beak-bot  { fill: #ffec00; }
:root[data-theme="museum"] .kea-nostril   { fill: #E060C5; }
:root[data-theme="museum"] .kea-eye-white { fill: #f1f0ec; }
:root[data-theme="museum"] .kea-eye-ring  { stroke: #1ce585; }
:root[data-theme="museum"] .kea-eye-dark  { fill: #00592b; }
:root[data-theme="museum"] .kea-crest     { fill: #1ce585; }

/* ============================================================
   FIK — tech kea: electric blue body, crisp white beak
   ============================================================ */
:root[data-theme="fik"] .kea-head      { fill: #1D4ED8; }
:root[data-theme="fik"] .kea-belly     { fill: #3B82F6; }
:root[data-theme="fik"] .kea-beak-top  { fill: #F8FAFC; }
:root[data-theme="fik"] .kea-beak-ridge{ stroke: #FFFFFF; }
:root[data-theme="fik"] .kea-beak-bot  { fill: #DBEAFE; }
:root[data-theme="fik"] .kea-nostril   { fill: #CBD5E1; }
:root[data-theme="fik"] .kea-eye-white { fill: #F8FAFC; }
:root[data-theme="fik"] .kea-eye-ring  { stroke: #1D4ED8; }
:root[data-theme="fik"] .kea-eye-dark  { fill: #0F172A; }
:root[data-theme="fik"] .kea-crest     { fill: #1D4ED8; }

/* ============================================================
   BIL — Billy-friendly kea: sage green body, warm yellow beak
   ============================================================ */
:root[data-theme="bil"] .kea-head      { fill: #80AF65; }
:root[data-theme="bil"] .kea-belly     { fill: #9DC478; }
:root[data-theme="bil"] .kea-beak-top  { fill: #F2C230; }
:root[data-theme="bil"] .kea-beak-ridge{ stroke: #F8DA60; }
:root[data-theme="bil"] .kea-beak-bot  { fill: #C86E1E; }
:root[data-theme="bil"] .kea-nostril   { fill: #D4A420; }
:root[data-theme="bil"] .kea-eye-white { fill: #EAE6DF; }
:root[data-theme="bil"] .kea-eye-ring  { stroke: #5A7040; }
:root[data-theme="bil"] .kea-eye-dark  { fill: #1A1A18; }
:root[data-theme="bil"] .kea-crest     { fill: #6A9255; }
