/* Le monde de Yuna : une respiration et une impulsion de glace toutes les 12 secondes. */
.world-art{position:absolute;inset:0;z-index:-3;overflow:hidden;transform-origin:76% 69%;animation:yuna-breathe 12s ease-in-out infinite;animation-play-state:paused}
.world-art .world-backdrop{z-index:0}
.ice-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:0;z-index:1}
.world-hero[data-ice-ready=true] .ice-field{opacity:1}
.crystal-burst{position:absolute;width:0;height:0;--ice-unit:1px;mix-blend-mode:screen}
.crystal-burst>span{position:absolute;pointer-events:none;animation-duration:12s;animation-iteration-count:infinite;animation-play-state:paused}
.crystal-halo{width:calc(var(--ice-unit)*330);height:calc(var(--ice-unit)*300);border-radius:50%;background:radial-gradient(ellipse,#e7ffffc9 0%,#95efff99 12%,#3acbff4a 32%,#86d3ff15 51%,transparent 70%);transform:translate(-50%,-50%);opacity:.24;animation-name:crystal-charge}
.crystal-core{width:calc(var(--ice-unit)*123);height:calc(var(--ice-unit)*143);transform:translate(-50%,-50%);background:conic-gradient(from 20deg,#f1ffff,#43c5ed,#fff,#73ddff,#e9ffff,#2ab8de,#fff);clip-path:polygon(50% 0,61% 32%,99% 33%,72% 52%,83% 89%,55% 72%,47% 100%,36% 69%,10% 78%,27% 51%,0 32%,39% 31%);opacity:.2;animation-name:crystal-reform}
.ice-wave{width:calc(var(--ice-unit)*120);height:calc(var(--ice-unit)*120);border:2px solid #a3f1ff;border-radius:50%;box-shadow:0 0 22px #71d9ff88,inset 0 0 17px #a5f5ff55;opacity:0;transform:translate(-50%,-50%) scale(.4);animation-name:ice-ripple}
.wave-two{animation-delay:.4s;border-width:1px;rotate:22deg}
.ice-shard{width:calc(var(--ice-unit)*var(--sw));height:calc(var(--ice-unit)*var(--sh));clip-path:polygon(48% 0,100% 41%,62% 100%,0 63%);background:linear-gradient(120deg,#f8ffff 0%,#92e7ff 38%,#30a6e2 41%,#defdff 68%,#74d4ff 100%);filter:drop-shadow(0 0 4px #7fddff);opacity:0;animation-name:ice-shatter;animation-timing-function:cubic-bezier(.18,.6,.3,1)}
.ice-mote{left:calc(var(--ice-unit)*var(--mx));top:calc(var(--ice-unit)*var(--my));width:3px;height:3px;border-radius:50%;background:#c9f9ff;box-shadow:0 0 7px #8beeff;opacity:0;animation-name:ice-float;animation-duration:7s!important;animation-delay:var(--delay)}
.world-hero[data-ice-running=true] .world-art,.world-hero[data-ice-running=true] .crystal-burst>span{animation-play-state:running}
@keyframes yuna-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.018) translate(-.15%,.1%)}}
@keyframes crystal-charge{0%,100%{opacity:.2;transform:translate(-50%,-50%) scale(.65)}19%{opacity:.5;transform:translate(-50%,-50%) scale(.95)}28%{opacity:.85;transform:translate(-50%,-50%) scale(1.2)}38%{opacity:.72;transform:translate(-50%,-50%) scale(1.55)}57%{opacity:.08;transform:translate(-50%,-50%) scale(1.9)}72%{opacity:.12;transform:translate(-50%,-50%) scale(.7)}83%{opacity:.45;transform:translate(-50%,-50%) scale(1)}}
@keyframes crystal-reform{0%,100%{opacity:.18;transform:translate(-50%,-50%) scale(1)}20%{opacity:.55;transform:translate(-50%,-50%) scale(1.02)}29%{opacity:.9;transform:translate(-50%,-50%) scale(1.1)}37%,65%{opacity:0;transform:translate(-50%,-50%) scale(.25)}76%{opacity:.3;transform:translate(-50%,-50%) scale(.7)}84%{opacity:.6;transform:translate(-50%,-50%) scale(1)}}
@keyframes ice-ripple{0%,27%,100%{opacity:0;transform:translate(-50%,-50%) scale(.4)}31%{opacity:.5}54%{opacity:0;transform:translate(-50%,-50%) scale(4)}}
@keyframes ice-shatter{0%,26%,100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--turn)) scale(.05)}30%{opacity:.9;transform:translate(-50%,-50%) rotate(var(--turn)) scale(.5)}46%{opacity:.9;transform:translate(calc(-50% + var(--ice-unit)*var(--dx)),calc(-50% + var(--ice-unit)*var(--dy))) rotate(calc(var(--turn) + 90deg)) scale(1)}63%{opacity:.12;transform:translate(calc(-50% + var(--ice-unit)*var(--dx)*1.1),calc(-50% + var(--ice-unit)*var(--dy)*1.1)) rotate(calc(var(--turn) + 150deg)) scale(.7)}77%{opacity:.75;transform:translate(-50%,-50%) rotate(calc(var(--turn) + 180deg)) scale(.35)}84%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--turn) + 180deg)) scale(.05)}}
@keyframes ice-float{0%,100%{opacity:0;transform:translate(0,12px) scale(.4)}35%{opacity:.8}85%{opacity:0;transform:translate(10px,calc(var(--ice-unit)*var(--drift)*-1)) scale(1)}}
.motion-control{position:absolute;z-index:3;right:6%;bottom:74px;display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid #9abedc70;border-radius:30px;background:#071327c9;color:#d8efff;font:600 11px Arial,sans-serif;cursor:pointer;backdrop-filter:blur(6px)}
.motion-control[hidden]{display:none}.motion-control:hover{background:#15314c;border-color:#c0efff}.motion-control:focus-visible{outline:3px solid #ffe2a4;outline-offset:3px}.motion-control:disabled{opacity:.7;cursor:default}
.motion-icon{display:block;width:11px;height:11px;border-inline:3px solid currentColor}
.world-hero[data-motion=paused] .motion-icon{border:0;background:currentColor;clip-path:polygon(10% 0,100% 50%,10% 100%)}
.world-hero[data-motion=reduced] .motion-icon{border:1px solid currentColor;border-radius:3px}
.world-hero[data-motion=reduced] .world-art{animation:none;transform:none}.world-hero[data-motion=reduced] .ice-field{display:none}
.hero-story-link{display:inline-flex;gap:8px;align-items:center;margin-top:18px;padding-block:10px;min-height:44px;font-size:12px;color:#b8ecff;text-decoration:none;border-bottom:1px solid #91d5f34d}
.hero-story-link:hover{color:#ffe3a5;border-color:#ffe3a5}
.yuna-story.ice-story{scroll-margin-top:25px;padding-top:45px;padding-bottom:75px;background:radial-gradient(ellipse at 50% 50%,#193b5e77,transparent 70%)}
.ice-story h2 span{color:#9fe7f7}.ice-story .story-intro{max-width:680px;font-size:16px}
.story-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;text-align:left;max-width:1020px;margin:36px auto 28px}
.story-chapter{padding:24px 0 0;border-top:1px solid #52718d}
.story-chapter>span{display:inline-block;font-size:10px;letter-spacing:2px;color:#88c9dd;margin-bottom:14px}
.story-chapter h3{font-size:23px;line-height:1.25;letter-spacing:-.6px;margin:0 0 13px;color:#eaf6ff}
.story-chapter p{font-size:14px;line-height:1.8;margin:0;color:#afc6dd}
.story-chapter:first-child{border-color:#b48d6b}.story-chapter:first-child>span{color:#e9bd89}.story-chapter:last-child{border-color:#71aeae}
@media(max-width:1050px){.world-hero{min-height:700px}.world-copy h1{font-size:76px}}
@media(max-width:760px){.world-hero{min-height:900px}.world-copy h1{font-size:64px}.world-hero .world-intro{font-size:14px;line-height:1.7}.world-hero .world-intro br{display:none}.hero-story-link{font-size:11px;margin-top:8px}.world-hero .hero-location{margin-top:12px}.motion-control{bottom:57px;right:6%;font-size:10px;min-height:44px}.world-art{transform-origin:76% 80%}.story-chapters{grid-template-columns:1fr;gap:24px;margin-top:28px}.story-chapter{padding-top:20px}.story-chapter h3{font-size:23px}.ice-story .story-intro{font-size:14px}.yuna-story.ice-story{padding-top:34px;padding-bottom:45px}.story-chapter p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.world-art{animation:none!important;transform:none!important}.ice-field{display:none!important}}
.world-art .world-shade{z-index:1}.world-art .ice-field{z-index:2}.ice-story:focus{outline:none}
