/* VOCABULARIA v1.9.126 · Companion growth stages that look like growth.
   Stage 0 새 친구 → Stage 1 함께한 동료 (family-colour aura, floating sparks)
   → Stage 2 든든한 동반자 (golden shimmer frame, halo, orbiting lights, breathing).
   Presentation only; growth counts, abilities and recruiting are unchanged. */
.vaBabyPortrait .vaBabyFrame{position:relative;overflow:visible;transition:box-shadow .4s ease,border-color .4s ease}
.vaBabyPortrait .vaBabyFrame img{transition:transform .5s ease,filter .5s ease}

/* Stage 1 */
.vaBabyPortrait[data-stage="1"] .vaBabyFrame{border-color:color-mix(in srgb,var(--va-family,#97d3ad) 75%,#fff)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--va-family,#97d3ad) 55%,transparent),0 0 26px color-mix(in srgb,var(--va-family,#97d3ad) 45%,transparent),inset 0 0 30px color-mix(in srgb,var(--va-family,#97d3ad) 18%,transparent)!important}
.vaBabyPortrait[data-stage="1"] .vaBabyFrame img{transform:scale(1.02)!important;filter:saturate(1.12) brightness(1.04)}
.vaBabyPortrait[data-stage="1"] .vaBabyFrame::before,.vaBabyPortrait[data-stage="2"] .vaBabyFrame::before{content:"";position:absolute;inset:-10px;border-radius:inherit;pointer-events:none;
  background:radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--va-family,#97d3ad) 55%,transparent) 0 3px,transparent 4px),
             radial-gradient(circle at 78% 22%,color-mix(in srgb,var(--va-family,#97d3ad) 55%,transparent) 0 2px,transparent 3px),
             radial-gradient(circle at 64% 80%,color-mix(in srgb,var(--va-family,#97d3ad) 55%,transparent) 0 3px,transparent 4px),
             radial-gradient(circle at 12% 74%,color-mix(in srgb,var(--va-family,#97d3ad) 55%,transparent) 0 2px,transparent 3px);
  animation:cgFloat 3.6s ease-in-out infinite}
@keyframes cgFloat{0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(-7px);opacity:1}}

/* Stage 2 */
.vaBabyPortrait[data-stage="2"] .vaBabyFrame{border:2px solid #f3d98a!important;
  box-shadow:0 0 0 1px rgba(255,220,130,.6),0 0 34px rgba(255,205,90,.45),0 0 70px color-mix(in srgb,var(--va-family,#97d3ad) 40%,transparent),inset 0 0 36px rgba(255,210,120,.2)!important;
  background:radial-gradient(ellipse at center,rgba(255,214,130,.25),#102430)!important;animation:cgBreathe 3.2s ease-in-out infinite}
.vaBabyPortrait[data-stage="2"] .vaBabyFrame img{transform:scale(1.1)!important;filter:saturate(1.2) brightness(1.08) drop-shadow(0 0 10px rgba(255,214,130,.45))}
.vaBabyPortrait[data-stage="2"] .vaBabyFrame::after{content:"";position:absolute;left:50%;top:-18px;width:62%;height:16px;transform:translateX(-50%);border-radius:50%;
  border:3px solid rgba(255,226,150,.95);border-bottom-color:transparent;box-shadow:0 0 16px rgba(255,214,120,.8);pointer-events:none;animation:cgHalo 2.4s ease-in-out infinite}
.vaBabyPortrait[data-stage="2"] .vaGrowthGem{background:linear-gradient(90deg,#ffe9a6,#ffd45a)!important;color:#3a2a06!important;border-color:#fff1c0!important;box-shadow:0 0 16px rgba(255,214,90,.7)!important}
@keyframes cgBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}
@keyframes cgHalo{0%,100%{opacity:.75;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(-3px)}}

/* Next-stage teaser: the locked preview tiers shimmer so the next look is something to aim for. */
.vaGrowthTiers button[data-unlocked="false"]{position:relative;overflow:hidden;border-color:rgba(255,214,130,.35)}
.vaGrowthTiers button[data-unlocked="false"]::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 30%,rgba(255,228,160,.22) 50%,transparent 70%);transform:translateX(-120%);animation:cgShimmer 2.8s ease-in-out infinite}
.vaGrowthTiers button[data-unlocked="false"] strong::after{content:" 🔒";font-size:.85em}
@keyframes cgShimmer{0%{transform:translateX(-120%)}60%,100%{transform:translateX(120%)}}
.vaPreviewNote{border:1px dashed rgba(255,214,130,.45);border-radius:10px;padding:6px 10px;background:rgba(255,214,130,.06)}

/* In-battle companion badge mirrors the stage. */
#game .vaCompanionBadge[data-stage="1"]{box-shadow:0 0 14px color-mix(in srgb,var(--va-family,#97d3ad) 50%,transparent)!important}
#game .vaCompanionBadge[data-stage="2"]{animation:cgBadgePulse 2.6s ease-in-out infinite}
@keyframes cgBadgePulse{0%,100%{box-shadow:0 0 14px rgba(255,214,120,.35)}50%{box-shadow:0 0 24px rgba(255,214,120,.7)}}
@media (prefers-reduced-motion:reduce){.vaBabyPortrait .vaBabyFrame,.vaBabyPortrait .vaBabyFrame::before,.vaBabyPortrait .vaBabyFrame::after,.vaGrowthTiers button::after,#game .vaCompanionBadge{animation:none!important}}
