/* FTL Collectible Cards — renderer + pack overlay (CARDS_SPEC v3, Phase 0).
   Rig + foil from Cards/ace-holo-card.html, pack sequence from Cards/ace-pack-opening.html.
   Everything is sized from --cw (card width). No Google Fonts: Outfit + DM Sans are self-hosted by the app. */
.fc{--cw:300px;--rad:calc(var(--cw)*.055);--rx:0deg;--ry:0deg;--fy:0deg;--cx:0;--cy:0;--gx:50%;--gy:30%;--hx:50%;--hy:50%;--shx:0px;--shy:10px;
  --p:.85;--popz:calc(var(--cw)*.16);--holo:.62;
  --art1:#1b6534;--art2:#0b2c18;--art3:#04140a;--ray:255,190,110;--sun1:rgba(255,160,70,.75);--sun2:rgba(240,122,30,.25);
  --lines:#eef2ea;--accent:#d9ef3f;--accent2:#ffb15e;--plateB:rgba(217,239,63,.38);
  --r1:#eef1f4;--r2:#f6d48a;--r3:#9ff2e0;--r4:#bfb0ff;--r5:#ffc6e4;--r6:#c7ccd3;--bubc:160,240,255;
  position:relative;width:var(--cw);height:calc(var(--cw)*1.4);perspective:calc(var(--cw)*4.4);flex:none;
  font-family:"DM Sans",system-ui,sans-serif;color:#eef2ea;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.fc.t-rare{--art1:#1e5a96;--art2:#0b2748;--art3:#040d1e;--ray:140,220,255;--sun1:rgba(130,215,255,.75);--sun2:rgba(60,140,255,.25);
  --lines:#cfe9ff;--accent:#7fd8ff;--accent2:#b8ecff;--plateB:rgba(127,216,255,.5);
  --r1:#e9f6ff;--r2:#7fd8ff;--r3:#c9b8ff;--r4:#fff;--r5:#6fb2ff;--r6:#bfe8ff;--bubc:170,225,255;--holo:.75}
.fc.t-legend{--art1:#b27812;--art2:#5a3406;--art3:#1c0f02;--ray:255,220,130;--sun1:rgba(255,236,160,.95);--sun2:rgba(255,170,40,.4);
  --lines:#ffe9b0;--accent:#ffd45e;--accent2:#fff0b8;--plateB:rgba(255,212,94,.65);
  --r1:#fff6d0;--r2:#ffd45e;--r3:#b7760f;--r4:#fff2b0;--r5:#f0a522;--r6:#fffbe8;--bubc:255,214,94;--holo:.95}
.fc.fc-rival{--art1:#5a0d12;--art2:#2a0508;--art3:#0a0102;--ray:255,90,80;--sun1:rgba(255,70,60,.55);--sun2:rgba(160,0,20,.3);--lines:#ffb3ad}
.fc.fc-isfoil{--holo:1}
.fc-rig{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry))}
.fc-flip{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(var(--fy))}
.fc.fc-anim-flip .fc-flip{transition:transform .9s cubic-bezier(.34,1.35,.5,1)}
.fc-face{position:absolute;inset:0;transform-style:preserve-3d}
.fc-face>*{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fc-front{transform:translateZ(1.8px)}
.fc-back{transform:rotateY(180deg) translateZ(1.8px)}
.fc-edge{position:absolute;inset:0;border-radius:var(--rad);background:linear-gradient(135deg,#dfe4ea,#8f99a6 45%,#e9ecef 60%,#7d8794)}
.fc-edge:nth-child(1){transform:translateZ(-1.2px)}.fc-edge:nth-child(2){transform:translateZ(-.6px)}.fc-edge:nth-child(4){transform:translateZ(.6px)}.fc-edge:nth-child(5){transform:translateZ(1.2px)}
.fc.t-legend .fc-edge{background:linear-gradient(135deg,#fff1b8,#b7760f 45%,#ffe08a 60%,#8a5608)}
/* ---------- front art ---------- */
.fc-art{position:absolute;inset:0;border-radius:var(--rad);overflow:hidden;background:radial-gradient(120% 90% at 50% 20%,var(--art1),var(--art2) 55%,var(--art3) 100%)}
.fc-layer{position:absolute;inset:-6%}
.fc-rays-wrap{transform:translate(calc(var(--cx)*-5px),calc(var(--cy)*-5px))}
.fc-rays{position:absolute;left:50%;top:36%;width:220%;aspect-ratio:1;translate:-50% -50%;
  background:repeating-conic-gradient(from 0deg,rgba(var(--ray),.18) 0deg 5deg,transparent 5deg 12deg);
  -webkit-mask-image:radial-gradient(closest-side,#000 10%,transparent 70%);mask-image:radial-gradient(closest-side,#000 10%,transparent 70%);animation:fc-spin 60s linear infinite}
.fc-sun{background:radial-gradient(40% 32% at 50% 36%,var(--sun1),var(--sun2) 50%,transparent 75%);transform:translate(calc(var(--cx)*-8px),calc(var(--cy)*-8px));mix-blend-mode:screen}
.fc-court-wrap{transform:translate(calc(var(--cx)*-12px),calc(var(--cy)*-6px))}
.fc-court{position:absolute;left:0;right:0;bottom:0;height:52%;width:100%;opacity:.55}
.fc-court g{stroke:var(--lines)}
.fc-bubbles{transform:translate(calc(var(--cx)*-20px),calc(var(--cy)*-14px))}
.fc-bub{position:absolute;bottom:-12%;animation:fc-rise var(--d) linear infinite;animation-delay:var(--dl)}
.fc-bub i{display:block;width:var(--z);height:var(--z);border-radius:50%;animation:fc-wig calc(var(--d)/3) ease-in-out infinite alternate;
  background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.9) 0 12%,rgba(255,255,255,.12) 30%,rgba(var(--bubc),.1) 60%,rgba(255,255,255,.45) 70%,transparent 72%)}
.fc-bub.ball i{background:radial-gradient(circle at 35% 30%,#f4ff9a,#d9ef3f 45%,#9fb81c 100%);box-shadow:0 0 12px rgba(217,239,63,.6)}
.fc.t-legend .fc-bub i,.fc-bub.ember i{background:radial-gradient(circle at 35% 30%,#fffbe0,rgba(255,212,94,.9) 45%,rgba(200,130,20,.6) 100%);box-shadow:0 0 10px rgba(255,212,94,.8)}
.fc-bleed{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;transform:translate(calc(var(--cx)*-6px),calc(var(--cy)*-6px))}
.fc-k-bleed .fc-front .fc-art::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 calc(var(--cw)*.1) calc(var(--cw)*.02) rgba(0,0,0,.55);background:linear-gradient(180deg,rgba(0,0,0,.2),transparent 18%,transparent 45%,rgba(2,6,4,.78) 72%,rgba(2,6,4,.94))}
.fc-k-bleed .fc-front .fc-glare{display:none}
.fc-rackets{position:absolute;left:50%;top:40%;width:92%;translate:-50% -50%;opacity:.4;transform:translate(calc(var(--cx)*-10px),calc(var(--cy)*-6px))}
.fc-figshadow{position:absolute;inset:0;pointer-events:none}
.fc-figshadow i{position:absolute;display:block;background:#000;opacity:calc(.12 + var(--p)*.34);filter:blur(7px);-webkit-mask-size:100% 100%;mask-size:100% 100%;translate:var(--shx) var(--shy)}
.fc-foil{position:absolute;inset:0;mix-blend-mode:color-dodge;opacity:calc(var(--holo)*.5);
  background:repeating-linear-gradient(115deg,hsl(0 90% 60%) 0%,hsl(45 95% 60%) 6%,hsl(95 85% 55%) 12%,hsl(175 85% 55%) 18%,hsl(230 90% 65%) 24%,hsl(290 85% 65%) 30%,hsl(360 90% 60%) 36%);
  background-size:300% 300%;background-position:var(--hx) var(--hy)}
.fc.t-legend .fc-front .fc-foil{background:repeating-linear-gradient(115deg,#fff4c2 0%,#ffcf4d 7%,#fff 12%,#ffb830 19%,#fff0b0 26%,#ffe38a 33%,#fff4c2 36%);background-size:300% 300%;background-position:var(--hx) var(--hy);opacity:calc(var(--holo)*.45)}
.fc-glitter{position:absolute;inset:0;mix-blend-mode:color-dodge;opacity:calc(var(--holo)*1.3);background-image:var(--fc-glitter);background-size:180px 180px;background-position:calc(var(--cx)*30px) calc(var(--cy)*30px);
  -webkit-mask-image:radial-gradient(circle at var(--gx) var(--gy),#000 0%,rgba(0,0,0,.35) 30%,transparent 60%);mask-image:radial-gradient(circle at var(--gx) var(--gy),#000 0%,rgba(0,0,0,.35) 30%,transparent 60%)}
.fc-shine{position:absolute;inset:0;display:none;mix-blend-mode:overlay;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.75) 50%,transparent 62%);background-size:260% 100%;animation:fc-sweep 3.4s ease-in-out infinite}
.fc.t-legend .fc-shine,.fc.fc-isfoil .fc-shine,.fc.fx-shine .fc-shine{display:block}
.fc-glare{position:absolute;inset:0;mix-blend-mode:overlay;background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.8),rgba(255,255,255,.12) 28%,transparent 58%)}
/* frame ring: prismatic in the tier palette; .fc-foiledge = full rainbow foil edge; .fc-plain = flat tier edge */
.fc-ring{position:absolute;inset:0;border-radius:var(--rad);padding:calc(var(--cw)*.024);pointer-events:none;transform:translateZ(.6px);
  background:conic-gradient(from calc(var(--cx)*140deg + 210deg) at 50% 50%,var(--r1),var(--r2),var(--r6),var(--r3),var(--r4),var(--r5),var(--r1),var(--r6),var(--r2),var(--r1));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.fc.fc-plain .fc-ring{background:linear-gradient(160deg,var(--r1),var(--r2) 50%,var(--r6))}
.fc.fc-foiledge .fc-front .fc-ring{padding:calc(var(--cw)*.03);background:conic-gradient(from calc(var(--cx)*200deg + var(--fc-spinA,0deg)) at 50% 50%,#ff6a6a,#ffd36a,#b7ff6a,#6affd9,#6aa8ff,#c46aff,#ff6ad0,#ff6a6a)}
.fc.fc-goldring .fc-front .fc-ring{padding:calc(var(--cw)*.032);background:conic-gradient(from var(--fc-spinA,0deg) at 50% 50%,#fff6d0,#ffd45e,#b7760f,#fff2b0,#f0a522,#fffbe8,#ffd45e,#fff6d0);box-shadow:0 0 18px rgba(255,212,94,.6)}
.fc-ring-in{position:absolute;inset:calc(var(--cw)*.024);border-radius:calc(var(--rad)*.7);pointer-events:none;transform:translateZ(.6px);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55),inset 0 0 0 2px var(--plateB),inset 0 0 18px rgba(0,0,0,.45)}
/* the figure: pops over the TOP edge (7.5% of card height at --p:1, inside the card at --p:0) */
.fc-fig{position:absolute;inset:0;pointer-events:none;transform:translateZ(calc(2px + var(--popz)*var(--p)));
  clip-path:polygon(calc(2.5% - var(--p)*10%) calc(2.5% - var(--p)*16%),calc(97.5% + var(--p)*10%) calc(2.5% - var(--p)*16%),calc(97.5% + var(--p)*10%) 86%,calc(2.5% - var(--p)*10%) 86%);
  filter:drop-shadow(0 0 1px rgba(255,220,160,.55)) drop-shadow(calc(var(--cx)*-3px) 0 6px rgba(var(--ray),.4))}
.fc-figpos{position:absolute;height:92%;aspect-ratio:690/1200;left:50%;top:calc(3.4% - 10.5% * var(--p) - 6.44%);transform:translateX(-50%);max-width:none}
.fc-fig .fc-sheen{-webkit-mask-size:100% 100%;mask-size:100% 100%;mix-blend-mode:soft-light;opacity:calc(var(--holo)*.9);
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.85) 45%,rgba(var(--ray),.6) 52%,transparent 66%);background-size:260% 260%;background-position:var(--hx) var(--hy)}
/* ---------- Player Card ladder (v3.1 §5) ---------- */
.fc.fc-flat .fc-rays-wrap,.fc.fc-flat .fc-sun{display:none}
.fc.fc-slowrays .fc-rays{animation-duration:150s}
.fc.fc-deep{--art1:#3b1c7c;--art2:#1a0b40;--art3:#07031a}
.fc.fc-darkgold{--art1:#1a2442;--art2:#0a0f20;--art3:#010206;--ray:255,196,80;--lines:#e8c060}
.fc.fc-darkgold .fc-front .fc-foil{opacity:calc(var(--holo)*.16)}.fc.fc-darkgold .fc-glitter{opacity:calc(var(--holo)*.8)}
.fc.fc-deep .fc-front .fc-foil{opacity:calc(var(--holo)*.34)}
.fc.fc-darkgold .fc-sun{background:radial-gradient(30% 26% at 50% 42%,rgba(255,206,110,.5),transparent 72%),conic-gradient(from 164deg at 50% -8%,transparent 0deg,rgba(255,214,120,.34) 10deg,rgba(255,214,120,.34) 22deg,transparent 32deg);mix-blend-mode:screen}
.fc.fc-goldedge .fc-front .fc-ring{padding:calc(var(--cw)*.03);background:conic-gradient(from calc(var(--cx)*200deg + 30deg) at 50% 50%,#fff6d0,#ffd45e,#b7760f,#fff2b0,#f0a522,#fffbe8,#ffd45e,#fff6d0)}
.fc-hof .fc-stad{background:linear-gradient(180deg,#010102 0%,#0b0805 38%,#1c1307 52%,#080604 53%)}
.fc-hof .fc-cone::after{background:linear-gradient(180deg,rgba(255,226,150,.75),rgba(255,210,120,.2) 55%,transparent 88%)}
.fc-hof .fc-crowd{filter:sepia(1) saturate(2.4) hue-rotate(-10deg) brightness(1.1)}
.fc-hof .fc-floor{background:linear-gradient(90deg,transparent 16%,#e8c060 16% 16.8%,transparent 16.8% 83.2%,#e8c060 83.2% 84%,transparent 84%),linear-gradient(180deg,#e8c060 0 1.5%,transparent 1.5% 46%,#e8c060 46% 47.5%,transparent 47.5%),#17110a;opacity:.8}
.fc-hof .fc-figpos{filter:drop-shadow(0 0 1.5px #ffe08a) drop-shadow(0 0 12px rgba(255,190,60,.6))}
.fc-fall .fc-bub{animation-name:fc-fall}
.fc-hof .fc-plate{background:linear-gradient(180deg,rgba(14,10,3,.9),rgba(4,3,1,.97));box-shadow:0 0 0 1px rgba(255,212,94,.8),0 -14px 30px -10px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,236,170,.2)}
.fc-hof .fc-pip.tier{color:#ffd45e!important;background:#0b0803!important;border:1px solid rgba(255,212,94,.8)!important}
.fc-hofk{margin-top:calc(var(--cw)*.018);text-align:center;font:800 calc(var(--cw)*.036)/1 "DM Sans",system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;
  background:linear-gradient(100deg,#fff6d8 15%,#ffd45e 40%,#fff 52%,#f0a522 66%,#fff6d8 88%);background-size:220% 100%;background-position:var(--hx) 0;-webkit-background-clip:text;background-clip:text;color:transparent}
.fc-hof .fc-name{display:flex;align-items:center;justify-content:center;gap:calc(var(--cw)*.02);color:#fff3cf}
.fc-laurel{width:calc(var(--cw)*.05);height:auto;color:#ffd45e;flex:none}
.fc-laurel.r{transform:scaleX(-1)}
@keyframes fc-fall{from{bottom:108%;opacity:0}10%{opacity:1}85%{opacity:1}to{bottom:-12%;opacity:0}}
/* ---------- plate (v3: no stats on collectible cards) ---------- */
.fc-plate{position:absolute;left:calc(var(--cw)*.055);right:calc(var(--cw)*.055);bottom:calc(var(--cw)*.055);transform:translateZ(calc(var(--popz)*var(--p) + 8px));
  border-radius:calc(var(--cw)*.03);padding:calc(var(--cw)*.03) calc(var(--cw)*.045) calc(var(--cw)*.032);
  background:linear-gradient(180deg,rgba(6,16,11,.86),rgba(3,8,6,.96));box-shadow:0 0 0 1px var(--plateB),0 -14px 30px -10px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08)}
.fc-pips{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--cw)*.014) calc(var(--cw)*.016);min-height:calc(var(--cw)*.05)}
.fc-pip{display:inline-flex;align-items:center;gap:calc(var(--cw)*.012);padding:calc(var(--cw)*.007) calc(var(--cw)*.024);border-radius:99px;white-space:nowrap;
  font:700 calc(var(--cw)*.034)/1.1 "DM Sans",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--accent2);border:1px solid var(--plateB);background:rgba(255,255,255,.04)}
.fc-pip svg{width:calc(var(--cw)*.032);height:auto}
.fc.t-legend .fc-pip.tier,.fc-pip.foil{color:#2a1600;background:linear-gradient(110deg,#fff1b8,#ffd45e 45%,#f0a522);border-color:transparent}
.fc-pip.foil{background:linear-gradient(110deg,#ffd0f0,#b8f0ff 35%,#fff6b0 65%,#d7c4ff)}
.fc-pip.foil{text-transform:none;letter-spacing:.04em}
.fc-pip.rival{color:#fff;background:#c8102e;border-color:transparent}
.fc-seal{margin-left:auto;display:flex;align-items:center;gap:calc(var(--cw)*.014);font:700 calc(var(--cw)*.031)/1 "DM Sans",system-ui,sans-serif;letter-spacing:.08em;color:rgba(255,255,255,.72);white-space:nowrap}
.fc-seal svg{width:calc(var(--cw)*.052);height:auto;display:block}
.fc-name{font:700 calc(var(--cw)*.088)/1.02 "Outfit","DM Sans",sans-serif;letter-spacing:-.005em;margin-top:calc(var(--cw)*.02);color:#fff;text-wrap:balance;overflow-wrap:anywhere}
.fc-pick{display:inline-block;margin-top:calc(var(--cw)*.012);padding:calc(var(--cw)*.006) calc(var(--cw)*.022);border-radius:calc(var(--cw)*.014);
  font:700 calc(var(--cw)*.034)/1.2 "DM Sans",system-ui,sans-serif;color:#10200f;background:var(--accent)}
.fc-sub{font:700 calc(var(--cw)*.037)/1.25 "DM Sans",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:calc(var(--cw)*.012)}
.fc-line{font:italic 500 calc(var(--cw)*.05)/1.3 "DM Sans",system-ui,sans-serif;color:#dfe8e2;margin-top:calc(var(--cw)*.018);text-wrap:pretty}
.fc-k-bleed .fc-plate{background:linear-gradient(180deg,rgba(3,8,6,.9),rgba(2,5,4,.98))}
/* Player Card stat grid (the only stats on any card) */
.fc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--cw)*.018) calc(var(--cw)*.03);margin-top:calc(var(--cw)*.024);border-top:1px solid rgba(214,232,218,.16);padding-top:calc(var(--cw)*.022)}
.fc-stat{display:flex;flex-direction:column;gap:calc(var(--cw)*.006);min-width:0}
.fc-stat b{font:700 calc(var(--cw)*.062)/1 "Outfit","DM Sans",sans-serif;font-variant-numeric:tabular-nums}
.fc-stat i{font:700 calc(var(--cw)*.03)/1.1 "DM Sans",system-ui,sans-serif;font-style:normal;letter-spacing:.06em;color:#9fb0a6;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-stat s{display:block;height:2px;background:rgba(214,232,218,.15);border-radius:2px;overflow:hidden;text-decoration:none}
.fc-stat s::after{content:"";display:block;height:100%;width:var(--v,0%);background:linear-gradient(90deg,#f07a1e,var(--accent));transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.fc.t-legend .fc-stat b{color:#ffd45e}
.fc-lvl{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:calc(var(--cw)*.014);font:700 calc(var(--cw)*.04)/1.2 "DM Sans",system-ui,sans-serif;color:#dfe8e2}
.fc-lvl em{font-style:normal;color:var(--accent)}
.fc-flame{position:absolute;top:calc(var(--cw)*.06);right:calc(var(--cw)*.06);transform:translateZ(calc(var(--popz)*var(--p) + 14px));padding:calc(var(--cw)*.01) calc(var(--cw)*.03);border-radius:99px;
  font:700 calc(var(--cw)*.042)/1.1 "Outfit","DM Sans",sans-serif;color:#fff;background:rgba(0,0,0,.55);box-shadow:0 0 0 1px rgba(255,160,60,.6),0 0 14px rgba(255,120,30,.45)}
/* ---------- back: dark "All Access" pass (from the portal prototype, AJ 2026-09-28: no white back) ---------- */
.fc{--bk1:#0e2b19;--bk2:#040c07;--bkg:rgba(217,239,63,.16)}
.fc.t-rare{--bk1:#0c1834;--bk2:#050a17;--bkg:rgba(47,123,255,.3)}
.fc.t-legend{--bk1:#2d1e05;--bk2:#0c0701;--bkg:rgba(255,196,70,.26)}
.fc.fc-rival{--bk1:#2c0609;--bk2:#0a0102;--bkg:rgba(255,60,60,.22)}
.fc-back .fc-art{background:radial-gradient(90% 60% at 50% 40%,var(--bkg),transparent 70%),
  repeating-radial-gradient(circle at 50% 44%,rgba(190,210,255,.07) 0 calc(var(--cw)*.0022),transparent calc(var(--cw)*.0022) calc(var(--cw)*.017)),linear-gradient(180deg,var(--bk1),var(--bk2))}
.fc-bholo{position:absolute;inset:0;mix-blend-mode:color-dodge;opacity:.28;
  background:linear-gradient(calc(115deg + var(--cx)*70deg),transparent 20%,rgba(255,122,217,.55) 32%,rgba(122,252,255,.55) 42%,rgba(217,239,63,.55) 52%,rgba(255,154,74,.5) 62%,transparent 74%);
  background-size:200% 200%;background-position:calc(50% + var(--cx)*60%) calc(50% + var(--cy)*60%);
  -webkit-mask:repeating-linear-gradient(115deg,#000 0 calc(var(--cw)*.1),rgba(0,0,0,.55) calc(var(--cw)*.1) calc(var(--cw)*.11));mask:repeating-linear-gradient(115deg,#000 0 calc(var(--cw)*.1),rgba(0,0,0,.55) calc(var(--cw)*.1) calc(var(--cw)*.11))}
.fc-back .fc-glare{mix-blend-mode:soft-light;opacity:.7}
.fc-back .fc-ring-in{box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 0 0 2px var(--plateB),inset 0 0 22px rgba(0,0,0,.5)}
.fc-pass{position:absolute;inset:calc(var(--cw)*.06) calc(var(--cw)*.075) calc(var(--cw)*.065);display:flex;flex-direction:column;gap:calc(var(--cw)*.035);transform:translateZ(8px);color:#fff}
.fc-slot{align-self:center;flex:none;width:calc(var(--cw)*.22);height:calc(var(--cw)*.034);border-radius:calc(var(--cw)*.02);background:#02040a;box-shadow:inset 0 calc(var(--cw)*.005) calc(var(--cw)*.01) rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.12)}
.fc-pass-head{display:flex;flex-direction:column;align-items:center;gap:calc(var(--cw)*.012);text-align:center}
.fc-pass-head small{font:700 calc(var(--cw)*.03)/1.2 "DM Sans",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(214,226,255,.62)}
.fc-pass-name{font:700 calc(var(--cw)*.1)/1 "Outfit","DM Sans",sans-serif;letter-spacing:-.005em;color:#fff;text-wrap:balance;overflow-wrap:anywhere}
.fc-pass-head em{font:700 calc(var(--cw)*.034)/1.2 "DM Sans",system-ui,sans-serif;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.fc-pass-note{align-self:center;margin-top:calc(var(--cw)*-.01);padding:calc(var(--cw)*.008) calc(var(--cw)*.03);border-radius:99px;font:700 calc(var(--cw)*.03)/1.2 "DM Sans",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#2a1600;background:linear-gradient(110deg,#fff1b8,#ffd45e 45%,#f0a522)}
.fc-idcard{display:grid;grid-template-columns:calc(var(--cw)*.27) 1fr;gap:calc(var(--cw)*.04);align-items:center;background:rgba(3,6,14,.55);border:1px solid rgba(255,255,255,.12);border-radius:calc(var(--cw)*.022);padding:calc(var(--cw)*.03)}
.fc-photo{aspect-ratio:1;border-radius:calc(var(--cw)*.016);background-color:var(--art2);background-repeat:no-repeat;background-size:205%;background-position:50% 5%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.22)}
.fc-photo.cover{background-size:cover;background-position:50% 50%}
.fc-prov{margin:0;display:grid;grid-template-columns:auto 1fr;gap:calc(var(--cw)*.016) calc(var(--cw)*.028);align-items:baseline;min-width:0}
.fc-prov dt{font:700 calc(var(--cw)*.03)/1.2 "DM Sans",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(190,204,232,.75)}
.fc-prov dd{margin:0;font:700 calc(var(--cw)*.042)/1.2 "DM Sans",system-ui,sans-serif;color:#fff;overflow-wrap:anywhere}
.fc-prov dd.fc-opened{color:var(--accent)}
.fc-lines{margin:0;padding:calc(var(--cw)*.03) calc(var(--cw)*.036);border-radius:calc(var(--cw)*.022);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  font:500 calc(var(--cw)*.042)/1.35 "DM Sans",system-ui,sans-serif;color:#e8eef8;list-style:none;display:flex;flex-direction:column;gap:calc(var(--cw)*.014)}
.fc-lines li:first-child{font-weight:700;color:#fff}
.fc-radar{display:block;width:74%;margin:0 auto;height:auto}
.fc-pass-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:calc(var(--cw)*.022);border-top:1px solid rgba(255,255,255,.14);
  font:700 calc(var(--cw)*.03)/1 "DM Sans",system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(214,226,255,.7)}
.fc-bseal{--bs:calc(var(--cw)*.13);width:var(--bs);height:var(--bs);border-radius:50%;display:grid;place-items:center;position:relative;flex:none;
  background:conic-gradient(from calc(var(--cx)*180deg),#ff7ad9,#7afcff,#d9ef3f,#ff9a4a,#9a7aff,#ff7ad9);box-shadow:0 0 0 1px rgba(255,255,255,.25),0 4px 10px rgba(0,0,0,.5)}
.fc-bseal::before{content:"";position:absolute;inset:calc(var(--cw)*.01);border-radius:50%;background:radial-gradient(circle at 50% 38%,#fff,#e4edf5 70%,#c9d7e4)}
.fc-bseal img{position:relative;height:calc(var(--bs)*.7);width:auto;max-width:none}
/* sealed (face-down) back — dark, never names the card */
.fc.fc-sealed .fc-back-pass,.fc:not(.fc-sealed) .fc-back-seal{display:none}
.fc-back-seal .fc-art{--bk1:#0c1834;--bk2:#050a17;--bkg:rgba(47,123,255,.3)}
.fc-sealin{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--cw)*.035);text-align:center;transform:translateZ(8px);padding:calc(var(--cw)*.12) calc(var(--cw)*.1) calc(var(--cw)*.16)}
.fc-sealin .fc-bseal{--bs:calc(var(--cw)*.46)}
.fc-sealin .fc-bseal::before{inset:calc(var(--cw)*.022)}
.fc-sealin b{font:700 calc(var(--cw)*.08)/1.05 "Outfit","DM Sans",sans-serif;color:#fff;margin-top:calc(var(--cw)*.02)}
.fc-sealin span.u{font:700 calc(var(--cw)*.034)/1 "DM Sans",system-ui,sans-serif;letter-spacing:.06em;color:#d9ef3f}
.fc-sealfoot{position:absolute;bottom:calc(var(--cw)*.075);left:calc(var(--cw)*.08);right:calc(var(--cw)*.08);display:flex;justify-content:space-between;font:700 calc(var(--cw)*.03)/1 "DM Sans",system-ui,sans-serif;letter-spacing:.12em;color:rgba(214,226,255,.7);text-transform:uppercase;transform:translateZ(8px);border-top:1px solid rgba(255,255,255,.14);padding-top:calc(var(--cw)*.025)}
/* ---------- legend skin: CSS stadium (exactly two cards) ---------- */
.fc-stad{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#050a1c 0%,#0c1638 38%,#101c3c 52%,#0a1a14 53%)}
.fc-stad>*{position:absolute}
.fc-sky{inset:-4%;transform:translate(calc(var(--cx)*-4px),calc(var(--cy)*-4px))}
.fc-cone{position:absolute;top:-3%;width:46%;height:72%;transform-origin:50% 0;clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);opacity:.12;transition:opacity .6s ease}
.fc-cone::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,246,214,.7),rgba(255,246,214,.18) 55%,transparent 88%);animation:fc-breathe 8s ease-in-out infinite}
.fc-cone.b::after{animation-delay:-2.6s}.fc-cone.c::after{animation-delay:-5.2s}
.fc-cone::before{content:"";position:absolute;left:38%;right:38%;top:0;height:5%;border-radius:40%;background:#fffbe8;box-shadow:0 0 12px 4px rgba(255,240,190,.9)}
.fc-cone.a{left:-12%;rotate:-24deg}.fc-cone.b{left:27%}.fc-cone.c{right:-12%;rotate:24deg}
.fc-crowd{left:-4%;right:-4%;top:37%;height:16%;background:var(--fc-crowd) 0 0/120px 60px,linear-gradient(180deg,#0a0f22,#141b33);opacity:.35;transition:opacity .6s ease;transform:translate(calc(var(--cx)*-8px),calc(var(--cy)*-5px))}
.fc-floorwrap{left:-8%;right:-8%;top:53%;height:60%;perspective:calc(var(--cw)*1.2);transform:translate(calc(var(--cx)*-12px),calc(var(--cy)*-6px))}
.fc-floor{position:absolute;inset:0;transform-origin:50% 0;transform:rotateX(62deg);background:linear-gradient(90deg,transparent 16%,#fff 16% 16.8%,transparent 16.8% 83.2%,#fff 83.2% 84%,transparent 84%),
  linear-gradient(180deg,#fff 0 1.5%,transparent 1.5% 46%,#fff 46% 47.5%,transparent 47.5%),linear-gradient(90deg,transparent 49.6%,#fff 49.6% 50.4%,transparent 50.4%) 0 0/100% 47% no-repeat,#1f5fa8;opacity:.7}
.fc-spot{left:22%;right:22%;top:70%;height:12%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);transform:translate(calc(var(--cx)*-14px),0)}
.fc-sweep{inset:0;background:linear-gradient(100deg,transparent 40%,rgba(255,240,200,.22) 50%,transparent 60%);background-size:300% 100%;animation:fc-sweep 6s ease-in-out infinite}
.fc-skin-legend.fc-lit .fc-cone{opacity:.8}.fc-skin-legend.fc-lit .fc-crowd{opacity:1}
.fc-skin-legend .fc-front .fc-foil{display:none}.fc-skin-legend .fc-front .fc-glitter{opacity:calc(var(--holo)*.7)}
.fc-skin-legend .fc-figpos{filter:drop-shadow(0 0 10px rgba(255,212,94,.35))}
.fc-skin-legend .fc-fig{transform:translateZ(calc(2px + var(--popz)*var(--p))) translate(calc(var(--cx)*-6px),calc(var(--cy)*-4px))}
/* ---------- static (grid thumbs, share preview) + reduced motion ---------- */
.fc.fc-static .fc-rays,.fc.fc-static .fc-shine,.fc.fc-static .fc-sweep,.fc.fc-static .fc-cone::after,.fc.fc-still .fc-rays{animation:none}
.fc.fc-static .fc-glitter,.fc.fc-static .fc-glare{display:none}
@keyframes fc-spin{to{rotate:360deg}}
@keyframes fc-rise{from{bottom:-12%;opacity:0}10%{opacity:1}85%{opacity:1}to{bottom:108%;opacity:0}}
@keyframes fc-wig{from{transform:translateX(-6px)}to{transform:translateX(6px)}}
@keyframes fc-sweep{0%{background-position:130% 0}55%,100%{background-position:-30% 0}}
@keyframes fc-breathe{50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.fc-rays,.fc-bub,.fc-bub i,.fc-shine,.fc-sweep,.fc-cone::after{animation:none!important}.fc.fc-anim-flip .fc-flip{transition:none}}
html.ftl-reduce-motion .fc-rays,html.ftl-reduce-motion .fc-bub,html.ftl-reduce-motion .fc-bub i,html.ftl-reduce-motion .fc-shine,html.ftl-reduce-motion .fc-sweep,html.ftl-reduce-motion .fc-cone::after{animation:none!important}
html.ftl-reduce-motion .fc.fc-anim-flip .fc-flip{transition:none}
/* ================= PACK OVERLAY (from Cards/ace-pack-opening.html) ================= */
html.fc-pack-open,html.fc-pack-open body{overflow:hidden}
.fcp{position:fixed;inset:0;z-index:9990;overflow:hidden;background:#050b08;color:#eef2ea;font-family:"DM Sans",system-ui,sans-serif;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;animation:fcp-in .3s ease both}
.fcp.out{animation:fcp-outk .26s ease both}
@keyframes fcp-in{from{opacity:0}}@keyframes fcp-outk{to{opacity:0}}
.fcp-world{position:absolute;inset:0;touch-action:none}
.fcp-bg{position:absolute;inset:0;background:radial-gradient(55% 45% at 50% 42%,rgba(46,140,70,.30),transparent 70%),radial-gradient(40% 20% at 50% 92%,rgba(240,122,30,.12),transparent 70%),linear-gradient(180deg,#06120b 0%,#040a07 60%,#030705 100%)}
.fcp-floor{position:absolute;left:0;right:0;bottom:0;height:42%;width:100%;opacity:.10;pointer-events:none}
.fcp-cv{position:absolute;left:0;top:0;pointer-events:none}
.fcp-back{z-index:1}.fcp-front{z-index:60}
.fcp-vig{position:absolute;inset:0;z-index:61;pointer-events:none;background:radial-gradient(75% 70% at 50% 45%,transparent 55%,rgba(0,0,0,.65) 100%)}
.fcp-dim{position:absolute;inset:0;z-index:20;background:#000;opacity:0;pointer-events:none}
.fcp-cards{position:absolute;inset:0;z-index:5;pointer-events:none}
.fcp-card{position:absolute;left:50%;top:50%;margin-left:calc(var(--cw)*-.5);margin-top:calc(var(--cw)*-.7);opacity:0;cursor:pointer;outline:none;pointer-events:auto}
.fcp-card:focus-visible .fc-rig{outline:2px solid #d9ef3f;outline-offset:6px;border-radius:var(--rad)}
/* pack */
.fcp-pack{position:absolute;left:50%;top:50%;width:var(--pw);height:calc(var(--pw)*1.61);z-index:10;perspective:1100px;cursor:pointer;outline:none;
  --rx:0deg;--ry:0deg;--gx:50%;--gy:30%;--hx:50%;--hy:50%;--leak:0;--glow:0;--cx:0;--cy:0}
.fcp-pack:focus-visible .fcp-pack-rig{outline:2px solid #d9ef3f;outline-offset:8px}
.fcp-pack-floor{position:absolute;left:-10%;right:-10%;bottom:-9%;height:12%;background:radial-gradient(closest-side,rgba(0,0,0,.75),transparent);filter:blur(6px)}
.fcp-pack-floor::after{content:"";position:absolute;inset:-60% 10%;border-radius:50%;background:radial-gradient(closest-side,rgba(217,239,63,.16),transparent);animation:fcp-breathe 2.4s ease-in-out infinite}
@keyframes fcp-breathe{50%{opacity:.35;transform:scale(1.15)}}
.fcp-pack-rig{position:absolute;inset:0;transform:rotateX(var(--rx)) rotateY(var(--ry));filter:drop-shadow(0 26px 30px rgba(0,0,0,.6)) drop-shadow(0 0 calc(var(--leak)*28px) rgba(255,214,120,calc(var(--leak)*.9)))}
.fcp-pk{position:absolute;inset:0}
.fcp-top{transform-origin:50% 8%}
.fcp-pack-glow{position:absolute;left:-40%;right:-40%;top:-50%;height:130%;opacity:var(--glow);pointer-events:none;background:radial-gradient(45% 40% at 50% 50%,rgba(255,250,225,.95),rgba(255,210,120,.45) 35%,transparent 70%)}
.fcp-leak{position:absolute;left:-4%;right:-4%;top:calc(15% - 2px);height:4px;border-radius:4px;opacity:var(--leak);transform:scaleX(var(--leak));
  background:linear-gradient(90deg,transparent,#fff8de 12%,#fff 50%,#fff8de 88%,transparent);box-shadow:0 0 12px 4px rgba(255,236,170,.9),0 0 40px 12px rgba(255,200,90,.55)}
.fcp-pa-bg{position:absolute;inset:0;background:radial-gradient(70% 45% at 50% 44%,#23874a,#0c3a1f 55%,#04150b 100%)}
.fcp-pa-rays{position:absolute;left:50%;top:44%;width:260%;aspect-ratio:1;translate:-50% -50%;background:repeating-conic-gradient(from 0deg,rgba(255,200,120,.16) 0deg 5deg,transparent 5deg 12deg);
  -webkit-mask-image:radial-gradient(closest-side,#000 8%,transparent 62%);mask-image:radial-gradient(closest-side,#000 8%,transparent 62%);animation:fc-spin 50s linear infinite}
.fcp-pa-sun{position:absolute;inset:0;background:radial-gradient(38% 24% at 50% 46%,rgba(255,170,80,.7),rgba(240,122,30,.18) 55%,transparent 80%);mix-blend-mode:screen}
.fcp-pa-court{position:absolute;left:0;right:0;top:52%;height:34%;width:100%;opacity:.35}
.fcp-pa-big{position:absolute;left:0;right:0;top:20%;text-align:center;font:700 calc(var(--pw)*.34)/1 "Outfit","DM Sans",sans-serif;letter-spacing:.02em;
  background:linear-gradient(110deg,#fff6d8 25%,#ffd45e 40%,#fff 50%,#a8fff0 58%,#ffd45e 70%,#fff6d8 85%);background-size:300% 100%;background-position:var(--hx) 0;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 rgba(0,0,0,.35))}
.fcp-pa-fox{position:absolute;height:57%;aspect-ratio:690/1200;left:50%;top:24%;transform:translateX(-50%);max-width:none;filter:drop-shadow(0 10px 14px rgba(0,0,0,.5))}
.fcp-pa-crimp{position:absolute;left:0;right:0;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(0,0,0,.25)),repeating-linear-gradient(90deg,#f2f5f7 0 2px,#9aa4ae 2px 4px,#d3d9df 4px 6px)}
.fcp-pa-crimp.top{top:0;height:7%}.fcp-pa-crimp.bot{bottom:0;height:6.5%}
.fcp-pa-band{position:absolute;left:0;right:0;top:7%;height:7.4%;display:flex;align-items:center;justify-content:center;gap:calc(var(--pw)*.03);background:linear-gradient(180deg,#0a1a10,#06100a);border-bottom:1px solid rgba(255,212,94,.35);
  font:700 calc(var(--pw)*.036)/1 "DM Sans",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e8efe5;white-space:nowrap}
.fcp-pa-mark{width:calc(var(--pw)*.075);height:calc(var(--pw)*.075);border-radius:calc(var(--pw)*.014);background:#fff;display:grid;place-items:center;flex:none}
.fcp-pa-mark img{height:calc(var(--pw)*.064);width:auto;max-width:none;display:block}
.fcp-pa-perf{position:absolute;left:0;right:0;top:15%;height:0;border-top:1.5px dashed rgba(255,255,255,.55)}
.fcp-pa-perf span{position:absolute;right:4%;top:calc(var(--pw)*.012);font:700 calc(var(--pw)*.03)/1 "DM Sans",system-ui,sans-serif;letter-spacing:.12em;color:rgba(255,255,255,.85);text-transform:uppercase}
.fcp-pa-series{position:absolute;left:0;right:0;top:17.4%;text-align:center;font:700 calc(var(--pw)*.034)/1 "DM Sans",system-ui,sans-serif;letter-spacing:.28em;color:#d9ef3f;text-transform:uppercase}
.fcp-pa-foot{position:absolute;left:0;right:0;top:80%;height:13.5%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--pw)*.012);
  background:linear-gradient(180deg,rgba(4,14,8,.92),rgba(2,8,5,.98));border-top:1px solid rgba(255,212,94,.4)}
.fcp-pa-foot b{font:700 calc(var(--pw)*.1)/1 "Outfit","DM Sans",sans-serif;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(180deg,#fff,#cfd8d0);-webkit-background-clip:text;background-clip:text;color:transparent}
.fcp-pa-foot span{font:700 calc(var(--pw)*.034)/1 "DM Sans",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#9fb0a6}
.fcp-pa-foil{position:absolute;inset:0;mix-blend-mode:color-dodge;opacity:.42;background:repeating-linear-gradient(115deg,hsl(0 90% 60%) 0%,hsl(45 95% 60%) 6%,hsl(95 85% 55%) 12%,hsl(175 85% 55%) 18%,hsl(230 90% 65%) 24%,hsl(290 85% 65%) 30%,hsl(360 90% 60%) 36%);background-size:300% 300%;background-position:var(--hx) var(--hy)}
.fcp-pa-glitter{position:absolute;inset:0;mix-blend-mode:color-dodge;opacity:.9;background-image:var(--fc-glitter);background-size:160px 160px;background-position:calc(var(--cx)*30px) calc(var(--cy)*30px);
  -webkit-mask-image:radial-gradient(circle at var(--gx) var(--gy),#000 0%,rgba(0,0,0,.3) 30%,transparent 60%);mask-image:radial-gradient(circle at var(--gx) var(--gy),#000 0%,rgba(0,0,0,.3) 30%,transparent 60%)}
.fcp-pa-crinkle{position:absolute;inset:0;mix-blend-mode:overlay;opacity:.8;background:repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0 2.5%,rgba(0,0,0,.12) 4.5%,rgba(255,255,255,.06) 7%,rgba(0,0,0,.05) 9.5%),linear-gradient(180deg,transparent 6%,rgba(255,255,255,.25) 7.5%,transparent 10%,transparent 90%,rgba(255,255,255,.2) 92.5%,transparent 95%)}
.fcp-pa-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.55),transparent 9%,transparent 91%,rgba(0,0,0,.55)),linear-gradient(90deg,transparent 2.5%,rgba(255,255,255,.22) 4.5%,transparent 8%,transparent 92%,rgba(255,255,255,.16) 95.5%,transparent 97.5%),linear-gradient(180deg,rgba(0,0,0,.35),transparent 12%,transparent 88%,rgba(0,0,0,.4))}
.fcp-pa-glare{position:absolute;inset:0;mix-blend-mode:overlay;background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.85),rgba(255,255,255,.12) 26%,transparent 55%)}
/* HUD */
.fcp-x{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:12px;z-index:80;width:44px;height:44px;border-radius:50%;border:1px solid rgba(214,232,218,.22);background:rgba(5,11,8,.6);color:#eef2ea;font:700 18px/1 "DM Sans",system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(6px)}
.fcp-x:focus-visible,.fcp-btn:focus-visible{outline:2px solid #d9ef3f;outline-offset:3px}
.fcp-hud{position:absolute;left:0;right:0;bottom:0;z-index:80;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 16px calc(20px + env(safe-area-inset-bottom,0px));pointer-events:none}
.fcp-prompt{font:700 13px/1.3 "DM Sans",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#dfe8dc;display:flex;align-items:center;gap:10px;transition:opacity .4s;text-align:center}
.fcp-prompt::before{content:"";width:7px;height:7px;border-radius:50%;background:#d9ef3f;box-shadow:0 0 10px #d9ef3f;animation:fcp-pulse 1.4s ease-in-out infinite;flex:none}
.fcp-prompt.hide{opacity:0}
@keyframes fcp-pulse{50%{opacity:.3;transform:scale(.7)}}
.fcp-done{display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:auto;animation:fcp-rise .6s cubic-bezier(.2,.8,.2,1)}
.fcp-done[hidden],.fcp-nextcard[hidden]{display:none!important}
@keyframes fcp-rise{from{opacity:0;transform:translateY(14px)}}
.fcp-tally{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.fcp-tally span{font:700 12px/1 "DM Sans",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:99px;border:1px solid rgba(214,232,218,.2);color:#b9c6be}
.fcp-tally .tl{color:#2a1600;background:linear-gradient(110deg,#fff1b8,#ffd45e 45%,#f0a522);border-color:transparent}
.fcp-tally .tr{color:#b8ecff;border-color:rgba(127,216,255,.5)}
.fcp-tally .tf{color:#2a1600;background:linear-gradient(110deg,#ffd0f0,#b8f0ff 35%,#fff6b0 65%,#d7c4ff);border-color:transparent}
.fcp-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.fcp-btn{pointer-events:auto;appearance:none;border:1px solid #f07a1e;background:#f07a1e;color:#1b0c00;font:700 16px/1 "DM Sans",system-ui,sans-serif;letter-spacing:.02em;padding:15px 24px;min-height:48px;border-radius:12px;cursor:pointer;
  box-shadow:0 10px 30px -8px rgba(240,122,30,.6);transition:transform .15s,background .2s}
.fcp-btn:hover{background:#ffb15e;border-color:#ffb15e}.fcp-btn:active{transform:translateY(1px) scale(.98)}
.fcp-btn.ghost{background:transparent;color:#eef2ea;border-color:rgba(214,232,218,.3);box-shadow:none}
.fcp-bars{position:absolute;inset:0;z-index:70;pointer-events:none}
.fcp-bars i{position:absolute;left:0;right:0;height:0;background:#000;transition:height .6s cubic-bezier(.6,0,.2,1)}
.fcp-bars i:first-child{top:0}.fcp-bars i:last-child{bottom:0}
.fcp-bars.on i{height:9vh}
.fcp-banner{position:absolute;left:0;right:0;top:4.5%;z-index:75;text-align:center;pointer-events:none;opacity:0;padding:0 12px}
.fcp-banner .b-main{font:700 clamp(42px,9vw,104px)/.95 "Outfit","DM Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;padding-left:.1em}
.fcp-banner .b-sub{font:700 13px/1.3 "DM Sans",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-top:10px;color:#fff}
.fcp-banner.legend .b-main{background:linear-gradient(100deg,#fff6d8 20%,#ffd45e 38%,#fff 50%,#ffb830 62%,#fff6d8 80%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 24px rgba(255,190,60,.65)) drop-shadow(0 4px 0 rgba(90,50,0,.6))}
.fcp-banner.rare .b-main{font-size:clamp(34px,6vw,70px);background:linear-gradient(100deg,#e9f6ff 20%,#7fd8ff 45%,#fff 55%,#c9b8ff 75%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 20px rgba(127,216,255,.6))}
.fcp-banner.show{animation:fcp-bfade var(--bd,2s) ease forwards}
.fcp-banner.show .b-main{animation:fcp-slam .7s cubic-bezier(.2,1.4,.3,1) both,fcp-gleam 2.2s ease-in-out .5s infinite}
.fcp-banner.show .b-sub{animation:fcp-subin .6s ease .35s both}
@keyframes fcp-bfade{0%{opacity:1}85%{opacity:1}100%{opacity:0}}
@keyframes fcp-slam{0%{transform:scale(2.4);opacity:0;letter-spacing:.6em;filter:blur(8px)}60%{opacity:1}100%{transform:scale(1);letter-spacing:.1em}}
@keyframes fcp-gleam{0%{background-position:120% 0}100%{background-position:-20% 0}}
@keyframes fcp-subin{from{opacity:0;transform:translateY(8px);letter-spacing:.4em}}
@media (prefers-reduced-motion:reduce){.fcp,.fcp.out,.fcp-pa-rays,.fcp-pack-floor::after,.fcp-banner.show .b-main,.fcp-prompt::before{animation:none!important}}
html.ftl-reduce-motion .fcp,html.ftl-reduce-motion .fcp-pa-rays,html.ftl-reduce-motion .fcp-pack-floor::after,html.ftl-reduce-motion .fcp-banner.show .b-main{animation:none!important}
