/* FUTTU Pack Opening — Base + Premium
   Motore visivo condiviso: i temi vengono letti da config/fantaballa.js e config/gotham.js. */
:root{
  --fo-primary:#4ee5d8;
  --fo-secondary:#1f9dff;
  --fo-accent:#ffe76a;
  --fo-bg:#07111d;
  --fo-surface:#0d1c2d;
  --fo-rarity:#ffffff;
}
body.futtu-opening-active{overflow:hidden!important;touch-action:none;}
.futtu-opening{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:clamp(10px,2vw,24px);
  color:#fff;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s step-end;
  isolation:isolate;
}
.futtu-opening.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .22s ease,visibility 0s;
}
.fo-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,5,12,.92);
  backdrop-filter:blur(12px);
}
.fo-scene{
  position:relative;
  width:min(1380px,100%);
  height:min(900px,calc(100dvh - 20px));
  min-height:560px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--fo-primary) 32%,transparent);
  border-radius:clamp(18px,2.2vw,34px);
  background:
    radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--fo-primary) 27%,transparent),transparent 36%),
    radial-gradient(circle at 12% 76%,color-mix(in srgb,var(--fo-secondary) 18%,transparent),transparent 32%),
    linear-gradient(180deg,color-mix(in srgb,var(--fo-surface) 94%,#000),var(--fo-bg));
  box-shadow:0 40px 110px rgba(0,0,0,.68),inset 0 1px 0 rgba(255,255,255,.08);
  transform:translateY(14px) scale(.985);
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.futtu-opening.is-active .fo-scene{transform:none;}
.fo-scene::before{
  content:"";
  position:absolute;
  inset:-25%;
  z-index:0;
  background:conic-gradient(from 0deg at 50% 50%,transparent 0 14%,color-mix(in srgb,var(--fo-primary) 10%,transparent) 18%,transparent 23% 48%,color-mix(in srgb,var(--fo-secondary) 10%,transparent) 54%,transparent 60% 100%);
  opacity:.65;
  animation:foSceneSpin 22s linear infinite;
}
.fo-scene::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:9;
  pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.72) 100%);
}
.fo-sky,.fo-floor,.fo-city,.fo-pitch,.fo-particles,.fo-flash,.fo-light-beams{position:absolute;inset:0;pointer-events:none;}
.fo-sky{z-index:0;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 45%);}
.fo-floor{
  z-index:1;
  top:54%;
  background:
    linear-gradient(90deg,transparent 49.75%,color-mix(in srgb,var(--fo-primary) 24%,transparent) 50%,transparent 50.25%),
    repeating-linear-gradient(90deg,transparent 0 9.8%,rgba(255,255,255,.035) 10% 10.15%),
    repeating-linear-gradient(0deg,transparent 0 12%,rgba(255,255,255,.035) 12.2% 12.35%);
  transform:perspective(500px) rotateX(66deg) scale(1.8);
  transform-origin:50% 0;
  opacity:.65;
  mask-image:linear-gradient(180deg,#000,transparent 78%);
}
.fo-pitch{z-index:1;top:60%;opacity:0;transition:opacity .3s ease;}
.fo-pitch::before{
  content:"";position:absolute;left:50%;top:0;width:58%;height:52%;transform:translateX(-50%) perspective(520px) rotateX(64deg);
  border:2px solid color-mix(in srgb,var(--fo-primary) 42%,transparent);
  border-radius:50%;box-shadow:0 0 35px color-mix(in srgb,var(--fo-primary) 25%,transparent);
}
.fo-city{z-index:1;top:36%;opacity:0;transition:opacity .3s ease;}
.fo-city::before{
  content:"";position:absolute;inset:auto 0 0;height:70%;
  background:
    linear-gradient(90deg,transparent 0 4%,#080b13 4% 10%,transparent 10% 12%,#0a0d16 12% 19%,transparent 19% 22%,#070a12 22% 31%,transparent 31% 34%,#0b0e17 34% 42%,transparent 42% 45%,#070a12 45% 58%,transparent 58% 61%,#090c15 61% 69%,transparent 69% 72%,#070a12 72% 82%,transparent 82% 85%,#0b0e17 85% 94%,transparent 94% 100%);
  clip-path:polygon(0 100%,0 60%,4% 60%,4% 30%,10% 30%,10% 68%,12% 68%,12% 18%,19% 18%,19% 64%,22% 64%,22% 42%,26% 42%,26% 12%,31% 12%,31% 70%,34% 70%,34% 35%,42% 35%,42% 62%,45% 62%,45% 8%,50% 8%,50% 24%,58% 24%,58% 66%,61% 66%,61% 28%,69% 28%,69% 58%,72% 58%,72% 16%,82% 16%,82% 65%,85% 65%,85% 37%,94% 37%,94% 70%,100% 70%,100% 100%);
  filter:drop-shadow(0 -12px 25px color-mix(in srgb,var(--fo-primary) 18%,transparent));
}
.fo-light-beams{z-index:1;overflow:hidden;mix-blend-mode:screen;}
.fo-light-beams i{position:absolute;top:-25%;width:8%;height:130%;background:linear-gradient(180deg,color-mix(in srgb,var(--fo-primary) 30%,transparent),transparent 72%);filter:blur(10px);transform-origin:50% 0;opacity:.28;animation:foBeam 5.5s ease-in-out infinite alternate;}
.fo-light-beams i:nth-child(1){left:5%;transform:rotate(18deg);}
.fo-light-beams i:nth-child(2){left:23%;transform:rotate(8deg);animation-delay:-1.2s;}
.fo-light-beams i:nth-child(3){right:23%;transform:rotate(-8deg);animation-delay:-2.4s;}
.fo-light-beams i:nth-child(4){right:5%;transform:rotate(-18deg);animation-delay:-3.6s;}
.fo-scene[data-atmosphere="stadium"] .fo-pitch{opacity:1;}
.fo-scene[data-atmosphere="dark-rain"] .fo-city{opacity:1;}
.fo-scene[data-atmosphere="dark-rain"] .fo-floor{opacity:.35;}
.fo-header{
  position:absolute;
  z-index:20;
  top:clamp(18px,2.4vw,34px);
  left:clamp(18px,2.6vw,40px);
  right:clamp(18px,2.6vw,40px);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  pointer-events:none;
}
.fo-eyebrow{font-size:12px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:color-mix(in srgb,var(--fo-primary) 78%,#fff);}
.fo-title{margin:5px 0 0;font-size:clamp(24px,4vw,58px);line-height:.9;font-weight:900;letter-spacing:-.035em;text-transform:uppercase;text-shadow:0 8px 28px rgba(0,0,0,.55);}
.fo-progress{display:flex;gap:7px;padding-top:4px;}
.fo-progress i{width:26px;height:4px;border-radius:99px;background:rgba(255,255,255,.15);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);transition:background .25s ease,box-shadow .25s ease;}
.fo-progress i.is-done{background:var(--fo-primary);box-shadow:0 0 12px color-mix(in srgb,var(--fo-primary) 65%,transparent);}
.fo-stage{
  position:absolute;
  inset:0;
  z-index:10;
  display:grid;
  place-items:center;
  padding:90px 28px 74px;
}
.fo-pack-phase,.fo-reveal-phase,.fo-summary-phase{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transform:scale(.98);transition:opacity .28s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility .28s step-end;}
.fo-scene[data-phase="pack"] .fo-pack-phase,
.fo-scene[data-phase="charge"] .fo-pack-phase,
.fo-scene[data-phase="burst"] .fo-pack-phase,
.fo-scene[data-phase="reveal"] .fo-reveal-phase,
.fo-scene[data-phase="walkout"] .fo-reveal-phase,
.fo-scene[data-phase="summary"] .fo-summary-phase{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s;}
.fo-pack-phase{cursor:pointer;}
.fo-reveal-phase{cursor:pointer;}
.fo-pack-shell{position:relative;display:grid;place-items:center;width:min(430px,54vw);aspect-ratio:690/987;transform:translateY(6px);}
.fo-pack-image{position:relative;z-index:4;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 42px 52px rgba(0,0,0,.72));transform:translateZ(0);transition:filter .25s ease;user-select:none;-webkit-user-drag:none;}
.fo-pack-fallback{position:absolute;inset:9%;z-index:3;display:grid;place-items:center;padding:24px;text-align:center;border:1px solid color-mix(in srgb,var(--fo-primary) 65%,#fff);background:linear-gradient(145deg,color-mix(in srgb,var(--fo-primary) 30%,#111),var(--fo-surface));font-size:clamp(24px,4vw,46px);font-weight:900;text-transform:uppercase;}
.fo-aura{position:absolute;z-index:1;width:120%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fo-primary) 38%,transparent),color-mix(in srgb,var(--fo-secondary) 14%,transparent) 38%,transparent 68%);filter:blur(8px);animation:foAura 1.7s ease-in-out infinite;}
.fo-ring{position:absolute;z-index:2;width:116%;aspect-ratio:1;border-radius:50%;border:2px solid color-mix(in srgb,var(--fo-primary) 48%,transparent);box-shadow:0 0 34px color-mix(in srgb,var(--fo-primary) 28%,transparent),inset 0 0 34px color-mix(in srgb,var(--fo-secondary) 18%,transparent);animation:foRing 7s linear infinite;}
.fo-ring.r2{width:92%;border-style:dashed;animation-direction:reverse;animation-duration:4.5s;opacity:.65;}
.fo-pack-reflection{position:absolute;z-index:0;bottom:-18%;width:80%;height:28%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--fo-primary) 30%,transparent),transparent 68%);filter:blur(18px);transform:scaleY(.45);}
.fo-hint{position:absolute;z-index:7;bottom:clamp(28px,4vh,54px);left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:10px 15px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(3,8,16,.58);font-size:clamp(12px,1.3vw,16px);font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.82);backdrop-filter:blur(8px);}
.fo-scene[data-phase="charge"] .fo-pack-image{animation:foPackCharge .48s ease-in-out infinite;filter:brightness(1.12) drop-shadow(0 44px 60px color-mix(in srgb,var(--fo-primary) 35%,#000));}
.fo-scene[data-phase="charge"] .fo-aura{animation-duration:.55s;}
.fo-scene[data-phase="charge"] .fo-ring{animation-duration:1.7s;}
.fo-scene[data-phase="burst"] .fo-pack-image{animation:foPackBurst .58s cubic-bezier(.16,.84,.29,1) forwards;}
.fo-flash{z-index:30;background:#fff;opacity:0;mix-blend-mode:screen;}
.fo-scene[data-phase="burst"] .fo-flash{animation:foFlash .62s ease-out forwards;}
.fo-particles{z-index:5;overflow:hidden;}
.fo-particle{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border-radius:999px;background:var(--pc,var(--fo-primary));box-shadow:0 0 12px var(--pc,var(--fo-primary));opacity:var(--o,.55);animation:foFloat var(--d,4s) linear infinite;animation-delay:var(--delay,0s);}
.fo-scene[data-atmosphere="dark-rain"] .fo-particle{width:1px;height:clamp(28px,5vh,58px);border-radius:0;background:linear-gradient(180deg,transparent,var(--pc,var(--fo-primary)));transform:rotate(12deg);animation-name:foRain;}
.fo-reveal-layout{width:min(1040px,92%);height:100%;display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,430px) minmax(240px,1fr);align-items:center;gap:clamp(16px,3vw,46px);}
.fo-reveal-copy{align-self:center;min-width:0;position:relative;z-index:1;padding-right:8px;}
.fo-rarity{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid color-mix(in srgb,var(--fo-rarity) 60%,transparent);border-radius:999px;background:color-mix(in srgb,var(--fo-rarity) 12%,rgba(0,0,0,.4));font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--fo-rarity);box-shadow:0 0 22px color-mix(in srgb,var(--fo-rarity) 18%,transparent);}
.fo-rarity::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--fo-rarity);box-shadow:0 0 12px var(--fo-rarity);}
.fo-card-name{margin:16px 0 8px;font-size:clamp(26px,4.0vw,54px);line-height:.9;font-weight:950;letter-spacing:-.05em;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere;text-shadow:0 12px 38px rgba(0,0,0,.6);opacity:0;transform:translateY(18px);transition:opacity .38s ease,transform .45s cubic-bezier(.2,.8,.2,1);max-width:8.8ch;}
.fo-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.fo-chip{padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(4,8,15,.55);font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.78);backdrop-filter:blur(8px);}
.fo-card-counter{margin-top:18px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.52);}
.fo-card-visual{position:relative;z-index:4;display:grid;place-items:center;width:min(390px,33vw);aspect-ratio:690/987;perspective:1300px;}
.fo-card-visual::before{content:"";position:absolute;width:135%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fo-rarity) 26%,transparent),transparent 65%);filter:blur(10px);opacity:.55;transform:scale(.8);transition:opacity .35s ease,transform .55s ease;}
.fo-card-frame{position:relative;z-index:2;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(92deg) scale(.78);opacity:0;filter:brightness(0) blur(6px);transition:transform .72s cubic-bezier(.16,.84,.29,1),opacity .28s ease,filter .62s ease;isolation:isolate;}
.fo-card-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 38px 48px rgba(0,0,0,.72));user-select:none;-webkit-user-drag:none;}
.fo-card-placeholder{position:absolute;inset:2.7%;display:grid;place-items:center;padding:22px;text-align:center;border:1px solid color-mix(in srgb,var(--fo-rarity) 52%,transparent);background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--fo-rarity) 14%,transparent),transparent 36%),linear-gradient(145deg,color-mix(in srgb,var(--fo-rarity) 14%,#111),#0a0f19 60%,#060a12);font-size:clamp(24px,4vw,48px);font-weight:900;text-transform:uppercase;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 20px 32px rgba(0,0,0,.35);}
.fo-card-placeholder-inner{display:grid;gap:14px;justify-items:center;max-width:100%;}
.fo-card-placeholder-rarity{padding:7px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fo-rarity) 60%,transparent);background:color-mix(in srgb,var(--fo-rarity) 10%,rgba(0,0,0,.34));font-size:12px;letter-spacing:.14em;color:var(--fo-rarity);}
.fo-card-placeholder-name{font-size:clamp(24px,3.4vw,42px);line-height:.9;letter-spacing:-.05em;text-wrap:balance;text-shadow:0 10px 24px rgba(0,0,0,.55);}
.fo-card-placeholder-meta{font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.7);}
.fo-reveal-phase.is-tease .fo-card-visual{opacity:0!important;visibility:hidden!important;transform:scale(.78)!important;filter:blur(18px)!important;transition:none!important;}
.fo-reveal-phase.is-tease .fo-card-frame{opacity:0!important;visibility:hidden!important;transform:rotateY(92deg) scale(.72)!important;filter:brightness(0) blur(18px)!important;transition:none!important;}
.fo-reveal-phase.is-revealed .fo-card-visual{opacity:1;visibility:visible;transform:none;filter:none;transition:opacity .18s ease,transform .72s cubic-bezier(.16,.84,.29,1),filter .35s ease;}
.fo-reveal-phase.is-revealed .fo-card-frame{opacity:1;visibility:visible;transform:rotateY(0) scale(1);filter:none;}
.fo-reveal-phase.is-revealed .fo-card-name{opacity:1;transform:none;}
.fo-reveal-phase.is-revealed .fo-card-visual::before{opacity:1;transform:scale(1.08);}

.fo-reveal-phase.is-legend-sequence .fo-rarity,
.fo-reveal-phase.is-legend-sequence .fo-card-name,
.fo-reveal-phase.is-legend-sequence .fo-card-meta,
.fo-reveal-phase.is-legend-sequence .fo-side-stat,
.fo-reveal-phase.is-legend-sequence .fo-card-visual{opacity:0!important;visibility:hidden!important;transform:translateY(14px)!important;transition:none!important;}
.fo-reveal-phase.is-legend-sequence .fo-role{display:none;}
.fo-reveal-phase.is-legend-sequence.show-role .fo-side-stat,
.fo-reveal-phase.is-legend-sequence.show-rarity .fo-rarity,
.fo-reveal-phase.is-legend-sequence.show-series .fo-card-meta,
.fo-reveal-phase.is-legend-sequence.show-name .fo-card-name{opacity:1!important;visibility:visible!important;transform:none!important;animation:foLegendInfoIn .38s cubic-bezier(.2,.8,.2,1) both;}
.fo-reveal-phase.is-legend-sequence:not(.show-image) .fo-card-frame{opacity:0!important;visibility:hidden!important;transform:rotateY(92deg) scale(.72)!important;filter:brightness(0) blur(18px)!important;transition:none!important;}
.fo-reveal-phase.is-legend-sequence.show-image .fo-card-visual{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;animation:foLegendCardIn .9s cubic-bezier(.16,.84,.29,1) both!important;}
.fo-reveal-phase.is-legend-sequence.show-image .fo-card-frame{opacity:1!important;visibility:visible!important;transform:rotateY(0) scale(1)!important;filter:none!important;transition:none!important;}
.fo-reveal-phase.is-legend-sequence.show-image .fo-card-visual::before{opacity:1;transform:scale(1.08);}
.fo-walkout-label{position:absolute;z-index:0;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(90px,18vw,270px);font-weight:1000;letter-spacing:-.08em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--fo-rarity) 30%,transparent);opacity:0;white-space:nowrap;filter:blur(2px);}
.fo-scene[data-phase="walkout"] .fo-walkout-label{animation:foWalkoutTitle 1.6s ease-out forwards;}
.fo-scene[data-phase="walkout"] .fo-card-visual{animation:foWalkoutCard 1.1s cubic-bezier(.2,.8,.2,1) both;}
.fo-scene[data-phase="walkout"] .fo-light-beams i{opacity:.58;animation-duration:1.4s;}
.fo-side-stat{display:grid;gap:12px;align-self:center;position:relative;z-index:1;justify-items:end;}
.fo-side-stat strong{font-size:clamp(44px,7vw,92px);line-height:.8;color:var(--fo-rarity);text-shadow:0 0 30px color-mix(in srgb,var(--fo-rarity) 32%,transparent);}
.fo-side-stat span{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.58);}
.fo-summary-phase{padding:82px 24px 76px;align-items:stretch;justify-items:center;overflow:hidden;}
.fo-summary-phase>div{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;}
.fo-scene[data-phase="summary"] .fo-header{opacity:0;visibility:hidden;}
.fo-summary-title{flex:0 0 auto;text-align:center;margin:0 0 18px;font-size:clamp(26px,4vw,52px);line-height:.95;text-transform:uppercase;letter-spacing:-.035em;}
.fo-summary-grid{flex:1 1 auto;min-height:0;width:min(760px,100%);overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;align-items:start;gap:clamp(14px,2vw,22px);padding:8px 12px 28px;scrollbar-width:thin;margin:0 auto;}
.fo-summary-card{position:relative;min-width:0;padding:0;border:0;border-radius:14px;background:transparent;box-shadow:none;transform:translateY(18px);opacity:0;animation:foSummaryIn .42s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--sd,0ms);}
.fo-summary-card.is-best{filter:drop-shadow(0 0 18px color-mix(in srgb,var(--fo-accent) 30%,transparent));}
.fo-summary-media{display:grid;place-items:center;width:100%;aspect-ratio:690/987;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.18);}
.fo-summary-media img{display:block;width:100%;height:100%;object-fit:contain;}
.fo-summary-fallback{width:100%;height:100%;display:grid;place-content:center;gap:10px;padding:16px;text-align:center;text-transform:uppercase;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(0,0,0,.26));}
.fo-summary-fallback span{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--fo-rarity);}
.fo-summary-fallback strong{font-size:clamp(15px,2vw,24px);line-height:.95;overflow-wrap:anywhere;}
.fo-controls{position:absolute;z-index:40;right:clamp(18px,2.5vw,38px);bottom:clamp(16px,2.2vw,30px);display:flex;gap:10px;align-items:center;}
.fo-btn{min-width:110px;padding:12px 17px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(6,12,22,.72);color:#fff;font:800 13px/1 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(10px);transition:transform .16s ease,border-color .16s ease,background .16s ease;}
.fo-btn:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--fo-primary) 65%,#fff);}
.fo-btn-primary{background:linear-gradient(135deg,var(--fo-primary),var(--fo-secondary));color:#041018;border-color:transparent;box-shadow:0 12px 30px color-mix(in srgb,var(--fo-primary) 24%,transparent);}
.fo-btn[hidden]{display:none!important;}
.fo-sound{min-width:44px;width:44px;padding:12px 0;}
.fo-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
@keyframes foSceneSpin{to{transform:rotate(360deg)}}
@keyframes foBeam{0%{opacity:.12;filter:blur(13px)}100%{opacity:.42;filter:blur(7px)}}
@keyframes foAura{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1.08);opacity:1}}
@keyframes foRing{to{transform:rotate(360deg)}}
@keyframes foPackCharge{0%,100%{transform:translateX(0) rotate(0) scale(1)}25%{transform:translateX(-7px) rotate(-1.2deg) scale(1.015)}50%{transform:translateX(7px) rotate(1.2deg) scale(1.025)}75%{transform:translateX(-4px) rotate(-.6deg) scale(1.015)}}
@keyframes foPackBurst{0%{transform:scale(1);opacity:1;filter:brightness(1)}48%{transform:scale(1.14);opacity:1;filter:brightness(2.2)}100%{transform:scale(1.72);opacity:0;filter:brightness(5) blur(10px)}}
@keyframes foFlash{0%{opacity:0}22%{opacity:.96}100%{opacity:0}}
@keyframes foFloat{0%{transform:translate3d(0,110vh,0) rotate(0);opacity:0}15%{opacity:var(--o,.55)}100%{transform:translate3d(var(--dx,0),-120vh,0) rotate(540deg);opacity:0}}
@keyframes foRain{0%{transform:translate3d(0,-20vh,0) rotate(12deg);opacity:0}10%{opacity:var(--o,.5)}100%{transform:translate3d(var(--dx,12vw),120vh,0) rotate(12deg);opacity:0}}
@keyframes foLegendInfoIn{0%{opacity:0;transform:translateY(18px) scale(.96);filter:blur(5px)}55%{filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes foLegendCardIn{0%{opacity:0;transform:scale(.72) rotateY(88deg);filter:brightness(0) blur(14px)}58%{opacity:1;filter:brightness(1.9) blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes foWalkoutTitle{0%{opacity:0;transform:translate(-50%,-50%) scale(.72);filter:blur(12px)}35%{opacity:.35;filter:blur(0)}100%{opacity:.07;transform:translate(-50%,-50%) scale(1.12);filter:blur(1px)}}
@keyframes foWalkoutCard{0%{transform:translateY(34px) scale(.86)}65%{transform:translateY(-8px) scale(1.035)}100%{transform:none}}
@keyframes foSummaryIn{to{transform:none;opacity:1}}
@media(max-width:900px){
  .fo-scene{min-height:520px;height:calc(100dvh - 12px);border-radius:20px;}
  .fo-header{top:18px;left:18px;right:18px;}
  .fo-progress{display:none;}
  .fo-reveal-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(260px,1fr) auto;gap:10px;padding-top:56px;text-align:center;}
  .fo-reveal-copy{order:2;display:grid;justify-items:center;}
  .fo-card-name{font-size:clamp(27px,8vw,50px);margin-top:10px;max-width:none;}
  .fo-card-meta{justify-content:center;}
  .fo-card-counter{margin-top:10px;}
  .fo-card-visual{order:1;width:min(310px,58vw);max-height:46vh;}
  .fo-side-stat{order:3;display:none;}
  .fo-summary-phase{padding:72px 12px 72px;}
  .fo-summary-grid{width:min(650px,100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  .fo-controls{left:16px;right:16px;bottom:14px;justify-content:flex-end;}
  .fo-pack-shell{width:min(340px,62vw);}
}
@media(max-width:560px){
  .futtu-opening{padding:0;}
  .fo-scene{height:100dvh;min-height:0;border-radius:0;border:0;}
  .fo-title{font-size:25px;}
  .fo-pack-shell{width:min(280px,72vw);}
  .fo-hint{font-size:10px;bottom:70px;}
  .fo-card-visual{width:min(260px,65vw);}
  .fo-summary-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-inline:4px;}
  .fo-btn{min-width:92px;padding:11px 13px;font-size:11px;}
}
@media(prefers-reduced-motion:reduce){
  .futtu-opening *, .futtu-opening *::before, .futtu-opening *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}
