/* Pip wardrobe drop announcement. Every animation uses transform or opacity only. */
.wd-show{position:relative;overflow:hidden;padding:64px 0 72px;color:#EAF1FF;background:radial-gradient(1200px 520px at 50% -10%,#2B4A8C 0%,rgba(43,74,140,0) 70%),linear-gradient(180deg,#12234A 0%,#0B1733 100%)}
.wd-show:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1.2px,transparent 1.4px);background-size:22px 22px;pointer-events:none}
.wd-show .wrap{position:relative}
.wd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.wd-eyebrow{display:inline-block;font:900 12px/1 Nunito,system-ui,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#FFD84A;margin-bottom:10px}
.wd-show h2{font-family:"Lilita One",Nunito,system-ui,sans-serif;font-weight:400;font-size:clamp(32px,5vw,52px);line-height:1;letter-spacing:.3px;margin:0;color:#fff}
.wd-head p,.wd-more-copy p{margin:10px 0 0;font-size:17px;font-weight:700;color:#B9C9E6;max-width:520px}
.wd-legend{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.wd-legend li{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font:800 13px Nunito,system-ui,sans-serif;color:#DCE6F8}
.wd-legend li:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--rc)}
.r-common{--rc:#9AAAC0;--rt:#1B2842;--rt2:#223252}
.r-rare{--rc:#3A9BFF;--rt:#0F2A55;--rt2:#123670}
.r-epic{--rc:#A774FF;--rt:#231852;--rt2:#2E1F6B}
.r-legendary{--rc:#FFB627;--rt:#33240B;--rt2:#4A3411}

.wd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:16px;list-style:none;margin:0;padding:0}
.wd-grid>li{min-width:0}
.wd-card{position:relative;display:flex;flex-direction:column;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:22px;background:var(--rc);color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden;isolation:isolate;box-shadow:0 14px 30px -18px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.04);transition:transform .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
.wd-card:after{content:"";position:absolute;inset:2px;border-radius:20px;background:linear-gradient(170deg,var(--rt2),var(--rt) 70%);z-index:-1}
.wd-card.r-legendary:before{content:"";position:absolute;left:50%;top:50%;width:160%;aspect-ratio:1;margin:-80% 0 0 -80%;background:conic-gradient(from 0deg,#FFB627,#FFF1B8,#FF7A1A,#FFB627 40%,#7A4A00 60%,#FFE17A 80%,#FFB627);z-index:-2;animation:wdSpin 5s linear infinite}
.wd-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -18px rgba(0,0,0,.85),0 0 30px -8px var(--rc)}
.wd-card:focus-visible{outline:3px solid #FFD84A;outline-offset:4px}
.wd-card:active{transform:translateY(-1px) scale(.985)}
.wd-stage{position:relative;display:block;aspect-ratio:1/1;margin:2px 2px 0;border-radius:20px 20px 0 0;background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--rc) 34%,transparent) 0%,transparent 62%);overflow:hidden}
.wd-pip{display:block;width:100%;height:100%;padding:9% 5% 1%;overflow:visible}
.wd-info{display:flex;flex-direction:column;gap:8px;padding:12px 14px 15px;margin:0 2px 2px}
.wd-name{font-family:"Lilita One",Nunito,system-ui,sans-serif;font-size:20px;line-height:1.08;color:#fff;letter-spacing:.2px}
.wd-tags{display:flex;gap:5px;flex-wrap:wrap}
.wd-tags>span{font:900 10.5px/1 Nunito,system-ui,sans-serif;letter-spacing:.6px;text-transform:uppercase;padding:5px 7px;border-radius:6px;background:rgba(255,255,255,.09);color:#C9D6EE}
.wd-tags .wd-rar{background:var(--rc);color:#0B1733}
.wd-say{position:absolute;left:50%;top:9%;z-index:3;padding:6px 11px 5px;border-radius:10px;background:#FFD84A;color:#1A1300;font:400 16px/1 "Lilita One",Nunito,sans-serif;letter-spacing:.5px;white-space:nowrap;box-shadow:0 4px 0 #B8860B,0 10px 20px -6px rgba(0,0,0,.6);opacity:0;transform:translate(-50%,10px) scale(.6);pointer-events:none}
.wd-card.is-tap .wd-say{animation:wdSay 1.2s cubic-bezier(.2,1.4,.4,1) both}

/* ---------- SVG rig ---------- */
.wd-pip g{transform-box:view-box}
.wd-rig,.wd-act{transform-origin:100px 196px}
.wd-shadow{transform-origin:100px 196px}
.wd-eyes{transform-origin:100px 120px;animation:wdBlink var(--blink) var(--blink-delay) infinite}
.wd-sprout{transform-origin:100px 80px;animation:wdSprout 2.8s var(--delay) ease-in-out infinite}
.wd-card:not(.is-live) *,.wd-card:not(.is-live):before{animation-play-state:paused!important}

.idle-bob .wd-rig{animation:wdBob var(--dur) var(--delay) ease-in-out infinite}
.idle-float .wd-rig{animation:wdFloat var(--dur) var(--delay) ease-in-out infinite}
.idle-wobble .wd-rig{animation:wdWobble var(--dur) var(--delay) ease-in-out infinite}
.idle-bounce .wd-rig{animation:wdBounce var(--dur) var(--delay) cubic-bezier(.3,0,.3,1) infinite}
.idle-sway .wd-rig{animation:wdSway var(--dur) var(--delay) ease-in-out infinite}
.idle-hop8 .wd-rig{animation:wdHop8 var(--dur) var(--delay) steps(1,end) infinite}
.idle-breathe .wd-rig{animation:wdBreathe var(--dur) var(--delay) ease-in-out infinite}
.idle-hover .wd-rig{animation:wdHover var(--dur) var(--delay) ease-in-out infinite}
.idle-zerog .wd-rig{animation:wdZeroG calc(var(--dur) * 1.6) var(--delay) ease-in-out infinite}
.idle-beat .wd-rig{animation:wdBeat var(--dur) var(--delay) ease-out infinite}
.idle-bob .wd-shadow,.idle-float .wd-shadow,.idle-hover .wd-shadow,.idle-zerog .wd-shadow{animation:wdShadow var(--dur) var(--delay) ease-in-out infinite}
.idle-zerog .wd-shadow{animation-duration:calc(var(--dur) * 1.6)}

.tap-jumpspin.is-tap .wd-act{animation:wdJumpSpin .95s cubic-bezier(.3,0,.3,1) both}
.tap-squash.is-tap .wd-act{animation:wdSquash .8s cubic-bezier(.3,0,.3,1) both}
.tap-shake.is-tap .wd-act{animation:wdShake .6s linear both}
.tap-bow.is-tap .wd-act{animation:wdBow 1.1s ease-in-out both}
.tap-fly.is-tap .wd-act{animation:wdFly 1.2s cubic-bezier(.3,0,.3,1) both}
.tap-liftoff.is-tap .wd-act{animation:wdLiftoff 1.2s cubic-bezier(.5,0,.3,1) both}
.tap-doublejump.is-tap .wd-act{animation:wdDouble 1.1s ease-out both}
.tap-spin.is-tap .wd-act{animation:wdSpinTap 1.1s cubic-bezier(.4,0,.2,1) both}
.tap-glitch.is-tap .wd-act{animation:wdGlitch .7s steps(1,end) both}
.tap-punch.is-tap .wd-act{animation:wdSquash .8s cubic-bezier(.3,0,.3,1) both}
.tap-swing.is-tap .wd-act{animation:wdSquash .8s cubic-bezier(.3,0,.3,1) both}
.is-tap .wd-shadow{animation:wdShadowTap 1s ease-out both!important}

/* ---------- item effects ---------- */
/* Times Table Gauntlet */
[data-item="times-table-gauntlet"] .fx-cells rect{opacity:0;animation:wdCell 1.8s calc(var(--i) * -.2s) steps(1,end) infinite}
[data-item="times-table-gauntlet"] .fx-glow{opacity:.35;animation:wdPulse 1.6s ease-in-out infinite}
[data-item="times-table-gauntlet"] .fx-nums{opacity:0}
[data-item="times-table-gauntlet"].is-tap .wd-item{animation:wdPunch .7s cubic-bezier(.2,1.3,.4,1) both}
[data-item="times-table-gauntlet"].is-tap .fx-glow{animation:wdBigGlow 1s ease-out both}
[data-item="times-table-gauntlet"].is-tap .fx-nums{animation:wdRise 1.1s ease-out both}
/* Protractor Shield */
[data-item="protractor-shield"] .fx-needle{animation:wdNeedle 3.4s var(--delay) ease-in-out infinite}
[data-item="protractor-shield"] .fx-ball,[data-item="protractor-shield"] .fx-ring{opacity:0}
[data-item="protractor-shield"].is-tap .wd-item,[data-item="protractor-shield"].is-tap .fx-needle{animation:wdBlock .9s cubic-bezier(.2,1.3,.4,1) both}
[data-item="protractor-shield"].is-tap .fx-ball{animation:wdBall .9s ease-out both}
[data-item="protractor-shield"].is-tap .fx-ring{animation:wdRing .7s .18s ease-out both}
/* Storm Cap */
[data-item="storm-cap"] .fx-rain path{animation:wdRain 1s var(--d) linear infinite}
[data-item="storm-cap"] .fx-bolt{opacity:0;animation:wdFlicker 3.2s var(--delay) linear infinite}
[data-item="storm-cap"] .fx-flash,[data-item="bottled-lightning"] .fx-flash{opacity:0}
[data-item="storm-cap"].is-tap .fx-bolt{animation:wdZap .9s ease-out both}
[data-item="storm-cap"].is-tap .fx-flash,[data-item="bottled-lightning"].is-tap .fx-flash{animation:wdFlash .6s ease-out both}
/* sparkles shared */
.fx-sparks>g,.fx-stars>g{opacity:0;animation:wdTwinkle 2.6s var(--d) ease-in-out infinite}
.is-tap .fx-sparks>g{animation:wdBurst .9s ease-out both}
/* Pixel Crown */
[data-item="pixel-crown"].is-tap .wd-item{animation:wdCrownPop .95s cubic-bezier(.2,1.3,.4,1) both}
/* Thinking Cap */
.fx-gear{animation:wdSpin 6s linear infinite}
.fx-gear1{animation-direction:reverse;animation-duration:4.4s}
.fx-gear2{animation-duration:3s}
[data-item="thinking-cap"] .fx-bulb{animation:wdBulb 2.4s var(--delay) ease-in-out infinite}
[data-item="thinking-cap"] .fx-rays{opacity:0}
[data-item="thinking-cap"].is-tap .fx-rays{animation:wdRays .9s ease-out both}
[data-item="thinking-cap"].is-tap .fx-bulb{animation:wdBigGlow .9s ease-out both}
[data-item="thinking-cap"].is-tap .fx-gear{animation-duration:.6s}
/* Homework Glider */
[data-item="homework-glider"] .wd-back{animation:wdGlide 3s var(--delay) ease-in-out infinite}
.fx-wind path{opacity:0;animation:wdWind 2.2s var(--d) linear infinite}
/* Brass Diver */
.fx-bubbles circle{opacity:0;animation:wdBubble 3.2s var(--d) ease-in infinite}
.is-tap .fx-bubbles circle{animation-duration:.9s}
/* Astro Dome */
.fx-glint{animation:wdGlint 4.5s var(--delay) ease-in-out infinite}
.fx-blink{animation:wdBeacon 1.4s steps(1,end) infinite}
/* Laser Visor */
.fx-beam{animation:wdBeam 2.6s var(--delay) ease-in-out infinite}
.fx-scan{animation:wdScan 2.2s var(--delay) ease-in-out infinite}
.fx-target{opacity:0}
[data-item="laser-visor"].is-tap .fx-beam{animation:wdBeamLock 1s ease-out both}
[data-item="laser-visor"].is-tap .fx-target{animation:wdTarget 1s ease-out both}
/* Pencil Crown */
[data-item="pencil-crown"] .wd-item{animation:wdTilt 3.2s var(--delay) ease-in-out infinite}
/* Dragon Wings */
.fx-wingL{animation:wdFlapL 1.6s var(--delay) ease-in-out infinite}
.fx-wingR{animation:wdFlapR 1.6s var(--delay) ease-in-out infinite}
.is-tap .fx-wingL,.is-tap .fx-wingR{animation-duration:.3s}
/* Twin Jetpack + Rocket Boots */
.fx-flames>g{animation:wdFlame .22s ease-in-out infinite alternate}
.fx-flames>g:nth-child(2){animation-delay:-.11s}
.is-tap .fx-flames>g{animation:wdFlameBig .2s ease-in-out infinite alternate}
/* Plasma Blade */
.fx-hum{animation:wdHum .18s linear infinite alternate}
.fx-arc{opacity:0}
[data-item="plasma-blade"].is-tap .wd-item{animation:wdSwing .75s cubic-bezier(.3,0,.3,1) both}
[data-item="plasma-blade"].is-tap .fx-arc{animation:wdArc .75s ease-out both}
/* Neptune Trident */
.fx-gem{animation:wdPulse 1.8s ease-in-out infinite}
.fx-waves>g{opacity:0}
[data-item="neptune-trident"].is-tap .wd-item{animation:wdRaise .9s cubic-bezier(.2,1.3,.4,1) both}
[data-item="neptune-trident"].is-tap .fx-waves>g{animation:wdWave 1s calc(var(--k) * .15s) ease-out both}
/* Pocket Dragon */
[data-item="pocket-dragon"] .wd-back,[data-item="pocket-dragon"] .wd-item{animation:wdPerch 2s var(--delay) ease-in-out infinite}
.fx-fire{opacity:0;animation:wdBreath 3.4s var(--delay) ease-out infinite}
[data-item="pocket-dragon"].is-tap .fx-fire{animation:wdBreathBig 1s ease-out both}
/* Equation Ring */
.fx-eq{animation:wdEq 2.4s calc(var(--k) * -.34s) ease-in-out infinite}
[data-item="equation-ring"].is-tap .fx-eq{animation:wdEqPop .8s calc(var(--k) * .06s) cubic-bezier(.2,1.4,.4,1) both}
/* Neon VR Visor */
.fx-pixels rect{opacity:0;animation:wdPix 2s var(--d) steps(1,end) infinite}
/* Pi Chain */
.fx-pend{animation:wdPend 2.2s var(--delay) ease-in-out infinite}
[data-item="pi-chain"].is-tap .fx-pend-in{animation:wdFlip .8s ease-in-out both}
/* Bottled Lightning */
.fx-halo{animation:wdHalo 1.2s ease-in-out infinite}
.fx-crackle path{opacity:0;animation:wdCrackle 1.6s var(--d) steps(1,end) infinite}
[data-item="bottled-lightning"].is-tap .wd-item{animation:wdRaise .8s cubic-bezier(.2,1.3,.4,1) both}
/* Scholar Owl */
[data-item="scholar-owl"] .wd-item{animation:wdOwl 3s var(--delay) ease-in-out infinite}
[data-item="scholar-owl"].is-tap .wd-item{animation:wdOwlHop .8s cubic-bezier(.2,1.3,.4,1) both}
/* Riff Guitar */
.fx-notes>g{opacity:0;animation:wdNote 2.4s var(--d) ease-out infinite}
.is-tap .fx-notes>g{animation-duration:.8s}
/* Koi Pair */
.fx-koiA{animation:wdKoiA 4s var(--delay) ease-in-out infinite}
.fx-koiB{animation:wdKoiB 4s var(--delay) ease-in-out infinite}
/* Drip Bucket */
[data-item="drip-bucket"].is-tap .wd-item{animation:wdTip .8s cubic-bezier(.2,1.3,.4,1) both}

/* ---------- locked teaser ---------- */
.wd-more{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:32px;align-items:center;margin-top:56px;padding:28px;border-radius:26px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.wd-locked{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0}
.wd-lock{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.wd-lock-art{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:16px;background:linear-gradient(160deg,#1C2C52,#111D3A);border:1px dashed rgba(255,255,255,.18);overflow:hidden}
.wd-sil-svg{width:86%;height:86%;filter:brightness(0) invert(.8);opacity:.28;animation:wdSil 3.6s calc(var(--k) * -.3s) ease-in-out infinite}
.wd-lock-art:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.12) 50%,transparent 65%);transform:translateX(-100%);animation:wdSheen 3.8s calc(var(--k, 0) * .25s) ease-in-out infinite}
.wd-q{position:absolute;right:7px;top:5px;font:400 17px/1 "Lilita One",sans-serif;color:#FFD84A;opacity:.9}
.wd-lock-label{font:900 10.5px Nunito,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#7F93B8}
.wd-lock-count .wd-lock-art{border-style:solid;border-color:rgba(255,216,74,.45);background:linear-gradient(160deg,#3A2C0B,#1F1706)}
.wd-count{display:flex;flex-direction:column;align-items:center;line-height:1;color:#FFD84A}
.wd-count b{font:400 30px/1 "Lilita One",sans-serif}
.wd-count span{font:900 11px Nunito,sans-serif;text-transform:uppercase;letter-spacing:1px;margin-top:4px}
.wd-callout{background:linear-gradient(135deg,#fff8e4,#eef4ff);border-color:#f2dfae}
.wd-callout strong{color:#8a5a00}

/* ---------- responsive ---------- */
@media (max-width:1100px){.wd-more{grid-template-columns:1fr;gap:22px}}
@media (max-width:640px){
  .wd-show{padding:44px 0 52px}
  .wd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .wd-card,.wd-card:after{border-radius:18px}.wd-card:after{border-radius:16px}
  .wd-stage{border-radius:16px 16px 0 0}
  .wd-info{padding:9px 10px 12px;gap:6px}
  .wd-name{font-size:16.5px}
  .wd-tags>span{font-size:9.5px;padding:4px 6px}
  .wd-tags .wd-set{display:none}
  .wd-say{font-size:13px;padding:5px 8px 4px}
  .wd-more{padding:20px 16px;margin-top:40px}
  .wd-locked{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .wd-head p,.wd-more-copy p{font-size:15.5px}
  .wd-legend li{font-size:12px;padding:6px 10px}
}

/* ---------- keyframes ---------- */
@keyframes wdSpin{to{transform:rotate(360deg)}}
@keyframes wdBlink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@keyframes wdSprout{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(9deg)}}
@keyframes wdBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes wdFloat{0%,100%{transform:translateY(-2px) rotate(-2deg)}50%{transform:translateY(-13px) rotate(2deg)}}
@keyframes wdWobble{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes wdBounce{0%,100%{transform:translateY(0) scale(1.06,.94)}15%{transform:translateY(0) scale(.96,1.05)}45%{transform:translateY(-16px) scale(.98,1.02)}75%{transform:translateY(0) scale(1.04,.96)}}
@keyframes wdSway{0%,100%{transform:translateX(-4px) rotate(-3deg)}50%{transform:translateX(4px) rotate(3deg)}}
@keyframes wdHop8{0%{transform:translateY(0)}25%{transform:translateY(-6px)}50%{transform:translateY(-10px)}75%{transform:translateY(-4px)}}
@keyframes wdBreathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.04,.96)}}
@keyframes wdHover{0%,100%{transform:translateY(-10px)}50%{transform:translateY(-18px)}}
@keyframes wdZeroG{0%,100%{transform:translate(0,-6px) rotate(-6deg)}50%{transform:translate(3px,-16px) rotate(6deg)}}
@keyframes wdBeat{0%{transform:translateY(0) rotate(0)}20%{transform:translateY(-5px) rotate(-3deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes wdShadow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.82);opacity:.7}}
@keyframes wdShadowTap{0%,100%{transform:scale(1);opacity:1}35%{transform:scale(.6);opacity:.5}}
@keyframes wdJumpSpin{0%{transform:translateY(0) scale(1.1,.88)}18%{transform:translateY(-10px) scale(.9,1.12)}55%{transform:translateY(-44px) rotate(360deg) scale(1)}80%{transform:translateY(0) rotate(360deg) scale(1.12,.88)}100%{transform:translateY(0) rotate(360deg) scale(1)}}
@keyframes wdSquash{0%{transform:scale(1)}15%{transform:scale(1.18,.8)}40%{transform:translateY(-22px) scale(.88,1.14)}65%{transform:translateY(0) scale(1.1,.9)}82%{transform:scale(.97,1.03)}100%{transform:scale(1)}}
@keyframes wdShake{0%,100%{transform:translateX(0)}10%{transform:translateX(-6px) rotate(-3deg)}20%{transform:translateX(6px) rotate(3deg)}30%{transform:translateX(-5px)}40%{transform:translateX(5px)}50%{transform:translateX(-3px)}60%{transform:translateX(3px)}}
@keyframes wdBow{0%,100%{transform:rotate(0)}30%,60%{transform:translateY(6px) rotate(-16deg) scale(1,.96)}80%{transform:translateY(-8px) rotate(3deg)}}
@keyframes wdFly{0%{transform:translateY(0)}20%{transform:translateY(6px) scale(1.08,.92)}50%{transform:translate(8px,-46px) rotate(8deg)}75%{transform:translate(-4px,-30px) rotate(-5deg)}100%{transform:translate(0,0)}}
@keyframes wdLiftoff{0%{transform:translateY(0)}15%{transform:translateY(5px) scale(1.06,.94)}55%{transform:translateY(-70px)}70%{transform:translateY(-70px)}100%{transform:translateY(0)}}
@keyframes wdDouble{0%{transform:translateY(0)}25%{transform:translateY(-34px)}38%{transform:translateY(-22px)}60%{transform:translateY(-58px) rotate(-8deg)}100%{transform:translateY(0)}}
@keyframes wdSpinTap{0%{transform:rotate(0) scale(1)}50%{transform:translateY(-20px) rotate(200deg) scale(.9)}100%{transform:rotate(360deg) scale(1)}}
@keyframes wdGlitch{0%{transform:translate(0)}10%{transform:translate(-7px,2px) skewX(8deg)}20%{transform:translate(6px,-2px)}30%{transform:translate(-3px,0) skewX(-10deg)}40%{transform:translate(5px,3px)}50%{transform:translate(0) scale(1.06)}65%{transform:translate(-4px,0)}80%{transform:translate(2px,0)}100%{transform:translate(0)}}
@keyframes wdSay{0%{opacity:0;transform:translate(-50%,10px) scale(.6)}25%{opacity:1;transform:translate(-50%,0) scale(1.08)}40%{transform:translate(-50%,0) scale(1)}80%{opacity:1;transform:translate(-50%,-4px) scale(1)}100%{opacity:0;transform:translate(-50%,-12px) scale(.9)}}
@keyframes wdCell{0%,100%{opacity:0}40%{opacity:.85}55%{opacity:0}}
@keyframes wdPulse{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.9;transform:scale(1.1)}}
@keyframes wdBigGlow{0%{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(2.4)}100%{opacity:.35;transform:scale(1)}}
@keyframes wdPunch{0%{transform:translate(0)}20%{transform:translate(-6px,4px)}45%{transform:translate(18px,-10px) scale(1.18)}100%{transform:translate(0)}}
@keyframes wdRise{0%{opacity:0;transform:translateY(10px)}25%{opacity:1}100%{opacity:0;transform:translateY(-26px)}}
@keyframes wdNeedle{0%,100%{transform:rotate(10deg)}50%{transform:rotate(170deg)}}
@keyframes wdBlock{0%{transform:translate(0)}30%{transform:translate(-6px,-26px) scale(1.25)}60%{transform:translate(-2px,-22px) scale(1.2)}100%{transform:translate(0) scale(1)}}
@keyframes wdBall{0%{opacity:1;transform:translate(-30px,-40px)}30%{opacity:1;transform:translate(26px,-10px)}100%{opacity:0;transform:translate(-40px,-90px) rotate(-200deg)}}
@keyframes wdRing{0%{opacity:.9;transform:translateY(-20px) scale(.4)}100%{opacity:0;transform:translateY(-20px) scale(1.6)}}
@keyframes wdRain{0%{opacity:0;transform:translateY(0)}20%{opacity:1}100%{opacity:0;transform:translateY(26px)}}
@keyframes wdFlicker{0%,70%,74%,78%,100%{opacity:0}71%,76%{opacity:1}}
@keyframes wdZap{0%{opacity:1;transform:scale(1)}20%{opacity:1;transform:scale(1.6)}40%{opacity:.2}55%{opacity:1;transform:scale(1.4)}100%{opacity:0;transform:scale(1)}}
@keyframes wdFlash{0%{opacity:0}12%{opacity:.75}30%{opacity:0}45%{opacity:.5}100%{opacity:0}}
@keyframes wdTwinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
@keyframes wdBurst{0%{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1.8) rotate(90deg)}100%{opacity:0;transform:scale(.6) rotate(180deg)}}
@keyframes wdCrownPop{0%{transform:translateY(0)}35%{transform:translateY(-30px) rotate(-12deg) scale(1.1)}60%{transform:translateY(-24px) rotate(10deg) scale(1.1)}100%{transform:translateY(0)}}
@keyframes wdBulb{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@keyframes wdRays{0%{opacity:0;transform:scale(.4)}35%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(1.5)}}
@keyframes wdGlide{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-4px)}}
@keyframes wdWind{0%{opacity:0;transform:translateX(30px)}30%{opacity:.9}100%{opacity:0;transform:translateX(-50px)}}
@keyframes wdBubble{0%{opacity:0;transform:translateY(10px) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-70px) scale(1.2)}}
@keyframes wdGlint{0%,55%{transform:translateX(-60px)}85%,100%{transform:translateX(180px)}}
@keyframes wdBeacon{0%,100%{opacity:0}50%{opacity:1}}
@keyframes wdBeam{0%,100%{transform:rotate(-12deg);opacity:.7}50%{transform:rotate(12deg);opacity:1}}
@keyframes wdScan{0%,40%{transform:translateX(0)}80%,100%{transform:translateX(150px)}}
@keyframes wdBeamLock{0%{transform:rotate(0) scaleX(1)}30%{transform:rotate(0) scaleX(1.25);opacity:1}100%{transform:rotate(0) scaleX(1);opacity:.8}}
@keyframes wdTarget{0%{opacity:0;transform:scale(2) rotate(-90deg)}35%{opacity:1;transform:scale(1) rotate(0)}80%{opacity:1}100%{opacity:0}}
@keyframes wdTilt{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes wdFlapL{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg)}}
@keyframes wdFlapR{0%,100%{transform:rotate(0)}50%{transform:rotate(14deg)}}
@keyframes wdFlame{from{transform:scaleY(.8) scaleX(.95);opacity:.85}to{transform:scaleY(1.12) scaleX(1.05);opacity:1}}
@keyframes wdFlameBig{from{transform:scaleY(1.3)}to{transform:scaleY(1.8)}}
@keyframes wdHum{from{opacity:.35}to{opacity:.75}}
@keyframes wdSwing{0%{transform:rotate(0)}30%{transform:rotate(22deg)}60%{transform:rotate(-58deg)}100%{transform:rotate(0)}}
@keyframes wdArc{0%{opacity:0;transform:rotate(30deg)}45%{opacity:1;transform:rotate(-10deg)}100%{opacity:0;transform:rotate(-40deg)}}
@keyframes wdRaise{0%{transform:translateY(0)}35%{transform:translateY(-22px) scale(1.08)}100%{transform:translateY(0)}}
@keyframes wdWave{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(1.5)}}
@keyframes wdPerch{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes wdBreath{0%,62%,100%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1)}84%{opacity:0;transform:scale(1.2)}}
@keyframes wdBreathBig{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(2)}70%{opacity:1;transform:scale(2.2)}100%{opacity:0;transform:scale(2.6)}}
@keyframes wdEq{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes wdEqPop{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-22px) scale(1.2)}100%{transform:translateY(0) scale(1)}}
@keyframes wdPix{0%,100%{opacity:0}30%{opacity:1}45%{opacity:0}60%{opacity:.8}70%{opacity:0}}
@keyframes wdPend{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@keyframes wdFlip{0%{transform:scaleX(1)}25%{transform:scaleX(-1) scale(1.2)}50%{transform:scaleX(1) scale(1.3)}75%{transform:scaleX(-1) scale(1.2)}100%{transform:scaleX(1)}}
@keyframes wdHalo{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:.9;transform:scale(1.1)}}
@keyframes wdCrackle{0%,100%{opacity:0}10%{opacity:1}20%{opacity:0}28%{opacity:1}34%{opacity:0}}
@keyframes wdOwl{0%,70%,100%{transform:rotate(0)}78%{transform:rotate(-14deg)}88%{transform:rotate(10deg)}}
@keyframes wdOwlHop{0%{transform:translateY(0)}40%{transform:translateY(-26px) rotate(-10deg)}70%{transform:translateY(0) scale(1.1,.9)}100%{transform:translateY(0)}}
@keyframes wdNote{0%{opacity:0;transform:translateY(10px) rotate(-10deg)}25%{opacity:1}100%{opacity:0;transform:translateY(-34px) rotate(12deg)}}
@keyframes wdKoiA{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(10px,-8px) rotate(8deg)}}
@keyframes wdKoiB{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-10px,6px) rotate(-8deg)}}
@keyframes wdTip{0%{transform:rotate(0)}35%{transform:translateY(-10px) rotate(-14deg)}65%{transform:rotate(6deg)}100%{transform:rotate(0)}}
@keyframes wdSil{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes wdSheen{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

@media (prefers-reduced-motion:reduce){
  .wd-show *,.wd-show *:before,.wd-show *:after,.wd-card:before{animation:none!important;transition:none!important}
  .wd-card.is-tap .wd-say{animation:wdSayFade .9s ease both!important}
  .wd-card:hover,.wd-card:active{transform:none}
}
@keyframes wdSayFade{0%{opacity:0;transform:translate(-50%,0)}20%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,0)}}

/* ---------- article extras + hero art ---------- */
.wd-callout{margin:34px 0;padding:22px 24px;border:1px solid #f2dfae;border-radius:20px}
.wd-callout strong{display:block;margin-bottom:6px;font-size:18px}
.wd-callout p{margin:0}
.wd-cta{margin:40px 0 0;padding:32px 34px;border-radius:26px;color:#fff;background:radial-gradient(600px 260px at 90% 0%,#2B4A8C,transparent 70%),#0C1C2E}
.wd-cta .eyebrow{display:block;font:900 12px Nunito,sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:#FFD84A}
.wd-cta h2{color:#fff;margin:8px 0 6px}
.wd-cta p{color:#D8E3EE;margin:0}
.ih-hero.post{position:relative;overflow:hidden}
.wd-hero-art{position:absolute;right:max(24px,calc(50% - 600px));top:50%;width:300px;height:300px;margin-top:-150px;pointer-events:none}
.wd-hero-art:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,#FFE9A8 0%,rgba(255,233,168,0) 70%)}
.wd-hero-art svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;animation:wdHeroCycle 9s infinite}
.wd-hero-art svg:nth-child(2){animation-delay:3s}.wd-hero-art svg:nth-child(3){animation-delay:6s}
.wd-hero-art .wd-rig{animation:wdBob 2.6s ease-in-out infinite}
@keyframes wdHeroCycle{0%{opacity:0;transform:scale(.85) rotate(-6deg)}6%,30%{opacity:1;transform:scale(1) rotate(0)}36%,100%{opacity:0;transform:scale(1.08) rotate(4deg)}}
@media (max-width:1000px){.wd-hero-art{display:none}}
@media (prefers-reduced-motion:reduce){.wd-hero-art svg,.wd-hero-art .wd-rig,.wd-hero-art .wd-eyes,.wd-hero-art .wd-sprout{animation:none}.wd-hero-art svg:first-child{opacity:1}}

/* ---------- how to get them ---------- */
.wd-drop{position:absolute;right:8px;top:8px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 6px;border-radius:999px;background:linear-gradient(135deg,#FFE17A,#FFB627);color:#3A2500;font:900 10px/1 Nunito,sans-serif;letter-spacing:.6px;text-transform:uppercase;box-shadow:0 3px 0 #9A6400}
.wd-drop:before{content:"";width:8px;height:8px;background:#fff;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.wd-drop-inline{display:inline-block;padding:2px 8px;border-radius:999px;background:#FFD84A;color:#3A2500;font-weight:900;font-size:.85em}
.wd-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;margin:18px 0 10px;padding:0}
.wd-tier{position:relative;padding:20px 18px 18px;border-radius:20px;color:#EAF1FF;background:linear-gradient(165deg,#1B3163,#0F1D3D);box-shadow:0 14px 28px -20px rgba(12,28,46,.7);overflow:hidden}
.wd-tier:after{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--tc)}
.wd-tier--coins{--tc:#FFD84A}.wd-tier--learn{--tc:#39D98A}.wd-tier--rare{--tc:#C08BFF;background:linear-gradient(165deg,#34206B,#170F38)}
.wd-tier-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.1);font-size:24px;margin-bottom:12px}
.wd-tier strong{display:block;font:400 21px/1.1 "Lilita One",Nunito,sans-serif;color:#fff;margin-bottom:6px}
.wd-tier p{margin:0;font-size:15px;line-height:1.45;color:#C4D2EC}
.wd-tier-note{font-size:15px}
@media (max-width:760px){.wd-tiers{grid-template-columns:1fr}.wd-drop{font-size:9px;right:6px;top:6px}}
.wd-tiers>li:before,.wd-tiers>li::marker{display:none;content:none}
