/* Original mountain scroll, ancient trail and sword-call ceremony. */
.swordwild-scene{position:absolute;inset:0;z-index:0;isolation:isolate;overflow:hidden;background:#092721;pointer-events:none;--shanhe-light:#c9d7b1}
.shanhe-paper{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 20%,#a3b49c38,transparent 48%),repeating-linear-gradient(100deg,#e1d9aa04 0 1px,transparent 1px 5px)}
.shanhe-landscape,.shanhe-motif{position:absolute;width:100%;height:100%;inset:0}
.shanhe-landscape{opacity:.83;transform:scale(1.045);transition:transform 2.7s ease,opacity 1s}
.shanhe-ridges--far{opacity:.55}.shanhe-ridges--near{opacity:.92}
.shanhe-trail-line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s ease}
.shanhe-scroll{position:absolute;inset:14% 11%;border-block:1px solid #d2bb7545;opacity:0;transform:scaleX(.06);background:linear-gradient(90deg,#dbc99818,transparent 25% 75%,#dbc99818);transition:transform 850ms ease,opacity 500ms}
.shanhe-scroll i{position:absolute;top:-12px;bottom:-12px;width:5px;background:linear-gradient(#d9bd7b,#7e724f,#d9bd7b);border-radius:3px;box-shadow:0 0 18px #ebd79938}.shanhe-scroll i:first-child{left:0}.shanhe-scroll i:last-child{right:0}
.shanhe-cloud{position:absolute;inset:-10%;background:radial-gradient(ellipse,#cfdbc657,transparent 62%);filter:blur(18px);transition:transform 1.1s ease,opacity 1.1s}
.shanhe-cloud--left{transform:translate(-25%,10%) rotate(-15deg)}.shanhe-cloud--right{transform:translate(25%,30%) rotate(15deg)}
.shanhe-sword-stroke{position:absolute;left:16%;top:55%;width:72%;height:2px;background:linear-gradient(90deg,transparent,var(--shanhe-light),#fff4ca,var(--shanhe-light),transparent);box-shadow:0 0 18px var(--shanhe-light);transform:rotate(-32deg) scaleX(0);opacity:0;transition:transform 600ms cubic-bezier(.2,.7,.2,1),opacity 300ms}
.shanhe-seals{position:absolute;top:44%;left:0;right:0;display:flex;justify-content:center;gap:24px;opacity:0;transform:translateY(20px);transition:opacity 700ms,transform 700ms}
.shanhe-seals span{width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--shanhe-light);background:#173b30d9;box-shadow:0 0 25px #d2b56f20;color:var(--shanhe-light);font:30px/1 'Noto Serif TC','PMingLiU',serif;border-radius:50%}
.shanhe-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#07181177,transparent 40%,#071811b8),radial-gradient(ellipse,transparent 25%,#02191480)}
.shanhe-motif{opacity:0;transition:opacity 650ms}.shanhe-wing,.shanhe-territory,.shanhe-sword{display:none;transform-origin:500px 500px}
.dream-debut-overlay[data-animation=swordwild_shanhe],.dream-bloom-overlay[data-animation=swordwild_shanhe]{background:#08261e}
.dream-debut-overlay[data-animation=swordwild_shanhe] .shanhe-scroll{opacity:1;transform:scaleX(1)}
.dream-debut-overlay[data-animation=swordwild_shanhe] .shanhe-trail-line{animation:shanhe-trace 2s 200ms ease both}
.dream-debut-overlay[data-animation=swordwild_shanhe] .shanhe-cloud--left{animation:shanhe-cloud-left var(--pool-scene-duration,3.4s) ease both}
.dream-debut-overlay[data-animation=swordwild_shanhe] .shanhe-cloud--right{animation:shanhe-cloud-right var(--pool-scene-duration,3.4s) ease both}
.dream-debut-overlay[data-animation=swordwild_shanhe] .shanhe-landscape{animation:shanhe-arrive var(--pool-scene-duration,3.4s) ease both}
.dream-debut-overlay[data-animation=swordwild_shanhe] .shanhe-seals{animation:shanhe-seal-arrive 2.2s 500ms both}
.dream-debut-overlay[data-animation=swordwild_shanhe] .dream-debut-copy{position:absolute;z-index:3;top:auto;bottom:19%;left:0;right:0;margin:0 auto;padding:0 18px}
.dream-debut-overlay[data-animation=swordwild_shanhe] .dream-debut-line{color:#f4e4b9;text-shadow:0 2px 14px #000;font-family:'Noto Serif TC','PMingLiU',serif;letter-spacing:.2em}
.dream-bloom-overlay[data-animation=swordwild_shanhe][data-omen=N] .swordwild-scene{--shanhe-light:#c1d9bc}
.dream-bloom-overlay[data-animation=swordwild_shanhe][data-omen=R] .swordwild-scene{--shanhe-light:#93c7d2}
.dream-bloom-overlay[data-animation=swordwild_shanhe][data-omen=SR] .swordwild-scene{--shanhe-light:#b8a9de}
.dream-bloom-overlay[data-animation=swordwild_shanhe][data-omen=SSR] .swordwild-scene{--shanhe-light:#e8cc7b}
.dream-bloom-overlay[data-animation=swordwild_shanhe][data-omen=UR] .swordwild-scene{--shanhe-light:#f1ba7c}
.dream-bloom-overlay[data-animation=swordwild_shanhe] .dream-bloom-omen{display:none}
.dream-bloom-overlay[data-animation=swordwild_shanhe]:is([data-phase=mirrorRipple],[data-phase=rarityOmen],[data-phase=bloom],[data-phase=revealing],[data-phase=summary]) .shanhe-scroll{opacity:1;transform:scaleX(1)}
.dream-bloom-overlay[data-animation=swordwild_shanhe]:is([data-phase=mirrorRipple],[data-phase=rarityOmen],[data-phase=bloom],[data-phase=revealing],[data-phase=summary]) .shanhe-trail-line{stroke-dashoffset:0}
.dream-bloom-overlay[data-animation=swordwild_shanhe]:is([data-phase=rarityOmen],[data-phase=bloom]) .shanhe-sword-stroke{opacity:1;transform:rotate(-32deg) scaleX(1)}
.dream-bloom-overlay[data-animation=swordwild_shanhe]:is([data-phase=rarityOmen],[data-phase=bloom]) .shanhe-seals{opacity:1;transform:translateY(0)}
.dream-bloom-overlay[data-animation=swordwild_shanhe]:is([data-phase=bloom],[data-phase=revealing],[data-phase=summary]) .shanhe-cloud--left{transform:translate(-70%,-8%);opacity:.25}
.dream-bloom-overlay[data-animation=swordwild_shanhe]:is([data-phase=bloom],[data-phase=revealing],[data-phase=summary]) .shanhe-cloud--right{transform:translate(70%,18%);opacity:.25}
.dream-bloom-overlay[data-animation=swordwild_shanhe] .dream-bloom-stage{z-index:2}
.dream-bloom-overlay[data-animation=swordwild_shanhe] .dream-bloom-seal{background:#09271feb;border:1px solid #c8ac6a88;box-shadow:0 12px 55px #0008}
.dream-bloom-overlay[data-animation=swordwild_shanhe] .dream-bloom-seal__reflect,.dream-bloom-overlay[data-animation=swordwild_shanhe] .dream-bloom-seal__petal{display:none}
.dream-bloom-overlay[data-animation=swordwild_shanhe] .dream-bloom-summary{background:#08261ee8;border:1px solid #c8ac6a66;border-radius:16px;padding:20px}
.dream-bloom-overlay[data-animation=swordwild_shanhe] .dream-bloom-summary__title{color:#f0d99e}
.summon-reveal-overlay.is-shanhe-reveal{background:#08261e}
.summon-reveal-overlay.is-shanhe-reveal::after{display:none;animation:none}
.summon-reveal-overlay.is-shanhe-reveal .summon-reveal-card{animation:shanhe-card 1.6s ease 250ms both}
.summon-reveal-overlay.is-shanhe-reveal .summon-reveal-stage{position:relative;z-index:2}
.summon-reveal-overlay.is-shanhe-reveal .summon-reveal-card{padding:16px;max-width:88vw}
.summon-reveal-overlay.is-shanhe-reveal.is-ready .summon-reveal-card{animation:none;opacity:1;transform:none}
.summon-reveal-overlay.is-shanhe-reveal .summon-reveal-rarity{font:700 30px/1.2 'Noto Serif TC','PMingLiU',serif;color:#f4e3b6;text-shadow:0 0 16px #cfb57b66;animation:shanhe-card 1.6s 250ms ease both;letter-spacing:.18em}
.summon-reveal-overlay.is-shanhe-reveal.is-ready .summon-reveal-rarity{animation:none;opacity:1;transform:none}
.summon-reveal-overlay.is-shanhe-reveal .summon-reveal-caption{color:#f4e3b6}
.summon-reveal-overlay.is-shanhe-reveal .summon-reveal-pet-frame{width:min(68vw,390px);height:min(68vw,390px)}
.summon-reveal-overlay.is-shanhe-reveal .summon-reveal-pet-image.is-loaded{opacity:1;transition:none}
.dream-debut-overlay[data-animation=swordwild_shanhe].is-ready .dream-debut-line__seg{opacity:1;filter:none;transform:none;animation:none}
.is-shanhe-reveal .summon-reveal-pool,.is-shanhe-reveal .summon-reveal-ring,.is-shanhe-reveal .summon-reveal-aura,.is-shanhe-reveal .summon-reveal-particles{display:none}
.is-shanhe-reveal .shanhe-scroll{opacity:.6;transform:scaleX(1)}
.is-shanhe-reveal .shanhe-cloud{opacity:.22}.is-shanhe-reveal .shanhe-trail-line{stroke-dashoffset:0}
.is-shanhe-reveal .shanhe-seals{display:none}.is-shanhe-reveal .shanhe-motif{opacity:1}
.is-shanhe-reveal .summon-reveal-card{background:#07291fe6;border:1px solid #cfb57b80;box-shadow:0 16px 64px #0007;border-radius:14px;animation:shanhe-card 2.2s ease both}
.is-shanhe-reveal .summon-reveal-pet-frame{background:transparent;border-color:#bcad7866}
.is-shanhe-reveal .summon-reveal-name,.is-shanhe-reveal .summon-reveal-caption{color:#f4e3b6}
.is-shanhe-reveal .summon-reveal-name{font-family:'Noto Serif TC','PMingLiU',serif;letter-spacing:.13em}
.is-shanhe-reveal .swordwild-scene[data-motif=eagle] .shanhe-wing{display:block;animation:shanhe-wings 2.5s cubic-bezier(.15,.6,.2,1) both}
.is-shanhe-reveal .swordwild-scene[data-motif=eagle] .shanhe-cloud--left{animation:shanhe-cloud-left 2.3s both}
.is-shanhe-reveal .swordwild-scene[data-motif=eagle] .shanhe-cloud--right{animation:shanhe-cloud-right 2.3s both}
.is-shanhe-reveal .swordwild-scene[data-motif=toad] .shanhe-territory{display:block;transform-origin:500px 753px;animation:shanhe-territory 2.5s ease both}
.is-shanhe-reveal .swordwild-scene[data-motif=toad] .shanhe-landscape{animation:shanhe-anchor 2.3s ease both}
.is-shanhe-reveal .swordwild-scene[data-motif=ape] .shanhe-sword{display:block;animation:shanhe-blade 2.5s ease both}
.is-shanhe-reveal .swordwild-scene[data-motif=ape] .shanhe-cut{stroke-dasharray:1;animation:shanhe-trace 1s 300ms ease both}
.is-shanhe-reveal .swordwild-scene[data-motif=ape] .shanhe-leaves{animation:shanhe-part-leaves 2.4s ease both}
.is-shanhe-reveal .swordwild-scene[data-motif=ink] .shanhe-sword-stroke{opacity:.7;transform:rotate(-32deg) scaleX(1);animation:shanhe-ink 1.5s ease both}
@keyframes shanhe-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes shanhe-cloud-left{from{transform:translate(-5%,15%);opacity:.8}to{transform:translate(-65%,-8%);opacity:.22}}
@keyframes shanhe-cloud-right{from{transform:translate(5%,20%);opacity:.8}to{transform:translate(65%,18%);opacity:.22}}
@keyframes shanhe-arrive{from{transform:scale(1.14);opacity:.3}to{transform:scale(1);opacity:.83}}
@keyframes shanhe-seal-arrive{0%{opacity:0;transform:translateY(15px)}65%,100%{opacity:1;transform:translateY(0)}}
@keyframes shanhe-card{from{opacity:0;transform:translateY(22px)}60%,100%{opacity:1;transform:translateY(0)}}
@keyframes shanhe-wings{from{opacity:0;transform:translateY(80px) scaleX(.2)}65%,100%{opacity:.65;transform:translateY(0) scaleX(1)}}
@keyframes shanhe-territory{0%{opacity:0;transform:scale(.5)}60%,100%{opacity:.9;transform:scale(1)}}
@keyframes shanhe-anchor{0%{transform:translateY(-12px) scale(1.03)}55%,100%{transform:translateY(0) scale(1.03)}}
@keyframes shanhe-blade{0%{opacity:0;transform:translate(-45px,65px)}50%,100%{opacity:.75;transform:translate(0,0)}}
@keyframes shanhe-part-leaves{from{transform:translate(0,0)}to{transform:translate(20px,-25px)}}
@keyframes shanhe-ink{from{opacity:0;transform:rotate(-32deg) scaleX(0)}to{opacity:.7;transform:rotate(-32deg) scaleX(1)}}
:is(.dream-debut-overlay,.dream-bloom-overlay)[data-animation=swordwild_shanhe].is-reduced .swordwild-scene *,.is-shanhe-reveal.is-reduced *{animation:none!important;transition:none!important}
:is(.dream-debut-overlay,.dream-bloom-overlay)[data-animation=swordwild_shanhe].is-reduced .shanhe-scroll{opacity:.6;transform:scaleX(1)}
.is-shanhe-reveal.is-reduced .summon-reveal-card{opacity:1;transform:none}
.is-shanhe-reveal.is-reduced .shanhe-wing{opacity:.65;transform:none}.is-shanhe-reveal.is-reduced .shanhe-territory{opacity:.8;transform:none}.is-shanhe-reveal.is-reduced .shanhe-sword{opacity:.7;transform:none}
:is(.dream-debut-overlay,.dream-bloom-overlay)[data-animation=swordwild_shanhe].is-reduced .shanhe-trail-line{stroke-dashoffset:0}
:is(.dream-debut-overlay,.dream-bloom-overlay)[data-animation=swordwild_shanhe].is-reduced .shanhe-seals{opacity:1;transform:none}
:is(.dream-debut-overlay,.dream-bloom-overlay)[data-animation=swordwild_shanhe].is-reduced .shanhe-cloud{opacity:.16}
@media(prefers-reduced-motion:reduce){.swordwild-scene *,.is-shanhe-reveal *{animation:none!important;transition:none!important}.is-shanhe-reveal .summon-reveal-card{opacity:1;transform:none}}
@media(max-width:480px){.shanhe-seals{gap:18px}.shanhe-seals span{width:46px;height:46px;font-size:25px}.is-shanhe-reveal .summon-reveal-card{max-width:88vw}.dream-bloom-overlay[data-animation=swordwild_shanhe] .dream-bloom-summary{padding:14px}}
.gacha-panel[data-pool-theme=swordwild_shanhe]{--pool-text-primary:#f1e1b8;--pool-text-secondary:#b5ceb6;--pool-accent:#d1b779;--pool-border:#82956d77;--pool-surface:#0c3029d9;background:radial-gradient(ellipse at 50% 10%,#41655280,transparent 60%),#092820;color:var(--pool-text-primary)}
.gacha-panel[data-pool-theme=swordwild_shanhe] .gacha-theme-stage__atmosphere,.gacha-panel[data-pool-theme=swordwild_shanhe] .gacha-pool{display:none}
.gacha-panel[data-pool-theme=swordwild_shanhe] :is(.gacha-theme-stage__name,.gacha-theme-stage__eyebrow,.gacha-theme-stage__tagline,.gacha-theme-stage__meta,.gacha-theme-details-btn,.gacha-theme-details,.gacha-theme-details dd,.gacha-theme-hero__name){color:var(--pool-text-primary)}
.gacha-panel[data-pool-theme=swordwild_shanhe] :is(.gacha-theme-details dt,.gacha-theme-hero__cap,.gacha-theme-featured__item){color:var(--pool-text-secondary)}
.gacha-panel[data-pool-theme=swordwild_shanhe] :is(.gacha-theme-details,.gacha-theme-hero__cap,.gacha-theme-featured__item){background:var(--pool-surface);border:1px solid var(--pool-border);border-radius:.75rem;padding:.65rem}
.gacha-panel[data-pool-theme=swordwild_shanhe] .btn--gacha{background:#d1b779;color:#08261e}.gacha-panel[data-pool-theme=swordwild_shanhe] .btn--gacha-ten{background:#194537;color:#f1e1b8;border-color:#d1b779}
