/* Guardian awakening 2.0: preserve the settled mural composition; animate only the inner flight layer. */
.landing-cover .guardian{animation:none!important;opacity:1!important;filter:none;overflow:visible}
.landing-cover .guardian.west,.landing-cover.intro-done .guardian.west{--guardian-touch-x:80px;transform:translateX(-54px) scale(.88)}
.landing-cover .guardian.east,.landing-cover.intro-done .guardian.east{--guardian-touch-x:-80px;transform:translateX(54px) scale(.88)}
.landing-cover .guardian-flight{position:relative;width:100%;height:100%;transform-origin:50% 82%;will-change:transform,opacity,filter;animation-duration:3.2s,3.2s;animation-timing-function:linear,ease-in-out;animation-delay:calc(0ms - var(--cover-elapsed,0ms)),calc(3200ms - var(--cover-elapsed,0ms));animation-iteration-count:1,infinite;animation-fill-mode:both,none}
.landing-cover .west .guardian-flight{animation-name:guardian2-boy-arrival,guardian2-breathe}
.landing-cover .east .guardian-flight{animation-name:guardian2-girl-arrival,guardian2-breathe;animation-delay:calc(0ms - var(--cover-elapsed,0ms)),calc(4800ms - var(--cover-elapsed,0ms))}
.landing-cover .guardian-crop{position:relative;z-index:1}
.landing-cover .guardian-cloud{position:absolute;z-index:0;left:50%;bottom:0;width:74%;height:24px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#f5ca6e62 0%,#f5ca6e20 42%,transparent 74%);filter:blur(4px);opacity:.66;pointer-events:none}
.landing-cover .west .guardian-cloud:before,.landing-cover .east .guardian-cloud:before{content:'';position:absolute;inset:3px 12%;border-radius:50%;background:radial-gradient(ellipse,#7ec8e340,transparent 76%)}
.landing-cover .east .guardian-cloud:before{background:radial-gradient(ellipse,#e06d5336,transparent 76%)}
.landing-cover .guardian-particles{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:3;pointer-events:none;opacity:1;contain:strict}
.landing-cover .guardian-meeting-flash{position:absolute;z-index:1;left:50%;top:50%;width:82px;height:82px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(.2);opacity:0;background:radial-gradient(circle,#fff4cbab 0%,#f5ca6e6b 15%,#7ec8e33d 32%,transparent 68%);animation:guardian2-touch-light 1000ms calc(2200ms - var(--cover-elapsed,0ms)) ease-out both}
.landing-cover .light-orbit{animation:none!important;opacity:0;transition:opacity .8s ease}
.landing-cover.guardians-met .light-orbit,.landing-cover.intro-done .light-orbit{opacity:.28;transform:translate(-50%,-50%) rotate(-25deg) scale(1)}
.landing-cover:not(.guardians-met):not(.intro-done) .quest-orb{opacity:0}
.landing-cover.guardians-met .quest-orb{opacity:.64}
.landing-cover.quest-ready .quest-orb{opacity:1}
.landing-cover .quest-orb{transition:width .8s cubic-bezier(.34,1.56,.64,1),height .8s cubic-bezier(.34,1.56,.64,1),opacity .4s}
@keyframes guardian2-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes guardian2-touch-light{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}16%{opacity:.85;transform:translate(-50%,-50%) scale(.85)}55%{opacity:.26;transform:translate(-50%,-50%) scale(1.55)}100%{opacity:0;transform:translate(-50%,-50%) scale(2)}}


@keyframes guardian2-boy-arrival{0%{opacity:0;transform:translate(-55px,-110px) rotate(8deg) scale(.35);filter:brightness(2.2) drop-shadow(0 0 18px #ffd700)}12%{opacity:.82;filter:brightness(1.65) drop-shadow(0 0 12px #f5ca6e)}25.0000%{opacity:1;transform:translate(calc(-55.0000px + var(--guardian-touch-x) * 0.000000),-110.000px) rotate(8.000deg) scale(0.5000);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}30.4688%{opacity:1;transform:translate(calc(-63.2598px + var(--guardian-touch-x) * 0.028613),-102.771px) rotate(7.000deg) scale(0.5853);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}35.9375%{opacity:1;transform:translate(calc(-62.0156px + var(--guardian-touch-x) * 0.107031),-87.609px) rotate(6.000deg) scale(0.6658);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}41.4062%{opacity:1;transform:translate(calc(-53.8574px + var(--guardian-touch-x) * 0.224121),-67.549px) rotate(5.000deg) scale(0.7411);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}46.8750%{opacity:1;transform:translate(calc(-41.3750px + var(--guardian-touch-x) * 0.368750),-45.625px) rotate(4.000deg) scale(0.8105);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}52.3438%{opacity:1;transform:translate(calc(-27.1582px + var(--guardian-touch-x) * 0.529785),-24.873px) rotate(3.000deg) scale(0.8733);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}57.8125%{opacity:1;transform:translate(calc(-13.7969px + var(--guardian-touch-x) * 0.696094),-8.328px) rotate(2.000deg) scale(0.9282);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}63.2812%{opacity:1;transform:translate(calc(-3.8809px + var(--guardian-touch-x) * 0.856543),0.975px) rotate(1.000deg) scale(0.9728);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}68.7500%{opacity:1;transform:translate(calc(-0.0000px + var(--guardian-touch-x) * 1.000000),0.000px) rotate(0.000deg) scale(1.0000);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}78%{opacity:1;transform:translate(calc(var(--guardian-touch-x) * .63),-2px) rotate(0deg) scale(1);filter:brightness(1) drop-shadow(0 7px 8px #21150932)}100%{opacity:1;transform:translate(0,0) rotate(0deg) scale(1);filter:brightness(1) drop-shadow(0 7px 8px #21150932)}}

@keyframes guardian2-girl-arrival{0%{opacity:0;transform:translate(55px,-95px) rotate(-8deg) scale(.35);filter:brightness(2.2) drop-shadow(0 0 18px #ffd700)}12%{opacity:.82;filter:brightness(1.65) drop-shadow(0 0 12px #f5ca6e)}25.0000%{opacity:1;transform:translate(calc(55.0000px + var(--guardian-touch-x) * 0.000000),-95.000px) rotate(-8.000deg) scale(0.5000);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}30.4688%{opacity:1;transform:translate(calc(63.2598px + var(--guardian-touch-x) * 0.028613),-88.416px) rotate(-7.000deg) scale(0.5853);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}35.9375%{opacity:1;transform:translate(calc(62.0156px + var(--guardian-touch-x) * 0.107031),-74.953px) rotate(-6.000deg) scale(0.6658);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}41.4062%{opacity:1;transform:translate(calc(53.8574px + var(--guardian-touch-x) * 0.224121),-57.295px) rotate(-5.000deg) scale(0.7411);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}46.8750%{opacity:1;transform:translate(calc(41.3750px + var(--guardian-touch-x) * 0.368750),-38.125px) rotate(-4.000deg) scale(0.8105);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}52.3438%{opacity:1;transform:translate(calc(27.1582px + var(--guardian-touch-x) * 0.529785),-20.127px) rotate(-3.000deg) scale(0.8733);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}57.8125%{opacity:1;transform:translate(calc(13.7969px + var(--guardian-touch-x) * 0.696094),-5.984px) rotate(-2.000deg) scale(0.9282);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}63.2812%{opacity:1;transform:translate(calc(3.8809px + var(--guardian-touch-x) * 0.856543),1.619px) rotate(-1.000deg) scale(0.9728);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}68.7500%{opacity:1;transform:translate(calc(0.0000px + var(--guardian-touch-x) * 1.000000),0.000px) rotate(-0.000deg) scale(1.0000);filter:brightness(1) drop-shadow(0 6px 8px #21150932)}78%{opacity:1;transform:translate(calc(var(--guardian-touch-x) * .63),-2px) rotate(0deg) scale(1);filter:brightness(1) drop-shadow(0 7px 8px #21150932)}100%{opacity:1;transform:translate(0,0) rotate(0deg) scale(1);filter:brightness(1) drop-shadow(0 7px 8px #21150932)}}
@media(max-width:600px){
 .landing-cover .guardian.west,.landing-cover.intro-done .guardian.west{--guardian-touch-x:62px;transform:translateX(-35px) scale(.88)}
 .landing-cover .guardian.east,.landing-cover.intro-done .guardian.east{--guardian-touch-x:-62px;transform:translateX(35px) scale(.88)}
 .landing-cover .guardian-cloud{height:19px;width:72%}
}
/* Skip and repeat visits settle immediately. Language toggles keep animation phase through the shared clock. */
.landing-cover.story-skipped .guardian-flight{animation:guardian2-breathe 3.2s ease-in-out infinite;opacity:1;filter:drop-shadow(0 7px 8px #21150932)}
.landing-cover.story-skipped .east .guardian-flight{animation-delay:-1.6s}
.landing-cover.story-skipped .guardian-meeting-flash{animation:none;opacity:0}
@media(prefers-reduced-motion:reduce){
 .landing-cover .guardian-flight,.landing-cover.story-skipped .guardian-flight{animation:none!important;transform:none!important;opacity:1!important;filter:drop-shadow(0 5px 6px #21150924)}
 .landing-cover .guardian-particles,.landing-cover .guardian-meeting-flash{display:none!important}
 .landing-cover .guardian-cloud{opacity:.18;filter:blur(4px)}
 .landing-cover .light-orbit{transition:none;opacity:.2}
 .landing-cover .quest-orb{transition:none!important}
}

/* Keep the first pose held while the original mural and sprites decode. */
.landing-cover.guardians-loading .guardian-flight,.landing-cover.guardians-loading .guardian-meeting-flash{animation-play-state:paused}
