.world-gift-screen{min-height:100%;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom));overflow:auto;background:radial-gradient(circle at 50% 35%,rgba(255,220,112,.32),transparent 32%),linear-gradient(#160e19b8,#0c0c18e6),var(--tex-stone, none) center / 340px repeat,#171321}.world-gift-chest{width:min(620px,100%);padding:26px;border:3px solid #A97B2E;border-radius:24px;text-align:center;color:#fff5d5;background:linear-gradient(#462714bd,#23161ce6),var(--tex-wood, none) center / 360px repeat,#4a2e22;box-shadow:inset 0 0 0 4px #e2bd62,0 22px 60px #0009,0 0 70px #ffca4d33}.world-gift-chest__lid{width:92px;height:58px;display:grid;place-items:center;margin:-58px auto 10px;border:3px solid #E2BD62;border-radius:46px 46px 12px 12px;color:#fff0a4;font-size:34px;background:linear-gradient(#7b4b25,#4c2d1b);box-shadow:0 0 34px #ffd14c99}.world-gift-chest__eyebrow,.world-gift-card__kind{display:block;color:#f5d783;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.world-gift-chest h2{margin:4px 0;font-size:clamp(28px,4vw,40px)}.world-gift-chest>p{margin:0 auto 20px;max-width:650px;font-weight:700;color:#eadfc6}.world-gift-card{width:min(330px,100%);margin:0 auto;min-height:300px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 16px;border:2px solid #8A6931;border-radius:18px;background:linear-gradient(#fffae4f0,#ecdcaef5),var(--tex-parchment, none) center / cover,#f5e8c2;color:#392e24;box-shadow:inset 0 0 0 2px #fff9de,0 8px 18px #0005;font:inherit;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.world-gift-card:hover,.world-gift-card:focus-visible{transform:translateY(-5px);box-shadow:inset 0 0 0 2px #fff9de,0 13px 25px #0007,0 0 22px #ffd14c47}.world-gift-card__kind{color:#795c25}.world-gift-card__emoji{font-size:58px;line-height:1.1;filter:drop-shadow(0 4px 4px #0003)}.world-gift-card strong{font-size:22px;line-height:1.05}.world-gift-card>span:not(.world-gift-card__emoji):not(.world-gift-card__kind){font-weight:750}.world-gift-card small{color:#6b5b40;font-weight:700;line-height:1.35}.world-gift-card b{margin-top:auto;padding:9px 14px;border-radius:11px;color:#fff7d8;background:linear-gradient(#80552b,#5b381f);border:1px solid #B8893C}@media (max-width: 720px){.world-gift-screen{display:block;padding:calc(18px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom))}.world-gift-chest{padding:20px 14px}.world-gift-card{min-height:245px}}@media (prefers-reduced-motion: reduce){.world-gift-card{transition:none}}.relic-medallion{display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6c8 0,#fff6c8 10%,#f2c14e 38%,#a86a1c 72%,#5c3410);box-shadow:inset 0 0 0 4px #ffe7a0,inset 0 -10px 24px #50280080,0 0 40px #ffc85099;line-height:1}.relic-art{display:block;object-fit:contain;filter:drop-shadow(0 0 24px rgba(255,210,110,.7))}.relic-art--dim{filter:grayscale(1) brightness(.25) contrast(1.2);box-shadow:none;opacity:.8}.relic-reveal{position:relative;min-height:100%;overflow:hidden;display:grid;place-items:center;align-content:center;gap:18px;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(ellipse 70% 60% at 50% 42%,#3b2410,#1a0f14 55%,#0b0710)}.relic-reveal__rays{position:absolute;left:50%;top:38%;width:1400px;height:1400px;margin:-700px 0 0 -700px;background:repeating-conic-gradient(from 0deg,#ffd77829,#ffd77829 8deg,#ffd77800 8deg,#ffd77800 22deg);mask-image:radial-gradient(circle,#000 0 18%,transparent 58%);-webkit-mask-image:radial-gradient(circle,#000 0 18%,transparent 58%);animation:relic-rays 24s linear infinite,relic-fade-in 1.2s ease-out .5s both}.relic-reveal__pillar{position:absolute;left:50%;bottom:0;width:240px;height:100%;margin-left:-120px;background:linear-gradient(0deg,#ffe6a08c,#ffd26e2e 45%,#ffc85000 80%);filter:blur(8px);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 65%,transparent);animation:relic-pillar 2.1s ease-out both}.relic-reveal__sparks i{position:absolute;left:calc(50% + (var(--i) - 9) * 22px);bottom:10%;width:6px;height:6px;border-radius:50%;background:#ffe7a0;box-shadow:0 0 10px 3px #ffd26ecc;animation:relic-spark 2.8s ease-out infinite;animation-delay:calc(var(--i) * -.17s)}.relic-reveal__stage{position:relative;z-index:2;height:260px;display:grid;place-items:center}.relic-reveal__relic{animation:relic-rise 2.1s cubic-bezier(.2,.7,.2,1) both,relic-float 4s ease-in-out 2.1s infinite}.relic-reveal__card{position:relative;z-index:3;width:min(520px,100%);display:grid;justify-items:center;gap:8px;padding:20px 24px;text-align:center;color:#35302e;border-radius:18px;border:2px solid #C9A24A;background:linear-gradient(#fbf4e2,#f0e6cd);box-shadow:0 18px 50px #0000008c,0 0 30px #ffc85040;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.relic-reveal__card--shown{opacity:1;transform:none}.relic-reveal__card h2{margin:0;font-size:30px;line-height:1.1;color:#5c3410}.relic-reveal__card p{margin:0;font-weight:700}.relic-reveal__card small{color:#6e6656;font-weight:700}.relic-reveal__eyebrow{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8a6a38}@keyframes relic-rays{to{transform:rotate(360deg)}}@keyframes relic-fade-in{0%{opacity:0}to{opacity:1}}@keyframes relic-pillar{0%{transform:scaleY(0);transform-origin:bottom;opacity:0}40%{opacity:1}to{transform:scaleY(1);opacity:.9}}@keyframes relic-rise{0%{transform:translateY(260px) scale(.3);opacity:0;filter:brightness(3)}55%{opacity:1}80%{transform:translateY(-18px) scale(1.08);filter:brightness(1.6)}to{transform:translateY(0) scale(1);filter:brightness(1)}}@keyframes relic-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}@keyframes relic-spark{0%{transform:translateY(0) scale(1);opacity:0}15%{opacity:1}to{transform:translateY(-420px) scale(.4);opacity:0}}.trophy-hall{display:grid;gap:16px}.trophy-hall__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 700px){.trophy-hall__row{grid-template-columns:repeat(2,minmax(0,1fr))}}.trophy-pedestal{position:relative;display:grid;justify-items:center;gap:8px;padding:18px 10px 14px;text-align:center;border-radius:14px;border:1px solid #8f795588;background:radial-gradient(ellipse 80% 60% at 50% 35%,rgba(255,210,110,.14),transparent 70%),#16222b}.trophy-pedestal--won{border-color:#e4bd72;box-shadow:0 0 22px #ffc85038}.trophy-pedestal--won .relic-medallion,.trophy-pedestal--won .relic-art{animation:relic-float 4s ease-in-out infinite}.trophy-pedestal__plinth{width:70%;height:14px;border-radius:4px;background:linear-gradient(#6b5a44,#3d3226);box-shadow:0 4px 6px #00000080}.trophy-pedestal strong{color:#ffe3ab;font-size:15px;line-height:1.2}.trophy-pedestal small{color:#c1c5b4;font-size:12px;line-height:1.3}.trophy-pedestal--locked strong{color:#9aa3a8}.trophy-pedestal--locked .relic-medallion{color:transparent;text-shadow:0 0 0 #1a1a1a}@media (prefers-reduced-motion: reduce){.relic-reveal__rays,.relic-reveal__pillar,.relic-reveal__sparks i,.relic-reveal__relic,.trophy-pedestal--won .relic-medallion,.trophy-pedestal--won .relic-art{animation:none!important}.relic-reveal__card{transition:none}}.battle-duel-layout{position:relative;display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr) minmax(190px,250px);grid-auto-rows:minmax(0,1fr);gap:12px;flex:1;min-height:0;z-index:2}.battle-duel-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0}.battle-hero{display:block;width:100%;max-width:200px;height:280px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5))}.battle-hero:not(.battle-hero--profile){width:300px;max-width:none;height:300px;margin-inline:-50px}.battle-hero--idle{animation:battle-breathe 3.6s ease-in-out infinite;transform-origin:center bottom}.battle-hero--attack{animation:battle-lunge .55s ease-out both}.battle-hero--block{animation:battle-brace .35s ease-out both}.battle-hero--victory{animation:battle-cheer .9s ease-out both}.battle-boss{display:block;height:240px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45)) drop-shadow(0 0 14px rgba(255,180,60,.3))}.battle-boss--idle{animation:float-soft 3s ease-in-out infinite}.battle-boss--hit{animation:battle-recoil .5s ease-out .5s both}.battle-boss--defeat{filter:drop-shadow(0 6px 10px rgba(0,0,0,.45)) saturate(.8)}.battle-boss--emoji{font-size:96px;line-height:1;height:auto}.battle-projectile{position:absolute;top:42%;z-index:6;width:170px;height:100px;margin-top:-50px;pointer-events:none;display:grid;place-items:center}.battle-projectile img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45))}.battle-projectile--from-hero{left:12%;animation:battle-fly-right .48s cubic-bezier(.35,.1,.6,1) .14s both}.battle-projectile--from-boss{left:80%;animation:battle-fly-left .5s cubic-bezier(.35,.1,.6,1) .62s both}.battle-projectile__fx{display:block}.battle-projectile__fx--pil{width:110px;height:6px;border-radius:3px;background:linear-gradient(90deg,#ffe6a000,#c9a46a 45%,#fff2c2);box-shadow:0 0 12px 3px #ffdc78a6;position:relative}.battle-projectile__fx--pil:after{content:"";position:absolute;right:-10px;top:-7px;border-left:16px solid #FFE8A0;border-top:10px solid transparent;border-bottom:10px solid transparent;filter:drop-shadow(0 0 6px #FFE08A)}.battle-projectile__fx--svardsvag{width:60px;height:90px;border-radius:50%;border-right:10px solid #DDF1FF;box-shadow:8px 0 18px -4px #96d2ffe6;filter:drop-shadow(0 0 8px #9FD8FF)}.battle-projectile__fx--trollkula,.battle-projectile__fx--boss{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fff 0,#fff 12%,#e5c7ff 30%,#8a5bd6 62%,#5028a000 72%);box-shadow:0 0 22px 8px #aa78ff8c}.battle-projectile__fx--boss{background:radial-gradient(circle at 60% 35%,#FFFFFF 0 12%,var(--tint) 45%,rgba(0,0,0,0) 72%);box-shadow:0 0 22px 8px color-mix(in srgb,var(--tint) 60%,transparent)}.battle-impact{position:absolute;top:42%;z-index:6;width:140px;height:140px;margin:-70px 0 0 -70px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff5d2f2 0,#fff5d2f2 18%,#ffc85a8c 40%,#ffa02800 70%);animation:battle-impact .45s ease-out both}.battle-impact--at-boss{left:88%;animation-delay:.6s}.battle-impact--at-hero{left:10%;animation-delay:1.1s}@keyframes battle-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.01,1.025)}}@keyframes battle-lunge{0%{transform:translate(0)}35%{transform:translate(18px)}to{transform:translate(0)}}@keyframes battle-brace{0%{transform:translate(0)}60%{transform:translate(-10px)}to{transform:translate(-4px)}}@keyframes battle-cheer{0%{transform:translateY(0)}40%{transform:translateY(-16px)}to{transform:translateY(0)}}@keyframes battle-recoil{0%{transform:translate(0)}30%{transform:translate(16px) rotate(2deg)}to{transform:translate(0)}}@keyframes battle-fly-right{0%{left:12%;opacity:0}12%{opacity:1}92%{opacity:1}to{left:84%;opacity:0}}@keyframes battle-fly-left{0%{left:80%;opacity:0}12%{opacity:1}92%{opacity:1}to{left:8%;opacity:0}}@keyframes battle-impact{0%{transform:scale(.3);opacity:0}30%{opacity:1}to{transform:scale(1.3);opacity:0}}@media (max-width: 760px){.battle-duel-layout{grid-template-columns:minmax(90px,120px) minmax(0,1fr) minmax(110px,150px);gap:8px}.battle-hero{height:180px}.battle-hero:not(.battle-hero--profile){width:190px;height:190px;margin-inline:-35px}.battle-boss{height:160px}}@media (prefers-reduced-motion: reduce){.battle-hero,.battle-boss{animation:none!important}.battle-projectile,.battle-impact{display:none}}@font-face{font-family:Grenze;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/grenze-700-latin-DxOLm24a.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+FEFF,U+FFFD}@font-face{font-family:Grenze;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/grenze-700-latin-ext-C3Ym--Pw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg: #EFE6D1;--card: #F8F1E0;--ink: #35302E;--muted: #837A66;--line: #D8C8A4;--frame: #6B5B40;--primary: #4A56C6;--primary-shadow: #333C8E;--sun: #FFC94D;--sun-ink: #7A5A00;--coral: #FF7A6E;--mint: #3FA87A;--mint-shadow: #277A56;--boss: #8C6BC8;--ok: #3FA87A;--warn: #E8A13C;--err: #E2574C;--kid: var(--primary);--font: ui-rounded, -apple-system, "SF Pro Rounded", "Segoe UI", Roboto, sans-serif;--font-display: "Grenze", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--shadow-card: inset 0 1px 0 rgba(255, 255, 255, .65), 0 1px 0 rgba(107, 91, 64, .35), 0 4px 12px rgba(60, 46, 20, .16)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;overflow:hidden}html,body,#root{height:100%}html,body{background-color:#241c24}#root{background:var(--tex-parchment, none) center / cover,var(--bg)}body{margin:0;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}button{font-family:inherit;border:none;background:none;color:inherit;cursor:pointer;padding:0}button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:8px}input,textarea{font-family:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}h1,h2,h3,h4,.display{font-family:var(--font-display);letter-spacing:.2px}.card{background:linear-gradient(#f8f1e059,#f0e6cd80),var(--tex-parchment, none) center / cover,var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:14px 16px}.panel{background:linear-gradient(#f8f1e066,#f0e6cd8c),var(--tex-parchment, none) center / cover,var(--card);background-clip:padding-box;border:19px solid transparent;border-image:var(--tex-frame) 95 / 19px / 0 stretch;box-shadow:0 5px 14px #32240e47;padding:6px 12px}@supports not (border-image: url(x) 1 fill){.panel{border:1.5px solid var(--line);border-radius:var(--r-md);padding:14px 16px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;padding:12px 26px;font-weight:800;font-size:16px;border:2px solid #6E5426;color:#fcf4e2;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:transform .08s ease,box-shadow .08s ease}.btn:active{transform:translateY(3px)}.btn-primary{background:linear-gradient(#78522626,#23160866),var(--tex-wood, none) center / cover,#3a2a18;color:#ffe3a0;border:2px solid #8A6A38;box-shadow:inset 0 2px #ffd89659,inset 0 -5px 9px #00000073,0 4px #4a3820,0 7px 10px #140e0673;text-shadow:0 1px 2px rgba(0,0,0,.8)}.btn-primary:active{box-shadow:inset 0 2px #ffd89640,0 1px #4a3820}.btn-ok{background:linear-gradient(180deg,#5FCE9C 0%,var(--mint) 50%,#237552 100%);box-shadow:inset 0 2px #fff6,inset 0 -4px 7px #0000004d,0 4px #574321,0 7px 10px #1e160866}.btn-ok:active{box-shadow:inset 0 2px #ffffff40,0 1px #574321}.btn-ghost{background:linear-gradient(180deg,#f8f1e0,#e6d8bc);color:#5a4522;text-shadow:none;box-shadow:inset 0 2px #ffffffb3,0 4px #8a6a38,0 6px 9px #1e16084d}.btn-quiet{background:#fbf4e2;color:#6e6656;border:2px solid #D8D0BC;font-size:14px;padding:8px 16px;text-shadow:none}.btn:disabled{opacity:.5;pointer-events:none;filter:grayscale(.3)}.chip{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(180deg,#4a3a26,#362819);border:1.5px solid #8A6A38;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:800;color:#f3e4c4;text-shadow:0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px #ffdca04d,0 2px 3px #0000004d}.chip:active{transform:translateY(1px)}.keycap{transition:transform .06s ease,box-shadow .06s ease}.keycap:active:not(:disabled){transform:translateY(3px)}.keycap:disabled{opacity:.5;pointer-events:none}.wood-bar{background:linear-gradient(#1e120847,#1e120847),var(--tex-wood, none) center / cover,#2a1d10;border-bottom:3px solid #8A6A38;box-shadow:0 3px 10px #00000059,inset 0 -1px #ffd28c40}.map-node{transition:transform .12s ease}button:hover>.map-node{transform:scale(1.06)}button:active>.map-node{transform:scale(.96) translateY(2px)}.pbar{height:10px;border-radius:99px;background:#dcceaa;box-shadow:inset 0 1px 3px #46381c66;overflow:hidden}.pbar>i{display:block;height:100%;border-radius:99px;background:linear-gradient(180deg,#55BE90,var(--mint));transition:width .4s ease}.screen-fade{animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.12)}to{transform:scale(1)}}.pop{animation:pop .35s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.shake{animation:shake .3s ease}@keyframes bounce-in{0%{transform:scale(0) translateY(40px);opacity:0}60%{transform:scale(1.15) translateY(-6px);opacity:1}to{transform:scale(1) translateY(0)}}.bounce-in{animation:bounce-in .6s cubic-bezier(.2,.8,.3,1.2) both}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.float-soft{animation:float-soft 2.6s ease-in-out infinite}@keyframes mist-drift{0%{transform:translate(-50%,-50%) translate(0) scale(1)}50%{transform:translate(-50%,-50%) translate(3.5%,-2.5%) scale(1.08)}to{transform:translate(-50%,-50%) translate(0) scale(1)}}.mist-blob{animation:mist-drift ease-in-out infinite;will-change:transform}@keyframes pulse-ring{0%{box-shadow:0 0 0 4px #fff,0 0 0 8px #ffc94d73,0 4px #00000026}50%{box-shadow:0 0 0 4px #fff,0 0 0 16px #ffc94d2e,0 4px #00000026}to{box-shadow:0 0 0 4px #fff,0 0 0 8px #ffc94d73,0 4px #00000026}}.pulse-ring{animation:pulse-ring 1.8s ease-in-out infinite}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 5px rgba(255,201,77,.95)) drop-shadow(0 3px 4px rgba(0,0,0,.45))}50%{filter:drop-shadow(0 0 16px rgba(255,201,77,.65)) drop-shadow(0 3px 4px rgba(0,0,0,.45))}}.pulse-glow{animation:pulse-glow 1.8s ease-in-out infinite}@keyframes shake-hard{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-7px,3px) rotate(-4deg)}40%{transform:translate(6px,-4px) rotate(3deg)}60%{transform:translate(-5px,-3px) rotate(-2deg)}80%{transform:translate(4px,3px) rotate(2deg)}}.shake-hard{animation:shake-hard .45s ease}@keyframes cloud-drift{0%{transform:translate(-8vw)}to{transform:translate(108vw)}}.cloud{position:absolute;font-size:34px;opacity:.8;animation:cloud-drift linear infinite;pointer-events:none}@keyframes sparkle{0%,to{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}.sparkle{position:absolute;animation:sparkle 1.6s ease-in-out infinite;pointer-events:none}@keyframes pop-big{0%{transform:scale(.3);opacity:0}55%{transform:scale(1.25);opacity:1}to{transform:scale(1)}}.pop-big{animation:pop-big .5s cubic-bezier(.2,.8,.3,1.3) both}@keyframes ray-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes splash-fade{to{opacity:0;visibility:hidden}}@keyframes splash-load{0%{width:8%;margin-left:0}50%{width:62%}to{width:8%;margin-left:92%}}.splash-load{animation:splash-load 1.9s ease-in-out infinite}@keyframes splash-cta{0%,to{transform:scale(1);filter:drop-shadow(0 0 4px rgba(255,210,110,.5))}50%{transform:scale(1.045);filter:drop-shadow(0 0 16px rgba(255,210,110,.9))}}.splash-cta{animation:splash-cta 1.9s ease-in-out infinite}@keyframes mote-drift{0%{transform:translate(0);opacity:0}20%{opacity:1}50%{transform:translate(var(--dx, 14px),var(--dy, -18px))}80%{opacity:1}to{transform:translate(0);opacity:0}}.mote{position:absolute;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle,var(--glow, #FFE27A) 0%,rgba(255,255,255,0) 70%);pointer-events:none;animation:mote-drift var(--dur, 6s) ease-in-out infinite}@keyframes glint-twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}.glint{position:absolute;width:6px;height:6px;pointer-events:none;background:radial-gradient(circle,var(--glow, #fff) 0%,rgba(255,255,255,0) 72%);animation:glint-twinkle var(--dur, 3s) ease-in-out infinite}@keyframes flake-fall{0%{transform:translateY(-6px);opacity:0}15%{opacity:.9}to{transform:translate(var(--dx, 10px),var(--dy, 70px));opacity:0}}.flake{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffffffe6;pointer-events:none;animation:flake-fall var(--dur, 7s) linear infinite}@keyframes drift-ltr{0%{left:-14%}to{left:114%}}@keyframes drift-rtl{0%{left:114%}to{left:-14%}}@keyframes bob-y{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes flutter{0%,to{transform:scaleX(1)}50%{transform:scaleX(.5)}}@keyframes leaf-fall{0%{transform:translateY(-20%) rotate(0);opacity:0}10%{opacity:.9}90%{opacity:.9}to{transform:translateY(340px) rotate(340deg);opacity:0}}@keyframes fish-leap{0%,66%,to{transform:translateY(48px) scaleY(.85);opacity:0}74%{opacity:1}82%{transform:translateY(-12px) scaleY(1);opacity:1}90%{opacity:.5}}@keyframes boss-enter{0%{opacity:0;transform:scale(.4) translateY(24px)}60%{opacity:1;transform:scale(1.08) translateY(-4px)}to{transform:scale(1) translateY(0)}}.boss-enter{animation:boss-enter .6s cubic-bezier(.2,.8,.3,1.35) both}@keyframes hit-flash{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.7)}}.hit-flash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;z-index:3;background:radial-gradient(circle,#ffe896f2,#ffb43c00 68%);animation:hit-flash .5s ease-out forwards}@keyframes shard-fly{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-62px) scale(.35)}}.shard-spoke{position:absolute;left:50%;top:50%;z-index:4;pointer-events:none}.shard-spoke>i{display:block;width:9px;height:9px;margin:-4.5px;border-radius:2px;background:linear-gradient(180deg,#fff0c0,#ffc94d);box-shadow:0 0 6px #ffc94de6;animation:shard-fly .55s ease-out forwards}@keyframes letter-pop{0%{transform:translateY(26px) scale(.6);opacity:0}70%{transform:translateY(-4px) scale(1.1);opacity:1}to{transform:translateY(0) scale(1)}}.letter-pop{display:inline-block;animation:letter-pop .5s cubic-bezier(.2,.8,.3,1.25) both}
