/* What's growing (the Buzz page) */
.pulse{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px;border-radius:22px;background:var(--card);border:1px solid var(--line);align-items:center}
.pulse>div{display:flex;flex-direction:column;align-items:center;gap:6px}.pulse .trend{flex-direction:column;gap:6px}.pulse .trend svg{width:58px;height:54px}.pulse .trend .tl{display:none}
.pulse b{font-family:var(--display);font-weight:400;font-size:44px;line-height:.9}.pulse p{grid-column:1/-1;text-align:center;margin:4px 0 0}
.bzsec{padding:46px 0 6px}.bzh{display:flex;align-items:center;gap:14px;margin-bottom:18px}.bzh h2{margin:0}.bzh p{margin:4px 0 0}
.bzi{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(199,125,255,.12);border:1px solid var(--line);font-size:22px;flex:none}
.bzi .xlogo{width:20px;height:20px;fill:var(--txt)}
.bzgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.bzt{display:flex;gap:14px;align-items:center;padding:12px;border-radius:16px;background:rgba(21,16,54,.6);border:1px solid rgba(199,125,255,.2);transition:border-color .25s,transform .25s}
.bzt:hover,.xrow:hover,.tug:hover,.mny2:hover{border-color:rgba(255,62,201,.6);transform:translateY(-2px)}
.bztb{display:flex;flex-direction:column;gap:6px;min-width:0}.bztb h3,.xb h3,.tugb h3,.mny2 h3{font-size:17px;margin:0;line-height:1.15;overflow-wrap:anywhere}
.cold .bzt{opacity:.85}
.xgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.xrow{display:grid;grid-template-columns:auto 1fr 92px;gap:14px;align-items:center;padding:12px 14px;border-radius:16px;background:rgba(21,16,54,.6);border:1px solid rgba(199,125,255,.2);transition:border-color .25s,transform .25s}
.xb{display:flex;flex-direction:column;gap:5px;min-width:0}
.xw{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.xw.rising{color:#7cffd9}.xw.steady{color:#d9a6ff}.xw.fading{color:#a59cc9}
.spark{display:flex;align-items:flex-end;gap:4px;height:46px}.spark i{flex:1;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#ff3ec9,#c77dff);opacity:.85}
.spark i.td{background:repeating-linear-gradient(135deg,#2de2ff 0 3px,rgba(45,226,255,.35) 3px 6px)}
.fight{display:grid;grid-template-columns:1fr 1fr;gap:22px}.fight>div{display:flex;flex-direction:column;gap:12px}
.fh{font-family:var(--display);font-weight:400;font-size:26px;letter-spacing:.02em;margin:0 0 4px;line-height:1}.fh.q{color:#ff7ad9}.fh.p{color:#7ae9ff}
.tug{display:flex;gap:14px;align-items:center;padding:12px;border-radius:16px;background:rgba(21,16,54,.6);border:1px solid rgba(199,125,255,.2);transition:border-color .25s,transform .25s}
.tugb{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.tugbar{position:relative;height:12px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.tugbar .tp{position:absolute;right:50%;top:0;bottom:0;background:linear-gradient(270deg,#2de2ff,rgba(45,226,255,.35));border-radius:99px 0 0 99px}
.tugbar .tq{position:absolute;left:50%;top:0;bottom:0;background:linear-gradient(90deg,#ff3ec9,rgba(255,62,201,.35));border-radius:0 99px 99px 0}
.tugbar i{position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:var(--txt);opacity:.6}
.tugn{display:flex;justify-content:space-between;font-size:12px;color:var(--mut)}.tugn b{font-family:var(--display);font-weight:400;font-size:20px;color:var(--txt)}
.mgrid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.mny2{display:flex;gap:14px;align-items:center;padding:12px;border-radius:16px;background:rgba(21,16,54,.6);border:1px solid rgba(199,125,255,.2);transition:border-color .25s,transform .25s}
.mny2>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.mchip{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:99px;border:1px solid}
.mny2.loud .mchip{color:#ffd36e;border-color:rgba(255,211,110,.45)}.mny2.ign .mchip{color:#7cffd9;border-color:rgba(124,255,217,.4)}
@media(max-width:760px){.fight{grid-template-columns:1fr}.xgrid{grid-template-columns:1fr}.xrow{grid-template-columns:auto 1fr 74px}.pulse b{font-size:36px}.pulse .trend svg{width:46px;height:42px}}
@media(max-width:760px){.bzgrid,.mgrid2{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:78%;grid-template-rows:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch}
 .bzgrid>*,.mgrid2>*{scroll-snap-align:start}.xgrid .xrow:nth-child(n+6){display:none}}

/* ===== 21 Oct 2026: Buzz page reorder, Buzz key at top, growing mushrooms, fight night, Just landed page ===== */
/* growing mushroom animation (formula in releases.js bzGrow) */
.trend.quiet{color:#a39cc0}.trend.quiet .cp{fill:rgba(143,123,184,.12);stroke:#b3a8d9;stroke-dasharray:3.2 2.6}.trend.quiet .st{stroke:#6f7f99;fill:none}.trend.quiet .gd{stroke:#5b5478;stroke-width:2;stroke-linecap:round}
.trend[data-grow] svg{transform-origin:50% 96%;transform:scale(.12);opacity:0;will-change:transform}
.trend[data-grow].grown svg{animation:bzGrow var(--bd,800ms) cubic-bezier(.25,1.35,.45,1) var(--bdl,0ms) both}
.trend.fading[data-grow].grown svg{animation:bzGrow var(--bd,1000ms) cubic-bezier(.25,1.2,.45,1) var(--bdl,0ms) both,bzDroop .7s ease-in-out calc(var(--bdl,0ms) + var(--bd,1000ms)) forwards}
.trend.rising[data-puff].grown svg{animation:bzGrow var(--bd,600ms) cubic-bezier(.25,1.35,.45,1) var(--bdl,0ms) both,bzPulse var(--bp,2s) ease-in-out calc(var(--bdl,0ms) + var(--bd,600ms)) infinite}
.trend.rising[data-puff] .spores circle{animation-duration:var(--bp,2.4s)!important}
@keyframes bzGrow{0%{transform:scale(.12);opacity:0}55%{opacity:1}75%{transform:scale(calc(var(--bs,1) * 1.07))}100%{transform:scale(var(--bs,1));opacity:1}}
@keyframes bzDroop{from{transform:scale(var(--bs,1))}to{transform:scale(var(--bs,1)) rotate(var(--bdr,0deg)) translateY(1px)}}
@keyframes bzPulse{0%,100%{transform:scale(var(--bs,1))}50%{transform:scale(calc(var(--bs,1) * 1.05))}}
@media(prefers-reduced-motion:reduce){.trend[data-grow] svg,.trend[data-grow].grown svg{animation:none!important;opacity:1;transform:scale(var(--bs,1)) rotate(var(--bdr,0deg))}}
/* Buzz key (top of the Buzz page) */
.bzhero{padding-bottom:20px}
.bzkey-sec{padding:6px 0 10px}
.bzkey{padding:22px 24px;border-radius:22px;background:linear-gradient(135deg,rgba(255,62,201,.08),rgba(45,226,255,.06)),rgba(16,12,42,.85);border:1px solid rgba(199,125,255,.35);box-shadow:0 0 18px rgba(157,77,255,.12)}
.bzkey-h h2{margin:4px 0 2px;font-size:clamp(28px,4vw,40px)}.bzkey-h .small{margin:0}
.bzkey-l{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bzkey-l li{display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;background:rgba(8,6,26,.45);border:1px solid rgba(199,125,255,.16);min-width:0}
.bzkey-l .trend svg{width:54px;height:51px}.bzkey-l li>div{display:flex;flex-direction:column;gap:2px;min-width:0}.bzkey-l b{font-size:15px}
.bzkey-l .small{font-size:12.5px;line-height:1.35}.bkn{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan)}
.bk-rising b{color:#7cffd9}.bk-steady b{color:#d9a6ff}.bk-fading b{color:#b9b0dd}.bk-quiet b{color:#a39cc0}
.bzkey-f{margin:14px 0 0;color:#cfc8e6}
@media(max-width:1023px){.bzkey-l{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.bzkey{padding:18px 14px}.bzkey-l{gap:8px}.bzkey-l li{flex-direction:column;align-items:flex-start;gap:6px;padding:10px}.bzkey-l .trend svg{width:46px;height:43px}}
/* section icons using the mushroom */
.bzpage .bzi .trend svg{width:30px;height:28px}
/* Heating up fastest / Cooling off cards */
.hotgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.hot{position:relative;display:grid;grid-template-columns:auto auto 1fr auto;gap:12px;align-items:center;padding:14px 14px 14px 10px;border-radius:18px;background:linear-gradient(120deg,rgba(255,62,201,.10),rgba(21,16,54,.6) 55%);border:1px solid rgba(255,62,201,.32);transition:border-color .25s,transform .25s}
.hot:hover{border-color:rgba(255,62,201,.7);transform:translateY(-2px)}
.hrk{font-family:var(--display);font-size:26px;color:#ff7ad9;min-width:1.2ch;text-align:center}
.hot .trend svg{width:62px;height:58px}
.hb{display:flex;flex-direction:column;gap:5px;min-width:0}.hb h3{font-size:17px;margin:0;line-height:1.15;overflow-wrap:anywhere}
.hg{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.gn{font-family:var(--display);font-weight:400;font-size:30px;line-height:1;color:#7cffd9;text-shadow:0 0 8px rgba(61,255,181,.35)}.gu{font-size:12px;color:var(--mut)}
.hm{display:flex;align-items:center;gap:8px}.hm .bmeter{flex:1}.hm b{font-family:var(--display);font-weight:400;font-size:20px}
.hot .poster,.hot [class*=pbox]{flex:none}
.coldgrid .hot{background:rgba(21,16,54,.55);border-color:rgba(143,123,184,.3)}.coldgrid .hrk{color:#9a90c4}.coldgrid .gn{color:#b9b0dd;text-shadow:none;font-size:24px}
@media(max-width:760px){.hotgrid{grid-template-columns:1fr}.hot{grid-template-columns:auto auto 1fr auto;padding:12px 10px 12px 6px;gap:8px}.hot .trend svg{width:52px;height:49px}.gn{font-size:26px}}
@media(max-width:380px){.hot>.poster,.hot>[class*=pbox],.hot>.ph{display:none}.hot{grid-template-columns:auto auto 1fr}}
/* Fight night */
.fightsec{position:relative}
.fighthead{display:grid;grid-template-columns:1fr minmax(0,440px);gap:6px 18px;align-items:center;margin-bottom:22px}.fnote{grid-column:1/-1;margin:0;max-width:760px}
.fht h2{margin:4px 0 0;font-size:clamp(30px,5vw,52px);line-height:.95}
.fsub{margin:4px 0 6px;line-height:1.05;font-family:var(--display);font-size:clamp(20px,2.6vw,28px);letter-spacing:.04em;background:linear-gradient(90deg,#2de2ff,#c77dff,#ff3ec9);-webkit-background-clip:text;background-clip:text;color:transparent}
.fightart{width:100%;height:auto;display:block;border-radius:18px;-webkit-mask-image:radial-gradient(ellipse 72% 78% at 50% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 72% 78% at 50% 50%,#000 58%,transparent 100%)}
.tugn .gap{color:#fff;font-weight:700}
@media(prefers-reduced-motion:no-preference){.fightart{animation:fClash 3.2s ease-in-out infinite}}
@keyframes fClash{0%,100%{transform:scale(1)}48%{transform:scale(1)}52%{transform:scale(1.025)}58%{transform:scale(1)}}
@media(max-width:760px){.fighthead{grid-template-columns:1fr 48%;gap:8px 10px}}
@media(max-width:480px){.fighthead{grid-template-columns:1fr 46%;gap:8px;align-items:center}.fht h2{font-size:30px}.fsub{font-size:19px}}
/* chart: bigger mushrooms + quiet list */
.bzpage .lrow .trend svg{width:42px;height:40px}
.lbq{margin-top:22px;padding:16px;border-radius:16px;border:1px dashed rgba(143,123,184,.4);background:rgba(16,12,42,.5)}
.lbq h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;font-size:18px}.lbq h3 .trend svg{width:34px;height:32px}.lbq h3 .small{font-weight:400}
.qlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.qlist a{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 4px;border-radius:12px;background:rgba(8,6,26,.4);min-width:0}
.qlist a>span{display:flex;flex-direction:column;min-width:0}.qlist b{font-size:14px;font-weight:600;overflow-wrap:anywhere}.qlist .trend svg{width:44px;height:41px}
/* homepage strip: mushroom on every film */
.buzzrow .bz .trend svg{width:38px;height:36px}
/* Just landed */
.jlkey .kgrid.k2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.jlkey .kgrid.k2{grid-template-columns:1fr}}
.jlmore{margin-top:22px;text-align:center}
.xw .trend{vertical-align:middle;margin-right:4px}.xw .trend svg{width:26px;height:24px}
@media(max-width:760px){.bzpage .lrow{grid-template-columns:48px 1fr auto;grid-template-areas:"r t y" "s m m"}.bzpage .lrow .trend{grid-area:s;justify-self:center}.bzpage .lrow .trend .tl{display:none}.bzpage .lrow .lrk{align-self:start}}
@media(max-width:760px){.jlkey .kbands{grid-template-columns:1fr 1fr;column-gap:14px}}
@media(max-width:760px){.bzpage .lrow{grid-template-columns:44px minmax(0,1fr) auto;gap:10px 12px}}
@media(max-width:380px){.bzpage .lrow{grid-template-columns:40px minmax(0,1fr) auto;gap:8px;padding:12px 10px}.bzpage .lrow .lyt{padding:6px 9px;font-size:12px}}
.lbmore{list-style:none;display:flex;justify-content:center;padding:6px 0}

/* ===== 21 Oct 2026: animated hero mushrooms (releases.js heroArt) ===== */
.ha{--py:0px;--gy:0px;position:relative;width:100%;aspect-ratio:1040/514;pointer-events:none;z-index:0}
.ha-art,.ha-glow{position:absolute;inset:0}
.ha-art{transform:translate3d(0,var(--py),0);will-change:transform}
.ha-art img{display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 62% 64% at 50% 52%,#000 50%,transparent 100%);mask-image:radial-gradient(ellipse 62% 64% at 50% 52%,#000 50%,transparent 100%)}
.ha-glow{background-size:cover;background-position:center;filter:blur(28px) saturate(1.4);opacity:.35;transform:translate3d(0,var(--gy),0) scale(1.05);-webkit-mask-image:radial-gradient(ellipse 55% 55% at 50% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 55% 55% at 50% 50%,#000 30%,transparent 100%)}
.ha-p{position:absolute;inset:0;overflow:hidden}
.ha-p i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:var(--c);box-shadow:0 0 6px var(--c);opacity:0}
/* placement: phones/tablets = compact banner at the top of the hero; desktop = right-hand side of the hero */
@media(max-width:899px){
  .hero.has-ha{padding-top:calc(var(--ha-top,96px))}
  .hero.has-ha.short{padding-bottom:44px}
  .ha{height:clamp(116px,31vw,200px);aspect-ratio:auto;margin:0 0 6px}
  .ha-art img{object-fit:cover;object-position:50% 40%;-webkit-mask-image:radial-gradient(ellipse 74% 84% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 74% 84% at 50% 50%,#000 55%,transparent 100%)}
  .ha-pg-home{margin:14px 0 4px}}
@media(min-width:900px){
  .hero.has-ha .wrap{position:relative}
  .hero.has-ha:not(.home) .wrap>.ha{position:absolute;right:-1%;top:-8px;width:min(42vw,580px)}
  .hero.has-ha:not(.home) .wrap>:not(.ha){max-width:calc(100% - min(42vw,580px) - 16px);position:relative;z-index:1}
  .ha-pg-home{position:absolute!important;right:0;width:min(24vw,330px);transform:translateY(calc(-100% - 4px));margin:0}
  .hero.home.has-ha .hx-in>:not(.ha){position:relative;z-index:1}
  .ha-banner{width:min(100%,620px);height:auto;aspect-ratio:1040/400;margin:0 auto 10px}}
@media(max-width:899px){.ha-banner{margin:0 0 8px}}
/* ---- per-scene motion (transform/opacity/filter only) ---- */
@media(prefers-reduced-motion:no-preference){
  .ha:not(.ha-off) .ha-p i{animation:haRise var(--d) linear var(--dl) infinite}
  .ha-p-coin i,.ha-p-confetti i,.ha-p-gold i{top:-6%;animation-name:haFall!important}
  .ha-p-coin i{border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6c9,#f0b43c 60%,#a8741c);box-shadow:0 0 5px rgba(255,211,110,.7)}
  .ha-p-confetti i{border-radius:2px;width:calc(var(--s) * .7);height:calc(var(--s) * 1.4)}
  .ha-p-steam i{filter:blur(4px);background:rgba(230,225,255,.5);box-shadow:none;animation-name:haSteam!important}
  .ha-p-dust i{top:auto;bottom:6%;animation-name:haDust!important}
  .ha-buzz:not(.ha-off) .ha-art{animation:haBuzz 1.6s steps(1,end) infinite}
  .ha-land:not(.ha-off) .ha-art{animation:haLand 3.6s cubic-bezier(.3,.7,.4,1) infinite;transform-origin:50% 100%}
  .ha-screen:not(.ha-off) .ha-art img{animation:haFlicker 4.2s ease-in-out infinite}
  .ha-beam:not(.ha-off) .ha-art img{animation:haBeam 5s ease-in-out infinite}
  .ha-spot:not(.ha-off) .ha-art{animation:haFloat 5s ease-in-out infinite}
  .ha-tilt:not(.ha-off) .ha-art{animation:haTilt 4.8s ease-in-out infinite}
  .ha-machine:not(.ha-off) .ha-art{animation:haChug .9s ease-in-out infinite}
  .ha-stage:not(.ha-off) .ha-art img{animation:haFlicker 2.4s ease-in-out infinite}
  .ha-heart:not(.ha-off) .ha-art{animation:haBeat 1.8s ease-in-out infinite}
  .ha-flash:not(.ha-off) .ha-art{animation:haFloat 6s ease-in-out infinite}
  .ha-wave:not(.ha-off) .ha-art{animation:haWave 3.2s ease-in-out infinite;transform-origin:50% 100%}
  .ha-glow{animation:haGlow 6s ease-in-out infinite}
  .ha-off .ha-glow{animation-play-state:paused}
  .ha-puff{position:absolute;left:50%;bottom:4%;width:30%;height:16%;margin-left:-15%;border-radius:50%;background:radial-gradient(ellipse,rgba(199,125,255,.55),transparent 70%);filter:blur(6px);opacity:0}
  .ha-land:not(.ha-off) .ha-puff{animation:haPuff 3.6s ease-out infinite}
  .ha-light{position:absolute;inset:0;mix-blend-mode:screen;opacity:0}
  .ha-spot .ha-light{background:radial-gradient(ellipse 22% 60% at 50% 0%,rgba(255,236,190,.55),transparent 70%)}
  .ha-spot:not(.ha-off) .ha-light{animation:haSweep 5s ease-in-out infinite}
  .ha-flash .ha-light{background:radial-gradient(circle at 22% 30%,rgba(255,255,255,.85),transparent 18%),radial-gradient(circle at 80% 26%,rgba(255,255,255,.75),transparent 16%)}
  .ha-flash:not(.ha-off) .ha-light{animation:haFlash 3.4s steps(1,end) infinite}
  .ha-stage .ha-light{background:radial-gradient(ellipse 18% 70% at 22% 0%,rgba(45,226,255,.45),transparent 70%),radial-gradient(ellipse 18% 70% at 78% 0%,rgba(255,62,201,.45),transparent 70%)}
  .ha-stage:not(.ha-off) .ha-light{animation:haStage 2.4s ease-in-out infinite}}
@keyframes haRise{0%{transform:translate3d(0,10px,0) scale(.6);opacity:0}15%{opacity:.9}100%{transform:translate3d(8px,-70px,0) scale(1);opacity:0}}
@keyframes haFall{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}10%{opacity:1}100%{transform:translate3d(-6px,calc(var(--y) * 2 + 60px),0) rotate(var(--r));opacity:0}}
@keyframes haSteam{0%{transform:translate3d(0,0,0) scale(.5);opacity:0}25%{opacity:.6}100%{transform:translate3d(10px,-60px,0) scale(1.8);opacity:0}}
@keyframes haDust{0%{transform:translate3d(0,0,0) scale(.4);opacity:0}20%{opacity:.8}100%{transform:translate3d(calc((var(--x) - 50%) * .3),-24px,0) scale(1.4);opacity:0}}
@keyframes haBuzz{0%,40%,100%{transform:translate3d(0,var(--py),0)}2%{transform:translate3d(-2px,calc(var(--py) - 1px),0) rotate(-.6deg)}4%{transform:translate3d(2px,calc(var(--py) + 1px),0) rotate(.6deg)}6%{transform:translate3d(-2px,var(--py),0) rotate(-.4deg)}8%{transform:translate3d(2px,calc(var(--py) - 1px),0) rotate(.5deg)}10%{transform:translate3d(-1px,calc(var(--py) + 1px),0)}12%{transform:translate3d(1px,var(--py),0) rotate(.3deg)}14%{transform:translate3d(-2px,var(--py),0)}16%{transform:translate3d(2px,calc(var(--py) - 1px),0)}18%{transform:translate3d(0,var(--py),0)}60%{transform:translate3d(-1px,var(--py),0) rotate(-.3deg)}62%{transform:translate3d(1px,var(--py),0) rotate(.3deg)}64%{transform:translate3d(-1px,var(--py),0)}66%{transform:translate3d(0,var(--py),0)}}
@keyframes haLand{0%{transform:translate3d(0,calc(var(--py) - 14px),0)}38%{transform:translate3d(0,var(--py),0) scale(1.02,.97)}48%{transform:translate3d(0,calc(var(--py) - 3px),0) scale(.99,1.01)}58%,100%{transform:translate3d(0,var(--py),0)}}
@keyframes haPuff{0%,34%{opacity:0;transform:scale(.4)}42%{opacity:.9}70%,100%{opacity:0;transform:scale(1.6)}}
@keyframes haFlicker{0%,100%{filter:brightness(1)}20%{filter:brightness(1.15)}24%{filter:brightness(.92)}50%{filter:brightness(1.08)}53%{filter:brightness(.95)}80%{filter:brightness(1.12)}}
@keyframes haBeam{0%,100%{filter:brightness(.95)}50%{filter:brightness(1.18) saturate(1.1)}}
@keyframes haFloat{0%,100%{transform:translate3d(0,var(--py),0)}50%{transform:translate3d(0,calc(var(--py) - 5px),0)}}
@keyframes haTilt{0%,100%{transform:translate3d(0,var(--py),0) rotate(-1deg)}50%{transform:translate3d(0,var(--py),0) rotate(1deg)}}
@keyframes haChug{0%,100%{transform:translate3d(0,var(--py),0)}30%{transform:translate3d(.8px,calc(var(--py) - 1px),0)}60%{transform:translate3d(-.8px,var(--py),0)}}
@keyframes haBeat{0%,100%{transform:translate3d(0,var(--py),0) scale(1)}12%{transform:translate3d(0,var(--py),0) scale(1.018)}24%{transform:translate3d(0,var(--py),0) scale(1)}36%{transform:translate3d(0,var(--py),0) scale(1.012)}}
@keyframes haWave{0%,100%{transform:translate3d(0,var(--py),0) rotate(-.8deg)}50%{transform:translate3d(0,calc(var(--py) - 3px),0) rotate(.8deg)}}
@keyframes haGlow{0%,100%{opacity:.28}50%{opacity:.45}}
@keyframes haSweep{0%,100%{opacity:.5;transform:translateX(-6%)}50%{opacity:.9;transform:translateX(6%)}}
@keyframes haFlash{0%,100%{opacity:0}30%{opacity:.9}33%{opacity:0}62%{opacity:.7}64%{opacity:0}}
@keyframes haStage{0%,100%{opacity:.4}50%{opacity:.9}}
@media(prefers-reduced-motion:reduce){.ha-p{display:none}.ha-art,.ha-art img,.ha-glow{animation:none!important}}
