
:root{
  --bg:#0c1020;--panel:#151b31;--panel2:#1d2542;--text:#f6f7fb;--muted:#aab3cf;
  --gold:#f5cf70;--accent:#7c8cff;--danger:#ff6f7d;--ok:#7bd6a1;--line:rgba(255,255,255,.1);
  --shadow:0 18px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at 20% 0,#202a51 0,#0c1020 44%,#080b15 100%);color:var(--text);min-height:100vh}
button,select,input{font:inherit}.hidden{display:none!important}
button{border:0;border-radius:12px;padding:.72rem 1rem;background:#2b355d;color:white;cursor:pointer;transition:.18s transform,.18s background,.18s opacity}
button:hover{transform:translateY(-1px);background:#35416e}button:disabled{opacity:.4;cursor:not-allowed;transform:none}.primary{background:linear-gradient(135deg,#7c8cff,#a36dff)}.gold{background:linear-gradient(135deg,#b58b2b,#f1cb69);color:#241b09;font-weight:800}.danger{background:#6b2630}.ghost{background:transparent;border:1px solid var(--line)}
#app{min-height:100vh}.shell{max-width:1400px;margin:auto;padding:18px}.topbar{display:flex;gap:12px;align-items:center;justify-content:space-between;background:rgba(13,18,34,.86);backdrop-filter:blur(14px);border:1px solid var(--line);padding:12px 14px;border-radius:18px;position:sticky;top:10px;z-index:20;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px}.brandMark{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#4459d9,#9e6bff 55%,#f0c660);display:grid;place-items:center;font-weight:900}.brand strong{display:block}.brand small{color:var(--muted)}
.stats{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.stats b{color:white}.nav{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.nav button.active{background:#4e5bc0}.panel{background:linear-gradient(180deg,rgba(28,35,64,.92),rgba(18,24,44,.94));border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}.heroArt{min-height:250px;border-radius:18px;background:linear-gradient(135deg,rgba(123,140,255,.35),rgba(245,207,112,.14)),radial-gradient(circle at 70% 20%,rgba(255,255,255,.16),transparent 24%),#11182f;position:relative;overflow:hidden;padding:26px}.heroArt:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;border:34px solid rgba(255,255,255,.035);right:-20px;bottom:-80px}.heroArt h1{font-size:clamp(2rem,5vw,4.6rem);margin:0;line-height:.95}.heroArt p{max-width:600px;color:#c5cce4}.profileGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.profileBtn{min-height:110px;text-align:left;background:linear-gradient(145deg,#202a4a,#151c34);border:1px solid var(--line)}.profileBtn b{font-size:1.15rem}.profileBtn span{display:block;color:var(--muted);margin-top:8px}
.sectionTitle{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.sectionTitle h2{margin:0}.sectionTitle p{margin:4px 0 0;color:var(--muted)}
.calendar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.day{aspect-ratio:1/1;border-radius:18px;padding:12px;position:relative;background:linear-gradient(145deg,#1d2648,#11172c);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.day.available{box-shadow:0 0 0 1px rgba(245,207,112,.35),0 0 34px rgba(245,207,112,.12)}.day.opened{background:linear-gradient(145deg,#1d3f39,#142a28)}.day.locked{filter:saturate(.4);opacity:.55}.day .n{font-size:1.35rem;font-weight:900}.day .state{font-size:.78rem;color:var(--muted)}.packMini{height:46%;border-radius:9px;background:linear-gradient(145deg,#7456f0,#c56ae8 55%,#f2c15c);box-shadow:inset 0 0 0 2px rgba(255,255,255,.15);display:grid;place-items:center;font-size:.72rem;font-weight:900;letter-spacing:.08em}.day24 .packMini{background:linear-gradient(145deg,#152a6c,#7c4bd6 45%,#f2cf6e);}
.cardsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px}.card{aspect-ratio:3/4;border-radius:18px;padding:9px;background:#0b0e18;border:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.28);cursor:pointer}.card .art{height:74%;border-radius:13px;background:var(--cardbg,linear-gradient(145deg,#5967c7,#222a51));display:flex;align-items:end;padding:10px;position:relative;overflow:hidden}.card .art:after{content:"PLACEHOLDER";position:absolute;right:-24px;top:18px;transform:rotate(35deg);font-size:.55rem;letter-spacing:.16em;color:rgba(255,255,255,.25)}.card .meta{padding:9px 4px}.card .meta b{font-size:.93rem}.card .meta small{display:block;color:var(--muted);margin-top:4px}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:.67rem;font-weight:800;background:rgba(0,0,0,.35);backdrop-filter:blur(4px)}.qty{position:absolute;top:9px;right:9px;background:#05070dcc;padding:4px 7px;border-radius:999px;font-weight:800;font-size:.75rem}.new{position:absolute;left:9px;top:9px;background:#f5cf70;color:#211805;padding:4px 7px;border-radius:999px;font-weight:900;font-size:.68rem}.lockedCard{filter:grayscale(1);opacity:.45}.lockedCard .art{background:#202535}.rar-common{--cardbg:linear-gradient(145deg,#546174,#273040)}.rar-rare{--cardbg:linear-gradient(145deg,#335f9f,#1f2d59)}.rar-epic{--cardbg:linear-gradient(145deg,#7f4fae,#31204f)}.rar-legendary{--cardbg:linear-gradient(145deg,#d39a33,#684515)}.rar-fusion{--cardbg:linear-gradient(145deg,#a9458a,#3d2f87)}.rar-unique{--cardbg:linear-gradient(145deg,#e7c86a,#5d4df4 70%,#121631)}.rar-secret{--cardbg:linear-gradient(145deg,#2d2d2d,#050505)}.rar-fullart{--cardbg:linear-gradient(145deg,#6b6f7f,#b07bd5 45%,#dfa94e)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filters button{padding:.5rem .75rem}.filters button.active{background:#5968d4}.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:16px}.threeCol{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.recipe{border:1px solid var(--line);border-radius:16px;padding:14px;background:#12182c}.recipe h3{margin:0 0 8px}.req{display:grid;grid-template-columns:1fr auto;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.ok{color:var(--ok)}.bad{color:#ff9da7}.dustShop{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.shopItem{border:1px solid var(--line);border-radius:14px;padding:12px;background:#11172a}.shopItem strong{display:block}.shopItem small{color:var(--muted)}
.modalBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:100;display:grid;place-items:center;padding:18px}.modal{width:min(1000px,96vw);max-height:92vh;overflow:auto;background:#11172a;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.revealGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.revealCard{aspect-ratio:3/4;border-radius:18px;background:linear-gradient(145deg,#11172a,#29325b);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;position:relative;overflow:hidden}.revealCard.faceDown:before{content:"FV";font-weight:1000;font-size:2rem;letter-spacing:.08em;color:#f4d278}.revealCard.revealed{display:block}.revealCard .inner{height:100%;padding:10px}.revealCard .miniArt{height:72%;border-radius:12px;background:var(--cardbg,linear-gradient(145deg,#5967c7,#222a51));display:flex;align-items:end;padding:8px}.revealCard .title{margin-top:8px;font-weight:800;font-size:.86rem}.specialReveal{margin-top:16px;padding:16px;border-radius:16px;background:linear-gradient(135deg,rgba(245,207,112,.18),rgba(123,140,255,.18));border:1px solid rgba(245,207,112,.3)}
.blackjack{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hand{min-height:260px;border-radius:18px;border:1px solid var(--line);background:#0f1426;padding:14px}.handCards{display:flex;gap:8px;flex-wrap:wrap}.miniPlaying{width:115px;aspect-ratio:3/4;border-radius:13px;padding:7px;background:#171d35;border:1px solid var(--line)}.miniPlaying .miniArt{height:68%;border-radius:9px;background:linear-gradient(145deg,#5364cb,#20294c)}.miniPlaying b{display:block;font-size:.72rem;margin-top:5px}.miniPlaying em{font-style:normal;color:#f3cf72;font-size:1.2rem;font-weight:900}.score{font-size:2rem;font-weight:900;margin:8px 0}.capsule{width:180px;height:180px;border-radius:50%;margin:12px auto;background:radial-gradient(circle at 40% 30%,#fff 0 5%,#ba8eff 8%,#5d44c4 48%,#211a52 70%);border:10px solid #242b53;box-shadow:0 20px 50px rgba(0,0,0,.35);display:grid;place-items:center;font-weight:1000;color:white}.notice{padding:10px 12px;border-radius:12px;background:rgba(245,207,112,.08);border:1px solid rgba(245,207,112,.2);color:#e9ddba}.small{font-size:.82rem;color:var(--muted)}
select,input[type=number]{background:#0c1121;color:white;border:1px solid var(--line);border-radius:10px;padding:.65rem}.exchangeBox{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tradeSide{border:1px solid var(--line);border-radius:16px;padding:14px;background:#10162a}.footerNote{color:var(--muted);font-size:.78rem;margin-top:16px;text-align:center}
.champGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.leaderTable{width:100%;border-collapse:collapse}.leaderTable th,.leaderTable td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left}.leaderTable th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.memoryBoard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.memoryCard{aspect-ratio:3/4;display:grid;place-items:center;padding:8px;text-align:center;background:linear-gradient(145deg,#202a4b,#10162b);border:1px solid var(--line);font-size:.72rem;font-weight:800}.memoryCard.open{background:linear-gradient(145deg,#4b5db6,#26345f)}.memoryCard.matched{background:linear-gradient(145deg,#245747,#16392e)}.rushChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rushChoice{min-height:120px;text-align:left;background:linear-gradient(145deg,#202a4b,#10162b);border:1px solid var(--line)}.lockedPanel{opacity:.72;filter:saturate(.65)}
@media(max-width:900px){.hero,.twoCol,.threeCol,.blackjack,.exchangeBox,.champGrid{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(4,1fr)}.revealGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.shell{padding:10px}.topbar{position:static;align-items:flex-start;flex-direction:column}.calendar{grid-template-columns:repeat(3,1fr)}.profileGrid{grid-template-columns:1fr}.cardsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.revealGrid{grid-template-columns:1fr 1fr}.nav{overflow:auto;flex-wrap:nowrap}.nav button{white-space:nowrap}}

/* ===== V2.2 — Christmas UX & booster-first redesign ===== */
:root{
  --xmas-red:#a91f2d;--xmas-red2:#64121d;--xmas-green:#123d32;--xmas-green2:#0a251f;
  --xmas-gold:#f2cf70;--snow:#f7fbff;--ink:#10131e;
}
body{
  background:
    radial-gradient(circle at 12% 8%,rgba(245,207,112,.10),transparent 22%),
    radial-gradient(circle at 85% 15%,rgba(255,255,255,.08),transparent 18%),
    linear-gradient(160deg,#071913 0%,#10261f 42%,#160b12 100%);
  background-attachment:fixed;
}
body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1}
body:before{background-image:radial-gradient(circle,rgba(255,255,255,.65) 0 1px,transparent 1.5px);background-size:32px 32px;opacity:.18;animation:snowDrift 18s linear infinite}
body:after{background:linear-gradient(90deg,transparent 0 48%,rgba(245,207,112,.025) 50%,transparent 52%)}
@keyframes snowDrift{from{background-position:0 0}to{background-position:30px 180px}}
.shell{max-width:1500px;padding:16px 18px 34px}
.topbar{background:rgba(8,25,20,.90);border-color:rgba(242,207,112,.18);box-shadow:0 18px 55px rgba(0,0,0,.34)}
.brandMark{background:radial-gradient(circle at 35% 25%,#fff6c8 0 5%,#e9b742 6% 20%,#a91f2d 55%,#511019 100%);border:1px solid rgba(255,255,255,.25);box-shadow:0 0 24px rgba(242,207,112,.16)}
.brand small{color:#d6cfae}.stats{gap:8px}.stats span{padding:7px 10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);border-radius:999px}
.nav{position:sticky;top:82px;z-index:18;background:rgba(7,20,16,.78);backdrop-filter:blur(16px);padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.22)}
.nav button{background:transparent;border:1px solid transparent;padding:.66rem .8rem}.nav button.active{background:linear-gradient(135deg,#8c1b28,#b52b39);border-color:rgba(255,255,255,.12);box-shadow:0 7px 22px rgba(169,31,45,.22)}
.panel{background:linear-gradient(180deg,rgba(14,43,34,.94),rgba(12,25,25,.95));border-color:rgba(242,207,112,.13);box-shadow:0 20px 60px rgba(0,0,0,.28)}
.sectionTitle{align-items:center}.sectionTitle h2{font-size:clamp(1.35rem,2.3vw,2rem)}
.primary{background:linear-gradient(135deg,#8f2030,#c73a45)}.primary:hover{background:linear-gradient(135deg,#a62838,#d94954)}
.gold{background:linear-gradient(135deg,#b98728,#f3d379 55%,#c99631);color:#201707}

/* Christmas profile landing */
.xmasLanding{min-height:calc(100vh - 32px);display:grid;place-items:center;position:relative;overflow:hidden;border-radius:28px;padding:34px;background:
 radial-gradient(circle at 50% 18%,rgba(255,240,182,.18),transparent 24%),
 linear-gradient(145deg,rgba(95,16,27,.97),rgba(22,61,48,.98) 62%,rgba(9,30,24,.99));border:1px solid rgba(242,207,112,.22);box-shadow:0 30px 90px rgba(0,0,0,.42)}
.xmasLanding:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 42px,rgba(255,255,255,.018) 43px 45px);pointer-events:none}
.landingInner{width:min(1180px,100%);position:relative;z-index:1}
.xmasKicker{text-align:center;text-transform:uppercase;letter-spacing:.28em;color:#f2cf70;font-size:.76rem;font-weight:900}
.xmasTitle{text-align:center;font-family:Georgia,serif;font-size:clamp(3rem,8vw,7.4rem);line-height:.82;margin:10px 0 18px;text-shadow:0 5px 25px rgba(0,0,0,.32)}
.xmasTitle span{display:block;color:#f6d77f;font-size:.35em;letter-spacing:.11em;margin-top:18px}
.xmasIntro{text-align:center;max-width:720px;margin:0 auto 28px;color:#e5e7df;font-size:1.03rem}
.giftRibbon{height:2px;max-width:460px;margin:22px auto;background:linear-gradient(90deg,transparent,#f2cf70,transparent);position:relative}.giftRibbon:after{content:"✦";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#64121d;color:#f2cf70;padding:0 10px}
.profileGrid.xmasProfiles{grid-template-columns:repeat(3,1fr);gap:12px}
.xmasProfiles .profileBtn{min-height:124px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045));border-color:rgba(242,207,112,.18);text-align:center;position:relative;overflow:hidden}
.xmasProfiles .profileBtn:before{content:"";position:absolute;inset:-60% 60% 30% -20%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:rotate(25deg);transition:.35s}
.xmasProfiles .profileBtn:hover:before{inset:-60% -20% 30% 60%}.xmasProfiles .profileBtn b{font-size:1.25rem}.xmasProfiles .profileBtn span{color:#d6d9d2}
.testTag{margin:18px auto 0;max-width:max-content;padding:7px 11px;border-radius:999px;background:rgba(7,17,14,.58);border:1px solid rgba(255,255,255,.1);font-size:.76rem;color:#d9ddda}

/* Calendar booster-first home */
.calendarHome{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}
.todayStage{position:sticky;top:152px;min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:
 radial-gradient(circle at 50% 28%,rgba(245,207,112,.16),transparent 25%),linear-gradient(165deg,#61121d 0%,#24151b 44%,#0d2e24 100%);overflow:hidden}
.todayStage:before,.todayStage:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(242,207,112,.15)}.todayStage:before{width:410px;height:410px}.todayStage:after{width:530px;height:530px}
.todayStage>*{position:relative;z-index:1}.todayStage .eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#f3d47d;font-weight:900}.todayStage h2{font-size:2rem;margin:7px 0}.todayStage p{color:#d7d5cd;max-width:380px}
.bigPack{width:210px;aspect-ratio:2.45/3.7;border-radius:18px;margin:18px auto 22px;position:relative;background:linear-gradient(145deg,#a51e2c 0 47%,#6a1320 48% 60%,#0f4d38 61% 100%);border:2px solid #e8c669;box-shadow:0 24px 55px rgba(0,0,0,.48),inset 0 0 0 6px rgba(255,255,255,.035);display:grid;place-items:center;transform:rotate(-2deg)}
.bigPack:before,.packOpening:before{content:"";position:absolute;left:10px;right:10px;top:17px;border-top:2px dashed rgba(255,241,194,.58)}
.bigPack .packLogo{font-family:Georgia,serif;font-size:2rem;line-height:.85;font-weight:900;color:#fff7db;text-shadow:0 3px 15px rgba(0,0,0,.42)}.bigPack .packLogo small{display:block;margin-top:13px;font:800 .66rem/1 system-ui;letter-spacing:.18em;color:#f0cf70}.bigPack .dayStamp{position:absolute;bottom:17px;right:17px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f1cf75;color:#3a1517;font-weight:1000}
.todayStage .openToday{font-size:1rem;padding:.85rem 1.25rem;box-shadow:0 12px 30px rgba(154,30,43,.35)}
.calendarPanel .calendar{grid-template-columns:repeat(6,minmax(0,1fr))}.calendarPanel{min-height:560px}.calendarPanel .day{aspect-ratio:.92/1;border-radius:15px;min-height:112px;transition:.2s transform,.2s border-color,.2s box-shadow}.calendarPanel .day.available:hover{transform:translateY(-3px);border-color:rgba(242,207,112,.38);box-shadow:0 15px 35px rgba(0,0,0,.28)}
.packMini{background:linear-gradient(150deg,#a91f2d,#721622 52%,#154b39);border:1px solid rgba(242,207,112,.28);color:#f5df9c}.day.opened .packMini{filter:saturate(.55);opacity:.68}.day24 .packMini{background:linear-gradient(145deg,#d09b34,#8e1d2b 48%,#174a3a)}

/* Ergonomic menu surfaces */
.viewIntro{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:16px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,rgba(169,31,45,.14),rgba(242,207,112,.055));border:1px solid rgba(242,207,112,.13)}
.viewIntro h2{margin:0 0 5px;font-size:clamp(1.45rem,2.4vw,2.1rem)}.viewIntro p{margin:0;color:#c7cec8}.metricRow{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.metric{padding:8px 11px;border-radius:12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);font-size:.82rem;color:#d6dcd8}.metric b{display:block;color:white;font-size:1rem}
.filters{position:sticky;top:150px;z-index:10;background:rgba(9,28,22,.9);backdrop-filter:blur(12px);padding:8px;border-radius:14px;border:1px solid rgba(255,255,255,.07)}
.cardsGrid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:13px}
.card{transition:.18s transform,.18s box-shadow,.18s border-color}.card:hover{transform:translateY(-4px);border-color:rgba(242,207,112,.26);box-shadow:0 18px 38px rgba(0,0,0,.38)}
.threeCol{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe{background:linear-gradient(145deg,rgba(12,35,29,.96),rgba(34,19,33,.92));padding:18px;border-color:rgba(242,207,112,.12)}.req{border-top-color:rgba(255,255,255,.07)}
.workTabs{display:flex;gap:8px;margin-bottom:14px}.workTabs button{flex:1}.workTabs button.active{background:linear-gradient(135deg,#8f2030,#bd3b46)}
.shopLayout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.shopAside{padding:18px;border-radius:18px;background:linear-gradient(160deg,#5c131e,#153b2f);border:1px solid rgba(242,207,112,.13);height:max-content;position:sticky;top:150px}.shopAside .bigNumber{font-size:3rem;font-weight:1000;color:#f2cf70}.dustShop{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.shopItem{background:rgba(8,21,18,.72);padding:14px}.shopItem button{margin-top:10px;width:100%}
.tradeHero{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);margin-bottom:14px}.exchangeBox{gap:12px}.tradeSide{background:rgba(8,22,18,.72);padding:18px}.tradeSide select{width:100%;margin-top:8px}
.museumProgress{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:9px}.museumProgress span{display:block;height:100%;background:linear-gradient(90deg,#a9202f,#f1ce72);border-radius:inherit}
.gamesHub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gamesHub>.panel{min-height:420px}

/* Cadeau opening ceremony */
.modalBackdrop.boosterBackdrop{background:radial-gradient(circle at 50% 40%,rgba(115,25,37,.38),rgba(0,0,0,.88) 48%,rgba(0,0,0,.96));backdrop-filter:blur(7px)}
.boosterModal{width:min(880px,96vw);min-height:min(760px,94vh);overflow:hidden;background:linear-gradient(165deg,#0c271f,#170b12);border:1px solid rgba(242,207,112,.2);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px}
.boosterModal .openingTitle{text-align:center;position:absolute;top:20px;left:20px;right:20px}.boosterModal .openingTitle h2{margin:0;font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,2.2rem)}.boosterModal .openingTitle p{margin:5px 0;color:#bbbfb9}
.packStage{display:grid;place-items:center;width:100%;min-height:560px;perspective:1200px}.packOpening{width:min(300px,65vw);aspect-ratio:2.45/3.7;position:relative;border-radius:24px;background:linear-gradient(145deg,#b32435 0 48%,#711824 49% 61%,#15513c 62%);border:2px solid #f0cf73;box-shadow:0 35px 75px rgba(0,0,0,.58),0 0 60px rgba(242,207,112,.09);overflow:visible;display:grid;place-items:center;user-select:none;touch-action:none;transition:.45s transform,.45s opacity}.packOpening .packLogo{font-family:Georgia,serif;text-align:center;font-weight:1000;font-size:2.8rem;line-height:.82;color:#fff6d6;text-shadow:0 5px 20px rgba(0,0,0,.45)}.packOpening .packLogo small{display:block;font:900 .74rem/1 system-ui;letter-spacing:.22em;color:#f1d27c;margin-top:20px}.packOpening .packDay{position:absolute;bottom:28px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f0cf73;color:#421219;font-weight:1000;font-size:1.15rem}.tearStrip{position:absolute;left:-2px;right:-2px;top:-2px;height:66px;border-radius:24px 24px 8px 8px;background:linear-gradient(180deg,#d23848,#8d1d2a);border:2px solid #f0cf73;display:flex;align-items:center;justify-content:center;color:#fff2c9;font-weight:900;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;cursor:grab;z-index:5;box-shadow:0 8px 18px rgba(0,0,0,.22)}.tearStrip:after{content:"✂  GLISSER / CLIQUER POUR DÉCHIRER"}.packOpening.torn .tearStrip{animation:tearTop .7s cubic-bezier(.2,.8,.2,1) forwards}.packOpening.torn{animation:packDrop .72s .18s ease forwards}@keyframes tearTop{0%{transform:translate(0,0) rotate(0)}35%{transform:translate(38px,-9px) rotate(4deg)}100%{transform:translate(210px,-120px) rotate(20deg);opacity:0}}@keyframes packDrop{to{transform:translateY(85px) scale(.9);opacity:0}}
.tearHint{position:absolute;bottom:30px;color:#d1d5cf;font-size:.8rem;text-align:center}
.cardRevealStage{width:100%;min-height:590px;display:grid;place-items:center;position:relative}.stackZone{position:relative;width:min(310px,68vw);aspect-ratio:3/4;perspective:1400px}.stackGhost{position:absolute;inset:0;border-radius:24px;background:#121b24;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.42);transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:var(--o)}
.flipCard{position:absolute;inset:0;cursor:pointer;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.75,.2,1),filter .35s;z-index:5}.flipCard.flipped{transform:rotateY(180deg)}.flipFace{position:absolute;inset:0;backface-visibility:hidden;border-radius:24px;overflow:hidden;border:2px solid rgba(255,255,255,.15);box-shadow:0 28px 70px rgba(0,0,0,.5)}.flipBack{background:radial-gradient(circle at 50% 35%,rgba(245,207,112,.19),transparent 25%),linear-gradient(145deg,#701724,#0b3d2e 58%,#091710);display:grid;place-items:center}.flipBack:before{content:"FV";width:125px;height:125px;border-radius:50%;display:grid;place-items:center;border:2px solid #eac96d;color:#f5d77e;font:1000 2.3rem Georgia,serif;box-shadow:0 0 0 8px rgba(242,207,112,.06)}.flipFront{transform:rotateY(180deg);background:#0c1118;padding:10px;display:flex;flex-direction:column}.flipFront .revealArt{flex:1;border-radius:17px;background:var(--cardbg);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:12px}.flipFront .revealInfo{padding:10px 5px 3px}.flipFront .revealInfo b{font-size:1.06rem}.flipFront .revealInfo small{display:block;color:#aeb5b0;margin-top:5px}.flipFront .rarityBanner{position:absolute;top:10px;left:10px;padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.48);font-size:.7rem;font-weight:900;letter-spacing:.08em}.flipFront .newStamp{position:absolute;top:10px;right:10px;background:#f2cf70;color:#2b1807;padding:6px 8px;border-radius:999px;font-weight:1000;font-size:.66rem}
.revealCounter{position:absolute;top:86px;left:50%;transform:translateX(-50%);font-size:.76rem;letter-spacing:.14em;color:#d0d4ce;text-transform:uppercase}.revealInstruction{position:absolute;bottom:22px;left:20px;right:20px;text-align:center;color:#c7cbc6;font-size:.82rem}.revealInstruction b{color:#f1d075}
.flipCard.fx-common.flipped{filter:drop-shadow(0 0 12px rgba(180,190,200,.25))}.flipCard.fx-rare.flipped{filter:drop-shadow(0 0 28px rgba(70,145,255,.65));animation:rarePulse .9s .5s ease-out}.flipCard.fx-epic.flipped{filter:drop-shadow(0 0 34px rgba(179,79,235,.75));animation:epicBurst 1s .45s ease-out}.flipCard.fx-legendary.flipped{filter:drop-shadow(0 0 42px rgba(245,200,73,.9));animation:legendBurst 1.2s .38s ease-out}.flipCard.fx-fullart.flipped{filter:drop-shadow(0 0 46px rgba(255,129,219,.85));animation:epicBurst 1.15s .4s ease-out}.flipCard.fx-unique.flipped{filter:drop-shadow(0 0 60px rgba(255,220,106,1));animation:uniqueBurst 1.45s .32s ease-out}
@keyframes rarePulse{50%{transform:rotateY(180deg) scale(1.035)}}@keyframes epicBurst{35%{transform:rotateY(180deg) scale(1.06)}70%{transform:rotateY(180deg) scale(.99)}}@keyframes legendBurst{30%{transform:rotateY(180deg) scale(1.09)}55%{transform:rotateY(180deg) scale(1.02)}75%{transform:rotateY(180deg) scale(1.06)}}@keyframes uniqueBurst{25%{transform:rotateY(180deg) scale(1.13)}45%{transform:rotateY(180deg) rotateZ(-1deg) scale(1.05)}65%{transform:rotateY(180deg) rotateZ(1deg) scale(1.07)}100%{transform:rotateY(180deg) scale(1)}}
.revealFlash{position:absolute;inset:-40%;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(255,244,186,.55),transparent 44%);z-index:1}.revealFlash.go{animation:flash 1s ease-out}@keyframes flash{0%{opacity:0;transform:scale(.45)}35%{opacity:.85}100%{opacity:0;transform:scale(1.1)}}
.openingSummary{width:min(780px,100%);text-align:center}.summaryCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:18px 0}.summaryMini{aspect-ratio:3/4;border-radius:14px;padding:8px;background:#0d1318;border:1px solid rgba(255,255,255,.11)}.summaryMini .art{height:70%;border-radius:10px;background:var(--cardbg)}.summaryMini b{display:block;font-size:.72rem;margin-top:7px}.summaryMini small{color:#aab0ac;font-size:.65rem}

@media(max-width:980px){.calendarHome{grid-template-columns:1fr}.todayStage{position:relative;top:auto;min-height:430px}.calendarPanel .calendar{grid-template-columns:repeat(4,1fr)}.shopLayout{grid-template-columns:1fr}.shopAside{position:relative;top:auto}.profileGrid.xmasProfiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.xmasLanding{padding:20px 13px;min-height:100vh;border-radius:0}.profileGrid.xmasProfiles{grid-template-columns:1fr 1fr}.xmasProfiles .profileBtn{min-height:96px}.calendarPanel .calendar{grid-template-columns:repeat(3,1fr)}.todayStage{min-height:390px}.bigPack{width:170px}.nav{top:0}.filters{top:0}.threeCol,.gamesHub{grid-template-columns:1fr}.stats{display:grid;grid-template-columns:repeat(2,auto)}.boosterModal{padding:14px}.packStage,.cardRevealStage{min-height:520px}.stackZone{width:min(280px,76vw)}}


/* V2.3 — cadrage collection + ouverture booster renforcée */
.cardsGrid{grid-template-columns:repeat(auto-fill,minmax(188px,220px));justify-content:flex-start;align-items:start;gap:16px}
.collectionCard{aspect-ratio:5/7;padding:7px;display:grid;grid-template-rows:minmax(0,1fr) auto;background:linear-gradient(180deg,#101722,#090d14);overflow:hidden}
.collectionCard .collectionArt{height:auto;min-height:0;border-radius:14px;align-items:flex-end;background-size:cover!important;background-position:center 18%!important;position:relative}
.collectionCard .collectionArt .artSafeFrame{position:absolute;inset:7%;border:1px dashed rgba(255,255,255,.08);border-radius:12px;pointer-events:none}
.collectionCard .meta{min-height:66px;padding:9px 6px 5px;display:flex;flex-direction:column;justify-content:center}
.collectionCard .meta b{font-size:.86rem;line-height:1.16;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.collectionCard .meta small{font-size:.61rem;line-height:1.3}
.collectionCard .badge{font-size:.61rem}.collectionCard .qty{z-index:5;top:10px;right:10px}
@media(max-width:620px){.cardsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collectionCard{width:100%}.collectionCard .meta{min-height:60px}.collectionCard .meta b{font-size:.78rem}}

.tearStrip{overflow:visible;cursor:default;touch-action:none}.tearStrip span{pointer-events:none}.tearStrip:after{content:""}.tearStrip.dragging{cursor:default;transition:none}.tearStrip .cutGuide{position:absolute;left:18px;right:18px;top:50%;height:0;border-top:2px dashed rgba(255,240,196,.58);transform:translateY(-50%);pointer-events:none}.tearStrip .cutProgress{position:absolute;left:18px;top:50%;height:3px;width:0;background:#16090d;box-shadow:0 0 7px rgba(0,0,0,.45);transform:translateY(-50%);pointer-events:none}.tearStrip .cutLabel{position:absolute;left:50%;top:8px;transform:translateX(-50%);font-size:.62rem;letter-spacing:.12em;color:#ffe6a8;white-space:nowrap;pointer-events:none}.scissorHandle{position:absolute;left:5px;top:50%;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;transform:translate(0,-50%);background:linear-gradient(145deg,#fff3ca,#d9a83b);border:2px solid #fff1bd;box-shadow:0 5px 18px rgba(0,0,0,.35),0 0 0 4px rgba(255,255,255,.06);font-size:1.55rem;line-height:1;cursor:grab;z-index:7;user-select:none;touch-action:none;transition:box-shadow .16s,transform .08s}.scissorHandle:hover{box-shadow:0 6px 22px rgba(0,0,0,.4),0 0 0 5px rgba(245,207,112,.1)}.scissorHandle.dragging{cursor:grabbing;box-shadow:0 8px 26px rgba(0,0,0,.46),0 0 18px rgba(255,224,126,.35)}.packOpening.cutting{filter:brightness(1.035)}.packOpening.cutting .tearStrip{box-shadow:0 9px 24px rgba(0,0,0,.28),0 0 18px rgba(245,207,112,.09)}.packShine{position:absolute;inset:0;border-radius:22px;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.14) 42%,transparent 58%);transform:translateX(-120%);animation:foilShine 2.6s infinite ease-in-out;pointer-events:none}.packMouth{position:absolute;left:15px;right:15px;top:48px;height:10px;background:#14080b;border-radius:50%;opacity:0;transform:scaleX(.4);transition:.35s .35s}.packOpening.open .packMouth{opacity:1;transform:scaleX(1)}
@keyframes foilShine{0%,42%{transform:translateX(-130%)}70%,100%{transform:translateX(135%)}}
.extractStage{position:relative;min-height:590px;display:grid;place-items:center;overflow:hidden}.openedPack{position:absolute;bottom:40px;width:min(290px,64vw);aspect-ratio:2.45/3.7;border-radius:20px;background:linear-gradient(145deg,#9d2130 0 48%,#661722 49% 62%,#104936 63%);border:2px solid #ebca72;box-shadow:0 30px 70px rgba(0,0,0,.56);display:grid;place-items:center;clip-path:polygon(0 10%,20% 4%,35% 10%,52% 3%,70% 9%,86% 4%,100% 10%,100% 100%,0 100%)}.openedPack .packLogo{font-family:Georgia,serif;text-align:center;font-size:2.35rem;line-height:.85;color:#fff5d2;font-weight:1000}.openedPack .packLogo small{display:block;font:900 .67rem/1 system-ui;letter-spacing:.2em;color:#f0d279;margin-top:14px}.emergingCards{position:absolute;bottom:220px;width:min(265px,58vw);aspect-ratio:3/4}.emergeCard{position:absolute;inset:0;border-radius:22px;background:radial-gradient(circle at 50% 35%,rgba(245,207,112,.16),transparent 28%),linear-gradient(145deg,#701724,#0b3d2e 58%,#091710);border:2px solid rgba(241,207,112,.55);box-shadow:0 25px 55px rgba(0,0,0,.48);animation:cardsRise 1.05s cubic-bezier(.2,.75,.2,1) forwards}.emergeCard.e2{transform:translate(8px,8px) rotate(2deg);animation-delay:.08s}.emergeCard.e3{transform:translate(14px,14px) rotate(-3deg);animation-delay:.14s}@keyframes cardsRise{0%{transform:translateY(250px) scale(.85);opacity:.3}70%{transform:translateY(-18px) scale(1.02);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}
.revealProgress{position:absolute;top:112px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:9}.revealProgress span{width:28px;height:4px;border-radius:99px;background:rgba(255,255,255,.13);transition:.25s}.revealProgress span.done{background:#708679}.revealProgress span.current{background:#f0cf73;box-shadow:0 0 12px rgba(240,207,115,.5)}
.revealAura{position:absolute;width:min(470px,88vw);aspect-ratio:1;border-radius:50%;filter:blur(16px);opacity:.16;transition:.35s;pointer-events:none}.aura-rare{background:radial-gradient(circle,#4b8dff55,transparent 62%)}.aura-epic{background:radial-gradient(circle,#b55bff66,transparent 62%)}.aura-legendary,.aura-unique{background:radial-gradient(circle,#ffd95e88,transparent 62%)}.aura-fullart{background:radial-gradient(circle,#ff80d955,#65d6ff33,transparent 64%)}
.cardRevealStage.finalSuspense .stackZone{animation:suspenseBeat .62s ease-in-out}.cardRevealStage.finalSuspense:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,.42) 72%);pointer-events:none;animation:suspenseShade .62s ease-in-out}@keyframes suspenseBeat{0%{transform:scale(1)}45%{transform:scale(1.025)}70%{transform:scale(.995)}100%{transform:scale(1)}}@keyframes suspenseShade{0%,100%{opacity:0}45%{opacity:1}}
.cardArrive{animation:cardArrive .42s cubic-bezier(.2,.8,.2,1)}@keyframes cardArrive{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.flipCard.toAlbum{animation:toAlbum .43s ease-in forwards!important}@keyframes toAlbum{to{transform:translate(-78vw,-42vh) rotate(-22deg) scale(.35);opacity:0}}
.rarityCallout{position:absolute;z-index:12;top:50%;left:50%;transform:translate(-50%,-50%) scale(.7);opacity:0;font:1000 clamp(1.2rem,4vw,2.25rem)/1 system-ui;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;text-shadow:0 6px 25px #000}.rarityCallout.show{animation:rarityCall 1s ease-out}.call-rare{color:#85b9ff}.call-epic{color:#cf91ff}.call-legendary,.call-unique{color:#ffe18a}.call-fullart{color:#ffc2ef}.call-common{color:#d8dee8}@keyframes rarityCall{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}65%{opacity:1;transform:translate(-50%,-62%) scale(1)}100%{opacity:0;transform:translate(-50%,-80%) scale(.95)}}
.particleField{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden}.particleField i{position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);border-radius:50%;opacity:0}.particleField.burst i{animation:particleBurst .9s var(--d) ease-out forwards}.p-rare{background:#73adff}.p-epic{background:#c677ff}.p-legendary,.p-unique{background:#ffe07b;box-shadow:0 0 8px #ffd65c}.p-fullart{background:#ff9ce4;box-shadow:0 0 8px #75dfff}@keyframes particleBurst{0%{opacity:0;transform:translate(0,0) scale(.2)}18%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1.2)}}


/* Profile PIN lock */
.profileBtn .lockIcon{display:inline-grid;place-items:center;width:28px;height:28px;margin:0 auto 8px;border-radius:999px;background:rgba(245,207,112,.12);border:1px solid rgba(245,207,112,.22);color:#f5cf70;font-size:.9rem}
.pinModal{width:min(430px,92vw);text-align:center;padding:26px}
.pinModal h2{margin:4px 0 6px;font-size:1.7rem}.pinModal p{color:var(--muted);margin:0 0 18px}
.pinEntry{display:flex;justify-content:center;margin:14px 0}.pinInput{width:180px;text-align:center;font-size:2rem;letter-spacing:.35em;padding:.75rem .6rem .75rem .95rem;background:#090d18;color:#fff;border:1px solid rgba(245,207,112,.35);border-radius:14px;outline:none}.pinInput:focus{box-shadow:0 0 0 3px rgba(245,207,112,.10);border-color:#f5cf70}.pinError{min-height:22px;color:#ff9da7;font-size:.86rem;margin-top:8px}.pinActions{display:flex;gap:8px;justify-content:center;margin-top:8px}.pinModal.shake{animation:pinShake .32s ease}@keyframes pinShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}


/* ===== V3 UX / ergonomie / anti-redondance ===== */
:root{--xmas-red:#8d2431;--xmas-green:#1f5b49;--ice:#dfeaff;--foil:#f5cf70}
body{background:radial-gradient(circle at 50% -10%,#26345f 0,#11172d 34%,#070a13 82%);}
.nav{gap:7px;align-items:center}.nav button{padding:.62rem .8rem}.nav .navSpacer{flex:1}.topbar{gap:10px}.topbarActions{display:flex;gap:7px}
.cardsGrid{grid-template-columns:repeat(auto-fill,minmax(150px,188px));justify-content:start;align-items:start;gap:16px}.card{aspect-ratio:5/7;padding:8px;border-radius:17px}.card .art{height:78%;border-radius:12px}.card .meta{padding:7px 3px}.card .meta b{font-size:.86rem;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2em}.card .meta small{font-size:.69rem}.collectionCard{width:100%}.collectionArt{display:flex;align-items:flex-end}.artSafeFrame{inset:8% 7% 6%;border-radius:9px;border:1px dashed rgba(255,255,255,.18)}
.collectionTools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(5,8,18,.25)}.collectionTools .group{display:flex;gap:6px;flex-wrap:wrap}.collectionTools .label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;width:100%}.segmented{display:flex;gap:6px;flex-wrap:wrap;padding:6px;background:#0b1020;border:1px solid var(--line);border-radius:14px;margin-bottom:14px}.segmented button{padding:.55rem .75rem;background:transparent}.segmented button.active{background:#384678}.subpage{display:grid;gap:14px}.emptyState{padding:32px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.atelierHero,.gameHero{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:14px}.atelierHero h2,.gameHero h2{margin:0}.atelierHero p,.gameHero p{margin:.35rem 0 0;color:var(--muted)}
.museumFilters{margin:14px 0}.setProgress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.setProgress>div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#10162a}.setProgress b{font-size:1.25rem;display:block}.setProgress small{color:var(--muted)}
.packOpening{transition:transform .18s ease,filter .18s ease}.packOpening.cutting{transform:scale(1.012) rotate(.15deg);filter:brightness(1.05)}.packOpening.cutComplete{animation:packCutKick .28s ease both}@keyframes packCutKick{0%{transform:scale(1)}45%{transform:scale(1.025) rotate(-.5deg)}100%{transform:scale(1)}}.foilTopFly{position:absolute;left:4%;right:4%;top:0;height:70px;border-radius:18px 18px 8px 8px;background:linear-gradient(135deg,#523ac6,#b558d1 55%,#e5b94f);box-shadow:0 14px 26px rgba(0,0,0,.35);z-index:30;animation:foilTopAway .7s cubic-bezier(.2,.8,.2,1) forwards}@keyframes foilTopAway{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translate(60px,-180px) rotate(22deg);opacity:0}}
.cardRevealStage.tease-epic .revealAura{filter:saturate(1.25);opacity:.8}.cardRevealStage.tease-legendary .revealAura,.cardRevealStage.tease-fullart .revealAura,.cardRevealStage.tease-unique .revealAura{opacity:1;animation:teasePulse 1.25s ease-in-out infinite}@keyframes teasePulse{50%{transform:scale(1.12);filter:brightness(1.5)}}.cardRevealStage.finalSuspense{animation:stageHold .65s ease both}@keyframes stageHold{0%{filter:brightness(1)}55%{filter:brightness(.38)}100%{filter:brightness(.8)}}.flipCard.revealedFloat{animation:revealedFloat 1.1s ease-in-out infinite alternate}@keyframes revealedFloat{to{transform:translateY(-7px)}}
.rarityCallout.call-legendary,.rarityCallout.call-fullart,.rarityCallout.call-unique{font-size:clamp(1.4rem,4vw,2.4rem);letter-spacing:.18em;text-shadow:0 0 24px currentColor}.boosterModal{overflow:hidden}.openingSummary{padding-bottom:8px}.finaleReward{margin:12px auto 18px;max-width:560px;padding:12px;border-radius:14px;border:1px solid rgba(245,207,112,.35);background:rgba(245,207,112,.09);color:#ffe9a8;text-align:center}
.gameHubCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gameSelectCard{padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#151d36,#0d1224)}.gameSelectCard h3{margin:0 0 6px}.gameSelectCard p{margin:0 0 12px;color:var(--muted)}
.securityBox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.securityBox>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:#10162a}.fileInput{display:none}
@media(max-width:820px){.cardsGrid{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.setProgress{grid-template-columns:repeat(2,1fr)}.gameHubCards,.securityBox{grid-template-columns:1fr}.stats{display:none}.topbar{position:static}.nav{position:sticky;top:0;background:rgba(8,11,21,.92);backdrop-filter:blur(12px);z-index:15;padding:8px;border-radius:14px}.nav button{font-size:.78rem;padding:.55rem .62rem}}


/* ===== V3.1 — premium booster pacing / references locked ===== */
.calendarHome{grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr)}
.todayStage{min-height:620px;padding:28px 22px}
.bigPack{width:260px;margin:24px auto 26px;box-shadow:0 34px 80px rgba(0,0,0,.55),0 0 72px rgba(245,207,112,.13),inset 0 0 0 6px rgba(255,255,255,.035)}
.todayStage .openToday{font-size:1.08rem;padding:1rem 1.45rem}
.boosterModal{width:min(920px,97vw);min-height:min(790px,96vh)}
.packOpening{width:min(330px,72vw);box-shadow:0 42px 95px rgba(0,0,0,.64),0 0 85px rgba(242,207,112,.12)}
.packOpening.cutting .packShine{animation:foilCutShimmer .42s linear infinite}
@keyframes foilCutShimmer{0%{transform:translateX(-120%) skewX(-15deg)}100%{transform:translateX(170%) skewX(-15deg)}}
.flipCard.revealedFloat{animation:revealedFloat31 1.05s ease-in-out infinite alternate}
@keyframes revealedFloat31{from{transform:rotateY(180deg) translateY(0) scale(1)}to{transform:rotateY(180deg) translateY(-7px) scale(1)}}
.flipCard.fx-fullart.revealedFloat{animation:fullartFloat 1.05s ease-in-out infinite alternate;z-index:12}
@keyframes fullartFloat{from{transform:rotateY(180deg) translateY(0) scale(1.035)}to{transform:rotateY(180deg) translateY(-9px) scale(1.09)}}
.cardRevealStage.fullartWorld:before{content:"";position:absolute;inset:-30px;background:conic-gradient(from 0deg,rgba(255,89,197,.13),rgba(83,214,255,.16),rgba(255,219,94,.15),rgba(154,104,255,.16),rgba(255,89,197,.13));filter:blur(26px);animation:fullartWorld 3s linear infinite;pointer-events:none}
@keyframes fullartWorld{to{transform:rotate(360deg)}}
.cardRevealStage.uniqueWorld:before{content:"";position:absolute;inset:-20px;background:radial-gradient(circle at 50% 42%,rgba(255,239,164,.35),transparent 20%),radial-gradient(circle at 50% 50%,rgba(117,87,255,.22),transparent 46%);animation:uniqueWorld 1.5s ease-in-out infinite alternate;pointer-events:none}
@keyframes uniqueWorld{to{filter:brightness(1.55);transform:scale(1.035)}}
.preRevealAura{background:radial-gradient(circle,rgba(255,255,255,.12),rgba(245,207,112,.055) 30%,transparent 64%)!important;opacity:.55!important}
.lastCardCurtain{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 48%,transparent 12%,rgba(0,0,0,.2) 35%,rgba(0,0,0,.72) 100%);opacity:0;transition:.45s opacity}
.finalSuspense .lastCardCurtain{opacity:1}
.falseFinish{min-height:560px;display:grid;place-items:center;text-align:center;position:relative}
.falseFinish .seal{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;margin:auto;border:2px solid rgba(245,207,112,.6);color:#f5cf70;font:900 1.35rem Georgia,serif;box-shadow:0 0 0 10px rgba(245,207,112,.05),0 0 45px rgba(245,207,112,.12)}
.falseFinish h2{font-family:Georgia,serif;margin:20px 0 6px}.falseFinish p{color:var(--muted)}
.falseFinish.interrupted{animation:falseFinishGlitch .18s linear 3}
@keyframes falseFinishGlitch{0%,100%{transform:translate(0)}25%{transform:translate(-3px,1px)}75%{transform:translate(3px,-1px)}}
.uniqueInterrupt{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle,rgba(245,207,112,.12),rgba(7,6,15,.96) 55%);font-family:Georgia,serif;font-size:clamp(1.3rem,4vw,2.6rem);letter-spacing:.12em;color:#ffe99e;opacity:0;animation:uniqueInterrupt 1.05s ease forwards;z-index:20}
@keyframes uniqueInterrupt{0%{opacity:0;filter:blur(12px)}35%,75%{opacity:1;filter:blur(0)}100%{opacity:0;transform:scale(1.08)}}
.revealInstruction.fastHint{opacity:.72;font-size:.78rem}
.quickReveal .flipCard{transition-duration:.46s}.quickReveal .toAlbum{transition-duration:.28s!important}
.rarityCallout.call-epic{font-size:1.15rem;letter-spacing:.12em}.rarityCallout.call-rare{font-size:.92rem;letter-spacing:.08em}
.rarityCallout.call-common{display:none!important}
.characterReferenceList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.characterReferenceList div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#0e1528}.characterReferenceList b{display:block}.characterReferenceList small{color:var(--muted)}
@media(max-width:980px){.calendarHome{grid-template-columns:1fr}.todayStage{position:relative;top:auto;min-height:520px}.bigPack{width:230px}.characterReferenceList{grid-template-columns:1fr}}


/* ===== Préversion 0.8 — présentation / états / notifications ===== */
.nav button{position:relative}.navBadge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;margin-left:4px;background:#f2cf70;color:#2a1608;font-size:.67rem;font-weight:1000;vertical-align:middle;box-shadow:0 0 18px rgba(242,207,112,.24)}
.toastHost{position:fixed;right:18px;bottom:18px;z-index:500;display:grid;gap:9px;width:min(380px,calc(100vw - 28px));pointer-events:none}.toast{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:13px 15px;border-radius:15px;background:rgba(10,16,28,.96);border:1px solid rgba(255,255,255,.13);box-shadow:0 16px 45px rgba(0,0,0,.45);color:#f5f7fb;transform:translateY(18px);opacity:0;transition:.22s ease;backdrop-filter:blur(14px)}.toast.show{transform:none;opacity:1}.toastDot{width:9px;height:9px;border-radius:50%;background:#7c8cff;box-shadow:0 0 12px #7c8cff}.toast-success .toastDot{background:#77d89c;box-shadow:0 0 12px #77d89c}.toast-error .toastDot{background:#ff7582;box-shadow:0 0 12px #ff7582}
.completionBanner{margin:12px 0;padding:11px 15px;border-radius:14px;border:1px solid rgba(245,207,112,.35);background:linear-gradient(135deg,rgba(245,207,112,.14),rgba(132,91,255,.09));color:#ffe6a1;font-weight:900;text-align:center}.completionBanner.big{padding:15px;font-size:1.02rem}.completionBanner.alt{border-color:rgba(222,133,255,.35);background:linear-gradient(135deg,rgba(182,91,255,.14),rgba(88,196,255,.1));color:#edceff}.completionBanner.fusionDone{border-color:rgba(232,91,185,.35);background:linear-gradient(135deg,rgba(232,91,185,.14),rgba(101,83,228,.1));color:#ffc8ef}.summaryMilestones{display:grid;gap:7px;margin-bottom:14px}
.emptyState{grid-column:1/-1;min-height:220px;display:grid;place-items:center;align-content:center}.emptyState h3{margin:7px 0 3px;color:#f4f6fb}.emptyState p{max-width:480px;margin:0 auto}.emptyIcon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(245,207,112,.2);background:rgba(245,207,112,.07);color:#f2cf70;font-size:1.4rem}
.collectionCard.isUnseen{border-color:rgba(245,207,112,.5);box-shadow:0 0 0 1px rgba(245,207,112,.08),0 14px 38px rgba(0,0,0,.36),0 0 28px rgba(245,207,112,.08)}.collectionNew{z-index:6;top:10px;left:10px;font-size:.58rem;letter-spacing:.04em}
.museumComplete{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding:18px;border-radius:20px;border:1px solid rgba(245,207,112,.38);background:radial-gradient(circle at 12% 50%,rgba(245,207,112,.17),transparent 28%),linear-gradient(135deg,rgba(123,87,207,.16),rgba(23,87,67,.16))}.museumSeal{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;border:2px solid #f2cf70;color:#ffe597;font:1000 1.15rem Georgia,serif;box-shadow:0 0 0 7px rgba(245,207,112,.05),0 0 35px rgba(245,207,112,.12)}.museumComplete b{display:block;font-size:1.25rem}.museumComplete span{display:block;color:#cdd3cf;margin-top:4px}
/* stronger pack tactility */
.packOpening{transform-style:preserve-3d}.packOpening:before{content:"";position:absolute;inset:7px;border-radius:18px;border:1px solid rgba(255,255,255,.1);pointer-events:none}.scissorHandle:active{transform:translate(var(--scx,0),-50%) scale(.94)}.packOpening.cutting{box-shadow:0 46px 100px rgba(0,0,0,.68),0 0 95px rgba(242,207,112,.16)}
.cardRevealStage.tease-epic .flipBack{box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 18px rgba(187,99,255,.12)}.cardRevealStage.tease-legendary .flipBack{box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 28px rgba(255,218,91,.18)}.cardRevealStage.tease-fullart .flipBack{box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 34px rgba(255,114,217,.18)}.cardRevealStage.tease-unique .flipBack{box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 45px rgba(255,229,130,.25)}
.flipFront .revealArt:after{content:"ASSET À VENIR";position:absolute;right:-30px;bottom:25px;transform:rotate(-35deg);font-size:.56rem;letter-spacing:.16em;color:rgba(255,255,255,.18)}
.revealInstruction{padding:8px 12px;border-radius:12px;background:rgba(0,0,0,.16);width:max-content;max-width:calc(100% - 40px);margin:auto}
/* cleaner card framing */
.collectionCard .collectionArt{background-position:center 15%!important}.collectionCard .meta{background:linear-gradient(180deg,rgba(10,14,23,.35),rgba(10,14,23,.95));margin-top:-3px;position:relative;z-index:2}.collectionCard .meta small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collectionCard .qty{background:rgba(4,7,12,.88);border:1px solid rgba(255,255,255,.12)}
@media(max-width:620px){.toastHost{right:14px;bottom:14px}.museumComplete{align-items:flex-start}.museumSeal{width:58px;height:58px;flex:0 0 58px}.collectionNew{font-size:.52rem}.revealInstruction{font-size:.76rem}}


/* Family Vault — assets approuvés et interface admin locale */
.fvCatalogTile{aspect-ratio:auto;min-height:0;display:flex;flex-direction:column;padding:7px;border-radius:12px}
.fvCardImage{width:100%;aspect-ratio:2/3;overflow:hidden;background:#141727;border-radius:8px;position:relative}
.fvArtwork{width:100%;height:100%;display:block;object-fit:contain}
.fvCatalogTile .meta{flex:1;padding:8px 2px 4px;min-height:60px}
.fvCatalogTile .meta b{font-size:.78rem;display:block;line-height:1.3;white-space:normal}
.fvCatalogTile .meta small{font-size:.69rem;line-height:1.35}
.fvCatalogTile .qty{z-index:6;right:10px;top:10px}.fvUnknown{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#1b233a,#0a0e19);font-size:5rem;color:#617098}
.fvMissing{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:linear-gradient(145deg,#263049,#101524);color:#9ba9c6;text-align:center;padding:10px;font-size:.85rem}
.fvMissing strong{color:#d7e0fa;font-size:1.25rem}
.fvDetailColumns{display:grid;grid-template-columns:minmax(180px,360px) 1fr;gap:26px;align-items:start;margin-bottom:16px}
.fvDetailArt{aspect-ratio:2/3;min-height:340px;background:#151b2a;border-radius:12px;overflow:hidden}
.fvRevealImage{width:min(100%,320px);height:auto;aspect-ratio:2/3;margin:auto;overflow:hidden;border-radius:10px;background:#0b1019}
.fvRevealImage .fvArtwork{object-fit:contain}
.revealCard .inner .fvSummaryImage,.summaryMini .fvSummaryImage{width:100%;aspect-ratio:2/3;background:#10172a;overflow:hidden}
.fvSummaryImage .fvArtwork{object-fit:contain}
.miniPlaying .miniArt .fvArtwork{width:100%;height:100%;object-fit:contain}
.fvAdminLaunch{width:min(540px,100%);display:block;margin:22px auto 4px;border:1px solid #d6c48c;background:linear-gradient(120deg,#202c49,#283c50);color:#fce6a1}
.fvAdminPanel{max-width:1400px;margin:auto}
.fvAdminMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.fvAdminMetrics>div{padding:18px;background:#0c1424;border:1px solid rgba(255,255,255,.12);border-radius:16px}
.fvAdminMetrics b{display:block;font-size:2rem;color:#f6d889}.fvAdminMetrics span{font-size:.83rem;color:var(--muted)}
.fvAdminActions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.fvAdminChoose{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
.fvAdminChoose label{color:var(--muted)}.fvAdminChoose select{max-width:min(100%,490px);min-width:170px}
.fvInspection{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:16px 0}
.fvInspectionCard{border-radius:14px;background:#0d1426;border:1px solid rgba(255,255,255,.12);padding:10px;cursor:pointer;transition:transform .15s}
.fvInspectionCard:hover{transform:translateY(-3px)}.fvInspectThumb{width:100%;aspect-ratio:2/3;max-height:330px;background:#1d283b;overflow:hidden}.fvInspectInfo{padding:8px 2px}.fvInspectInfo b{display:block;font-size:.83rem}.fvInspectInfo small{display:block;color:var(--muted);font-size:.76rem;margin-top:3px}
@media(max-width:650px){.fvDetailColumns{grid-template-columns:1fr}.fvDetailArt{max-width:320px;margin:auto;width:100%}.fvAdminMetrics{grid-template-columns:1fr}.fvInspection{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fvInspectionCard{padding:5px}.fvAdminActions button{flex:1 1 160px}}


/* FAMILY VAULT V6: palette hiver élégant et cartes V5.1 — aucune modification des cadres. */
:root{--bg:#101d20;--panel:#1c3032;--panel2:#254042;--text:#f8f5e9;--muted:#c4d6d2;--gold:#ead19a;--accent:#8ec4b6;--danger:#f1a1a5;--ok:#94d5b2;--line:rgba(233,244,232,.16);--shadow:0 13px 40px rgba(4,16,18,.24)}
body{background:radial-gradient(circle at 10% 0%,#24433f 0%,#152b2b 45%,#0e2024 100%);color:var(--text)}
button{background:#31534f;color:#fbf8ef;border:1px solid rgba(235,245,234,.13);border-radius:12px}
button:hover{background:#436c63}.primary{background:linear-gradient(130deg,#3c786b,#547e82);color:#fff}.gold{background:linear-gradient(130deg,#f7e5b6,#d6b978);color:#233230}.danger{background:#713c46;color:#fff}.ghost{background:rgba(242,247,233,.06)}
.topbar{background:rgba(17,39,38,.94);border-color:rgba(227,241,229,.15)}.brandMark{background:linear-gradient(140deg,#d8c18e,#8cb5a2);color:#142923;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.panel{background:linear-gradient(155deg,rgba(36,62,60,.97),rgba(22,42,43,.95));border-color:var(--line)}
.xmasLanding{background:radial-gradient(ellipse at 50% 12%,#2d5750 0%,#1c3837 45%,#132b2c 100%);border:1px solid rgba(229,241,216,.17)}
.xmasLanding:before{background:linear-gradient(135deg,transparent,rgba(255,255,255,.025),transparent)}
.xmasTitle{color:#f9f4e3}.xmasTitle span,.xmasKicker{color:#efddaf}.xmasIntro{color:#e0ece6}
.profileBtn,.xmasProfiles .profileBtn{background:linear-gradient(135deg,rgba(207,230,214,.12),rgba(32,63,58,.5));border:1px solid rgba(238,246,232,.17)}
.nav button.active,.segmented button.active,.collectionTools button.active{background:linear-gradient(135deg,#366b5c,#6a8c79);color:#fff}
.calendar .day,.day{background:linear-gradient(135deg,#254740,#1b3232)}.day.opened{background:linear-gradient(135deg,#356c54,#25443a)}
.packOpening{background:linear-gradient(140deg,#356e5a 0 46%,#1e4d4c 46% 70%,#758d70 70%);border-color:#e5d5a4}.tearStrip{background:linear-gradient(180deg,#577d65,#315c52);border-color:#e5d5a4}
.bigPack{background:linear-gradient(145deg,#3a7761,#1f4c49 68%,#a4a077);border-color:#dec88f}.packMini{background:linear-gradient(135deg,#315c56,#7a9c93 70%,#dfce96)}
.cardsGrid{grid-template-columns:repeat(auto-fill,minmax(170px,220px));gap:16px;justify-content:start}
.collectionCard{aspect-ratio:auto!important;padding:0!important;border:none!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;display:flex;flex-direction:column;gap:7px;transform:none}
.collectionCard:hover{transform:translateY(-2px);box-shadow:none}
.fvCardImage{width:100%;aspect-ratio:2/3;overflow:hidden;border-radius:15px;background:transparent;box-shadow:0 12px 25px rgba(0,0,0,.23)}
.fvArtwork,.fvSummaryImage .fvArtwork{object-fit:contain;width:100%;height:100%}
.collectionCard .meta{padding:1px 4px 8px!important}.collectionCard .meta b{font-size:.84rem;color:#f9f8eb}.collectionCard .meta small{font-size:.72rem;color:#d0dfd9}
.fvDetailArt{background:transparent!important}.fvDetailArt .fvArtwork{object-fit:contain}
.fvInspectionCard{background:rgba(11,28,28,.45);border-color:rgba(235,242,231,.16)}.fvInspectThumb{background:transparent;border-radius:12px}
.notice{background:rgba(230,208,150,.08);border:1px solid rgba(228,210,161,.27);color:#f4edcf}
input,select,textarea,select,input[type=number]{background:#142c2b;color:#f8f6e9;border:1px solid rgba(230,242,229,.26);border-radius:10px}
.fvStudioTools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,1fr);gap:16px;align-items:start}.fvStudioPreview{width:min(100%,300px);aspect-ratio:2/3;background:rgba(17,32,32,.6);border-radius:15px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.09)}
.fvStudioPreview canvas{display:block;width:100%;height:100%;object-fit:contain}.fvStudioFields{display:grid;gap:12px}.fvStudioFields label{display:grid;gap:5px;font-size:.86rem;color:var(--muted)}.fvStudioFields input[type=range]{accent-color:#b5dec7;width:100%}
.fvStudioStatus{font-size:.85rem;color:#f5e9be}.fvStudioAssetList{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:20px}.fvStudioAsset{padding:7px;background:rgba(13,38,38,.55);border:1px solid rgba(239,249,234,.18);border-radius:12px;cursor:pointer;text-align:left}.fvStudioAsset.active{outline:2px solid #c2e0c9}.fvStudioAsset img{width:100%;aspect-ratio:2/3;object-fit:contain;border-radius:8px;display:block}.fvStudioAsset b{display:block;font-size:.75rem;margin-top:6px}.fvStudioAsset small{font-size:.7rem;color:#c9dad6}.fvStudioAsset .fvMissing{aspect-ratio:2/3;min-height:0;font-size:.68rem}
.fvQuickReveal{display:block;margin:12px auto 0;background:#315c55;border:1px solid #c0d0b6;position:relative;z-index:40}
.fvStudioMsg{padding:12px;border-radius:10px;background:rgba(242,215,144,.1);color:#f6e7bb;margin-top:12px}
@media(max-width:690px){.fvStudioTools{grid-template-columns:1fr}.fvStudioPreview{margin:auto}.cardsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shell{padding:10px}.nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.nav button{flex-shrink:0}}

@media(max-width:690px){.fvStudioTools,.fvStudioFields,.fvStudioTools>div,.fvStudioFields label,.fvStudioFields select,.fvStudioFields input{min-width:0;max-width:100%;width:100%}.fvStudioTools{grid-template-columns:minmax(0,1fr)}.fvStudioFields{overflow-wrap:anywhere}.fvStudioFields input[type=range]{width:calc(100% - 8px)}.fvStudioFields input[type=file]{font-size:.8rem}.fvStudioPreview{max-width:300px}}
.fvFrameGallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px;padding:14px 0}.fvFrameItem{background:linear-gradient(135deg,#759d91,#d7e5dc);padding:10px;border-radius:14px;color:#18302a;text-align:center}.fvFrameItem img{width:100%;height:auto;display:block;aspect-ratio:2/3;object-fit:contain}.fvFrameItem small{display:block;margin-top:7px;color:#102b24;font-weight:800}.fvStudio details{margin-top:18px;border:1px solid var(--line);padding:10px 14px;border-radius:12px;background:rgba(8,24,22,.2)}

/* FAMILY VAULT — Noël familial 2026 — V6.1, ne touche pas aux PNG/SVG des cartes */
:root {--bg:#efe3d3;--panel:#fff8ec;--panel2:#f6e9d9;--text:#3a2b2a;--muted:#80695d;--gold:#d6ad63;--accent:#b56655;--line:rgba(111,70,53,.16);--shadow:0 12px 35px rgba(69,38,32,.12)}
body {background:radial-gradient(ellipse at 14% 8%,#fff7e8 0%,transparent 42%),radial-gradient(ellipse at 91% 80%,#e4ccbb 0%,transparent 46%),linear-gradient(165deg,#f2e4d2,#f1dccc 70%,#efe5d8);color:var(--text)}
body:before{content:"";position:fixed;inset:-10% 0 0;z-index:0;opacity:.43;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.98) 1.7px,transparent 2.3px),radial-gradient(circle,rgba(255,255,255,.83) 1px,transparent 1.7px);background-size:137px 176px,191px 226px;background-position:10px 12px,68px 84px;animation:fv-snowdrift 33s linear infinite}
@keyframes fv-snowdrift{from{transform:translateY(-80px)}to{transform:translateY(85px)}}
@media (prefers-reduced-motion:reduce){body:before{animation:none} .packOpening,.cardRevealStage *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
#app{position:relative;z-index:1}
.topbar{background:rgba(255,249,238,.97);border:1px solid rgba(133,92,66,.2);box-shadow:0 11px 34px rgba(74,45,34,.12);color:var(--text);border-radius:20px;overflow:hidden}
.topbar:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:repeating-linear-gradient(95deg,#9f4c45 0 48px,#f0d9a3 48px 91px,#6d7c60 91px 136px)}
.brandMark{color:#fff6e7;background:linear-gradient(145deg,#9d4d43,#693d38);border-radius:13px;box-shadow:inset 0 0 0 1px rgba(255,232,185,.4)}
.brand strong,.stats b{color:#4a2e2d}.brand small,.stats{color:#826d60}
.panel{background:linear-gradient(145deg,rgba(255,252,245,.98),rgba(250,238,221,.97));border:1px solid rgba(117,76,51,.16);box-shadow:var(--shadow);color:var(--text)}
.panel h1,.panel h2,.panel h3,.sectionTitle h2,.viewIntro h2{color:#50332f}
.sectionTitle p,.panel p,.viewIntro p{color:var(--muted)}
button{background:#745248;color:#fffaf2;border:1px solid rgba(99,58,44,.18);box-shadow:0 2px 3px rgba(42,28,23,.06)}
button:hover{background:#85594b}.primary{background:linear-gradient(145deg,#aa6656,#7d4c48);color:#fffaf1}.primary:hover{background:#915249}.gold{background:linear-gradient(125deg,#f4dda8,#dfba78);border:1px solid #d8b26c;color:#543524}.gold:hover{background:#f2d295;color:#543524}
.ghost{background:#f5e8d6;color:#654338;border:1px solid rgba(101,68,54,.22)}.ghost:hover{background:#eed7be}
.nav{gap:9px;align-items:center}.nav button{background:#fff8ed;color:#5a3a32;border:1px solid rgba(120,86,62,.18);font-weight:680}.nav button.active{background:linear-gradient(135deg,#a96858,#865248);color:white;border-color:transparent}.navBadge{background:#a44d40;color:white}
.nav{background:transparent!important;box-shadow:none!important;border:0!important;padding-inline:0!important}.segmented,.museumFilters,.collectionTools,.workTabs{background:transparent!important;border:0!important;box-shadow:none!important}.segmented button,.collectionTools button,.workTabs button{background:#f4e5d2;color:#604138;border:1px solid #d9bfa2}.segmented button.active,.collectionTools button.active,.workTabs button.active{background:#9a584b!important;color:#fff!important;border-color:transparent}.fvNavMore{position:relative;margin-left:auto}.fvNavMore summary{list-style:none;cursor:pointer;display:flex;align-items:center;border-radius:12px;padding:.75rem 1rem;background:#eee0ca;border:1px solid rgba(120,83,61,.2);color:#634438;font-weight:700}.fvNavMore summary::-webkit-details-marker{display:none}.fvNavMore[open] .fvNavMorePanel{display:flex}.fvNavMorePanel{position:absolute;right:0;top:calc(100% + 7px);z-index:30;background:#fff8ed;border:1px solid #ddc6a9;border-radius:16px;box-shadow:0 12px 30px #65453730;padding:9px;display:flex;flex-direction:column;gap:7px;min-width:180px}.fvNavMorePanel button{text-align:left}
.xmasLanding{background:radial-gradient(circle at 50% 10%,#8c594a 0%,#634039 52%,#4c3835 100%);border:1px solid #ad8264;box-shadow:0 25px 60px #673b3230}
.xmasLanding h1,.xmasTitle{color:#fff4d8}.xmasTitle span,.xmasKicker{color:#f2dcad}.xmasIntro{color:#f8e9d7}
.xmasLanding .sectionTitle h2{color:#fff2dd}.xmasLanding .sectionTitle p{color:#eedcc9}
.profileBtn,.xmasProfiles .profileBtn{background:linear-gradient(145deg,#fff5e4,#eed9bd);color:#56352f;border:1px solid #cba882;box-shadow:0 7px 24px #271b1a30}.profileBtn b,.profileBtn span{color:#533c34}
.fvAdminLaunch{background:#efe2ca;color:#704f3d;border:1px solid #d0a969}
.calendar .day,.day{background:linear-gradient(150deg,#f5e8d4,#ecdac0);border:1px solid #d8bda1;color:#64483d;box-shadow:0 3px 12px #59372514}.day.opened{background:linear-gradient(150deg,#e3ddcc,#cdd8ca)}.day.available{box-shadow:0 0 0 2px rgba(175,105,73,.22),0 7px 19px rgba(95,53,34,.12)}.day.locked{opacity:.52}
.day .state{color:#796257}.day .n{color:#593a2f}.packMini{background:linear-gradient(135deg,#a1524d,#b8786d 55%,#e4b66d);color:#fff3df;border:1px solid #e5c493}
.bigPack{background:linear-gradient(143deg,#b16b57 0 48%,#8c4a45 48% 71%,#73806b 71%);border:2px solid #edce91}.packOpening{background:linear-gradient(140deg,#b46754 0 46%,#8c514a 46% 69%,#72846b 69%);border:2px solid #f0d5a2}.tearStrip{background:linear-gradient(180deg,#c99870,#925d4c);border-color:#efc990}
.todayStage{background:linear-gradient(155deg,#fff9eb,#f4e3cb)}.calendarPanel{background:linear-gradient(155deg,#fffdf5,#f5e8d7)}
.metric,.setProgress>div{background:#f3e3ce!important;border-color:#ddc1a2!important;color:#63463a!important}.metric b,.setProgress b{color:#6d4437!important}.metric small{color:#80695b!important}
.collectionCard .meta b{color:#4f332e!important}.collectionCard .meta small{color:#80685b!important}.fvCardImage{background:transparent;box-shadow:0 8px 18px #5a3c3021}
.fvCatalogTile{background:transparent!important}.fvUnknown{background:linear-gradient(145deg,#e3d8cc,#c9c1b9);color:#7d6c62}.fvMissing{background:#ddd3c5;color:#5f5148}.fvMissing strong{color:#5e453d}
input,select,textarea,select,input[type=number]{background:#fffaf0;color:#51392f;border:1px solid #d3b698}
.tradeSide,.recipe,.fvInspectionCard,.fvAdminMetrics>div,.fvStudioAsset{background:#fff8ef;border:1px solid #ddc9b5;color:#4e352f}.fvInspectionCard small{color:#7c6457}.fvAdminMetrics b{color:#985847}.fvAdminMetrics span{color:#80695d}
.notice,.fvStudioMsg{background:#faeddb;color:#624936;border:1px solid #e7cfae}.fvStudioStatus,.small{color:#80685b}.fvFrameItem{background:#f7e9d6;color:#583f36}
.modal:not(.boosterModal){background:#fff8ee;color:#513b31}.modal:not(.boosterModal) h2{color:#56382f}.modal:not(.boosterModal) p{color:#715448}.boosterModal{color:#fff6ea}
.fvOwnerSelect{min-width:160px;max-width:100%;padding:.62rem .8rem}.fvAdvancedFilters{align-self:center}.fvAdvancedFilters summary{font-weight:700;cursor:pointer;color:#7a5348;padding:8px 2px}.fvAdvancedButtons{display:flex;gap:8px;flex-wrap:wrap;padding:6px 0}.fvBoostCount{background:linear-gradient(115deg,#f9e7c4,#e9cf9e);border:1px solid #d3ac74;color:#6b4334;border-radius:17px;padding:14px 16px;text-align:center;margin:12px 0 15px;font-size:.98rem;box-shadow:inset 0 1px 0 #fff8e8}
.fvBoostCount b{display:block;font-size:1.65rem;color:#874c3e;line-height:1.1;margin-bottom:3px}
.fvNoticeInfo{border:1px solid #d6baa0;background:linear-gradient(135deg,#fff8ed,#f0e1ce);padding:12px 15px;border-radius:14px;color:#694b3c;margin:12px 0 15px;font-size:.88rem}
.fvMuseumToolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:16px 0}.fvMuseumToolbar .ghost{font-weight:700}.fvMuseumHidden{filter:saturate(0) grayscale(1)!important;opacity:.66}.fvMuseumHint{font-size:.85rem;color:#70554c}
.fvMuseumCard{cursor:default}.fvMuseumCard .meta b{color:#634c42!important}
.fvCardImage:has(.fvMuseumHidden){background:#ded6cd}
.fvCollectionExplainer{border-left:3px solid #ba8b61;padding:9px 12px;background:#f9ead5;color:#795d4d;border-radius:0 12px 12px 0;font-size:.86rem;margin:12px 0}
.fvAdminMetrics,.fvStudio{color:#4e3730}.metricRow{color:#4d3a32}.fvNoticeInfo{color:#684c3d!important}.nav button:hover{background:#ead7c3}.nav button.active:hover{background:#905247}
@media(max-width:690px){.todayStage .bigPack{width:190px;margin:12px auto}.stats{gap:7px 12px;font-size:.79rem}.topbar{position:relative}.nav{overflow:visible;flex-wrap:wrap;padding-bottom:3px}.nav button{flex-shrink:0}.fvNavMore{margin-left:0}.fvNavMorePanel{right:auto;left:0}.panel{padding:15px}.fvBoostCount{padding:10px}.calendar{gap:7px}.day{padding:9px;border-radius:14px}}


/* ===== Family Vault V6.2 : boosters réparés, clavier et tactile ===== */
.fvB2Backdrop{position:fixed;inset:0;z-index:9999;background:rgba(34,22,20,.72);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:12px;overflow:auto}
.fvB2Modal{box-sizing:border-box;position:relative;width:min(610px,100%);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;border-radius:23px;background:linear-gradient(165deg,#fff9eb,#f7ead0);color:#422d24;border:2px solid #d8b887;box-shadow:0 30px 90px #26161175;padding:22px 24px 20px;text-align:center}
.fvB2Header{position:relative;padding:4px 30px 14px}.fvB2Kicker{font-weight:800;letter-spacing:.2em;font-size:.68rem;color:#977044}.fvB2Header h2{font:700 clamp(1.45rem,5vw,2rem)/1.18 Georgia,serif;margin:6px 0;color:#473125}.fvB2Header p{font-size:.88rem;line-height:1.45;margin:0;color:#715b4b}.fvB2Close{position:absolute;right:-9px;top:-8px;border:1px solid #d9bd95;background:#fff5e1;color:#5c4132;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;font-size:24px;line-height:1;padding:0}
.fvB2Sealed{width:min(230px,53vw);aspect-ratio:2/3;margin:14px auto 20px;filter:drop-shadow(0 14px 14px #3c211941);background:linear-gradient(115deg,#a02e3a 0%,#b64448 42%,#7b2334 45%,#7f2b33 74%,#a93b3e 100%);border-radius:14px 14px 19px 19px;border:5px solid #e8cc83;box-shadow:inset 0 0 0 3px #fff0be80,inset 0 0 0 10px #601f2880;display:grid;place-items:center;transform:rotate(-2deg)}.fvB2Ribbon{border-top:2px solid #f6dc98;border-bottom:2px solid #f6dc98;color:#fff5da;padding:16px 10px;display:flex;flex-direction:column;gap:4px;align-items:center;width:79%;text-shadow:0 2px 4px #3a162855}.fvB2Ribbon span{font:700 1.65rem/1 Georgia,serif;letter-spacing:.08em}.fvB2Ribbon strong{font:900 2.55rem/1 Georgia,serif;letter-spacing:.045em}.fvB2Ribbon small{font:700 .55rem/1.4 system-ui;letter-spacing:.19em}.fvB2Ribbon i{font:700 .74rem/1.2 system-ui;color:#f7dfa4;margin-top:15px}
.fvB2ActionRow{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}.fvB2ActionRow button{border-radius:12px;min-height:48px;padding:12px 18px;cursor:pointer;font-size:.91rem;font-weight:800;line-height:1.15}.fvB2Primary{background:linear-gradient(#9b3640,#7c2935);border:1px solid #792d34;color:#fff8ea;box-shadow:0 5px 14px #522a2522}.fvB2Secondary{background:#fff8e8;border:1px solid #c9ad82;color:#573c30}.fvB2ActionRow button:focus-visible,.fvB2Close:focus-visible{outline:3px solid #4b79bd;outline-offset:3px}.fvB2Foot{color:#8b7764;font-size:.73rem;line-height:1.5;max-width:420px;margin:12px auto 0}
.fvB2Progress{display:flex;gap:5px;width:min(350px,88%);margin:8px auto 16px}.fvB2Progress span{height:5px;flex:1;background:#e0d1b9;border-radius:5px}.fvB2Progress span.seen{background:#638c70}.fvB2Progress span.now{background:#bc7c40}
.fvB2CardBox{width:min(265px,65vw,calc(53dvh * 2 / 3));aspect-ratio:2/3;position:relative;margin:4px auto 8px;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #2f202247;background:#e8d4b4;transform:translateZ(0)}.fvB2CardBack{width:100%;height:100%;border:8px solid #bc945d;box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 50% 36%,#8e3d48,#542a38 85%);color:#fce9c2}.fvB2BackLogo{font:900 2rem/1 Georgia,serif;letter-spacing:.1em;border-top:2px solid #e6c788;border-bottom:2px solid #e6c788;padding:16px 4px;margin-bottom:12px}.fvB2CardBack small{letter-spacing:.21em;font-size:.65rem}.fvB2Front,.fvB2Front img,.fvB2Front .fvMissing{width:100%;height:100%;display:block}.fvB2Front img{object-fit:cover}.fvB2CardMeta{min-height:43px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.9rem}.fvB2CardMeta strong{font-size:1rem}.fvB2CardMeta small{font-size:.78rem;color:#755944}
.fvB2Summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;max-height:54dvh;overflow-y:auto;padding:3px}.fvB2SummaryItem{min-width:0;display:flex;flex-direction:column;gap:4px;align-items:center;background:#fff9ea;border:1px solid #e5d4b7;border-radius:12px;padding:7px}.fvB2SummaryImage{width:min(115px,100%);aspect-ratio:2/3;overflow:hidden;border-radius:8px;background:#ead9bb}.fvB2SummaryImage img{width:100%;height:100%;object-fit:cover}.fvB2SummaryItem strong{font-size:.73rem;line-height:1.25;overflow-wrap:anywhere}.fvB2SummaryItem small{font-size:.65rem;color:#6d5949}.fvB2Bonus{font-size:.88rem;background:#f3e3c2;border-radius:9px;padding:9px}
@media(max-width:500px){.fvB2Modal{padding:14px 12px;border-radius:17px}.fvB2Header{padding:2px 29px 11px}.fvB2Summary{grid-template-columns:repeat(2,minmax(0,1fr));max-height:55dvh}.fvB2ActionRow{gap:8px}.fvB2ActionRow button{flex:1 1 120px}.fvB2CardBox{width:min(250px,61vw,calc(49dvh * 2 / 3));}.fvB2Sealed{width:min(190px,46vw)}}
@media(prefers-reduced-motion:reduce){.fvB2Modal *{animation:none!important;transition:none!important}}

/* ===== Family Vault 6.3 — Cadeau experience tactile, sans modifier les cartes ===== */
.fvCinemaShade{position:fixed;inset:0;z-index:15000;background:radial-gradient(ellipse at 50% 40%,#7954479c 0,#281f24e9 63%,#18131afa 100%);backdrop-filter:blur(13px);display:flex;align-items:center;justify-content:center;padding:10px;overflow:auto}
.fvCinema{--light:#f1c58a;position:relative;width:min(680px,100%);max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 50% 20%,#55413922,transparent 62%),linear-gradient(160deg,#fffaf0,#f4e6cf 90%);border:1px solid #d6b994;border-radius:24px;padding:18px 22px 20px;text-align:center;color:#443329;box-shadow:0 36px 100px #130e12b0,0 0 0 1px #fff4e5 inset}
.fvCinema[data-rarity=rare]{--light:#6c9eec}.fvCinema[data-rarity=epic]{--light:#c18cff}.fvCinema[data-rarity=legendary],.fvCinema[data-rarity=unique]{--light:#ffd778}.fvCinema[data-rarity=secret]{--light:#e0a8f8}.fvCinema[data-rarity=fusion]{--light:#ef7eb2}.fvCinema[data-rarity=fullart]{--light:#f4d8a0}
.fvCinemaHeader{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 40px 5px}.fvCinemaHeader .eyebrow{font-size:.7rem;letter-spacing:.2em;color:#906b54;font-weight:800}.fvCinemaHeader h2{font-family:Georgia,serif;font-size:clamp(1.4rem,4.5vw,1.8rem);line-height:1.1;margin:0;color:#49342a}.fvCinemaHeader p{margin:0;color:#866a5c;font-size:.78rem}.fvCinemaClose{position:absolute;right:-7px;top:0;background:#fff4e1;border:1px solid #dbbe9a;color:#5a4636;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer}
.fvCinemaTopBtns{margin:9px 0 3px;display:flex;gap:5px;justify-content:center}.fvCinemaTopBtns button{font-size:.73rem;min-height:35px;padding:7px 12px;border-radius:99px;background:#f2e7d5;border:1px solid #deceb5;color:#715243;cursor:pointer}
.fvCinemaStage{position:relative;min-height:min(61dvh,520px);display:grid;place-items:center;isolation:isolate;overflow:hidden;border-radius:20px;margin:6px auto 11px;background:radial-gradient(circle at 50% 45%,#f4e6cd 0,#e8d7bc 68%,#e0c9aa 100%);box-shadow:inset 0 1px 5px #a8875f2b}
.fvCinemaStage:before{content:'';position:absolute;inset:0;opacity:.32;pointer-events:none;background-image:radial-gradient(#fff9e3 1px,transparent 1px);background-size:27px 27px;mask-image:linear-gradient(90deg,transparent,#000,transparent)}
.fvCinemaStage[data-state=sealed]{min-height:min(61dvh,540px)}
.fvGiftPack{position:relative;width:min(245px,57vw);aspect-ratio:2/3;background:linear-gradient(112deg,#a84046 0,#7e2736 44%,#b44e51 46%,#8e3540 74%,#682534 100%);border:5px solid #d9b77a;border-radius:16px 16px 23px 23px;box-shadow:0 22px 34px #39211b69,0 2px 5px #f9e2ad inset;display:flex;align-items:center;justify-content:center;transform:rotate(-3deg);transition:transform .5s ease,opacity .35s ease;overflow:hidden}
.fvGiftPack:before{content:'';position:absolute;left:17px;right:17px;top:0;bottom:0;border-left:2px solid #deb87895;border-right:2px solid #deb87895}
.fvGiftPack:after{content:'';position:absolute;left:0;right:0;top:16%;height:16px;background:linear-gradient(#f7dca1,#bd8743,#f7dca1);transform:skewY(-4deg);box-shadow:0 2px 8px #20121277}
.fvGiftInner{border:2px solid #efca8d;padding:23px 17px;z-index:2;color:#fff2d1;text-shadow:0 2px 4px #451621c4;background:#4c20285e;border-radius:7px;width:81%;font:700 1.7rem/.95 Georgia,serif;letter-spacing:.09em}.fvGiftInner strong{display:block;font-size:2.4rem}.fvGiftInner span{display:block;font:700 .55rem/1.5 system-ui;letter-spacing:.24em;margin-top:12px}.fvGiftDay{position:absolute;bottom:18px;right:17px;font:800 .72rem system-ui;color:#fceac5;z-index:3;letter-spacing:.14em}
.fvGiftPack.fvTearing{animation:fvUnwrap .9s cubic-bezier(.3,.8,.3,1) forwards}@keyframes fvUnwrap{0%{transform:rotate(-3deg) scale(1);opacity:1}33%{transform:rotate(3deg) scale(1.08)}64%{clip-path:polygon(0 14%,35% 0,65% 14%,100% 0,100% 100%,0 100%);transform:rotate(-7deg) scale(.97)}100%{opacity:0;transform:rotate(12deg) scale(.62) translateY(120px)}}
.fvCineIntro{font-size:.8rem;color:#705647;margin:3px 0 0}.fvCineProgress{display:flex;gap:7px;margin:9px auto 7px;max-width:290px}.fvCineProgress span{height:5px;flex:1;border-radius:8px;background:#d7c3a7}.fvCineProgress span.done{background:#9cae87}.fvCineProgress span.current{background:#aa7650;box-shadow:0 0 0 2px #eddbba}
.fvCineAuras{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 52%,color-mix(in srgb,var(--light),transparent 66%),transparent 54%);opacity:0;transition:opacity .35s}
.fvCineStageRevealed .fvCineAuras{opacity:1}.fvCineAuras::after{content:'';position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--light),transparent 75%),transparent 62%);filter:blur(16px)}
.fvCineCard{position:relative;display:block;z-index:2;width:min(304px,67vw,calc(54dvh * 2 / 3));aspect-ratio:2/3;transform-style:preserve-3d;perspective:1200px;cursor:pointer;border:0;padding:0;background:transparent;filter:drop-shadow(0 20px 24px #34241d68)}
.fvCineFlipper{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .83s cubic-bezier(.16,.79,.13,1)}.fvCineCard.isFlipped .fvCineFlipper{transform:rotateY(180deg)}
.fvCineFace{position:absolute;inset:0;backface-visibility:hidden;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:#6e3341}.fvCineFace.back{border:3px solid #d7ac66;box-shadow:inset 0 0 0 6px #6e3544,inset 0 0 0 8px #e6c686;background:repeating-linear-gradient(45deg,#712e40 0,#712e40 20px,#7b3a4a 21px,#7b3a4a 22px)}
.fvCineFace.back .medallion{height:110px;width:110px;display:grid;place-items:center;border:2px solid #e5c48b;border-radius:50%;color:#ffe6aa;font:700 2.3rem Georgia,serif;box-shadow:0 0 0 7px #e8c27a29;background:#6e283e}
.fvCineFace.front{transform:rotateY(180deg);background:transparent}.fvCineFace.front img,.fvCineFace.front .fvMissing{width:100%;height:100%;display:block;object-fit:contain}.fvCineFace.front img{border-radius:12px}
.fvCineCard.isFlipped[data-rarity=epic]{animation:fvGentlyShake .45s ease .83s}.fvCineCard.isFlipped[data-rarity=legendary],.fvCineCard.isFlipped[data-rarity=unique],.fvCineCard.isFlipped[data-rarity=secret]{animation:fvBigReveal .7s ease .8s}
@keyframes fvGentlyShake{0%,100%{transform:rotate(0)}27%{transform:rotate(-1.2deg)}58%{transform:rotate(1.2deg)}}@keyframes fvBigReveal{0%{transform:scale(1)}27%{transform:scale(1.07)}50%{transform:scale(.99)}75%{transform:scale(1.03)}100%{transform:scale(1)}}
.fvCineCard.isFlipped:after{content:'';position:absolute;inset:0;border-radius:13px;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 29%,#ffffff81 46%,transparent 60%);transform:translateX(-120%);animation:fvHolo 1.2s .85s ease-out forwards}@keyframes fvHolo{0%{opacity:0;transform:translateX(-110%)}32%{opacity:.52}100%{opacity:0;transform:translateX(110%)}}
.fvCineRarity{position:absolute;top:11px;left:50%;transform:translateX(-50%) translateY(6px);background:color-mix(in srgb,var(--light),#fff 72%);border:1px solid var(--light);color:#573920;z-index:4;padding:7px 19px;border-radius:30px;font-size:.84rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;opacity:0;box-shadow:0 4px 21px color-mix(in srgb,var(--light),transparent 42%)}.fvCineRarity.active{animation:fvNameReveal .6s .05s both}@keyframes fvNameReveal{from{opacity:0;transform:translateX(-50%) translateY(-14px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.fvCineConfetti{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.fvCineConfetti i{position:absolute;left:50%;top:50%;width:6px;height:12px;border-radius:2px;background:var(--light);opacity:0}.fvCineConfetti.burst i{animation:fvParticle .9s var(--d) ease-out forwards}@keyframes fvParticle{0%{opacity:0;transform:translate(0,0) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(220deg) scale(.6)}}
.fvCineText{min-height:59px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;margin:2px 0 8px}.fvCineText strong{color:#4b352a;font:700 clamp(1.06rem,3.2vw,1.4rem)/1.15 Georgia,serif}.fvCineText small{color:#7f5c43;font-size:.78rem}.fvCineStamp{display:inline-block;font-weight:900;padding:2px 8px;border-radius:8px;background:#f8e5af;color:#755027;font-size:.7rem}.fvCineStamp.dup{background:#e6e1d8;color:#746458}.fvCineStamp.bonus{background:#fbe1dc;color:#a23a60}
.fvCineActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:10px 0 0}.fvCineActions button{min-height:50px;padding:11px 18px;border-radius:13px;cursor:pointer;font-weight:800;font-size:.9rem;border:1px solid #d6b68d}.fvCineActions .primary{background:linear-gradient(145deg,#a34340,#7d2934);border-color:#873e38;color:#fff8e8}.fvCineActions .secondary{background:#fff6e7;color:#725443}.fvCineActions button:focus-visible,.fvCinema button:focus-visible{outline:3px solid #577caf;outline-offset:3px}.fvCineNote{margin:10px 0 0;font-size:.7rem;color:#826f5b}
.fvCineSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;max-height:53dvh;overflow-y:auto;padding:6px 4px;margin:12px 0}.fvCineMini{position:relative;border:1px solid #e1c9a6;background:#fff9eb;padding:8px 7px;border-radius:14px;text-align:center;cursor:pointer;display:flex;flex-direction:column;gap:5px;align-items:center;min-width:0;box-shadow:0 5px 13px #68402112}.fvCineMini img{width:100%;max-width:128px;aspect-ratio:2/3;object-fit:contain;border-radius:8px}.fvCineMini strong{font-size:.73rem;color:#553a2d;line-height:1.25}.fvCineMini small{font-size:.65rem;color:#806958}.fvCineMini .new{font-size:.65rem}
.fvZoomShade{position:fixed;inset:0;z-index:30000;background:#151319ed;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:10px}.fvZoom{width:min(780px,100%);max-height:98dvh;overflow-y:auto;color:#fef1dd;display:flex;flex-direction:column;align-items:center;gap:8px}.fvZoomTop{display:flex;align-items:center;justify-content:space-between;width:min(610px,100%);gap:15px}.fvZoomTop h2{margin:0;font:700 clamp(1.2rem,4vw,1.7rem)/1.1 Georgia,serif}.fvZoomTop button{color:#fff2dd;background:#ffffff26;border:1px solid #ffffff6e;border-radius:13px;padding:10px 15px;cursor:pointer}.fvZoomArt{height:min(77dvh,790px);width:min(94vw,calc(77dvh * 2 / 3));object-fit:contain;filter:drop-shadow(0 18px 35px #000c)}.fvZoomDetails{font-size:.8rem;color:#e6d4ba;text-align:center;margin:0;max-width:600px}.fvZoomHelp{font-size:.73rem;color:#c7b7a4}
.fvCinema[data-phase=card] .fvCinemaStage{min-height:min(60dvh,530px)}
@media(max-width:540px){.fvCinemaShade{padding:0}.fvCinema{width:100%;border-radius:0;min-height:100dvh;max-height:100dvh;border:0;padding:9px 13px 18px}.fvCinemaStage{min-height:calc(100dvh - 270px);max-height:60dvh;margin:6px 0 5px}.fvCinema[data-phase=card] .fvCinemaStage{min-height:calc(100dvh - 285px);max-height:58dvh}.fvCinemaHeader h2{font-size:1.45rem}.fvCineCard{width:min(73vw,calc(53dvh * 2 / 3));}.fvGiftPack{width:min(55vw,240px)}.fvCineSummary{grid-template-columns:repeat(2,minmax(0,1fr));max-height:59dvh}.fvCineActions button{flex:1 1 38%;min-height:47px}.fvCineText{min-height:55px}.fvCineRarity{font-size:.7rem;padding:5px 12px}}
@media(prefers-reduced-motion:reduce){.fvCinema *, .fvZoom *{animation:none!important;transition:none!important}}
body.fvLowMotion .fvCinema *,body.fvLowMotion .fvZoom *{animation:none!important;transition:none!important}


/* === FAMILY VAULT V6.4 · CADEAU ATELIER · CSS/SVG/WEB AUDIO === */
:root {--fv-foil-red:#9f4146;--fv-foil-red-dark:#5d2735;--fv-foil-gold:#ebcc8e;--fv-foil-cream:#fff4da;}
.fvBoostCount{display:none}
.fvBoosterPill{display:flex;gap:10px;align-items:center;background:linear-gradient(115deg,#583d39,#7c4744)!important;color:#fff1db!important;border:1px solid #c99d61!important;border-radius:999px!important;padding:6px 13px 6px 8px!important;box-shadow:0 6px 20px #6e3d3330;white-space:nowrap}
.fvBoosterPill .fvPillCount{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,#ffedc2,#d7aa63);color:#562d2d;font-weight:1000;font-size:1.06rem;box-shadow:inset 0 1px #fff9}
.fvBoosterPill .fvPillText{text-align:left;font-size:.77rem;font-weight:800;line-height:1.13}
.fvBoosterPill .fvPillText small{display:block;font-size:.66rem;opacity:.85;font-weight:500}
.fvBoosterPill:hover{filter:brightness(1.13);transform:translateY(-1px)}
@media(max-width:820px){.topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important}.topbar .brand{grid-column:1;grid-row:1}.topbar .topbarActions{grid-column:2;grid-row:1}.topbar .stats{display:flex!important;grid-column:1/-1;grid-row:2;margin-top:4px}.topbar .stats>span{display:none}}
.fvCadeauLobby{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 43%,#eac18c88,transparent 45%),linear-gradient(150deg,#fff5e5,#ecd6b7 78%)!important}
.fvCadeauLobby:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.29;background:radial-gradient(#a86b4326 1px,transparent 2px) 0 0/22px 22px;mask-image:radial-gradient(ellipse,#000,transparent 79%)}
.fvCadeauLobby:after{content:'✧';position:absolute;font:100 9rem Georgia,serif;color:#c8945b48;right:0;top:12%;animation:fvFloatStar 7s ease-in-out infinite;pointer-events:none}
@keyframes fvFloatStar{50%{transform:translateY(-18px) rotate(14deg);opacity:.55}}
.fvCadeauLobby .eyebrow{font-weight:900;letter-spacing:.22em;color:#98744e;font-size:.7rem;margin-bottom:7px}
.fvCadeauLobby h2{margin:0;font:700 clamp(1.45rem,3vw,2.15rem)/1.1 Georgia,serif;color:#51362f;text-align:center}
.fvCadeauLobby .fvLobbyDescription{color:#876d5b;text-align:center;max-width:400px;font-size:.91rem;line-height:1.5;margin:10px 0 5px}
.fvLobbyStage{position:relative;display:grid;place-items:center;width:100%;min-height:445px;padding:18px;perspective:1200px}
.fvLobbyStage:before{content:'';width:240px;height:37px;position:absolute;bottom:35px;left:50%;transform:translateX(-50%);border-radius:50%;background:#683b2e4f;filter:blur(17px);pointer-events:none}
.fvLobbyStage .fvFoilPack{transform:rotate(-5deg);transition:transform .4s cubic-bezier(.18,.9,.2,1)}
.fvLobbyStage:hover .fvFoilPack{transform:rotate(0) translateY(-8px) scale(1.018)}
.fvLobbyControls{width:min(100%,420px);padding-bottom:16px;position:relative;z-index:3;display:grid;gap:13px}
.fvInventoryLabel{text-align:center;font-size:.86rem;color:#78574a}
.fvInventoryLabel b{font-size:1.15rem;color:#6b382f}
.fvCountChoices{display:flex;gap:5px;background:#e9d7c0;padding:5px;border-radius:16px;border:1px solid #cfb598}
.fvCountChoices button{flex:1;min-height:43px;padding:8px 5px;border-radius:11px;font-weight:900;background:transparent;color:#755d50;border:0;box-shadow:none;font-size:.9rem;white-space:nowrap}
.fvCountChoices button.active{background:#6c3d39;color:#fff3de;box-shadow:0 3px 9px #5e302c31}
.fvCountChoices button:disabled{opacity:.36}
.fvLobbyOpen{min-height:54px;font-size:1rem;font-weight:900;background:linear-gradient(120deg,#8d3f3e,#ad5b4c)!important;color:#fff8ee!important;box-shadow:0 8px 21px #6c3b3347!important}
.fvLobbyAll{min-height:45px;background:transparent!important;border:1px solid #bc997a!important;color:#745344!important;box-shadow:none!important}
.fvLobbySmall{text-align:center;color:#937965;font-size:.75rem;line-height:1.35}
.calendarHome{grid-template-columns:minmax(370px,.87fr) minmax(0,1.13fr)}
.fvFoilPack{--cut-pos:8%;width:min(285px,61vw);aspect-ratio:2/3;position:relative;isolation:isolate;border-radius:13px 13px 17px 17px;border:2px solid #e2bc7a;background:
 linear-gradient(93deg,#3a171f8a 0,#c7655d42 5%,transparent 13%,transparent 87%,#33101b8a 100%),
 repeating-linear-gradient(90deg,#0000 0 8px,#ffdfbd1a 8px 9px),
 linear-gradient(114deg,#a7464c 0%,#853341 22%,#bc605e 43%,#68293b 63%,#8b3c46 81%,#b15654 100%);
 box-shadow:0 25px 50px #3b1b2865,0 8px 0 #5a2634,0 0 0 3px #fff8de5c inset,0 0 0 8px #e3b77e19 inset;
 overflow:visible;transform-style:preserve-3d;user-select:none;-webkit-user-select:none;will-change:transform}
.fvFoilPack:before,.fvFoilPack:after{content:'';pointer-events:none;position:absolute;z-index:3;top:59px;bottom:23px;width:13px;background:repeating-linear-gradient(90deg,#ffffff21 0 1px,#27101d22 1px 3px,transparent 3px 5px);border-left:1px solid #eac58d72}
.fvFoilPack:before{left:0}.fvFoilPack:after{right:0}
.fvFoilCrimpBottom{position:absolute;z-index:8;left:-2px;right:-2px;bottom:-4px;height:25px;border-radius:0 0 15px 15px;border:1px solid #d3a56f;background:repeating-linear-gradient(90deg,#713843 0 3px,#da9f80 3px 5px,#814451 5px 8px);box-shadow:inset 0 5px 8px #4d23358f}
.fvFoilGleam{position:absolute;z-index:2;inset:5px 10px 18px;border-radius:14px;overflow:hidden;pointer-events:none}
.fvFoilGleam:after{content:'';position:absolute;inset:-20% -70%;background:linear-gradient(105deg,transparent 42%,#fff7eb30 50%,transparent 57%);transform:translateX(-48%);animation:fvFoilGlint 6s ease-in-out infinite}
@keyframes fvFoilGlint{20%,100%{transform:translateX(50%)}}
.fvFoilLogo{position:absolute;z-index:4;top:22%;left:15%;right:15%;height:43%;border:2px solid #e6c58d;border-radius:46% 46% 40% 40%/30% 30% 25% 25%;background:radial-gradient(circle at 50% 27%,#fff5d21a,#501e3077 65%);box-shadow:0 0 0 7px #502a345c,0 0 0 9px #e3c39286,inset 0 0 28px #ffecaa27;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff2cc;text-shadow:0 3px 5px #361724;pointer-events:none}
.fvFoilLogo .fvFoilStar{font:300 2.2rem Georgia,serif;color:#f6d99f;line-height:1}
.fvFoilLogo strong{font:700 clamp(1.4rem,3.7vw,2.1rem)/.9 Georgia,serif;letter-spacing:.055em;margin:10px 0}
.fvFoilLogo small{font:800 .54rem/1.4 system-ui;letter-spacing:.23em;color:#ffdda8;text-align:center}
.fvFoilEdition{position:absolute;z-index:4;left:0;right:0;bottom:14%;text-align:center;font:800 .63rem system-ui;letter-spacing:.19em;color:#ffdeae;text-shadow:0 1px 2px #220d1e}
.fvFoilNoel{position:absolute;z-index:4;left:50%;top:14%;transform:translateX(-50%);font:700 .66rem Georgia,serif;color:#f8dba5;letter-spacing:.22em;white-space:nowrap}
.fvFoilTear{position:absolute;z-index:12;left:-2px;right:-2px;top:-3px;height:62px;border:2px solid #e4bb80;border-radius:13px 13px 2px 2px;background:repeating-linear-gradient(90deg,#fff7dd30 0 2px,#0000 2px 7px),linear-gradient(100deg,#af675e,#d59877 26%,#7b3541 67%,#c37a66);box-shadow:0 9px 13px #3416227a;cursor:ew-resize;touch-action:none;transition:filter .2s}
.fvFoilTear:hover{filter:brightness(1.09)}
.fvFoilTear:after{content:'';position:absolute;left:10px;right:10px;bottom:7px;border-top:2px dashed #ffecb3af;pointer-events:none}
.fvFoilTearGuide{position:absolute;top:7px;left:0;right:0;text-align:center;font:900 .62rem system-ui;letter-spacing:.12em;color:#fff7db;pointer-events:none;text-shadow:0 1px 2px #4a2536}
.fvFoilCutLine{position:absolute;z-index:2;bottom:6px;left:9px;height:4px;width:calc(var(--cut-pos) - 9px);min-width:0;background:#fff5c9;box-shadow:0 0 9px #fff1ac;pointer-events:none}
.fvFoilCutter{position:absolute;z-index:5;bottom:-14px;left:var(--cut-pos);transform:translateX(-50%);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 30% 22%,#fff9e3,#dfb86c 75%);border:2px solid #fff2ca;box-shadow:0 5px 15px #2d122888;color:#713a31;font-size:1.2rem;pointer-events:none;transition:left .05s linear}
.fvFoilTear[aria-valuenow='100'] .fvFoilCutter{box-shadow:0 0 26px #ffe5a0}
.fvFoilPack.fvTorn .fvFoilTear{animation:fvFoilTopRip .7s cubic-bezier(.3,.8,.2,1) forwards}
.fvFoilPack.fvTorn{animation:fvFoilShellExit 1s .35s cubic-bezier(.2,.6,.5,1) forwards}
.fvFoilPack.fvTorn .fvFoilGleam{animation:fvFoilCrumple .65s .1s ease-in forwards}
@keyframes fvFoilTopRip{0%{transform:translate(0,0) rotate(0);opacity:1}40%{transform:translate(26px,-20px) rotate(8deg);opacity:1}100%{transform:translate(150px,-180px) rotate(24deg);opacity:0}}
@keyframes fvFoilShellExit{25%{transform:scale(1.07) rotate(2deg);opacity:1}100%{transform:translateY(135px) rotate(-13deg) scale(.5);opacity:0}}
@keyframes fvFoilCrumple{100%{filter:brightness(.6);transform:skewX(10deg)}}
.fvFoilSparks{position:absolute;inset:0;pointer-events:none;z-index:9}.fvFoilSparks i{position:absolute;width:4px;height:9px;top:45%;left:50%;background:#ecd39c;border-radius:2px;opacity:0}
.fvFoilSparks.go i{animation:fvFoilSpark .85s var(--delay) ease-out forwards}
@keyframes fvFoilSpark{18%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(280deg);opacity:0}}
.fvFoilOpeningPile{position:absolute;z-index:1;top:20%;left:50%;width:230px;aspect-ratio:2/3;transform:translateX(-50%);opacity:0;pointer-events:none}
.fvFoilOpeningPile.active{animation:fvCardsLift 1.05s .16s cubic-bezier(.1,.75,.1,1) forwards}
.fvFoilOpeningPile span{position:absolute;inset:0;border-radius:11px;background:repeating-linear-gradient(45deg,#6f303f,#6f303f 16px,#854a50 17px,#854a50 19px);border:5px solid #e6c88b;box-shadow:0 12px 22px #49302551}
.fvFoilOpeningPile span:nth-child(1){transform:rotate(-9deg) translate(-13px,8px)}
.fvFoilOpeningPile span:nth-child(2){transform:rotate(6deg) translate(10px,9px)}
.fvFoilOpeningPile span:nth-child(3){background:linear-gradient(145deg,#552738,#a85254 52%,#552738)}
.fvFoilOpeningPile span:nth-child(3):after{content:'FV';position:absolute;inset:35%;display:grid;place-items:center;border:2px solid #ffedbc;border-radius:50%;color:#f9dfa7;font:900 2rem Georgia,serif}
@keyframes fvCardsLift{0%{opacity:0;transform:translate(-50%,145px) scale(.78)}65%{opacity:1;transform:translate(-50%,-35px) scale(1.06)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
.fvCinemaShade{background:radial-gradient(ellipse at 50% 40%,#5f403bcc 0,#211922ee 75%,#0e0c10 100%)}
.fvCinema{width:min(820px,100%);background:linear-gradient(150deg,#fff9ec,#f3e2c9 89%);box-shadow:0 34px 99px #0a0809b8;border:1px solid #e1c698}
.fvCinemaStage[data-state='sealed']{min-height:min(61dvh,550px);overflow:visible;background:radial-gradient(ellipse at 50% 48%,#d1ac7659,transparent 65%),linear-gradient(135deg,#fbf1df,#ead3b3)}
.fvCinemaStage[data-state='sealed'] .fvFoilPack{transform:rotate(-3deg)}
.fvCinemaStage[data-state='sealed'] .fvFoilPack:hover{transform:rotate(0) scale(1.017)}
.fvCineTearHelp{margin:6px auto 2px;color:#775844;font-size:.86rem;text-align:center}
.fvCineTearHelp b{color:#62342d}
.fvCineNote{line-height:1.4}
.fvBatchStats{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:8px 0 3px}.fvBatchStats b{padding:7px 12px;border-radius:99px;background:#f7e8cf;border:1px solid #dcc198;color:#714e3e;font-size:.79rem}
.fvCinema[data-batch='true'] .fvCineSummary{grid-template-columns:repeat(5,minmax(0,1fr));max-height:55dvh}
.fvCinema[data-batch='true'] .fvCineMini .fvCineStamp{font-size:.58rem}
.fvCineMini{transition:transform .18s,box-shadow .18s}.fvCineMini:hover{transform:translateY(-4px);box-shadow:0 10px 20px #92613b35}
.fvCinemaStage[data-state='card'] .fvCineCard{transition:transform .25s ease}.fvCinemaStage[data-state='card'] .fvCineCard:hover{transform:translateY(-4px)}
.fvCineStageRevealed .fvCineCinematicCurtain{animation:fvCurtainReveal .8s ease-out forwards;pointer-events:none}
.fvCineCinematicCurtain{position:absolute;inset:0;z-index:5;opacity:0;pointer-events:none;background:radial-gradient(circle,#fff0b300 0%,#8f695933 65%,#261e226e 100%)}
@keyframes fvCurtainReveal{0%{opacity:.8}100%{opacity:0}}
@media(max-width:980px){.calendarHome{grid-template-columns:1fr}.fvCadeauLobby{min-height:auto}.fvLobbyStage{min-height:330px}.fvLobbyStage .fvFoilPack{width:210px}.fvBoosterPill .fvPillText small{display:none}}
@media(max-width:620px){.fvBoosterPill{padding:5px 9px 5px 6px!important}.fvBoosterPill .fvPillCount{width:30px;height:30px;min-width:30px}.fvCadeauLobby{padding:18px 12px!important}.fvLobbyStage{min-height:340px}.fvLobbyStage .fvFoilPack{width:210px}.fvFoilPack{width:min(230px,53vw)}.fvFoilLogo strong{font-size:1.55rem}.fvCinema[data-batch='true'] .fvCineSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.fvCinemaStage[data-state='sealed']{min-height:calc(100dvh - 270px);max-height:63dvh}.fvCineTearHelp{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){.fvFoilPack,.fvFoilTear,.fvFoilGleam,.fvFoilOpeningPile,.fvFoilGleam:after,.fvCadeauLobby:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body.fvLowMotion .fvFoilPack,body.fvLowMotion .fvFoilTear,body.fvLowMotion .fvFoilGleam,body.fvLowMotion .fvFoilOpeningPile{animation-duration:.01ms!important;transition-duration:.01ms!important}


/* FAMILY VAULT V6.5 — surfaces vivantes, palette rubis/or/vert, pages dédiées */
:root{--fv65-ink:#261d2c;--fv65-ruby:#a52846;--fv65-deep:#331827;--fv65-gold:#e8bd6d;--fv65-sea:#234e4a;--fv65-cream:#fff8e9}
body{background:radial-gradient(ellipse at 10% 7%,#fff8e7 0%,transparent 32%),radial-gradient(ellipse at 92% 5%,#e1cab0 0%,transparent 37%),linear-gradient(160deg,#f4e6d5 0%,#edd8c3 62%,#e8ceb8 100%);background-attachment:fixed}
.fv65Shell{max-width:1560px}.fv65Topbar{background:#fff9eee8!important;border:1px solid #e9cba9!important;border-radius:19px;box-shadow:0 12px 32px #5b392325;padding:13px 17px;position:relative!important;top:auto!important;gap:14px}
.fv65TopResources{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-left:auto}.fv65Stat{display:grid;place-items:center;min-width:65px;color:#533b35;text-align:center;padding:5px 10px;border-left:1px solid #c8a88866}.fv65Stat b{font-size:1.14rem}.fv65Stat small{font-size:.66rem;color:#997965}.fv65Topbar .brandMark{width:49px;height:49px;background:linear-gradient(145deg,#ad2848,#541f35);color:#ffe1a3;border:2px solid #d7ac6e;box-shadow:inset 0 0 0 2px #ffedcc22}.fv65Topbar .brand strong{font-family:Georgia,serif;font-size:1.24rem;color:#402b30}.fv65Topbar .brand small{font-size:.7rem;color:#95705e}
.fv65Nav{display:flex!important;gap:5px;padding:8px 1px 10px!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:thin;scrollbar-color:#bb8e71 transparent;position:relative!important;top:auto!important;background:transparent!important;backdrop-filter:none!important;border:0!important;box-shadow:none!important;white-space:nowrap}.fv65Nav button{flex:0 0 auto!important;font-size:.83rem!important;letter-spacing:.01em;padding:11px 14px!important;border:1px solid transparent!important;border-radius:11px;background:transparent!important;color:#76554c!important;font-weight:750}.fv65Nav button:hover{background:#ffffffa8!important;color:#552b38!important}.fv65Nav button.active{background:#5e2539!important;color:#ffe6b7!important;border-color:#cda570!important;box-shadow:0 4px 14px #8e515037!important}
.fv65Main{padding:3px 1px 40px}.fv65PageIntro{text-align:center;max-width:810px;margin:18px auto 29px}.fv65Eyebrow{display:block;letter-spacing:.22em;font-weight:900;font-size:.69rem;color:#a54e55}.fv65PageIntro h1{margin:6px 0 11px;font:700 clamp(2.3rem,5vw,4rem)/1.08 Georgia,serif;letter-spacing:-.035em;color:#4c2536}.fv65PageIntro p{font-size:1rem;max-width:640px;color:#796155;margin:0 auto;line-height:1.55}
/* Lobby */
.fv65CadeauLayout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);gap:22px;align-items:stretch}.fv65PackSpot{min-height:590px;position:relative;display:grid;place-items:center;border-radius:25px;overflow:hidden;isolation:isolate;cursor:pointer;background:radial-gradient(ellipse at 50% 52%,#d57e6465 0%,transparent 45%),radial-gradient(ellipse at 20% 16%,#dfba7736 0%,transparent 35%),linear-gradient(145deg,#1e2431,#372032 62%,#1b2630);border:1px solid #cfa06f5c;box-shadow:0 23px 60px #37213436}.fv65PackSpot:before{content:'';position:absolute;inset:-30%;background:repeating-conic-gradient(from 20deg at 50% 50%,#e8ba7c12 0deg 10deg,transparent 10deg 22deg);animation:fv65Rotate 38s linear infinite;pointer-events:none}.fv65PackSpot:after{content:'';position:absolute;inset:10%;border:1px solid #d5a66b31;border-radius:50%;pointer-events:none}@keyframes fv65Rotate{to{transform:rotate(360deg)}}.fv65SpotGlow{position:absolute;width:330px;height:320px;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background:#a8435947;filter:blur(67px)}.fv65PackFloat{position:relative;z-index:5;filter:drop-shadow(0 30px 23px #09071380);transform:rotate(-4deg);animation:fv65PackFloat 5s ease-in-out infinite alternate}@keyframes fv65PackFloat{to{transform:rotate(-1deg) translateY(-12px)}}.fv65PackTag{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#f0d2ae;font:.7rem system-ui;letter-spacing:.23em;z-index:4}
.fv65LobbySide{border:1px solid #dfc5ab;background:linear-gradient(150deg,#fffaf1,#f6e7d6);border-radius:25px;box-shadow:0 18px 45px #7543261b;padding:clamp(19px,3vw,39px);display:flex;flex-direction:column;justify-content:center;gap:16px;color:#512f36}.fv65Available{position:relative;padding:19px 22px;border-radius:16px;background:linear-gradient(135deg,#642d42,#341e34);color:#ffe3b5;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}.fv65Available>span{grid-column:1/-1;font-size:.67rem;font-weight:850;letter-spacing:.2em;color:#f3d3a0}.fv65Available strong{font:700 3.2rem Georgia,serif;line-height:1.15}.fv65Available small{font-size:.9rem;font-weight:750;line-height:1.2}.fv65InventoryBar{grid-column:1/-1;height:6px;border-radius:10px;overflow:hidden;background:#ffffff28;margin:11px 0 5px}.fv65InventoryBar i{display:block;height:100%;background:linear-gradient(90deg,#c56b74,#f7d995);border-radius:10px}.fv65InventorySub{grid-column:1/-1;font-size:.7rem;color:#ddc5b8}.fv65ChooseTitle{font-weight:850;font-size:.95rem;color:#66404b}.fv65LobbySide .fvCountChoices{background:#e9d5bb;border-radius:12px}.fv65LobbySide .fvCountChoices button.active{background:#762a46;color:#fff4e7}.fv65AutoToggle{display:flex;align-items:center;gap:11px;border:1px solid #e1c8a8;border-radius:14px;padding:11px 14px;cursor:pointer;background:#fff6e9}.fv65AutoToggle input{width:20px;height:20px;accent-color:#892e49}.fv65AutoToggle span{display:flex;flex-direction:column;gap:3px}.fv65AutoToggle b{color:#53303d;font-size:.84rem}.fv65AutoToggle small{color:#937565;font-size:.73rem}.fv65CadeauActions{display:grid;gap:9px}.fv65BigStart{background:linear-gradient(120deg,#a93450,#6b2945)!important;color:#fff6de!important;font-weight:900;font-size:1.08rem;min-height:60px;box-shadow:0 11px 25px #6d253b48!important}.fv65AllQuick{background:#f3e4d1!important;color:#623a44!important;border:1px solid #cfa57e!important;font-size:.88rem;min-height:44px}.fv65Help{font-size:.77rem;line-height:1.55;color:#917264;margin:0;text-align:center}.fv65CalendarLink{border:0;background:transparent!important;color:#9c3853!important;text-decoration:underline;text-underline-offset:4px;font-size:.8rem;box-shadow:none!important;padding:6px}
/* New premium foil package */
.fv65FoilPack{width:min(315px,57vw);aspect-ratio:2/3;border:1px solid #f1cb91;border-radius:11px 11px 13px 13px;background:linear-gradient(90deg,#24151c 0,#9b4051 6%,#f2b383 16%,#a33d55 29%,#6e213d 51%,#b54c5d 72%,#d58c6c 87%,#4b1e33 100%)!important;box-shadow:0 4px 0 #3f1830,0 28px 50px #100b1852,inset 5px 0 13px #ffffff3b,inset -7px 0 19px #190d219e!important}.fv65FoilPack:before,.fv65FoilPack:after{top:55px;bottom:25px;width:8px;background:linear-gradient(90deg,#140a163f,transparent 30%,#ffffff3d 72%,#220d1f66)!important}.fv65FoilLeft,.fv65FoilRight{position:absolute;inset:8px auto 23px;z-index:1;width:22px;border-radius:6px;pointer-events:none;background:linear-gradient(90deg,#ffffff35,transparent,#100b225c)}.fv65FoilLeft{left:8px}.fv65FoilRight{right:8px;transform:rotate(180deg)}.fv65FoilTopSeal{position:absolute;left:0;right:0;top:0;height:43px;background:repeating-linear-gradient(90deg,#ffe1b547 0 2px,#5e243f7d 2px 4px,#b56c6e8a 4px 6px);border-radius:10px 10px 0 0;box-shadow:inset 0 12px 13px #140f2288}.fv65FoilStars{position:absolute;inset:0;color:#ffe0a7;opacity:.73;pointer-events:none}.fv65FoilStars i{position:absolute;font-style:normal;font-size:1.6rem;text-shadow:0 0 13px #ffe0a9}.fv65FoilStars i:nth-child(1){top:24%;left:9%}.fv65FoilStars i:nth-child(2){top:26%;right:7%;font-size:2rem}.fv65FoilStars i:nth-child(3){bottom:26%;left:13%;font-size:1.2rem}.fv65FoilStars i:nth-child(4){bottom:19%;right:13%;font-size:1.1rem}.fv65FoilHalo{position:absolute;z-index:5;left:13%;right:13%;top:21%;height:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1c1839ef,#39223fdb 70%,#301729e3);border:2px solid #edc484;border-radius:49% 49% 46% 46%;box-shadow:0 0 0 5px #5e233bca,0 0 0 7px #e2af7885,inset 0 0 23px #d3a36f42;color:#ffebc0;text-align:center}.fv65FoilCrest{width:64px;height:55px;border:2px solid #efc98f;border-radius:14px 14px 22px 22px;background:linear-gradient(155deg,#692944,#361e40);display:flex;align-items:center;justify-content:center;gap:2px;transform:rotate(-5deg);box-shadow:inset 0 0 12px #fae4a62c}.fv65FoilCrest span{font:700 2rem Georgia,serif}.fv65FoilCrest small{font:700 1.3rem Georgia,serif;align-self:end;padding-bottom:5px}.fv65FoilName{font:700 clamp(1.35rem,4vw,1.9rem)/.91 Georgia,serif;letter-spacing:.02em;margin:12px 0 7px}.fv65FoilName em{display:block;font-style:normal;letter-spacing:.17em;font-size:.82em}.fv65FoilCollect{font:.53rem system-ui;letter-spacing:.12em;color:#ffe8af}.fv65FoilDivider{position:absolute;bottom:22%;left:22%;right:22%;border-top:1px solid #ffe3ab9e;box-shadow:0 2px 5px #fff2bb4a}.fv65FoilPack .fvFoilEdition{bottom:15%;font-size:.68rem}.fv65FoilCount{position:absolute;left:0;right:0;bottom:9%;text-align:center;font:800 .56rem system-ui;letter-spacing:.2em;color:#ffdfa5}.fv65FoilPack .fvFoilCrimpBottom{height:23px;background:repeating-linear-gradient(90deg,#62314a 0 2px,#e0a47b 2px 4px,#743448 4px 6px)}.fv65FoilPack .fvFoilTear{height:54px;top:-2px;border:0;border-bottom:2px dashed #e5c18e;border-radius:10px 10px 0 0;background:repeating-linear-gradient(90deg,#eac9a544 0 2px,#632b3f7d 2px 4px,#b9686b8b 4px 6px)}.fv65FoilPack .fvFoilTearGuide{top:11px;font-size:.56rem;letter-spacing:.14em;color:#ffe5b7}.fv65FoilPack .fvFoilCutter{width:31px;height:31px;bottom:-13px;background:#f3d2a3;color:#6a2c42;font-size:1rem;border-color:#f8deb6}
/* Calendar separate */
.fv65CalendarStats{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;margin:0 0 20px}.fv65CalendarStats>div,.fv65CalendarStats>button{background:#fff9edc9;border:1px solid #dfc2a5;border-radius:15px;padding:16px;display:flex;align-items:center;gap:10px;color:#633e43}.fv65CalendarStats>div b{font:700 1.95rem Georgia,serif;color:#8d3750}.fv65CalendarStats>div span{font-size:.8rem;font-weight:650}.fv65CalendarStats button{background:#5d263c!important;color:#ffedca!important;font-weight:800;justify-content:center}.fv65CalendarStats button span{font-size:1.4rem}.fv65CalendarGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.fv65Day{aspect-ratio:1.03;min-height:150px;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;text-align:center;border:1px solid #dfbd91;border-radius:15px;padding:13px;color:#713b45;background:linear-gradient(155deg,#fff5de,#e7cba5);overflow:hidden;transition:transform .25s,box-shadow .25s,filter .25s}.fv65Day:before{content:'';position:absolute;inset:7px;border:1px solid #c18e644f;border-radius:9px;pointer-events:none}.fv65Day:after{content:'✦';position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);font-size:4rem;color:#aa644a0e;pointer-events:none}.fv65Day.available{background:linear-gradient(155deg,#a83351,#682c46);color:#ffe0a0;border-color:#d5a66e;box-shadow:0 8px 19px #6c304633}.fv65Day.available:before{border-color:#f9d18a70}.fv65Day.opened{background:linear-gradient(155deg,#e4e5dc,#b9cabd);border-color:#a7b9a8;color:#2c6554}.fv65Day.locked{opacity:.58;filter:grayscale(.35)}.fv65Day:hover:enabled{transform:translateY(-5px) scale(1.015);box-shadow:0 12px 26px #5c333e48}.fv65Day strong{font:700 clamp(2rem,4vw,3.2rem)/1 Georgia,serif;z-index:1}.fv65DayTop{display:flex;justify-content:space-between;align-items:center;font:.64rem system-ui;letter-spacing:.12em;z-index:1}.fv65DayTop em{font-size:1rem;font-style:normal}.fv65DayBase{font-size:.61rem;letter-spacing:.06em;font-weight:850;z-index:1}.fv65Day.finalDay{background:linear-gradient(145deg,#c68a33,#763947 52%,#2e365a);color:#fff0cb;border-color:#f2ca75}
/* Dedicated full viewport opening page */
body.fv65Revealing{overflow:hidden}.fv65RevealShade{position:fixed;inset:0;z-index:20000;background:radial-gradient(ellipse at 50% 37%,#463045,#151322 72%,#0e1420);overflow-y:auto;padding:0;color:#fbe9d5;animation:fv65ScreenIn .35s ease both}@keyframes fv65ScreenIn{from{opacity:0}to{opacity:1}}.fv65RevealScene{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;isolation:isolate;overflow:hidden}.fv65RevealScene:before{content:'';position:absolute;width:85vmin;height:85vmin;border-radius:50%;border:1px solid #f6cc8930;left:50%;top:52%;transform:translate(-50%,-50%);box-shadow:0 0 0 80px #e9bb8012,0 0 0 160px #e9bb8008;pointer-events:none}.fv65RevealTop{width:min(1350px,100%);display:flex;justify-content:space-between;align-items:center;padding:17px 22px;gap:15px;z-index:5}.fv65RevealBrand{display:flex;align-items:center;gap:11px;font:700 1.2rem Georgia,serif;letter-spacing:.03em;color:#ffedcf}.fv65RevealBrand small{display:block;font:.54rem system-ui;letter-spacing:.22em;color:#e3ba8e;margin-top:4px}.fv65Diamond{display:grid;place-items:center;font-size:1.5rem;color:#ffe1a8;width:38px;height:38px;border:1px solid #cba575;border-radius:11px}.fv65RevealTools{display:flex;gap:7px}.fv65RevealTools button{background:#ffffff16!important;border:1px solid #ffdfad55!important;color:#fce6c5!important;border-radius:10px;padding:10px 13px;font-size:.78rem}.fv65RevealTools [data-auto][aria-pressed=true]{color:#2b1b29!important;background:#eac37e!important}.fv65RevealHeading{z-index:2;text-align:center;margin:4px auto 0;padding:0 15px}.fv65RevealHeading .fv65Eyebrow{color:#f3c17e;letter-spacing:.2em}.fv65RevealHeading p{font:700 clamp(1.18rem,2.4vw,1.8rem) Georgia,serif;color:#fef3dc;margin:8px 0 2px}.fv65SceneBody{z-index:2;flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;padding:10px 15px}.fv65RevealBottom{z-index:4;width:min(1300px,100%);padding:10px 20px 23px;display:flex;justify-content:space-between;gap:10px;color:#d0b5a0;font:.66rem system-ui;letter-spacing:.15em}.fv65PackTheatre{min-height:430px;display:grid;place-items:center;width:100%;position:relative}.fv65FoilScene{z-index:3;position:relative}.fv65FoilScene .fv65FoilPack{width:min(270px,58vw);transform:rotate(-3deg);box-shadow:0 29px 69px #08071499!important}.fv65FoilScene .fvFoilTear{cursor:ew-resize}.fv65TearShadow{position:absolute;bottom:4px;width:230px;height:22px;border-radius:50%;background:#050509b6;filter:blur(14px)}.fv65SceneHint{font-size:.78rem;color:#e6bf8c;margin-top:0;text-align:center;letter-spacing:.07em}.fv65PackExit{animation:fv65PackDissolve .72s ease forwards!important}@keyframes fv65PackDissolve{70%{transform:scale(1.1) rotate(3deg);opacity:.8}100%{transform:translateY(30px) scale(.58) rotate(-9deg);opacity:0}}
.fv65CardTheatre{position:relative;display:grid;place-items:center;min-height:min(68dvh,620px);width:100%}.fv65CardStage{position:relative;width:min(350px,64vw,calc(65dvh * 2 / 3));aspect-ratio:2/3;transform-style:preserve-3d;transition:transform .68s cubic-bezier(.2,.75,.22,1),filter .4s;filter:drop-shadow(0 21px 23px #0507108c);border-radius:13px;overflow:hidden;animation:fv65CardEnter .54s cubic-bezier(.16,.8,.2,1) both}@keyframes fv65CardEnter{from{opacity:0;transform:translateY(100px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}.fv65CardStage.front{filter:drop-shadow(0 20px 37px #eab86b63);transform:scale(1.04)}.fv65CardBack,.fv65CardFace{position:absolute;inset:0;backface-visibility:hidden;transition:opacity .5s,transform .7s;overflow:hidden;border-radius:13px}.fv65CardBack{display:grid;place-items:center;background:linear-gradient(145deg,#792840,#291d36 58%,#4f2740);border:4px solid #d9ad73;box-shadow:inset 0 0 0 6px #ac6d7244}.fv65CardBackLines{position:absolute;inset:10px;border:1px solid #eed39a50;background:repeating-linear-gradient(35deg,transparent 0 15px,#f1cb8a10 16px 17px)}.fv65CardSeal{width:135px;height:135px;border-radius:50%;border:2px solid #f3dba2;display:flex;align-items:center;justify-content:center;gap:3px;color:#ffe2a8;background:#291c37ed;box-shadow:0 0 0 9px #d2a46f31,0 0 0 12px #e3c48e77}.fv65CardSeal span{font:700 3.4rem Georgia,serif}.fv65CardSeal small{align-self:end;margin-bottom:38px;font:700 2rem Georgia,serif}.fv65CardBackText{position:absolute;bottom:11%;font-size:.63rem;letter-spacing:.22em;font-weight:800;color:#ffe6b5}.fv65CardFace{transform:rotateY(-90deg);opacity:0;background:#141824}.fv65CardFace img{width:100%;height:100%;object-fit:contain}.fv65CardStage.front .fv65CardBack{transform:rotateY(90deg);opacity:0}.fv65CardStage.front .fv65CardFace{transform:rotateY(0);opacity:1}.fv65RarityBurst{position:absolute;inset:0;background:radial-gradient(ellipse at center,#ffe0a359,transparent 50%);opacity:0;pointer-events:none}.fv65RarityBurst.active{animation:fv65RarityGlow 1.5s ease-out forwards}@keyframes fv65RarityGlow{from{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(1.5)}}.fv65RevealScene[data-rarity=epic] .fv65RarityBurst{background:radial-gradient(ellipse,#d69eff55,transparent 50%)}.fv65RevealScene[data-rarity=rare] .fv65RarityBurst{background:radial-gradient(ellipse,#80b9ff55,transparent 50%)}.fv65CardCaption{min-height:68px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:4px;color:#efcd9f;font-size:.71rem;letter-spacing:.12em;margin-top:4px}.fv65CardCaption strong{font:700 clamp(1.15rem,2.5vw,1.55rem) Georgia,serif;color:#ffead0;letter-spacing:0}.fv65CardCaption span{font-size:.7rem;color:#ceb9ae;letter-spacing:.04em}
.fv65SummaryHeading{text-align:center;margin:0 auto 15px;display:flex;flex-direction:column;gap:4px}.fv65SummaryHeading strong{font:700 1.35rem Georgia,serif;color:#ffedcc}.fv65SummaryHeading span{font-size:.83rem;color:#d6bfa9}.fv65SummaryGallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:14px;width:min(1250px,100%);max-height:65dvh;overflow-y:auto;padding:8px 10px;cursor:default}.fv65SummaryCard{padding:4px;background:#ffffff10!important;border:1px solid #d5b18b77!important;border-radius:11px;min-width:0;display:flex;flex-direction:column;gap:6px;text-align:center;color:#fff0d7!important;box-shadow:0 7px 17px #06050733}.fv65SummaryCard:hover{transform:translateY(-3px)}.fv65SummaryCard img{width:100%;aspect-ratio:2/3;object-fit:contain;border-radius:7px}.fv65SummaryCard span{font-size:.73rem;font-weight:800;white-space:normal}.fv65SummaryCard small{color:#d7b99e;font-size:.65rem}.fv65SummaryActions{display:flex;gap:9px;justify-content:center;margin-top:16px}.fv65SummaryActions button{background:#f4d5a2!important;color:#3b2930!important;border:1px solid #d6ac78!important;font-weight:850}.fv65SummaryActions button+button{background:#ffffff17!important;color:#f3d8bb!important}
/* Collection typography and cards: no separate boxes below illustrations */
.fv65CollectionProgress{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1000px;margin:0 auto 24px}.fv65CollectionProgress>div{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px;background:#fffaf1c2;border:1px solid #e3c7a8;border-radius:14px}.fv65CollectionProgress b{font:700 1.85rem Georgia,serif;color:#822f48}.fv65CollectionProgress b span{font:400 .95rem system-ui;color:#937264}.fv65CollectionProgress small{font-size:.75rem;color:#845f53}.fv65FilterBar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0}.fv65FilterButtons{display:flex;gap:7px;flex-wrap:wrap}.fv65FilterButtons button{padding:9px 13px;background:#fff7ed!important;border:1px solid #d7b79b!important;color:#785346!important;font-size:.79rem;font-weight:800;white-space:nowrap;box-shadow:none}.fv65FilterButtons button.active{color:#ffedcc!important;background:#6b2c44!important;border-color:#6b2c44!important}.fv65OwnerSelect{min-width:215px}.fv65FilterLegend{font-size:.74rem;color:#846a60;margin:7px 0 21px;line-height:1.5}.fv65GridCount{color:#76584c;font-size:.81rem;font-weight:750;margin:0 0 11px}.fv65CollectionGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px 14px;align-items:start}.fv65AlbumTile{width:100%;max-width:none;cursor:pointer;overflow:visible!important;background:transparent!important;box-shadow:none!important;border:0!important;filter:none!important;opacity:1!important;padding:0!important;display:flex;flex-direction:column;gap:5px;aspect-ratio:auto!important}.fv65AlbumTile:hover{transform:translateY(-5px)!important}.fv65AlbumTile .fvCardImage{position:relative;aspect-ratio:2/3;width:100%;border-radius:10px;overflow:hidden;background:#352536;border:2px solid #dec3a3;box-shadow:0 8px 20px #53343b39;transition:box-shadow .25s,filter .25s}.fv65AlbumTile:hover .fvCardImage{box-shadow:0 15px 32px #53343b57}.fv65AlbumTile .fvCardImage .fvArtwork{object-fit:contain;display:block;width:100%;height:100%}.fv65AlbumTile .meta{position:static!important;z-index:auto!important;margin:0!important;padding:4px 2px!important;background:transparent!important;min-height:0!important;color:#4c3036!important;display:flex;flex-direction:column;gap:4px}.fv65AlbumTile .meta b{font-size:.89rem!important;line-height:1.27!important;white-space:normal!important;-webkit-line-clamp:unset!important;display:block!important;min-height:0!important;overflow:visible!important;color:#4d2e36!important;font-weight:850}.fv65AlbumTile .meta small{color:#805c55!important;font-size:.73rem!important;white-space:normal!important}.fv65AlbumTile.lockedCard .fvCardImage{filter:none!important}.fv65CardIndex{position:absolute;left:7px;bottom:7px;background:#1c1728bd;color:#ffebcf;border:1px solid #ffefca45;padding:4px 6px;border-radius:5px;font:.6rem system-ui;letter-spacing:.06em}.fv65Quantity{position:absolute;top:7px;right:7px;background:#e5c384;color:#42243b;padding:4px 7px;border-radius:7px;font:.7rem system-ui;font-weight:900}.fv65NewFlag{position:absolute;top:7px;left:7px;background:#c64d56;color:#fff6e9;padding:4px 6px;border-radius:6px;font:.58rem system-ui;font-weight:900}.fv65MuseumUnknown{background:radial-gradient(ellipse at center,#4f425b,#182840);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;position:relative;border:2px solid #bf9969;color:#e8c993!important;font-size:inherit!important}.fv65MuseumUnknown:before{content:'';position:absolute;inset:12px;border:1px solid #c5a07077;border-radius:12px}.fv65MuseumUnknown span{display:grid;place-items:center;border:2px solid #d4b98a;border-radius:50%;width:78px;height:78px;font-size:3rem;box-shadow:0 0 0 8px #d4b98a24}.fv65MuseumUnknown small{letter-spacing:.17em;font-size:.65rem;font-weight:900} .fv65Unknown{width:100%;height:100%;overflow:hidden;border-radius:7px}.fv65Unknown svg{display:block}.fv65Empty{grid-column:1/-1;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#775751;background:#fff7e999;border:1px dashed #cda891;border-radius:18px;padding:26px;text-align:center}.fv65EmptySymbol{color:#a54863;font-size:2.4rem}.fv65Empty h3{margin:10px 0 5px}.fv65Empty p{margin:0;color:#81665b}
/* More legible museum / minigame assets */
.fv65ArcadeWallet{display:flex;justify-content:center;align-items:center;gap:8px;margin:-8px auto 20px;color:#663b43}.fv65ArcadeWallet b{font:700 2.4rem Georgia,serif}.fv65ArcadeWallet span{letter-spacing:.14em;font-size:.68rem;font-weight:900}.fv65GameChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.fv65GameChoice{min-height:225px;text-align:left;border-radius:19px;padding:23px;display:grid;grid-template-columns:145px 1fr;gap:16px;align-items:center;overflow:hidden;background:linear-gradient(145deg,#401d3a,#7d2d4f)!important;color:#ffe7bd!important;border:1px solid #d8a76d77!important;box-shadow:0 13px 30px #5b2c4040;position:relative}.fv65GameChoice:nth-child(2){background:linear-gradient(145deg,#193c43,#41645c)!important}.fv65GameChoice.active{outline:3px solid #eac27a;outline-offset:3px}.fv65GameSymbol{position:relative;height:140px;display:grid;place-items:center}.fv65CardsSymbol span{position:absolute;width:79px;height:110px;display:grid;place-items:center;background:linear-gradient(135deg,#fff3d6,#dfbf8a);color:#5d243b;border:3px solid #b37d54;border-radius:10px;box-shadow:0 8px 13px #13081e51;font:700 2rem Georgia,serif}.fv65CardsSymbol span:nth-child(1){transform:translateX(-25px) rotate(-19deg)}.fv65CardsSymbol span:nth-child(2){transform:translate(3px,-8px) rotate(3deg);z-index:2}.fv65CardsSymbol span:nth-child(3){transform:translateX(27px) rotate(16deg)}.fv65CapsuleSymbol span{width:125px;height:125px;border-radius:50%;display:grid;place-items:center;font:700 2.4rem Georgia,serif;background:radial-gradient(circle at 32% 27%,#fff5d8,#a8bdb2 25%,#567c82 56%,#233651 80%);border:8px solid #c2d1bc;color:#f4f5e6;box-shadow:0 13px 25px #0d1c277e,inset -6px -8px 20px #0006}.fv65GameChoiceText small{letter-spacing:.16em;font-size:.64rem;color:#eac595}.fv65GameChoiceText strong{display:block;font:700 1.8rem Georgia,serif;margin:6px 0}.fv65GameChoiceText p{color:#f0dcd3!important;font-size:.85rem;line-height:1.5}.fv65GameCTA{display:inline-block;margin-top:10px;color:#ffdb91;font-weight:900;font-size:.83rem}.fv65GamePlay{margin:23px 0 0;padding:18px;border:1px solid #d5b898;border-radius:19px;background:#fff8edc9}.fv65GamePlayHeading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfc5a9;padding:2px 5px 14px;margin-bottom:15px}.fv65GamePlayHeading span{letter-spacing:.14em;font-size:.71rem;font-weight:800;color:#987365}.fv65GamePlayHeading strong{color:#682f45;font:700 1.2rem Georgia,serif}.fv65GamePlay .panel{box-shadow:none!important;background:#fffaf1!important;border-color:#ead2ba!important}.fv65OtherGames{display:flex;align-items:center;gap:12px;margin:18px 0;border:1px solid #d8bd9d;padding:17px;border-radius:15px;background:#f4e4d1}.fv65OtherGames b{font-size:.9rem;color:#5c2f44}.fv65OtherGames span{font-size:.78rem;color:#786156;flex:1}.fv65OtherGames button{background:#5c2a46;color:#ffedc7;white-space:nowrap;font-size:.77rem}.miniPlaying,.memoryCard,.rushChoice{transition:transform .22s,box-shadow .22s,filter .22s}.miniPlaying:hover,.memoryCard:hover,.rushChoice:hover{transform:translateY(-4px);box-shadow:0 9px 23px #5c333944}.memoryCard{border:2px solid #c8a47e;box-shadow:inset 0 0 0 3px #fee2bc33}.memoryCard.open{transform:rotateY(10deg);background:linear-gradient(145deg,#a8475f,#5a315e);color:#fff3d9}.memoryCard.matched{background:linear-gradient(145deg,#2b6b59,#15544a);color:white}.capsule{animation:fv65CapsuleFloat 3s ease-in-out infinite alternate}@keyframes fv65CapsuleFloat{to{transform:translateY(-10px) rotate(6deg);filter:brightness(1.1)}}
@keyframes fv65DealIn{from{opacity:.2;transform:translateY(25px) rotate(-5deg) scale(.9)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}.fv65GamePlay .handCards .miniPlaying{animation:fv65DealIn .48s cubic-bezier(.18,.9,.2,1) both}.fv65GamePlay .handCards .miniPlaying:nth-child(2){animation-delay:.09s}.fv65GamePlay .handCards .miniPlaying:nth-child(3){animation-delay:.17s}.fv65GamePlay .handCards .miniPlaying:nth-child(4){animation-delay:.24s}.fv65GameChoice:after{content:'';pointer-events:none;position:absolute;inset:-60% auto -60% -75%;width:40%;transform:skewX(-24deg);background:linear-gradient(90deg,transparent,#ffffff1a,transparent);transition:left .65s}.fv65GameChoice:hover:after{left:140%}
@media(max-width:1050px){.fv65CadeauLayout{grid-template-columns:1fr 1fr;gap:12px}.fv65GameChoice{grid-template-columns:105px 1fr;padding:17px}.fv65GameSymbol{transform:scale(.75)}.fv65CalendarGrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.fv65Topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px!important}.fv65Topbar .brand{grid-column:1}.fv65Topbar .topbarActions{grid-column:2;grid-row:1}.fv65TopResources{grid-row:2;grid-column:1/-1;width:100%;margin:3px 0 0;justify-content:space-between}.fv65Stat{min-width:0;padding:3px 5px}.fv65Nav{margin:7px 0!important}.fv65CadeauLayout{grid-template-columns:1fr}.fv65PackSpot{min-height:420px}.fv65PackFloat .fv65FoilPack{width:230px}.fv65CalendarGrid{grid-template-columns:repeat(3,1fr);gap:8px}.fv65CalendarStats{grid-template-columns:repeat(3,1fr)}.fv65CalendarStats>button{grid-column:1/-1}.fv65CalendarStats>div{padding:10px;flex-direction:column;gap:1px;text-align:center}.fv65CollectionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.fv65FilterBar{align-items:stretch}.fv65FilterButtons{width:100%}.fv65FilterButtons button{flex:1}.fv65OwnerSelect{width:100%}.fv65CollectionProgress{gap:6px}.fv65CollectionProgress>div{padding:10px 6px}.fv65GameChoices{grid-template-columns:1fr}.fv65OtherGames{flex-wrap:wrap}.fv65RevealTop{padding:12px}.fv65RevealBrand{font-size:.9rem}.fv65RevealTools button{padding:9px;font-size:.7rem}.fv65RevealBottom{font-size:.57rem}.fv65SummaryGallery{grid-template-columns:repeat(auto-fill,minmax(98px,1fr))}}
@media(max-width:460px){.fv65PageIntro{margin:7px auto 17px}.fv65PageIntro h1{font-size:2.3rem}.fv65CadeauLayout{gap:10px}.fv65PackSpot{min-height:370px}.fv65PackFloat .fv65FoilPack{width:193px}.fv65Day{min-height:118px;padding:9px}.fv65Day strong{font-size:2.35rem}.fv65DayTop{font-size:.52rem}.fv65DayBase{font-size:.52rem}.fv65CardCaption{min-height:55px}.fv65CardTheatre{min-height:59dvh}.fv65CardStage{width:min(75vw,calc(58dvh * 2 / 3))}.fv65RevealBrand small{display:none}.fv65RevealBottom span:last-child{display:none}.fv65FoilScene .fv65FoilPack{width:min(230px,55vw)}.fv65PackTheatre{min-height:370px}}
@media(prefers-reduced-motion:reduce){.fv65PackFloat,.fv65PackSpot:before,.fv65CardStage,.fv65RevealShade,.fv65RarityBurst,.capsule{animation:none!important;transition:none!important}}


/* === Integration Family Vault · cadres V5.1 and approved animation engine === */
.fv65RevealScene[data-rarity] .fv65RevealHeading p{display:none}
.fvComposedCard{--rainbowAngle:113deg;--spectralAngle:65deg;--hue:195;--shineAngle:112deg;--fx:50%;--fy:50%;position:relative;isolation:isolate;display:block;width:100%;height:100%;aspect-ratio:2/3;overflow:hidden;border-radius:3%;container-type:inline-size;background:#101722;touch-action:pan-y}
.fvComposedCard .fvBaseIllustration{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;position:absolute;inset:0;max-width:none!important;transform-origin:50% 38%}
.fvComposedCard .fvFrameOverlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill!important;display:block;pointer-events:none;z-index:2}
.fvFrameDynamic{position:absolute;z-index:3;left:3.7%;right:3.7%;bottom:1.8%;height:17%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-around;gap:1px;padding:1.4% 2.7% 1%;color:#fff5e4;background:linear-gradient(180deg,#0b1622,#070d16);text-shadow:0 1px 2px #0009;pointer-events:none}
.fvFrameDynamic .fvFrameOwner{font:800 clamp(7px,2.5cqw,15px)/1.1 system-ui;letter-spacing:.06em;text-transform:uppercase;color:#a7c8cb;display:flex;justify-content:space-between;align-items:center;gap:4px}
.fvFrameDynamic .fvFrameOwner em{font-style:normal;font-size:.82em;color:var(--fv-rarity-color,#f5cc82)}
.fvFrameDynamic .fvFrameTitle{font:700 clamp(9px,4.7cqw,27px)/1.13 Georgia,serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:2.3em;letter-spacing:-.02em;color:#fff5e6}
.fvFrameDynamic .fvFrameBottom{display:flex;align-items:center;justify-content:space-between;gap:4px;font:800 clamp(6px,2.65cqw,15px)/1.1 system-ui;letter-spacing:.025em;color:#dce8ef}
.fvFrameDynamic .fvFrameBottom b{font-weight:900;color:#8ed1f4}
.fvComposedCard.fvArtNoFrame .fvFrameOverlay{display:none}
.fvArtNoFrame .fvFrameDynamic{left:0;right:0;bottom:0;height:19%;padding:2% 5% 3%;background:linear-gradient(0deg,#09131ce9 0%,#0d131da8 62%,transparent);align-items:center;text-align:center}
.fvArtNoFrame .fvFrameDynamic .fvFrameOwner{display:none}
.fvArtNoFrame .fvFrameDynamic .fvFrameTitle{color:#f9d899;font-family:Georgia,serif;font-style:italic;font-size:clamp(10px,4.2cqw,26px)}
.fvArtNoFrame .fvFrameDynamic .fvFrameBottom{width:100%;color:#e8d2aa}
.fvArtNoFrame:before{content:'FAMILY VAULT';z-index:3;pointer-events:none;position:absolute;top:3%;left:0;right:0;text-align:center;color:#f8dbaa;font:700 clamp(7px,3.3cqw,18px) Georgia,serif;letter-spacing:.17em;text-shadow:0 2px 7px #000}
.fvComposedCard .fvFxLayers{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}
.fvFxLayers canvas,.fvFxLayers svg{width:100%;height:100%;inset:0;position:absolute;display:block;pointer-events:none}
.fvFxLayers .fvFxCanvas{z-index:1}.fvFxLayers .fvFxCover{z-index:2}.fvFxLayers .fvFxFragments{z-index:3}
.fvComposedCard .fvFxHolo{position:absolute;z-index:5;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;--foilAmount:.75;opacity:0;transition:opacity .22s}
.fvComposedCard.fvShinyEnabled .fvFxHolo{opacity:1}
.fvFxHolo .fvHoloChromatic,.fvFxHolo .fvHoloSpectral,.fvFxHolo .fvHoloDetails{position:absolute;inset:0;animation:none!important;pointer-events:none;background-size:100% 100%;transition:opacity .22s}
.fvHoloChromatic{mix-blend-mode:color;opacity:calc(var(--foilAmount,.75) * .83);background:linear-gradient(var(--rainbowAngle),#fa2bb5 0%,#ab53f9 16%,#51bafe 31%,#31e0c6 47%,#9bff4d 62%,#ffca42 78%,#ff608b 100%)}
.fvHoloSpectral{mix-blend-mode:color-dodge;opacity:calc(var(--foilAmount,.75) * .32);background:conic-gradient(from var(--spectralAngle) at var(--fx) var(--fy),#fb3095,#90d9ff,#f5d27e,#78ffe2,#e35ef7,#fb3095)}
.fvHoloDetails{mix-blend-mode:screen;opacity:calc(var(--foilAmount,.75) * .25);background:radial-gradient(ellipse 57% 38% at var(--fx) var(--fy),#fff9c1b0,transparent 83%),repeating-linear-gradient(117deg,#ffffff00 0 19px,#b7f8ff21 20px 21px,transparent 22px 39px)}
.fvComposedCard.fvHoloEngaged .fvHoloChromatic{opacity:calc(var(--foilAmount,.75) * 1.09)}
.fvComposedCard.fvHoloEngaged .fvHoloSpectral{opacity:calc(var(--foilAmount,.75) * .49)}
.fvComposedCard.fvHoloEngaged .fvHoloDetails{opacity:calc(var(--foilAmount,.75) * .56)}
.fvComposedCard .fvPortraitCutout{position:absolute;inset:0;z-index:7;width:100%;height:100%;object-fit:fill;opacity:0;pointer-events:none;filter:drop-shadow(0 9px 15px #000b)}
.fvComposedCard.fvPortraitFloating .fvBaseIllustration{filter:blur(4px) saturate(.65)}
.fvComposedCard.fvPortraitFloating .fvPortraitCutout{opacity:1;animation:fvPortraitLift 1.1s cubic-bezier(.2,.78,.26,1) both,fvPortraitHover 4s 1.1s ease-in-out infinite alternate}
.fvComposedCard.fvPortraitRestored .fvPortraitCutout{display:none!important}
.fvComposedCard.fvPortraitRestored .fvBaseIllustration{filter:none!important}
@keyframes fvPortraitLift{from{transform:translateY(2%) scale(.96)}to{transform:translateY(-15%) scale(1.11)}}
@keyframes fvPortraitHover{from{transform:translateY(-14%) scale(1.11)}to{transform:translateY(-19%) scale(1.125)}}
.fvComposedCard.fvFXFullZoom .fvBaseIllustration{animation:fvFullPull 2.6s cubic-bezier(.15,.72,.22,1) both}
@keyframes fvFullPull{from{transform:scale(1.66)}to{transform:scale(1)}}
.fvFxStack{position:relative;width:min(350px,64vw,calc(59dvh * 2 / 3));aspect-ratio:2/3;flex:none;isolation:isolate;z-index:3}
.fvFxStack>.fv65CardStage{width:100%!important;height:100%!important;max-width:none!important;position:relative;aspect-ratio:2/3}
.fvFxStack.fvFxRevealed>.fv65CardStage{animation:fvFxAuraBreath 2.8s ease-in-out infinite alternate}
@keyframes fvFxAuraBreath{from{filter:drop-shadow(0 0 8px var(--fv-rarity-color,#edc26c)) drop-shadow(0 18px 25px #07071980)}to{filter:drop-shadow(0 0 23px var(--fv-rarity-color,#edc26c)) drop-shadow(0 18px 25px #07071980)}}
.fvFxStack[data-rarity='common']{--fv-rarity-color:#c5a071}
.fvFxStack[data-rarity='rare']{--fv-rarity-color:#33e9ff}
.fvFxStack[data-rarity='epic']{--fv-rarity-color:#b478f7}
.fvFxStack[data-rarity='legendary']{--fv-rarity-color:#ffd86b}
.fvFxStack[data-rarity='fusion']{--fv-rarity-color:#ff43a1}
.fvFxStack[data-rarity='secret']{--fv-rarity-color:#d881eb}
.fvFxStack[data-rarity='unique']{--fv-rarity-color:var(--fv-owner-color,#9be2ce)}
.fvFxStack[data-rarity='fullart']{--fv-rarity-color:#f9d08e}
.fvFxBadge{position:absolute;z-index:32;left:50%;top:-15%;transform:translate(-50%,10px) scale(.9);opacity:0;white-space:nowrap;font:900 clamp(26px,3.6vw,38px)/1.05 system-ui,Arial,sans-serif;letter-spacing:.09em;-webkit-text-stroke:.7px #142130;filter:drop-shadow(0 2px 2px #050913);pointer-events:none}
.fvFxBadge.isNew{color:#76ffad;text-shadow:0 0 5px #07351f,0 0 13px #16db6b,0 0 25px #00ad58}.fvFxBadge.isDupe{color:#e0e5ed;text-shadow:0 0 5px #101724,0 0 13px #8396aa,0 0 23px #9cabbf}
.fvFxBadge.visible{animation:fvFxBadgePop 1.42s ease both}
@keyframes fvFxBadgePop{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}18%,69%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px)}}
.fvFxRarityTitle{position:absolute;top:calc(100% + 5px);left:-20%;right:-20%;z-index:7;text-align:center;pointer-events:none;opacity:0;font:800 clamp(1.2rem,4vw,1.85rem)/1.15 Georgia,serif;letter-spacing:.16em;color:var(--fv-rarity-color,#edc26c);text-shadow:0 0 19px currentColor,0 3px 8px #000}
.fvFxRarityTitle.visible{animation:fvFxTitleAppear .85s ease both}
.fvFxStack[data-rarity=secret] .fvFxRarityTitle{background:linear-gradient(90deg,#f96ab9,#ffd177,#73e9a8,#75c9ff,#df8dff,#f96ab9);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 7px #7e578f)}
@keyframes fvFxTitleAppear{from{opacity:0;transform:translateY(12px) scale(.93)}to{opacity:1;transform:none}}
.fvFxShinyTools{position:absolute;top:calc(100% + 48px);left:-40%;right:-40%;z-index:10;display:flex;justify-content:center;gap:7px}
.fvFxShinyTools button{font-size:.71rem!important;padding:7px 12px!important;border-radius:999px!important;background:#ffffff1d!important;color:#fbe6bd!important;border:1px solid #eac48173!important}
.fv65CardTheatre.fvFxTheatre{min-height:min(72dvh,690px);overflow:visible;padding-top:34px;padding-bottom:65px}
.fv65CardFace .fvComposedCard{width:100%;height:100%}
.fv65SummaryCard>.fvComposedCard,.fvCineMini .fvComposedCard{width:100%;height:auto;flex:0 0 auto}
.fv65AlbumTile .fvComposedCard,.fvCardImage .fvComposedCard,.fvMuseumHidden .fvComposedCard,.fvSummaryImage .fvComposedCard{width:100%;height:100%}
.fvZoomArt.fvComposedCard{height:auto;width:min(94vw,calc(77dvh * 2 / 3));max-height:77dvh;aspect-ratio:2/3;box-shadow:0 18px 39px #0009;overflow:hidden}
.fvZoomArt .fvBaseIllustration{filter:none}
.fvZoomTop .fvZoomHoloToggle{font:.72rem system-ui;letter-spacing:.02em;background:#513754;border-color:#d6b186;color:#fff3d9}
.fv65CardCaption{margin-top:38px}
.fv65CardStage.front .fv65CardFace{opacity:1!important}
.fvFxStack[data-rarity=rare] .fv65CardStage.front{transition-duration:.66s}
.fvFxStack[data-rarity=legendary] .fv65CardStage.front{transition-duration:.88s}
.fvFxStack[data-rarity=secret] .fv65CardStage.front{transition-duration:1.12s}
.fvFxStack[data-rarity=unique] .fv65CardStage.front{transition-duration:1.02s}
@media(max-width:560px){.fvFxStack{width:min(75vw,calc(55dvh * 2 / 3))}.fvFxBadge{top:-17%;font-size:30px}.fvFxShinyTools{top:calc(100% + 43px)}.fvFxRarityTitle{font-size:1.35rem}.fv65CardTheatre.fvFxTheatre{min-height:calc(100dvh - 280px);padding-top:33px;padding-bottom:55px}.fv65CardCaption{margin-top:27px}}
@media(prefers-reduced-motion:reduce){.fvFxStack.fvFxRevealed>.fv65CardStage,.fvComposedCard.fvPortraitFloating .fvPortraitCutout{animation:none!important}}


/* Family Vault V6.7 — Shine collection, 6 portraits, foil ownership */
.fvComposedCard .fvOwnedShinyMark{position:absolute;z-index:8;top:2.5%;right:4%;pointer-events:none;display:grid;place-items:center;font:900 clamp(8px,3.4cqw,16px)/1 system-ui;letter-spacing:.045em;padding:2.5% 3%;border-radius:8px;background:linear-gradient(105deg,#d63cba,#67cbec,#f2c462,#e85bb9);color:#1b1a2c;text-shadow:0 1px 1px #fffb;box-shadow:0 1px 7px #0b10285c;border:1px solid #fff7}
.fvComposedCard.fvShinyEnabled .fvOwnedShinyMark{animation:fvShinyMark 2.6s ease-in-out infinite alternate}
@keyframes fvShinyMark{from{filter:hue-rotate(0)}to{filter:hue-rotate(120deg)}}
.fv65CollectionProgress{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.fv65CollectionProgress{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fvShinyProgress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 21px}
.fvShinyProgress>div{border:1px solid #d8b895;border-radius:14px;background:#fff9ed;padding:12px;text-align:center;color:#6b4552}
.fvShinyProgress b{display:block;font:700 1.23rem Georgia,serif;color:#87334b}
.fvShinyProgress small{color:#795e58;font-size:.73rem}
.fvShinyRules{padding:13px 16px;margin:3px 0 18px;border:1px solid #dfc0a6;background:#fff9e8;border-radius:14px;color:#664b41;font-size:.85rem;line-height:1.55}
.fv65AlbumTile .fvShinyTiny,.fv65SummaryCard .fvShinyTiny{position:absolute;z-index:10;right:5px;top:5px;border-radius:6px;background:linear-gradient(95deg,#e35fce,#61b8e7,#e5c660);color:#251b32;font:900 .63rem system-ui;padding:5px 6px;box-shadow:0 2px 9px #0006}
.fv65SummaryCard .fvComposedCard{position:relative}
.fvFxShinyAchievement{position:absolute;z-index:14;bottom:-68px;left:-17%;right:-17%;text-align:center;color:#fde6a9;font:900 .8rem system-ui;letter-spacing:.18em;text-shadow:0 0 15px #ce55d9}
.fvShinyFilters{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:600px){.fvShinyProgress{grid-template-columns:1fr 1fr 1fr;gap:5px}.fvShinyProgress>div{padding:9px 4px}.fvShinyProgress b{font-size:1rem}}

/* V6.8 — 24-day accessible family campaign and restored full-card V8 holo. */
.fv68TutorialBtn{display:block;margin:16px auto 5px;min-height:48px;background:#f5dba9;color:#4d2834;font-weight:800;border:1px solid #d9af71}
.fv68IntroModal{width:min(720px,95vw);max-height:92dvh;overflow:auto;padding:27px;background:#fff9ed!important;color:#4c2d37!important}
.fv68IntroModal p,.fv68IntroModal li{color:#705459!important;line-height:1.6}
.fv68ModeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.fv68ModeGrid button{border-radius:18px;border:2px solid #d4b38a;background:#fcf0de;color:#50313b;padding:21px;text-align:left;min-height:170px;box-shadow:none}
.fv68ModeGrid button:hover,.fv68ModeGrid button:focus-visible{outline:3px solid #a65b70;outline-offset:2px;background:#fff9f0}
.fv68ModeGrid strong,.fv68ModeGrid span{display:block}.fv68ModeGrid strong{font:700 1.3rem Georgia,serif;margin-bottom:13px}.fv68ModeGrid span{font-size:.87rem;line-height:1.55}
.fv68ProgressPanel,.fv68Leaderboard,.fv68ModeProgress,.fv68PostBoost{padding:17px;border:1px solid #d7b58c;border-radius:17px;background:#fff9ec;margin:12px 0;color:#563d3b}
.fv68ProgressPanel strong,.fv68ProgressPanel span,.fv68ModeProgress strong,.fv68ModeProgress span{display:block;margin:3px 0}.fv68ModeProgress small{display:block;font-size:.72rem;color:#7c625b;margin-top:8px}.fv68ProgressPanel p,.fv68PostBoost p{color:#775e5b}.fv68Meter{height:11px;overflow:hidden;border-radius:99px;background:#dcc8b1;margin-top:12px}.fv68Meter i{height:100%;display:block;background:linear-gradient(90deg,#a7345a,#eed18e);border-radius:inherit}.fv68Rank{display:grid;grid-template-columns:1fr auto;gap:3px;padding:13px 2px;border-bottom:1px solid #e4d3bd}.fv68Rank strong{font-size:1.16rem;color:#6f2d46}.fv68Rank small{grid-column:1/-1;color:#7d665a}.fv68SeasonNote{color:#775b56;font-size:.8rem}
.fv68PostBoost button{background:#6f2b4c;color:#fff0d9}
/* During a flip, the status has the space above the card without overlapping a second heading. */
.fv65RevealScene:has(.fvFxStack) .fv65RevealHeading{opacity:0;pointer-events:none}
/* Taller card centre, without masking surrounding announcements. */
.fvFxStack{width:min(460px,86vw,calc(72dvh * 2 / 3))!important;max-width:100%!important}
.fv65CardTheatre.fvFxTheatre{min-height:min(80dvh,790px)!important}
.fv65SceneBody{padding-top:0;padding-bottom:0}
.fvFxTheatre{overflow:visible}
.fvComposedCard{overflow:hidden!important;clip-path:inset(0 round 3%);contain:paint}

.fvPlaceholder{display:flex!important;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(145deg,#33405a,#151b2b);color:#f4dfae;text-align:center}.fvPlaceholder b{font:700 clamp(45px,30cqw,180px)/1 Georgia,serif}.fvPlaceholder span{font:600 clamp(9px,3cqw,18px) system-ui}
.fvComposedCard:not(.fvArtNoFrame) .fvBaseIllustration{inset:16% 2.8% 23.5%!important;width:94.4%!important;height:60.5%!important;object-fit:cover!important;object-position:50% 0%}
.fvComposedCard.fvArtNoFrame .fvBaseIllustration{object-fit:cover!important}
.fv65CardStage.fvPortraitStage,.fv65CardStage.fvPortraitStage .fv65CardFace{overflow:visible}
.fvPortraitZoomLayer{position:relative;width:min(90vw,calc(65dvh * 2 / 3));aspect-ratio:2/3;flex:none;margin-top:min(8dvh,65px)}.fvPortraitZoomLayer .fvZoomArt.fvComposedCard{width:100%;height:100%}.fvPortraitLayer{position:absolute;inset:0;z-index:7;pointer-events:none;clip-path:inset(-40% 0% 19% 0%)}.fvPortraitBackdrop{position:absolute;inset:16% 2.8% 23.5%;width:94.4%;height:60.5%;object-fit:cover;opacity:0;pointer-events:none}.fvPortraitFloating .fvPortraitBackdrop{opacity:1}.fvPortraitFloating.fvPortraitRestored .fvPortraitBackdrop{opacity:0}.fvPortraitFloating:has(.fvPortraitBackdrop):not(.fvPortraitRestored) .fvBaseIllustration{opacity:0}.fvPortraitLayer>.fvPortraitCutout{transform-origin:50% 75%;position:absolute;inset:0;z-index:7;width:100%;height:100%;object-fit:fill;opacity:1;pointer-events:none;filter:drop-shadow(0 9px 15px #000b);animation:fvPortraitLift 1.2s ease both,fvPortraitHover 4s 1.2s ease-in-out infinite alternate}
.fvComposedCard .fvFxHolo{inset:0!important;overflow:hidden!important;clip-path:inset(0 round 3%)!important;contain:paint;animation:none!important}
.fvFxHolo .fvHoloChromatic,.fvFxHolo .fvHoloSpectral,.fvFxHolo .fvHoloDetails{clip-path:inset(0 round 3%);border-radius:inherit;animation:none!important}
/* Exact V8 stop-state spectral recipe + mouse intensification. */
.fvHoloChromatic{mix-blend-mode:color!important;opacity:calc(var(--foilAmount,.75) * .83)!important;background:linear-gradient(var(--rainbowAngle,113deg),#fa2bb5 0%,#ab53f9 16%,#51bafe 31%,#31e0c6 47%,#9bff4d 62%,#ffca42 78%,#ff608b 100%)!important}
.fvHoloSpectral{mix-blend-mode:color-dodge!important;opacity:calc(var(--foilAmount,.75) * .32)!important;mask:none!important;-webkit-mask:none!important;background:conic-gradient(from var(--spectralAngle,65deg) at var(--fx,50%) var(--fy,50%),#fb3095,#90d9ff,#f5d27e,#78ffe2,#e35ef7,#fb3095)!important}
.fvHoloDetails{mix-blend-mode:screen!important;opacity:0!important;mask:none!important;-webkit-mask:none!important;background:radial-gradient(ellipse 48% 40% at var(--fx,50%) var(--fy,50%),#ffffff8c 0%,hsla(var(--hue,195),100%,68%,.82) 23%,hsla(calc(var(--hue,195) + 95),100%,65%,.40) 45%,transparent 83%),linear-gradient(var(--shineAngle,112deg),transparent 23%,#ffffff43 48%,transparent 72%)!important}
.fvComposedCard.fvHoloEngaged .fvHoloChromatic{opacity:calc(var(--foilAmount,.75) * 1.03)!important}.fvComposedCard.fvHoloEngaged .fvHoloSpectral{opacity:calc(var(--foilAmount,.75) * .54)!important}.fvComposedCard.fvHoloEngaged .fvHoloDetails{opacity:calc(var(--foilAmount,.75) * .50)!important}
@media(max-width:550px){.fv68ModeGrid{grid-template-columns:1fr}.fv68ModeGrid button{min-height:110px;padding:16px}.fvFxStack{width:min(91vw,calc(62dvh * 2 / 3))!important}.fv65CardTheatre.fvFxTheatre{min-height:67dvh!important}}


/* Interface de collection : surfaces claires, cartes en premier. */
body{background:radial-gradient(ellipse at 50% -15%,#fff 0%,#f7f4ef 40%,#e9e7e1 100%)!important;color:#283044}
.fv65Shell{max-width:1320px}.fv65Topbar{background:#ffffffed!important;border:1px solid #e6e6e2!important;border-radius:20px;box-shadow:0 8px 30px #27364c10!important}
.fv65Nav{gap:5px!important;padding:12px 4px!important}.fv65Nav button{border-radius:999px!important;background:transparent!important;color:#556171!important}.fv65Nav button.active{background:#334a62!important;color:#fff!important;box-shadow:0 4px 12px #334a6233!important}
.fv65PageIntro h1{font-family:system-ui,sans-serif;font-weight:780;letter-spacing:-.04em;color:#26384c}.fv65PageIntro p{color:#667487}.fv65Eyebrow{color:#ad8154;letter-spacing:.18em}
.fv65PackSpot{background:radial-gradient(ellipse at 50% 48%,#fff,#eef1f5 58%,#e6edf1)!important;border:1px solid #fff!important;box-shadow:0 18px 42px #34506b14!important;overflow:visible!important}
.fv65LobbySide,.fv65Available,.fv68ModeProgress,.fv68ProgressPanel,.fvShinyRules,.fvShinyProgress{border-radius:20px!important;background:#fffffff2!important;border:1px solid #e4e8ea!important;box-shadow:0 8px 28px #324a610b!important;color:#314354!important}
.fv65CollectionProgress>div{background:#fff!important;border:1px solid #e9ebec!important;box-shadow:0 6px 20px #34506b0a}.fv65CollectionProgress b{color:#30485e}.fv65CollectionProgress small{color:#748391}
.fv65FilterButtons button{background:#fff!important;border:1px solid #dfe6e9!important;color:#526577!important}.fv65FilterButtons button.active{background:#344f66!important;border-color:#344f66!important;color:#fff!important}.fv65CollectionGrid{gap:22px 14px}.fv65AlbumTile .fvCardImage{border:0!important;box-shadow:0 8px 20px #253b4e24!important}
.fv65PageIntro{margin:10px auto 20px}.fv65PageIntro h1{font-size:clamp(2rem,4vw,3rem);margin:6px 0}.fv65CadeauLayout{gap:16px}.fv65PackSpot{min-height:470px}.fv65PackSpot:before{animation:none;opacity:.2}.fv65SpotGlow{background:#bddde85c;filter:blur(55px)}.fv65PackTag{color:#7a8a98}.fv65LobbySide{padding:22px;gap:10px}.fv65Available{padding:14px 18px}.fv65Available>span,.fv65InventorySub{color:#718294}.fv65AutoToggle{background:#f6f9fa;border-color:#e0e9ec}.fv65AutoToggle b,.fv65ChooseTitle{color:#3a5061}.fv65AutoToggle small,.fv65Help{color:#728494}.fv65BigStart{background:#385c72!important;color:#fff!important}.fv65AllQuick{background:#f0f5f6!important;color:#365469!important;border-color:#d9e4e8!important}.fv65CalendarLink{color:#476b7e!important}.fv65LobbySide .fvCountChoices{background:#eef3f4}.fv65LobbySide .fvCountChoices button.active{background:#42647a;color:white}
.fvShinyDetails{margin:0 0 14px;border:1px solid #e4e8ea;border-radius:14px;background:#fff;color:#546a79}.fvShinyDetails summary{padding:12px 16px;font-weight:750;font-size:.85rem;cursor:pointer}.fvShinyDetails .fvShinyRules{box-shadow:none!important}.fv65NewFlag{background:#398b66!important;color:#fff!important}.fv65CollectionProgress{margin-bottom:14px}.fv65CollectionProgress>div{padding:10px}
/* Le paquet est un volume à deux parties : le scellé se détache, le corps reste. */
.fvPocketPack{--cut:0%;position:relative;isolation:isolate;width:min(265px,62vw);aspect-ratio:2.15/3.2;filter:drop-shadow(0 18px 24px #334e6040);transform:rotate(-2deg);user-select:none;touch-action:none}
.fvPocketPackBody{position:absolute;inset:4% 0 3%;overflow:hidden;clip-path:polygon(2% 0,98% 0,100% 3%,99% 97%,96% 100%,4% 100%,1% 97%,0 3%);background:#273a49;border:2px solid #d1b788}
.fvPocketArtwork{position:absolute;inset:0;background-image:linear-gradient(180deg,#17232f33 0%,#17232f00 34%,#14222ae8 100%),var(--pack-art);background-size:cover;background-position:center}
.fvPocketShade{position:absolute;inset:0;background:linear-gradient(105deg,#ffffff32 0%,transparent 17%,#14263c2b 32%,#ffffff29 48%,transparent 60%,#101f3085 100%);mix-blend-mode:screen;pointer-events:none}
.fvPocketEdge{position:absolute;inset:0;border:1px solid #ffedc58c;box-shadow:inset 5px 0 8px #fff4,inset -5px 0 7px #081b2a88,inset 0 -7px 8px #0006;pointer-events:none}
.fvPocketSeal{position:absolute;z-index:5;left:0;right:0;top:0;height:9%;border:1px solid #ccb384;border-radius:3px 3px 1px 1px;background:repeating-linear-gradient(90deg,#dfd2a5 0 2px,#a99873 3px 4px,#f4e5bc 5px 7px);box-shadow:0 4px 6px #17263266;transform-origin:100% 50%;transition:transform .5s ease,opacity .5s ease}
.fvPocketPack:after{content:'';position:absolute;bottom:0;left:1%;right:1%;height:5%;background:repeating-linear-gradient(90deg,#e8dfc3 0 2px,#a89670 3px 4px,#f4e7c5 5px 7px);border:1px solid #bcaa84}
.fvPocketPackBrand{position:absolute;top:13%;left:6%;right:6%;text-align:center;color:#fff8e8;text-shadow:0 2px 8px #071724;display:flex;flex-direction:column;line-height:.86;letter-spacing:.06em;font:800 clamp(17px,5cqw,29px)/.9 Georgia,serif}.fvPocketPackBrand strong{font-size:1.35em}.fvPocketPackBrand small{font:700 clamp(6px,1.5cqw,10px)/1.2 system-ui;letter-spacing:.17em;margin-top:11px;color:#f9e7bb}
.fvPocketPackFooter{position:absolute;bottom:7%;left:5%;right:5%;text-align:center;color:#fff9e8;display:flex;flex-direction:column;gap:5px;text-shadow:0 1px 3px #111;font:700 9px system-ui;letter-spacing:.09em}.fvPocketPackFooter b{font-size:13px}.fvPocketPackFooter small{font-size:8px}
.fvPocketCut{position:absolute;z-index:8;top:4%;left:0;width:100%;height:12%;cursor:ew-resize;touch-action:none;outline-offset:6px}.fvPocketCut span{position:absolute;top:-23px;left:50%;transform:translateX(-50%);white-space:nowrap;font:800 9px system-ui;letter-spacing:.12em;color:#5e6c79}.fvPocketCutLine{position:absolute;left:5%;right:5%;top:52%;border-top:1px dashed #fff9}.fvPocketCut b{position:absolute;top:52%;left:clamp(6%,var(--cut),94%);transform:translate(-50%,-50%);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#587184;box-shadow:0 2px 10px #10233270}
.fvPocketOpened .fvPocketSeal{transform:translate(80px,-55px) rotate(18deg);opacity:0}.fvPocketOpened .fvPocketCut{opacity:0;pointer-events:none}.fv65PackFloat .fvPocketPack{width:min(265px,60vw)}.fv65FoilScene .fvPocketPack{width:min(310px,68vw,calc(60dvh * .67))}
.fvPocketExtract{height:min(65dvh,600px);width:100%;display:grid;place-items:center;position:relative;overflow:hidden}.fvPocketExtractPack{position:absolute;z-index:3;bottom:-16%;transform:scale(.9);opacity:.85}.fvPocketExtractPack .fvPocketCut,.fvPocketExtractPack .fvPocketSeal{display:none}.fvPocketExtractGlow{position:absolute;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff9 0%,#c8eaff99 25%,transparent 68%);filter:blur(10px)}
.fvPocketRisingCards{position:absolute;width:min(260px,53vw,calc(46dvh * 2 / 3));aspect-ratio:2/3;z-index:2;animation:fvPocketRise .9s cubic-bezier(.2,.7,.2,1) both}.fvPocketRisingCards i,.fvPocketStackBack{position:absolute;inset:0;border-radius:3%;border:2px solid #dfc99a;background:radial-gradient(circle at 50% 40%,#82674d 0%,#333449 34%,#101b2c 78%);box-shadow:0 8px 20px #15253250}.fvPocketRisingCards i:nth-child(1){transform:translate(12px,8px) rotate(4deg)}.fvPocketRisingCards i:nth-child(2){transform:translate(6px,4px) rotate(-2deg)}.fvPocketRisingCards i:after{content:'FV';position:absolute;inset:35%;display:grid;place-items:center;border:1px solid #e1c28e;border-radius:50%;font:700 24px Georgia;color:#e5d3ab}
@keyframes fvPocketRise{from{transform:translateY(80%) scale(.72);opacity:0}to{transform:translateY(-16%) scale(1);opacity:1}}
.fvPocketStackBack{z-index:-1;transform:translate(calc(var(--layer) * 6px),calc(var(--layer) * 5px)) rotate(calc(var(--layer) * 1deg));display:grid;place-items:center}.fvPocketStackBack span{width:35%;aspect-ratio:1;display:grid;place-items:center;border:1px solid #e0c58b;border-radius:50%;font:700 24px Georgia;color:#e5d3ab}
.fvFxBadge.isNew,.fvFxBadge.isDupe{background:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
.fvPocketAnticipate{animation:fvPocketSuspense .5s cubic-bezier(.2,.7,.2,1) infinite}.fvFxStack[data-rarity=common].fvPocketAnticipate{animation-duration:.7s}.fvFxStack[data-rarity=legendary].fvPocketAnticipate,.fvFxStack[data-rarity=unique].fvPocketAnticipate{animation-duration:.22s}
@keyframes fvPocketSuspense{0%,100%{transform:translate(0) scale(1)}25%{transform:translate(-2px,0) scale(1.015)}75%{transform:translate(2px,-2px) scale(1.025)}}
.fv65CardStage.fvPocketDiscard{animation:fvPocketDiscard .26s ease-in forwards!important}@keyframes fvPocketDiscard{to{transform:translate(-48vw,-6vh) rotate(-12deg) scale(.75);opacity:0}}
@media(max-width:600px){.fvFxStack{width:min(78vw,calc(55dvh * 2 / 3),340px)!important}.fv65RevealTop{padding:12px 10px;gap:6px;min-width:0}.fv65RevealBrand{font-size:.83rem;gap:5px;min-width:0}.fv65RevealBrand small{display:none}.fv65Diamond{width:30px;height:30px;flex:none}.fv65RevealTools{gap:3px;flex:none}.fv65RevealTools button{padding:8px 7px;font-size:.68rem}.fv65RevealHeading{width:100%;min-width:0}.fv65RevealHeading p{font-size:1.05rem;line-height:1.2;overflow-wrap:anywhere}.fv65RevealBottom{padding:8px 10px 14px;letter-spacing:.07em}.fv65SceneBody{min-width:0}.fv65Nav{padding-bottom:8px!important}.fv65PackSpot{min-height:370px}.fvPocketPack{width:min(230px,60vw)}.fvFxBadge{top:-17%;font-size:26px}.fv65CollectionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(prefers-reduced-motion:reduce){.fvPocketRisingCards,.fvPocketAnticipate,.fv65CardStage.fvPocketDiscard{animation:none!important}.fvPocketSeal{transition:none}}

.fvGuide{max-width:520px;text-align:center}.fvGuideCount{font-size:.7rem;letter-spacing:.16em;font-weight:800;color:#b27e4d}.fvGuideIcon{width:78px;height:78px;margin:12px auto;border-radius:24px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#7699a6,#385a70);font-size:2.5rem}.fvGuidePractice{width:100%;min-height:54px;margin:16px 0;background:#edf5f4!important;color:#365f65!important;border:1px solid #c4ded9!important}.fvGuideNav{display:flex;gap:10px;justify-content:center}.fvGuideNav button{flex:1}.fvGuideClose{margin-top:12px;background:transparent!important;color:#617685!important;box-shadow:none!important}
.fvScoreShare{margin:24px 0;padding:22px;border:1px solid #e2e9e9;border-radius:18px;background:#fff;color:#3e5667}.fvScoreShare h2{margin:0 0 8px;font-size:1.2rem}.fvScoreShare p{line-height:1.5}.fvScoreShare small{display:block;margin-top:10px;color:#718493}.fvScoreShare button{margin:4px 4px 4px 0}
.fvPersonalStatsLayout{display:grid;grid-template-columns:minmax(300px,470px) minmax(260px,420px);gap:30px;justify-content:center;align-items:center}.fvStatsPreview{display:grid;place-items:center}.fvStatsCard{width:100%;max-width:410px;aspect-ratio:4/5;box-sizing:border-box;padding:29px;border:2px solid #d9bd87;border-radius:20px;background:radial-gradient(ellipse at 30% 0%,#4c6975,#243d51 48%,#332a3d);color:#f8edd5;text-align:center;box-shadow:0 18px 38px #1c304d35;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.fvStatsBrand{font:700 1.1rem Georgia,serif;letter-spacing:.08em}.fvStatsBrand small{display:block;font:700 .5rem system-ui;letter-spacing:.2em;margin-top:5px;color:#d8c5a1}.fvStatsKicker{font:800 .6rem system-ui;letter-spacing:.2em;color:#d9bf8a}.fvStatsCard h2{font:700 clamp(2rem,5vw,3rem) Georgia,serif;margin:0}.fvStatsCard p{margin:0;color:#c8d9db}.fvStatsMain{display:flex;flex-direction:column;gap:4px}.fvStatsMain strong{font:700 3.3rem Georgia,serif}.fvStatsMain small{font-size:1rem;color:#b7c9ce}.fvStatsMain span,.fvStatsGrid span{font:.68rem system-ui;color:#c4d4d6}.fvStatsGrid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.fvStatsGrid div{padding:12px 3px;border:1px solid #ffffff20;border-radius:9px;background:#ffffff0d;display:flex;flex-direction:column;gap:5px}.fvStatsGrid b{font:700 1.05rem Georgia,serif}.fvStatsFooter{font:700 .55rem system-ui;letter-spacing:.15em;color:#d9c49f}.fvStatsActions{background:#fff;border:1px solid #e2e8ea;border-radius:18px;padding:28px;color:#3e5262}.fvStatsActions h2{margin:0 0 10px}.fvStatsActions p{line-height:1.5}.fvStatsActions button{width:100%;margin:5px 0;min-height:52px}.fvStatsShare{background:#385c72!important;color:white!important}.fvStatsSave{background:#eef4f5!important;color:#385c72!important}.fvStatsHint{font-size:.8rem;color:#72818b}@media(max-width:720px){.fvPersonalStatsLayout{grid-template-columns:1fr;gap:16px}.fvStatsCard{max-width:340px}.fvStatsActions{padding:18px}}
[data-next-card]{margin-top:5px;padding:8px 20px;border-radius:999px;background:#fff8e8!important;color:#3c4051!important;border:1px solid #e5cc9d!important;font-weight:750;letter-spacing:0}.fvLowMotion .fvPortraitLayer>.fvPortraitCutout{animation:none!important;transform:translateY(-15%) scale(1.11)}.fvLowMotion .fvPocketAnticipate,.fvLowMotion .fvPocketRisingCards,.fvLowMotion .fv65CardStage.fvPocketDiscard{animation:none!important}@media(prefers-reduced-motion:reduce){.fvPortraitLayer>.fvPortraitCutout{animation:none!important;transform:translateY(-15%) scale(1.11)}}

/* Correctifs visuels : les cadres validés restent les images d’origine. */
.fvFxStack .fv65CardStage{width:100%!important;height:100%!important;margin:0 auto}
.fv65CardTheatre.fvFxTheatre{justify-items:center}
.fv65AlbumTile .meta b{font-size:1rem!important;color:#39232c!important}
.fv65AlbumTile .meta small{font-size:.82rem!important;color:#60423c!important;line-height:1.35}
.fv65FilterLegend,.fv65GridCount{color:#60433e!important;font-size:.84rem!important}
.fv65CollectionProgress small{color:#604039!important;font-size:.82rem!important}
.memoryCard{overflow:hidden;padding:3px;position:relative;min-width:0}
.memoryCard.open,.memoryCard.matched{transform:none}
.memoryCard .fvMemArt{width:100%;height:100%;display:block;border-radius:7px;overflow:hidden;pointer-events:none}
.memoryCard .fvMemArt .fvArtwork{width:100%;height:100%;object-fit:cover}
.memoryCard .fvMemName{position:absolute;bottom:3px;left:3px;right:3px;padding:5px 3px;color:white;background:#121b2bd9;font-size:.7rem;line-height:1.1}
.memoryCard.matched{outline:3px solid #4da77d;outline-offset:-3px}
.rushChoice{padding:6px!important;overflow:hidden;text-align:center;min-width:0;color:#fff!important}
.rushChoice .fvRushArt{height:150px;display:block;overflow:hidden;border-radius:8px;margin-bottom:8px}
.rushChoice .fvRushArt .fvArtwork{width:100%;height:100%;object-fit:cover}
.rushChoice .small{color:#e4d8cc!important}
.miniPlaying{height:auto;min-height:170px;overflow:hidden;color:#fff}
.miniPlaying .miniArt{height:110px;overflow:hidden}.miniPlaying .miniArt .fvArtwork{object-fit:cover}
@media(max-width:600px){.rushChoice .fvRushArt{height:110px}.blackjack{grid-template-columns:1fr}.fv65CollectionGrid{gap:16px 12px}}


/* Préserver la présentation des cartes ; les bustes sont des calques séparés. */
.fv65PackSpot{overflow:hidden!important}
.fvPortraitBackdrop{inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(1.8% 2.6% round 1%)}
.fvMemArt .fvComposedCard,.fvRushArt .fvComposedCard,.miniArt .fvComposedCard{width:100%;height:100%;display:block}
.fvMemArt .fvComposedCard,.fvRushArt .fvComposedCard{pointer-events:none}


/* Navigation et accueil : toutes les rubriques restent accessibles directement. */
body{background:radial-gradient(ellipse at 8% 0%,#f9e5dc,transparent 35%),radial-gradient(ellipse at 90% 3%,#e0efe9,transparent 32%),#f6f2ec!important;color:#27364a}
.fv65Topbar{background:linear-gradient(120deg,#18394a,#202b46 58%,#502b47)!important;border:1px solid #b79777!important;box-shadow:0 14px 32px #24384a30!important}
.fv65Topbar .brand strong,.fv65Topbar .fv65Stat b{color:#fff8e9!important}.fv65Topbar .brand small,.fv65Topbar .fv65Stat small{color:#ead7c0!important}
.fv65Topbar .topbarActions .ghost{background:#ffffff18!important;color:#fff8e9!important;border:1px solid #ffffff55!important}
.fv65Nav{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:6px!important}
.fv65Nav button{background:#fffdf9!important;color:#30475b!important;border:1px solid #d8c7b6!important;font-weight:800!important}
.fv65Nav button.active{background:#80354f!important;color:#fff!important;border-color:#80354f!important;box-shadow:0 4px 12px #7d36503b!important}
.fv65PageIntro h1{color:#263e53!important}.fv65PageIntro p{color:#44596b!important}.fv65Eyebrow{color:#994661!important}
.fv65PackSpot{background:radial-gradient(ellipse at 50% 45%,#955a6b77,transparent 47%),linear-gradient(145deg,#122d3b,#37213c 65%,#174641)!important;border:1px solid #b99777!important;box-shadow:0 18px 42px #25394c38!important;overflow:hidden!important}
.fv65SpotGlow{background:#e1a66b55}.fv65PackTag{color:#f3d8ae!important}
.fv65LobbySide{border-color:#e3cbb7!important;box-shadow:0 12px 32px #49374a19!important}
.fv65Available{background:linear-gradient(125deg,#4c2b4b,#79384e)!important;color:#fff7e8!important;border-color:#ae7881!important}
.fv65Available>span,.fv65InventorySub{color:#f5d6ad!important}.fv65BigStart{background:linear-gradient(110deg,#a93656,#702e4d)!important}
.fv65FilterButtons button.active{background:#80354f!important;border-color:#80354f!important}
/* Sachet imprimé : décor et matériaux en CSS, sans photographie collée. */
.fvPocketArtwork{background-image:repeating-linear-gradient(0deg,#ffffff09 0 1px,transparent 1px 5px),linear-gradient(152deg,#a92538 0%,#6c1734 48%,#17634f 74%,#0a3435 100%)!important}
.fvPocketArtwork:after{content:'';position:absolute;inset:7%;border:1px solid #ffe3a66b;border-radius:12px;box-shadow:inset 0 0 35px #ffdda329;background:radial-gradient(ellipse at 50% 48%,#f8ce8730,transparent 58%)}
.fvPocketShade{background:linear-gradient(100deg,#ffffff32,transparent 23%,#1d10203b 55%,#fff3d526 84%,#071c2290)!important;mix-blend-mode:screen}
.fvMemArt .fvComposedCard,.fvRushArt .fvComposedCard,.miniArt .fvComposedCard{width:100%;height:100%;display:block}
.memoryCard{aspect-ratio:2/3}.miniPlaying .miniArt{height:auto;aspect-ratio:2/3}
@media(max-width:600px){.fv65Nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px!important}.fv65Nav button{white-space:normal!important;min-width:0;padding:8px 4px!important;font-size:.7rem!important;line-height:1.15}.fv65Topbar .brand strong{font-size:1.12rem}.fv65PackSpot{min-height:350px}}


/* Reconstitution fidèle à partir des calques fournis : pas de cartouche ajouté. */
.fvComposedCard:not(.fvArtNoFrame) .fvBaseIllustration{inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;clip-path:inset(1.8% 2.6% round 1%)}
.fvComposedCard:not(.fvArtNoFrame) .fvFrameDynamic{left:6.6%;right:6.6%;bottom:0;height:100%;padding:0;background:none;color:#fff;display:block}
.fvComposedCard:not(.fvArtNoFrame) .fvFrameOwner{position:absolute;top:83.1%;left:0;right:0;font-size:2.9cqw;line-height:1.1;letter-spacing:.06em;color:var(--fv-rarity-color)}
.fvComposedCard:not(.fvArtNoFrame) .fvFrameOwner em{font-size:1em;color:var(--fv-rarity-color)}
.fvComposedCard:not(.fvArtNoFrame) .fvFrameTitle{position:absolute;top:87.55%;left:0;right:0;font-size:5.55cqw;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-height:none;letter-spacing:0}
.fvComposedCard:not(.fvArtNoFrame) .fvFrameBottom{position:absolute;top:94%;left:0;right:0;font-size:2.85cqw;line-height:1.05;letter-spacing:.04em}


.completionBanner,.completionBanner.alt,.completionBanner.fusionDone{color:#5d3547!important}
.hand h3{color:#fff4df!important}.miniPlaying .miniArt:empty{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#24324b 0 8px,#142238 8px 16px);border:2px solid #d8b47d}
.miniPlaying .miniArt:empty:before{content:'FV';font:700 1.8rem Georgia,serif;color:#ecd098}
.fvCapsuleOpened{animation:fvCapsuleReward .75s ease-out both!important}@keyframes fvCapsuleReward{0%{transform:scale(1) rotate(0)}30%{transform:scale(1.12) rotate(-12deg);filter:brightness(1.5)}65%{transform:scale(.94) rotate(10deg)}100%{transform:scale(1) rotate(0)}}


.fvRushProgress{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-weight:700;color:#573c40}.fvRushProgress i{display:block;width:100%;height:7px;border-radius:8px;background:linear-gradient(90deg,#9b405c var(--progress),#eadbd0 var(--progress))}.fvRushFeedback{min-height:1.5em;color:#62423f;font-weight:700}.rushChoice.correct{outline:3px solid #46bd80;filter:brightness(1.12)}.rushChoice.wrong{outline:3px solid #ed6c72}.rushChoice:disabled{opacity:1}.fvRushResult{background:#f1e5d7;border:1px solid #dcbf9b;border-radius:14px;padding:20px;margin-bottom:15px;text-align:center;color:#543344}.fvRushResult b{font:700 2rem Georgia,serif}.memoryCard.open .fvMemArt{animation:fvMemoryReveal .23s ease-out}@keyframes fvMemoryReveal{from{transform:scaleX(.1);filter:brightness(1.5)}to{transform:scaleX(1);filter:brightness(1)}}


.fvPocketCut span{color:#fff4d6!important;text-shadow:0 1px 4px #101b2d;font-size:10px}

/* Family Vault 2026 · UI/accessibility and game experience stabilization */
:root{--fv-ui-ink:#342d38;--fv-ui-muted:#655d67;--fv-ui-paper:#fffcf6;--fv-ui-stroke:#d8bca2}
.fv65Shell .fv65Nav button{font-size:.9rem!important;min-height:43px;transition:background .18s,color .18s,transform .18s}
.fv65Nav button:nth-child(6){background:linear-gradient(130deg,#512943,#773958)!important;color:#ffeccc!important;border:1px solid #ac8165!important}
.fv65Nav button:nth-child(6):hover{transform:translateY(-2px);background:#69314d!important}
.fv65Shell .panel,.fv2026GamesHome{overflow-wrap:break-word}
.fv65Shell button:focus-visible,.fv65RevealShade button:focus-visible,.fvGameOverlay button:focus-visible{outline:3px solid #3179bb;outline-offset:3px}
.fv65Shell .fv65PageIntro{margin-bottom:22px}
.fv65PackSpot{cursor:default!important}
.fv65PackSpot .fvPocketCut{cursor:default!important}
.fvPocketPackBody,.fvPocketArtwork{background-color:#792944!important;opacity:1!important}
.fvPocketExtractPack{opacity:1!important;filter:none!important;z-index:1!important;bottom:-26%!important}
.fvPocketRisingCards{z-index:4!important;filter:drop-shadow(0 12px 18px #05091688)}
.fvPocketExtractGlow{z-index:0;opacity:.55}
.fv65RevealHeading{margin-top:0!important}
.fv65RevealHeading p{display:none!important}
.fv65CardTheatre.fvFxTheatre{padding-top:23px!important;padding-bottom:37px!important;min-height:0!important;flex:1;display:flex!important;align-items:center!important;justify-content:center!important}
.fvFxStack{width:min(450px,77vw,calc((100dvh - 215px)*2/3))!important;max-width:none!important}
.fv65CardCaption{margin-top:8px!important;min-height:50px!important;gap:3px;font-size:.78rem}
.fv65CardCaption strong{font-size:clamp(1rem,2.1vw,1.28rem);line-height:1.15}
.fv65CardCaption span{font-size:.74rem}
.fvFxRarityTitle{top:calc(100% + 2px)!important;left:-12%!important;right:-12%!important;font-size:clamp(1.15rem,3vw,1.7rem)!important;text-shadow:0 2px 8px #000,0 0 9px currentColor!important}
.fv65CardTheatre.fvFxTheatre .fvFxBadge{top:-14%}
.fv65RevealTop{padding:8px 18px!important}
.fv65RevealHeading{padding:0 10px!important}
.fv65RevealScene{min-height:100dvh}
.fv65SceneBody{padding:5px 12px!important}
.fv65RevealBottom{padding:5px 18px 12px!important}
.fv65SummaryGallery{justify-content:center;grid-template-columns:repeat(auto-fit,minmax(155px,185px));gap:17px;max-height:unset;overflow:visible;margin:12px auto;width:min(1100px,100%)}
.fv65SummaryCard{padding:9px!important;box-shadow:0 8px 22px #07071366!important}
.fv65SummaryCard span{font-size:.87rem!important;line-height:1.25}
.fv65SummaryCard small{font-size:.74rem!important}
.fv65SummaryHeading{margin:3px auto 12px}
/* Screen-size card handling: never crop the original 2:3 illustration or the V5.1 frame. */
.fvComposedCard{aspect-ratio:2/3;contain:paint;border-radius:3%!important}
.fvComposedCard .fvBaseIllustration{object-fit:contain!important}
.fvComposedCard .fvFrameOverlay{object-fit:fill!important}
.fvFrameDynamic{overflow:hidden}
/* Original full-surface interactive foil, with quieter highlights to keep the illustration readable. */
.fvComposedCard .fvFxHolo{inset:0!important;overflow:hidden!important;clip-path:inset(0 round 3%);background:none!important}
.fvComposedCard .fvHoloChromatic{opacity:calc(var(--foilAmount,.75) * .83)!important;mix-blend-mode:color!important;background:linear-gradient(var(--rainbowAngle,113deg),#fa2bb5 0%,#ab53f9 16%,#51bafe 31%,#31e0c6 47%,#9bff4d 62%,#ffca42 78%,#ff608b 100%)!important}
.fvComposedCard .fvHoloSpectral{opacity:calc(var(--foilAmount,.75) * .32)!important;mix-blend-mode:color-dodge!important;background:conic-gradient(from var(--spectralAngle,65deg) at var(--fx,50%) var(--fy,50%),#fb3095,#90d9ff,#f5d27e,#78ffe2,#e35ef7,#fb3095)!important}
.fvComposedCard .fvHoloDetails{opacity:calc(var(--foilAmount,.75) * .25)!important;mix-blend-mode:screen!important}
.fvComposedCard.fvHoloEngaged .fvHoloChromatic{opacity:calc(var(--foilAmount,.75) * 1.09)!important}
.fvComposedCard.fvHoloEngaged .fvHoloSpectral{opacity:calc(var(--foilAmount,.75) * .49)!important}
.fvComposedCard.fvHoloEngaged .fvHoloDetails{opacity:calc(var(--foilAmount,.75) * .56)!important}
.fvComposedCard .fvOwnedShinyMark{top:82.3%!important;right:4%!important;left:auto!important;bottom:auto!important;padding:1.15% 1.8%!important;font-size:clamp(7px,2.4cqw,11px)!important;border-radius:5px!important;box-shadow:0 1px 4px #0008!important;animation:none!important}
.fvComposedCard.fvShinyEnabled:not(.fvArtNoFrame) .fvFrameDynamic .fvFrameTitle{padding-right:0}
.fv65AlbumTile .fvCardImage,.fvMuseumExhibitArt{isolation:isolate}
.fv65AlbumTile .fvComposedCard.fvShinyEnabled{filter:drop-shadow(0 0 7px #a266ef6b)}
.fv65AlbumTile:not(.lockedCard):hover .fvCardImage{filter:brightness(1.08)}
.fv65AlbumTile .fvComposedCard.fvShinyEnabled .fvFxHolo{opacity:1}
.fvZoomFxStack{width:min(90vw,calc(77dvh*2/3));height:auto;aspect-ratio:2/3;position:relative;flex:none;overflow:visible!important;margin:6px auto}
.fvZoomFxStack .fv65CardStage{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;border-radius:3%;animation:none!important;transform:none!important;filter:none!important}
.fvZoomFxStack .fv65CardFace{position:relative!important;inset:auto!important;width:100%;height:100%;transform:none!important;opacity:1!important;overflow:visible}
.fvZoomFxStack .fvComposedCard.fvZoomArt{width:100%;height:100%;max-height:none}
.fvZoomReplay{background:linear-gradient(135deg,#4e385e,#7a4c74)!important;border:1px solid #d0a9d8!important;color:#fff!important;min-height:42px}
.fvZoom .fvZoomTop{width:100%;min-height:50px}
.fvZoom .fvZoomDetails{margin:4px 0}
/* Family museum: legible unknowns, discoverer attribution, not a second copy of the collection. */
.fvMuseum2026 .viewIntro{background:linear-gradient(125deg,#f8e9da,#ede0ed);border-color:#d5bac8}
.fvMuseumExplainer{border-left:4px solid #986c8a;background:#fff8ef;color:#51404f!important;border-radius:9px;padding:13px 16px;line-height:1.5}
.fvMuseumGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:20px 14px;margin-top:15px}
.fvMuseumExhibit{display:flex;flex-direction:column;gap:8px;min-width:0}
.fvMuseumExhibitArt{width:100%;aspect-ratio:2/3;cursor:zoom-in;overflow:hidden;border-radius:12px;box-shadow:0 9px 22px #4b314736}
.fvMuseumExhibitInfo{display:flex;flex-direction:column;gap:5px;color:#473440;background:#fffaf3;border:1px solid #dcc7bc;border-radius:12px;padding:11px 12px;flex:1;line-height:1.35;min-width:0}
.fvMuseumExhibitInfo b{font-size:.93rem;overflow-wrap:anywhere}
.fvMuseumExhibitInfo small{color:#685963;font-size:.76rem}
.fvMuseumDiscoverer{font-size:.78rem;font-weight:800;color:#653c75;overflow-wrap:anywhere}
.fvMuseumOwnership{font-size:.75rem;color:#547060}
.fvMuseumUnknownFace{width:100%;aspect-ratio:2/3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;background:radial-gradient(circle at 47% 35%,#4c415c,#1f273c 65%,#151b2b);border:2px solid #b89c73;border-radius:12px;color:#ffe4ae;text-align:center;padding:13px}
.fvMuseumUnknownIcon{font-size:3.1rem;width:95px;height:95px;display:grid;place-items:center;border:2px solid #ffe1b180;border-radius:50%;box-shadow:0 0 0 8px #f0d1a818}
.fvMuseumUnknownFace b{font-size:.9rem;letter-spacing:.09em;color:#ffebc4}
.fvMuseumUnknownFace small{font-size:.85rem;color:#e4cfad}
/* Separate full-art album and fusion palettes. */
.fvFullArtAlbum{padding:18px;border-radius:24px;background:linear-gradient(145deg,#292036,#4a2948 55%,#251b36);color:#ffebd3;box-shadow:0 16px 35px #2c1b3c38}
.fvFullArtAlbum .fv65FilterBar,.fvFullArtAlbum .fv65GridCount{color:#f1d7d9}
.fvFullArtAlbum .fv65AlbumTile .meta b{color:#fff1dd!important}
.fvFullArtAlbum .fv65AlbumTile .meta small,.fvFullArtAlbum .fv65FilterLegend{color:#dec8d5!important}
.fvFullArtAlbum .fv65AlbumTile .fvCardImage{border-color:#f3ce8a}
.fvFusionWorkshop{background:linear-gradient(150deg,#3b1c3d,#51254b 63%,#292a36)!important;border:1px solid #e17cb4!important;color:#fff5e4!important}
.fvFusionWorkshop .viewIntro{background:#ffffff0c;border-color:#e7a4cb55}
.fvFusionWorkshop h2,.fvFusionWorkshop h3,.fvFusionWorkshop p,.fvFusionWorkshop .small,.fvFusionWorkshop .viewIntro h2,.fvFusionWorkshop .viewIntro p{color:#ffedf5!important}
.fvFusionWorkshop .metric{background:#ffffff15!important;border-color:#e7afdf88!important;color:#fff!important}
.fvFusionWorkshop .metric b{color:#ff9fda!important}
.fvFusionWorkshop .recipe{background:linear-gradient(145deg,#592552,#303448)!important;color:#fff9ef!important;border-color:#a5f26ca0!important}
.fvFusionWorkshop .recipe p,.fvFusionWorkshop .recipe .small{color:#ead6eb!important}
.fvFusionWorkshop .recipe>div:first-child{color:#beff89!important}
.fvFusionWorkshop .req{color:#fff5e8!important}
.fvFusionWorkshop button.gold{background:linear-gradient(130deg,#fa77c9,#bc4b9d)!important;color:#2b172b!important;border-color:#ffe2aa!important}
/* Recycle shop readability and visual consistency */
.shopLayout{gap:16px}
.shopAside{background:linear-gradient(155deg,#482b41,#304d46)!important;border:1px solid #956f74!important;color:#fff1e1!important;box-shadow:0 12px 26px #2c1b2b25}
.shopAside .bigNumber{color:#ffe2a2!important}
.shopAside .small,.shopAside p{color:#f0dbe0!important}
.shopItem{background:#fffaf1!important;border:1px solid #d6bca9!important;color:#422c37!important;box-shadow:0 6px 15px #3c28301b}
.shopItem strong{font-size:1rem;color:#3d2833!important;margin-bottom:6px}
.shopItem small{display:block;color:#675257!important;font-size:.82rem;line-height:1.48}
.shopItem button{font-weight:850;min-height:46px;background:#62394d!important;color:#fff3e9!important}
.shopItem button:disabled{opacity:.59;filter:saturate(.55)}
/* Fullscreen, high contrast mini-games. */
body.fvGameRunning{overflow:hidden}
.fv2026GamesHome{padding-bottom:25px}
.fvGameChampCTA{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 24px;border:1px solid #ccac87;border-radius:18px;background:#fff7e7;color:#533844}
.fvGameChampCTA b{font:700 1.25rem Georgia,serif}
.fvGameChampCTA p{margin:5px 0 0;color:#715863}
.fvGameChampCTA button{background:#592f46;color:#fff4de;font-weight:850;min-height:48px}
.fvGameOverlay{position:fixed;inset:0;z-index:60000;background:radial-gradient(ellipse at 50% 5%,#45354d,#100e1b 78%);color:#fdf0dc;overflow:auto;overscroll-behavior:contain;padding:clamp(10px,2.3vw,26px)}
.fvGameShell{width:min(1480px,100%);min-height:calc(100dvh - 35px);margin:0 auto;display:flex;flex-direction:column;gap:12px}
.fvGameTop{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;border-radius:18px;background:#ffffff12;border:1px solid #ffe9cb37}
.fvGameTop small{color:#e1c69f;font-size:.7rem;letter-spacing:.17em;font-weight:850}
.fvGameTop h2{font:700 clamp(1.7rem,4vw,2.65rem)/1 Georgia,serif;margin:7px 0 0;color:#ffe7b1}
.fvGameTopTools{display:flex;gap:8px}
.fvGameTopTools button{border:1px solid #e2c09f88;background:#4e3650;color:#fff6e8;padding:10px 15px;font-weight:800}
.fvGameMain{flex:1;min-height:0;display:grid;align-items:center}
.fvGameMain>.panel{max-width:1480px;width:100%;margin:0 auto;padding:clamp(17px,2.4vw,32px);background:#fff9ef!important;color:#332b38!important;border:1px solid #e7c8a4!important}
.fvGameMain .sectionTitle h2{color:#442941;font-size:clamp(1.45rem,2.5vw,2.2rem)}
.fvGameMain .sectionTitle p{color:#665660;font-size:.96rem}
.fvGameMain .blackjack{gap:18px;grid-template-columns:1fr 1fr}
.fvGameMain .hand{min-height:310px;background:linear-gradient(155deg,#181e32,#2a1e38)!important;color:#fff7e8;border:1px solid #8a7790!important;padding:20px}
.fvGameMain .hand h3{color:#ffdeaa;font-size:clamp(1.45rem,2.8vw,2.2rem);margin:2px 0 18px}
.fvGameMain .handCards{gap:13px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:6px 4px 12px;scrollbar-width:thin}
.fvGameMain .miniPlaying{flex:0 0 clamp(126px,15vw,198px);width:clamp(126px,15vw,198px);aspect-ratio:2/3;background:#fdf6e8!important;border:3px solid #dbb988!important;border-radius:11px;color:#39293b!important;padding:7px;display:flex;flex-direction:column;gap:5px;box-shadow:0 9px 18px #0006;position:relative}
.fvGameMain .miniPlaying .miniArt{height:auto;flex:1;min-height:0;background:#f2ebdf;display:grid;place-items:center;overflow:hidden}
.fvGameMain .miniPlaying .miniArt .fvComposedCard{width:100%;height:100%;aspect-ratio:2/3}
.fvGameMain .miniPlaying b{display:block;line-height:1.25!important;font-size:clamp(.71rem,1vw,.91rem)!important;color:#493849!important;margin:0;min-height:2.1em;max-height:3.8em;overflow:hidden}
.fvGameMain .miniPlaying em{font-size:clamp(1.3rem,2vw,1.8rem)!important;line-height:1.1;display:inline-block;background:#4e2744;color:#fff7df!important;border:1px solid #f6d794;align-self:flex-start;padding:2px 9px;border-radius:8px;margin:0}
.fvGameMain #bjStart,.fvGameMain #hit,.fvGameMain #stand,.fvGameMain #restart{min-height:54px;padding:13px 22px;border-radius:13px;font-weight:850;background:#603c56!important;color:#fff8e7!important}
.fvGameMain .notice{color:#573a3a!important;background:#fcf0d7!important}
.fvGameFooter{padding:0 10px;text-align:center;color:#f1d6b1;font-size:.86rem;min-height:22px}
.fvGameMain .capsule{width:min(280px,61vw);height:min(310px,67vw);aspect-ratio:1;display:grid;place-items:center;position:relative;margin:18px auto 30px;border:10px solid #e5bb76!important;border-radius:48% 48% 45% 45%;background:radial-gradient(circle at 28% 19%,#fff9ed88 0 4%,#ffc9ec77 6% 20%,#d881ba 32%,#783f87 60%,#402a59 73%)!important;box-shadow:0 24px 45px #37204469,inset -13px -15px 23px #1b123a99,0 0 0 7px #7a496f!important;color:#fff2db!important;font:700 3rem Georgia,serif;overflow:visible}
.fvGameMain .capsule:before{content:'';position:absolute;z-index:1;left:0;right:0;top:49%;height:13px;border-block:3px solid #f6d99e;background:linear-gradient(90deg,#986b82,#fae2ae,#8d4e86);box-shadow:0 3px 10px #140d276b}
.fvGameMain .capsule:after{content:'✦';position:absolute;z-index:3;top:47%;left:50%;transform:translate(-50%,-15%);width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff8d5,#ddb56c);color:#70445e;font:700 2rem Georgia,serif;box-shadow:0 3px 9px #2011266b}
.fvGameMain .capsule .fvCapsuleLogo{z-index:2;font:700 3.4rem Georgia,serif;text-shadow:0 4px 9px #21142b88;transform:translateY(-30px)}
.fvGameMain .capsule.fvCapsuleOpened{animation:fvCapsuleReward .85s ease-out both!important}
.fvGameMain #capResult{max-width:600px;margin:15px auto;text-align:center;background:#fff0d6!important;color:#5b3149!important;font-weight:850;font-size:1.15rem;min-height:65px;display:grid;place-items:center}
.fvGameMain [data-token-count]{font-size:1.7rem;color:#9a4c77}
.fvGameMain button.gold{display:block;margin:15px auto;min-height:54px;font-weight:900;background:linear-gradient(135deg,#f3d38a,#e6a57c)!important;color:#3b2631!important}
.fvGameMain button.gold:disabled{opacity:.55}
.fvGameMain .sectionTitle div>b{color:#552d49}
.fvGameOverlay .fvGameMain p{line-height:1.45}
/* Advent doors with CSS ornament and legible open/locked states. */
.fv65Day{box-shadow:0 9px 18px #6c3d4a1d,inset 0 0 0 5px #fff4de3d!important;transition:transform .25s,filter .25s,box-shadow .25s}
.fv65Day:before{inset:9px!important;border:1px solid #b78f686f!important}
.fv65Day:not(.opened):not(.locked){background:repeating-linear-gradient(45deg,#f5dcc0 0 14px,#f2d2ab 14px 17px,#fff3d7 17px 24px)!important}
.fv65Day.available{background:linear-gradient(148deg,#8c3556,#3b2847)!important;color:#ffe7be!important}
.fv65Day.available strong{color:#ffdf92!important}
.fv65Day.opened{background:linear-gradient(152deg,#d9e8d6,#b8cdbd)!important;color:#325b4b!important}
.fv65Day.opened strong{color:#315d49!important}
.fv65Day.finalDay{background:linear-gradient(150deg,#e4b85d,#832e56 65%,#4c2f50)!important;color:#fff4df!important}
.fv65Day.finalDay strong{color:#fff6d2!important}
.fv65CalendarStats>div{box-shadow:0 6px 17px #6e41531b}
@media(max-width:850px){.fvGameMain .blackjack{grid-template-columns:1fr}.fvGameMain .hand{min-height:255px}.fvGameTop{padding:12px 14px}.fvGameMain .miniPlaying{flex-basis:125px;width:125px}.fvGameChampCTA{flex-direction:column;align-items:stretch}.fvMuseumGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fvFxStack{width:min(82vw,calc((100dvh - 205px)*2/3))!important}}
@media(max-width:540px){.fv65SummaryGallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fvFxStack{width:min(82vw,calc((100dvh - 205px)*2/3))!important}.fv65CardCaption{min-height:45px!important}.fvGameOverlay{padding:0}.fvGameShell{min-height:100dvh}.fvGameTop{border-radius:0;flex-wrap:wrap}.fvGameTopTools{width:100%;justify-content:space-between}.fvGameMain>.panel{border-radius:0;padding:13px}.fvGameMain .hand{padding:11px}.fvGameMain .miniPlaying{flex-basis:120px;width:120px}.fvGameMain .handCards{gap:8px}.fvMuseumGrid{gap:11px}.fvMuseumExhibitInfo{padding:9px}.fvFullArtAlbum{padding:10px}.fv65CollectionGrid{gap:10px}}
@media(prefers-reduced-motion:reduce){.fvGameOverlay *, .fv65AlbumTile *, .fv65Day, .fvZoomFxStack *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.fvZoomFxStack{width:min(90vw,calc(77dvh * 2 / 3))!important}
.fvGameMain{align-items:start!important;padding:12px 0 18px}
.fvGameMain>.panel{margin:0 auto}
.fv65RevealScene[data-rarity] .fv65CardCaption{z-index:12}
.fvMuseumUnknownExhibit .fvMuseumExhibitInfo small{font-weight:650;color:#64546b}

/* FAMILY VAULT 2026 V6.10 — stabilization, not a redraw of approved effects */
.fv65RevealScene .fv65SceneBody{min-height:0}
.fv65RevealScene .fv65RevealHeading .fv65Eyebrow{font-size:.76rem;color:#eab99a}
.fv65RevealScene .fv65CardTheatre.fvFxTheatre{overflow:visible!important}
.fv65RevealScene .fvFxStack{width:min(480px,84vw,calc((100dvh - 196px)*2/3))!important}
.fv65RevealScene .fv65CardStage{overflow:visible!important}
.fv65RevealScene .fvFxRarityTitle{top:calc(100% + 8px)!important;font-size:clamp(1.5rem,3.7vw,2.1rem)!important;letter-spacing:.12em!important;line-height:1.2}
.fv65RevealScene .fv65CardCaption{margin-top:28px!important;line-height:1.4}
.fv65RevealScene .fv65CardCaption span{font-size:.78rem;color:#efd7bc}
.fv65RevealScene .fv65RevealBottom{font-size:.7rem;letter-spacing:.11em}
/* The pack is completely opaque; only its actual upper tear-zone reacts to dragging. */
.fvPocketPackBody,.fvPocketArtwork,.fvPocketExtractPack{opacity:1!important}
.fvPocketExtractPack .fvPocketPack{opacity:1!important}
.fvPocketCut:focus-visible{outline:4px solid #f5dd95;outline-offset:4px}
.fv65SceneHint{color:#f7ddba!important;line-height:1.4}
.fv65SummaryGallery{grid-template-columns:repeat(auto-fit,minmax(165px,200px));}
.fv65SummaryCard{min-width:0;word-break:normal}
/* The approved foil covers the full artwork, is still at rest, and cannot overflow the card. */
.fvComposedCard{isolation:isolate;overflow:hidden!important;clip-path:inset(0 round 3%)}
.fvComposedCard .fvFxHolo{inset:0!important;overflow:hidden!important;clip-path:inset(0 round 3%)!important;pointer-events:none}
.fvComposedCard.fvShinyEnabled .fvFxHolo{opacity:1!important}
.fvComposedCard .fvOwnedShinyMark{top:85.0%!important;right:3.8%!important;z-index:9!important;pointer-events:none!important;line-height:1!important}
.fvComposedCard.fvHoloEngaged .fvHoloDetails{transition:opacity .12s}
.fv65AlbumTile:not(.lockedCard) .fvCardImage{overflow:visible;box-shadow:0 8px 22px #26172c42}
.fv65AlbumTile:not(.lockedCard):hover .fvComposedCard{filter:brightness(1.07)}
.fv65AlbumTile:not(.lockedCard) .fvComposedCard{transition:filter .2s}
.fv65AlbumTile:not(.lockedCard)[data-rarity='legendary'] .fvCardImage{box-shadow:0 4px 18px #e6b75e60}
.fv65AlbumTile:not(.lockedCard)[data-rarity='epic'] .fvCardImage{box-shadow:0 4px 17px #a967d65d}
.fv65AlbumTile:not(.lockedCard)[data-rarity='rare'] .fvCardImage{box-shadow:0 4px 16px #33a9da42}
.fvZoomFxStack .fvFxRarityTitle{display:none}
.fvZoomFxStack .fvFxLayers{z-index:4}
.fvZoomFxStack .fv65CardFace{overflow:visible!important}
.fvZoom .fvZoomReplay{margin:6px 0 8px}
.fvMuseum2026 .fvMuseumExhibitArt .fvComposedCard{height:100%}
.fvMuseumExhibitInfo{background:#fff9f2!important;border:1px solid #bb9eb5!important;color:#372638!important}
.fvMuseumExhibitInfo b{color:#442b41!important}
.fvMuseumUnknownFace{border:2px solid #b7966b}
.fvMuseumUnknownFace b,.fvMuseumUnknownFace small{color:#fff2d9!important}
.fvMuseumDiscoverer{color:#573080!important}
.fvGameMain .miniPlaying{min-width:0;height:auto!important;min-height:255px;max-height:345px;align-items:stretch;justify-content:flex-start}
.fvGameMain .miniPlaying .miniArt{width:100%;height:auto!important;flex:0 1 auto;aspect-ratio:2/3;overflow:hidden;border-radius:7px;position:relative;background:#141322}
.fvGameMain .miniPlaying .miniArt>.fvComposedCard{display:block;width:100%;height:100%;aspect-ratio:2/3}
.fvGameMain .miniPlaying b{min-height:0!important;font-size:.84rem!important;overflow-wrap:anywhere}
.fvGameMain .miniPlaying em{font-size:1.7rem!important;min-height:36px;display:grid;place-items:center;min-width:40px;font-weight:900}
.fvVaultGameCardBack{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:repeating-linear-gradient(45deg,#35253f 0 12px,#49334e 13px 15px);border:5px solid #d8af72;color:#fbe1a4;border-radius:6px}
.fvVaultGameCardBack span{font:800 clamp(2rem,4vw,3.4rem) Georgia,serif}
.fvVaultGameCardBack small{font-size:.65rem;letter-spacing:.16em}
.fvGameMain .hand h3{font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.2}
.fvGameMain .blackjack .hand{min-width:0}
.fvGameMain .blackjack .handCards{padding-bottom:14px}
.fvGameMain #bjArea>p:not(.notice){border:1px solid #d9b79d;background:#fff0de;color:#5b3346;padding:13px 16px;border-radius:13px;font-size:1.05rem;font-weight:800;line-height:1.45}
.fvGameMain .capsule{border-radius:50%!important;max-height:none;min-height:260px;box-shadow:0 20px 45px #37204466,inset -13px -15px 23px #1b123a99,0 0 0 8px #d6b67e!important;animation:fvGameCapsuleIdle 3.5s ease-in-out infinite alternate!important}
@keyframes fvGameCapsuleIdle{to{transform:translateY(-7px);filter:brightness(1.11)}}
.fvGameMain .capsule.fvCapsuleOpened{animation:fvCapsuleReward .85s ease both!important}
@keyframes fvCapsuleReward{0%{transform:scale(1) rotate(0)}32%{transform:scale(1.06) rotate(-8deg)}55%{transform:scale(1.08) rotate(7deg);filter:brightness(1.55)}90%{transform:scale(.98) rotate(0)}100%{transform:scale(1)}}
.fvGameMain #capResult.fvCapsulePrize{animation:fvPrizePop .85s cubic-bezier(.22,.82,.19,1) both;box-shadow:0 0 0 2px #f3bc70,0 0 35px #e1b25d68}
@keyframes fvPrizePop{0%{opacity:.3;transform:translateY(20px) scale(.9)}50%{opacity:1;transform:translateY(-5px) scale(1.035)}100%{transform:none}}
.fvFusionWorkshop .recipe button:not(:disabled){box-shadow:0 4px 15px #ff7ab247}
.fvFullArtAlbum .fv65AlbumTile.lockedCard .meta b{color:#ded2da!important}
.fvGameChampCTA{box-shadow:0 9px 23px #51333e27}
@media(max-width:760px){.fv65RevealScene .fvFxStack{width:min(86vw,calc((100dvh - 206px)*2/3))!important}.fvGameMain .miniPlaying{min-height:215px}.fvGameMain .capsule{min-height:220px}.fvMuseumGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.fv65RevealScene .fvFxStack{width:min(87vw,calc((100dvh - 210px)*2/3))!important}.fv65RevealScene .fvFxRarityTitle{font-size:1.4rem!important}.fv65RevealScene .fv65CardCaption{margin-top:25px!important}.fvGameMain .miniPlaying{min-height:205px;max-height:300px;flex-basis:118px;width:118px}.fvGameMain .handCards{gap:8px}.fvGameMain .miniPlaying em{font-size:1.4rem!important}.fvMuseumExhibitInfo b{font-size:.83rem}}
@media(prefers-reduced-motion:reduce){.fvGameMain .capsule{animation:none!important}.fvGameMain .capsule.fvCapsuleOpened{animation:none!important}}


/* Portraits are the only deliberately overflowing art; foil itself always stays clipped. */
.fvPortraitZoomLayer .fvComposedCard.fvPortraitFloating,.fvFxStack:has(.fvPortraitFloating) .fvComposedCard{overflow:visible!important;clip-path:none!important}
.fvPortraitZoomLayer .fvComposedCard .fvFxHolo,.fvFxStack:has(.fvPortraitFloating) .fvComposedCard .fvFxHolo{clip-path:inset(0 round 3%)!important;overflow:hidden!important}
.fvPortraitZoomLayer .fvPortraitLayer,.fvFxStack:has(.fvPortraitFloating) .fvPortraitLayer{overflow:visible!important}
.fvFxStack:has(.fvPortraitFloating) .fv65CardFace,.fvFxStack:has(.fvPortraitFloating) .fv65CardStage{overflow:visible!important}
.fvGameMain{align-items:center!important;padding:12px 0 18px}
.fvGameMain>.panel{min-height:min(69dvh,660px);display:flex;flex-direction:column;justify-content:center;gap:12px}
.fvGameMain .sectionTitle{flex-shrink:0}
.fvGameMain #bjArea{width:100%}
@media(max-width:760px){.fvGameMain>.panel{min-height:calc(100dvh - 150px)}}


/* === Family Vault V6.12: corrections visuelles et championnat === */
/* Le plein art validé conserve exclusivement le logo en haut et le nom calligraphié en bas. */
.fvArtNoFrame .fvFrameDynamic{height:28%!important;bottom:0!important;left:0!important;right:0!important;padding:0 5% 5%!important;justify-content:flex-end!important;align-items:center!important;display:flex!important;background:linear-gradient(to top,rgba(8,10,15,.81),rgba(8,10,15,.35) 51%,transparent)!important;box-shadow:none!important}
.fvArtNoFrame .fvFrameDynamic .fvFrameOwner,.fvArtNoFrame .fvFrameDynamic .fvFrameBottom{display:none!important}
.fvArtNoFrame .fvFrameDynamic .fvFrameTitle{position:static!important;color:#ffdc82!important;font-family:'Segoe Script','Brush Script MT','URW Chancery L',Georgia,cursive!important;font-style:italic!important;font-size:clamp(14px,6.9cqw,42px)!important;font-weight:600!important;line-height:1.28!important;white-space:normal!important;text-align:center!important;text-wrap:balance!important;display:block!important;max-height:none!important;overflow:visible!important;letter-spacing:.01em!important;text-shadow:0 2px 6px #110d15,0 0 11px #b88c4b80}
.fvArtNoFrame:before{font-family:Georgia,serif!important;color:#ffe1a4!important;text-shadow:0 2px 9px #000d!important;letter-spacing:.14em!important}
/* Toujours lancer les effets de rareté à l'ouverture du zoom. */
.fvZoomReplay{display:none!important}
.fvZoomFxStack .fvFxLayers{position:absolute;inset:0;z-index:6!important;pointer-events:none}
.fvZoomFxStack .fv65CardFace{overflow:visible!important}
.fvZoomFxStack .fvComposedCard{overflow:hidden!important}
/* Alignement des valeurs et illustration complète dans Vault 21 : ne plus recouvrir le bas de la carte. */
.miniPlaying,.fvGameMain .miniPlaying{aspect-ratio:auto!important;height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;flex-direction:column!important;gap:8px!important;align-items:stretch!important;padding:8px!important;flex:0 0 clamp(152px,17vw,225px)!important;width:clamp(152px,17vw,225px)!important}
.miniPlaying .miniArt,.fvGameMain .miniPlaying .miniArt{height:auto!important;width:100%!important;aspect-ratio:2/3!important;overflow:hidden!important;flex:none!important;background:#151826!important;position:relative}
.miniPlaying .miniArt .fvComposedCard,.fvGameMain .miniPlaying .miniArt .fvComposedCard{width:100%!important;height:100%!important;object-fit:contain!important;aspect-ratio:2/3!important}
.miniPlaying .miniArt .fvOwnedShinyMark{font-size:9px!important}
.fvMiniPlayingInfo{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#3d2c32;font-size:.87rem;min-height:36px}
.fvMiniPlayingInfo span{flex:1;font-weight:700;line-height:1.2}
.fvMiniPlayingInfo strong{font-weight:900;font-size:1.38rem;display:grid;place-items:center;min-width:40px;min-height:36px;background:#602c46;color:white;border-radius:8px}
/* Rush : les illustrations prennent le bon ratio, sans cadrage rogné. */
.rushChoices{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-items:start}
.rushChoice{min-height:0!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:10px!important;background:#252039!important}
.rushChoice .fvRushArt{height:auto!important;aspect-ratio:2/3!important;display:block!important;width:100%!important;max-width:220px;margin:0 auto!important;overflow:hidden!important;border-radius:7px!important}
.rushChoice .fvRushArt .fvComposedCard{width:100%!important;height:100%!important}
.rushChoice .fvRushChoiceName{font-size:clamp(.79rem,1.2vw,1rem)!important;color:white!important;line-height:1.35!important;margin:0!important;text-align:center!important;white-space:normal!important}
.rushChoice.correct{outline:4px solid #53cf88!important;outline-offset:2px}.rushChoice.wrong{outline:4px solid #ed6978!important;outline-offset:2px}
/* Page de championnat hiérarchisée et jeux en plein écran. */
.fvChampHome{max-width:1480px;margin:auto;color:#4e333b}
.fvChampHero{padding:clamp(22px,3vw,45px);background:radial-gradient(circle at 84% 12%,#8e587b55,transparent 38%),linear-gradient(125deg,#261c34,#563047 62%,#703c54);border:1px solid #dfb981;border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#f9e9cb;box-shadow:0 18px 40px #3f243835}
.fvChampHero small,.fvChampChallenge small{font-size:.74rem;letter-spacing:.15em;font-weight:900;color:#e9c18b}
.fvChampHero h1{font:700 clamp(2rem,4vw,3.3rem)/1.04 Georgia,serif;margin:9px 0 10px;color:#ffe5ad}
.fvChampHero p{line-height:1.55;max-width:650px;color:#e7d1c9;margin:0}
.fvChampHeroScore{display:grid;gap:4px;text-align:center;min-width:155px;background:#ffffff12;padding:16px;border:1px solid #f7d6a944;border-radius:17px}
.fvChampHeroScore strong{font:700 clamp(2rem,3vw,3rem) Georgia,serif;color:#ffe2a1}
.fvChampChallengeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}
.fvChampChallenge{background:linear-gradient(145deg,#312237,#392b48);color:#ffefdd;padding:21px;border:1px solid #aa8092;border-radius:19px;display:flex;flex-direction:column;gap:12px;box-shadow:0 11px 27px #2e233528}
.fvChampChallenge:nth-child(2){background:linear-gradient(145deg,#233c43,#263746)}.fvChampChallenge:nth-child(3){background:linear-gradient(145deg,#45293e,#593148)}
.fvChampSymbol{font:700 3rem Georgia,serif;color:#f6d29b}.fvChampChallenge h2{font:700 clamp(1.2rem,2vw,1.7rem) Georgia,serif;color:#ffe4a7;margin:6px 0}
.fvChampChallenge p{color:#f0dcd1;margin:0;line-height:1.45;flex:1}.fvChampScoreLine{font-size:.81rem;letter-spacing:.06em;border-top:1px solid #ffffff2e;padding-top:12px;color:#f4dcbf}.fvChampScoreLine b{font-size:1.45rem;color:#ffe6a6}
.fvChampChallenge button{min-height:47px}.fvChampRecordPanel{margin:18px 0;padding:20px!important}.fvChampRecordPanel h2{margin:0 0 7px}.fvChampRecordPanel p{margin:0 0 16px}
.fvChampRecordTiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fvChampRecordTile{background:#f1dfc7;color:#573c44;padding:15px;border:1px solid #d5b99b;border-radius:14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.fvChampRecordTile small{display:block;flex-basis:100%}.fvChampRecordTile b{font:700 1.7rem Georgia,serif;color:#7b3157}
.fvChampRecycle{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:15px}.fvChampRecycle h3{margin:0}.fvChampRecycle p{margin:5px 0}
.fvChampOverlay .fvGameMain{max-width:1250px;margin:0 auto;width:100%}.fvChampOverlay .fvGameMain>.panel{background:#fff9eb!important;color:#513739!important;border-radius:18px}
.fvChampOverlay .fvGameMain .blackjack .hand{min-height:0}
.fvChampOverlay .fvGameMain .miniPlaying{max-width:225px!important}
.fvTradeGuidance{grid-column:1/-1;background:#fff1d7;border:1px solid #d7b681;color:#6a3941;padding:14px;border-radius:12px;text-align:center}
@media(max-width:920px){.fvChampChallengeGrid{grid-template-columns:1fr}.fvChampHero{flex-direction:column;align-items:stretch}.fvChampRecycle{flex-direction:column;align-items:stretch}.fvChampRecordTiles{grid-template-columns:1fr 1fr}}
@media(max-width:610px){.rushChoices{gap:7px!important}.rushChoice{padding:5px!important}.rushChoice .fvRushChoiceName{font-size:.72rem!important}.miniPlaying,.fvGameMain .miniPlaying{flex-basis:130px!important;width:130px!important;padding:5px!important}.fvChampRecordTiles{grid-template-columns:1fr}.fvChampHero{padding:18px}.fvMiniPlayingInfo{font-size:.76rem}.fvMiniPlayingInfo strong{min-width:31px}}

/* Gacha mécanique en CSS : capsules visibles, poignée et trappe réellement animées */
.fvGachaPanel{max-width:1120px;margin:0 auto;text-align:center;background:radial-gradient(circle at 50% 18%,#fff9ec,#f2e1cc 82%)!important}
.fvGachaIntro{display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;max-width:940px;margin:0 auto}
.fvGachaIntro small{letter-spacing:.14em;font-weight:900;color:#9d536c}
.fvGachaIntro h2{font:700 clamp(1.8rem,3vw,2.5rem) Georgia,serif;color:#562945;margin:8px 0}
.fvGachaIntro p{color:#75564d;max-width:560px;margin:0}
.fvGachaBalance{display:grid;place-items:center;background:#632e4a;color:#ffe7ad;border-radius:14px;min-width:97px;padding:13px}
.fvGachaBalance b{font-size:2rem}.fvGachaBalance span{font-size:.7rem;letter-spacing:.12em}
.fvGachaStage{width:340px;max-width:100%;height:420px;margin:16px auto 0;position:relative;isolation:isolate;filter:drop-shadow(0 16px 17px #4a304a47)}
.fvGachaGlass{position:absolute;top:5px;left:47px;width:245px;height:230px;border-radius:48% 48% 16% 16%;background:radial-gradient(circle at 27% 20%,#ffffff96,#e9faff44 27%,#85c9dc42 65%,#c9e2f955);border:8px solid #d9aac0;box-shadow:inset 0 0 0 4px #fff9,inset 18px 10px 35px #fff9,inset -12px -15px 38px #5f6f9b68,0 8px 0 #8a4a6b;overflow:hidden;z-index:3}
.fvGachaGlassShine{position:absolute;inset:10px 20px auto;height:80px;border-radius:50%;border-top:5px solid #ffffffa3;transform:rotate(-12deg);z-index:5}
.fvGachaBalls{position:absolute;bottom:12px;left:7px;right:7px;height:150px;overflow:hidden}
.fvGachaBall{position:absolute;bottom:calc((var(--i) * 21px) / 6);left:6%;width:57px;height:57px;border-radius:50%;border:3px solid #fff8;box-shadow:inset -8px -10px 12px #0003,0 3px 6px #311a3138;background:linear-gradient(to bottom,hsl(var(--h) 83% 75%) 0 49%,#fff8 50%,hsl(var(--h) 79% 51%) 52%);transform:rotate(calc(var(--i) * 18deg));}
.fvGachaBall:nth-child(1){left:10%;bottom:8px}.fvGachaBall:nth-child(2){left:37%;bottom:9px}.fvGachaBall:nth-child(3){left:64%;bottom:8px}.fvGachaBall:nth-child(4){left:24%;bottom:46px}.fvGachaBall:nth-child(5){left:52%;bottom:48px}.fvGachaBall:nth-child(6){left:1%;bottom:65px}.fvGachaBall:nth-child(7){left:76%;bottom:61px}.fvGachaBall:nth-child(8){left:29%;bottom:90px}.fvGachaBall:nth-child(9){left:57%;bottom:94px}.fvGachaBall:nth-child(10){left:5%;bottom:110px}.fvGachaBall:nth-child(11){left:75%;bottom:105px}.fvGachaBall:nth-child(12){left:41%;bottom:125px}
.fvGachaCrest{position:absolute;top:22px;left:50%;transform:translateX(-50%);font:700 1.4rem Georgia,serif;color:#fff8e9;text-shadow:0 1px 7px #552441}
.fvGachaMachine{position:absolute;top:209px;left:32px;width:277px;height:190px;background:linear-gradient(130deg,#bb6686,#8b3a61 55%,#643052);border:8px solid #d9aac0;border-radius:26px 26px 17px 17px;box-shadow:inset 0 8px 14px #fff5,inset -12px -10px 20px #0004;z-index:2}
.fvGachaMachineLogo{position:absolute;top:24px;left:15px;right:91px;color:#fff1d8;font:700 1.08rem Georgia,serif;letter-spacing:.045em}.fvGachaMachineLogo small{display:block;font:.56rem sans-serif;letter-spacing:.18em;margin-top:9px}
.fvGachaHandle{position:absolute;right:22px;top:29px;border:7px solid #edc68a;width:75px;height:75px;border-radius:50%;background:radial-gradient(circle,#fff5d3,#a26b69);box-shadow:0 6px 6px #3b1c295c}.fvGachaHandle span{width:62px;height:13px;background:linear-gradient(#fce5af,#be8e65);border-radius:12px;position:absolute;left:0;top:23px;transform:rotate(30deg);box-shadow:0 3px 5px #0003}
.fvGachaChute{position:absolute;left:19px;bottom:16px;width:107px;height:65px;border:8px solid #d3a16e;border-radius:9px;background:#211a30;overflow:hidden;box-shadow:inset 0 8px 14px #04020c}
.fvGachaPrizeBall{height:55px;width:55px;border-radius:50%;background:linear-gradient(to bottom,#ee6ba2 48%,#fef5db 49% 55%,#b74a83 56%);border:3px solid #ffdbf3;box-shadow:inset -8px -6px 6px #0003;position:absolute;left:18px;top:-85px;opacity:0}
.fvGachaMachineFoot{position:absolute;bottom:-30px;left:5px;right:5px;height:22px;background:#6e344f;border:5px solid #d9a6bb;border-radius:5px 5px 13px 13px}
.fvGachaAction{display:block;margin:7px auto 13px;min-height:53px;min-width:min(300px,100%);font-size:1.03rem;font-weight:900}
.fvGachaResult{display:grid;place-items:center;min-height:73px;margin:18px auto 10px;max-width:650px;padding:12px 18px;background:#fff7e8;border:1px solid #d7b887;border-radius:14px;color:#653c4a;font-weight:750}
.fvGachaPlaying .fvGachaBalls{animation:fvGachaShake 1s ease-in-out}.fvGachaPlaying .fvGachaHandle span{animation:fvGachaTurn .8s ease-in-out}.fvGachaPlaying .fvGachaPrizeBall{animation:fvGachaDrop .95s .15s both}.fvGachaPlaying .fvGachaMachine{animation:fvGachaVibe .7s ease-in-out}
.fvGachaAwarded .fvGachaResult{animation:fvGachaPop .65s ease;box-shadow:0 0 30px #e5a86355}
@keyframes fvGachaShake{0%,100%{transform:translate(0)}20%{transform:translate(7px,3px) rotate(2deg)}50%{transform:translate(-8px,-5px) rotate(-3deg)}75%{transform:translate(4px,5px)}}
@keyframes fvGachaTurn{0%{transform:rotate(30deg)}85%{transform:rotate(390deg)}100%{transform:rotate(390deg)}}
@keyframes fvGachaDrop{0%{opacity:0;transform:translateY(-35px)}40%,75%{opacity:1;transform:translateY(100px)}100%{opacity:1;transform:translateY(80px)}}
@keyframes fvGachaVibe{35%{transform:translateX(-3px)}70%{transform:translateX(3px)}}
@keyframes fvGachaPop{35%{transform:scale(1.03);filter:brightness(1.09)}}
@media(max-width:540px){.fvGachaIntro{align-items:flex-start}.fvGachaBalance{min-width:70px}.fvGachaBalance b{font-size:1.35rem}.fvGachaStage{transform:scale(.84);transform-origin:center top;margin-bottom:-55px}}
@media(prefers-reduced-motion:reduce){.fvGachaPanel *{animation-duration:.01ms!important}}

.fvChampFamilyRank{margin:18px 0;padding:21px;border:1px solid #e1c4a6;background:#fff9ee;border-radius:19px;color:#543746}
.fvChampFamilyTitle h2{font:700 1.65rem Georgia,serif;color:#623a4c;margin:0 0 6px}
.fvChampFamilyTitle p{margin:0 0 16px;color:#7e6056}
.fvChampRankRows{display:grid;gap:7px}
.fvChampRankRow{display:grid;grid-template-columns:32px minmax(110px,.7fr) minmax(100px,1.7fr) auto;align-items:center;gap:12px;background:#f4e8d8;border:1px solid #e3cdb5;padding:11px 13px;border-radius:12px}
.fvChampRankRow.self{border-color:#ac758b;background:#f5e2df}
.fvChampRankRow>b{display:grid;place-items:center;width:28px;height:28px;background:#734059;color:#fff4dd;border-radius:50%}
.fvChampRankRow>strong{font-weight:850}.fvChampRankRow>small{color:#81655a}.fvChampRankRow>span{font-weight:900;color:#633045;white-space:nowrap}
@media(max-width:640px){.fvChampRankRow{grid-template-columns:30px 1fr auto;gap:7px}.fvChampRankRow small{grid-column:2/-1;grid-row:2}.fvChampFamilyRank{padding:13px}}

/* Ajustement aux fenêtres courantes : le bouton de tirage reste visible sans défiler. */
.fvGachaStage{height:350px!important;transform:scale(.84);transform-origin:center top;margin-top:10px!important;margin-bottom:-44px!important}
.fvGachaResult{min-height:58px!important;margin:5px auto 9px!important;padding:10px 14px!important}
.fvGachaPanel .fvGachaAction{margin:8px auto 4px!important}
@media(max-width:540px){.fvGachaStage{height:310px!important;transform:scale(.7)!important;margin-bottom:-75px!important}.fvGachaResult{font-size:.85rem}}

/* ===== V6.14: targeted visual fixes, no changes to approved card artwork/effects ===== */
/* Prevent layout selectors for labels from enlarging embedded official card typography. */
.fv65SummaryCard{display:flex!important;flex-direction:column!important;gap:7px!important;align-items:stretch!important;min-height:0!important;padding:8px!important}
.fv65SummaryCard>.fvComposedCard{flex:0 0 auto!important;aspect-ratio:2/3!important;width:100%!important;height:auto!important;overflow:hidden!important}
.fv65SummaryCard>.fvComposedCard .fvFrameDynamic span,
.fv65SummaryCard>.fvComposedCard .fvFrameOwner span,
.fv65SummaryCard>.fvComposedCard .fvFrameBottom span{font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;white-space:nowrap!important}
.fv65SummaryCard>.fvComposedCard .fvFrameTitle{font-size:clamp(8px,4.3cqw,21px)!important;line-height:1.13!important}
.fv65SummaryCard>.fvComposedCard .fvFrameOwner em{font-size:.8em!important}
.fv65SummaryCard>span{position:static!important;display:block!important;line-height:1.24!important;font-size:.83rem!important;font-weight:750!important;color:#fff0dd!important;min-height:1.25em}
.fv65SummaryCard>small{position:static!important;display:block!important;line-height:1.3!important;font-size:.7rem!important;color:#e8c8b2!important}
.fv65SummaryGallery{grid-template-columns:repeat(auto-fit,minmax(160px,190px))!important;align-items:start!important;justify-content:center!important;overflow-y:auto!important;max-height:min(67dvh,740px)!important;gap:13px!important;padding:12px!important}
.fv65SummaryActions{display:flex!important;gap:9px!important;flex-wrap:wrap!important;position:sticky;bottom:7px;z-index:15;padding:12px!important;background:#201829ed;border-radius:15px;box-shadow:0 -8px 25px #160e1ab0}
.fv65SummaryActions button{min-height:46px;white-space:nowrap;flex:0 1 auto}
.fv65SummaryActions [data-next],.fv65SummaryActions [data-all-next]{background:linear-gradient(115deg,#e7b76b,#f5db9f)!important;color:#382339!important}
.fv65SummaryActions button[hidden]{display:none!important}
.fv65RevealScene:has(.fv65SummaryGallery) .fv65SceneBody{cursor:default!important;justify-content:flex-start!important;padding-bottom:12px!important}
.fv65RevealScene:has(.fv65SummaryGallery) .fv65RevealHeading{margin-top:3px}
/* Mini-games: rarity labels and captions must use their own card-relative typography,
   not typography meant for the value tiles. */
.fvGameOverlay .miniPlaying .miniArt .fvComposedCard,
.fvGameMain .miniPlaying .miniArt .fvComposedCard{width:100%!important;height:100%!important;aspect-ratio:2/3!important;container-type:inline-size!important;overflow:hidden!important}
.fvGameOverlay .miniPlaying .miniArt .fvComposedCard em,
.fvGameMain .miniPlaying .miniArt .fvComposedCard em{
 display:inline!important;position:static!important;max-width:42%!important;
 min-width:0!important;min-height:0!important;padding:0!important;
 border:0!important;border-radius:0!important;background:none!important;
 box-shadow:none!important;text-shadow:0 1px 3px #000!important;
 font-size:.77em!important;line-height:1!important;color:var(--fv-rarity-color,#fff5de)!important}
.fvGameOverlay .miniPlaying .miniArt .fvComposedCard .fvFrameTitle,
.fvGameMain .miniPlaying .miniArt .fvComposedCard .fvFrameTitle{font-size:clamp(9px,4.3cqw,19px)!important}
.fvGameOverlay .miniPlaying .miniArt .fvFrameDynamic b,
.fvGameMain .miniPlaying .miniArt .fvFrameDynamic b{display:inline!important;font-size:inherit!important;min-height:0!important;min-width:0!important;padding:0!important;background:none!important;color:inherit!important}
.fvGameMain .handCards{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px!important}
.fvGameMain .miniPlaying{flex:0 0 clamp(143px,16vw,220px)!important;width:clamp(143px,16vw,220px)!important;max-width:220px!important}
.fvGameMain .fvMiniPlayingInfo{background:#fff9ee;border:0;min-height:37px;padding:4px 0;align-items:center;color:#472f39}
.fvGameMain .fvMiniPlayingInfo>strong{flex:none;min-width:42px;background:#5c2a44!important;color:#fff!important;font-size:1.3rem!important;line-height:1.1!important}
/* Calendar: no cream-on-cream for available days; distinguish opened and locked. */
.fv65CalendarGrid .fv65Day.available:not(.opened){background:linear-gradient(155deg,#74354c 0%,#402842 100%)!important;color:#fff2d5!important;border:2px solid #d4a96e!important}
.fv65CalendarGrid .fv65Day.available:not(.opened) .fv65DayTop,
.fv65CalendarGrid .fv65Day.available:not(.opened) .fv65DayBase,
.fv65CalendarGrid .fv65Day.available:not(.opened) strong{color:#fff0cf!important;opacity:1!important;text-shadow:0 2px 3px #1e1024a8}
.fv65CalendarGrid .fv65Day.locked{background:linear-gradient(155deg,#e3d9cf,#c6c2c0)!important;opacity:1!important;border:1px solid #b6a99e!important;filter:none!important;color:#544c50!important}
.fv65CalendarGrid .fv65Day.locked .fv65DayTop,
.fv65CalendarGrid .fv65Day.locked .fv65DayBase,
.fv65CalendarGrid .fv65Day.locked strong{color:#554651!important;text-shadow:none!important}
.fv65CalendarGrid .fv65Day.opened{background:linear-gradient(145deg,#d6ecdb,#a7d0ba)!important;color:#244a38!important;border:1px solid #699b81!important;opacity:1!important}
.fv65CalendarGrid .fv65Day.opened .fv65DayTop,
.fv65CalendarGrid .fv65Day.opened .fv65DayBase,
.fv65CalendarGrid .fv65Day.opened strong{color:#244f39!important}
.fv65CalendarGrid .fv65Day.finalDay.available{background:linear-gradient(142deg,#a87833,#6c3050)!important}
/* Reserve correct space for gacha instead of scaling a large box into negative margins. */
.fvGachaPanel .fvGachaStage{transform:scale(.88)!important;transform-origin:center center!important;height:375px!important;margin:12px auto 12px!important}
.fvGachaPanel .fvGachaAction{margin-top:12px!important}
.fvGachaPanel .fvGachaResult{margin-top:12px!important}
/* Feedback within atelier cards: no dim, unreadable brown-on-grey text. */
.shopLayout .shopItem{background:#fff8ed!important;color:#412f37!important;border:1px solid #d7b99e!important;box-shadow:0 5px 13px #51334317}
.shopLayout .shopItem strong{color:#522c40!important;font-size:.9rem!important}
.shopLayout .shopItem small{color:#76584e!important;line-height:1.45!important;display:block!important;margin-top:7px}
.shopLayout .shopItem button:disabled{background:#e6d8c5!important;color:#63574d!important;opacity:1!important}
@media(max-width:740px){
 .fv65SummaryGallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:62dvh!important}
 .fv65SummaryActions{position:static!important}
 .fv65SummaryActions button{flex:1 1 42%!important;font-size:.81rem!important;padding:10px 6px!important}
 .fvGameMain .miniPlaying{flex-basis:clamp(125px,39vw,175px)!important;width:clamp(125px,39vw,175px)!important}
 .fv65CalendarGrid .fv65Day{min-height:108px!important}
}


/* Compact card typography in Vault 21 stays inside its official frame. */
.fvGameMain .miniPlaying .miniArt .fvComposedCard .fvFrameOwner em{font-size:clamp(7px,2.5cqw,10px)!important;display:inline!important;line-height:1.05!important}
.fvGameMain .miniPlaying .miniArt .fvComposedCard .fvFrameOwner span{font-size:clamp(7px,2.75cqw,10px)!important}


/* ===== V6.15 · December gift and vibrant accessible collection UI ===== */
:root{--fv-pop-violet:#7a35dd;--fv-pop-pink:#e83b91;--fv-pop-teal:#00aeb7;--fv-pop-gold:#f5c75b}
.fv65RevealScene{background:radial-gradient(circle at 50% 42%,#54325a 0%,#21172c 54%,#101625 100%)}
.fv65RevealScene:before{box-shadow:0 0 0 75px #edcc9d0b,0 0 0 155px #e9a7ff0a!important;border-color:#e9b3ff28!important}
.fv65SummaryCard{background:#39283fc9!important;border:1px solid #f3c8956e!important;box-shadow:0 10px 29px #0201086b!important}
.fv65SummaryCard span,.fv65SummaryCard small{color:#fff2e8!important}
.fv65SummaryCard .fvComposedCard{border-radius:8px}
.fvPremiumFullArtLettering{position:absolute;inset:0;z-index:3;pointer-events:none;color:#fff0c3;text-shadow:0 2px 5px #000b,0 0 2px #000}
.fvPremiumFullArtLettering .fvPremiumFABrand{position:absolute;top:3%;left:0;right:0;text-align:center;font:700 clamp(8px,4.25cqw,27px)/1.1 Georgia,serif;letter-spacing:.22em;color:#ffedc0;-webkit-text-stroke:.32px #2d1a21}
.fvPremiumFABottom{position:absolute;bottom:0;left:0;right:0;padding:17% 7% 3%;background:linear-gradient(0deg,#090b18e6 0%,#100b19a0 42%,transparent 100%);min-height:23%;display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:2%;row-gap:2%}
.fvPremiumFABottom strong{grid-column:1/-1;font:italic 500 clamp(18px,10cqw,64px)/1.03 'Palatino Linotype','Book Antiqua',Georgia,serif;letter-spacing:-.045em;color:#fff0bf;filter:drop-shadow(0 2px 3px #05060d)}
.fvPremiumFABottom span{font:600 clamp(7px,3.1cqw,17px)/1.12 Georgia,serif;letter-spacing:.11em;color:#ffe5aa}
.fvPremiumFABottom em{font:800 clamp(7px,3cqw,16px)/1.12 Georgia,serif;letter-spacing:.1em;color:#ffe5aa;font-style:normal}
.fvFA007Approved .fvPremiumFullArtLettering,.fvFA007Approved .fvFrameDynamic{display:none!important}
.fvComposedCard.fvFxEpicLive::after{content:'';position:absolute;inset:3%;z-index:6;pointer-events:none;opacity:.56;background:radial-gradient(circle at 24% 17%,#fffaff 0 1px,#e6baffc9 2px,transparent 7px),radial-gradient(circle at 73% 49%,#fff 0 1.5px,#eecbffb7 2px,transparent 8px),radial-gradient(circle at 42% 75%,#fff 0 1px,#cf8bffbd 2px,transparent 9px);mix-blend-mode:screen;animation:fvEpicAfterGlow 5.4s ease-in-out infinite alternate}
@keyframes fvEpicAfterGlow{0%,100%{opacity:.16;filter:brightness(.7)}45%{opacity:.62;filter:brightness(1.9)}75%{opacity:.3;filter:brightness(1.2)}}
.fvGiftTheatre{perspective:900px;min-height:510px}.fvGiftPresent{height:340px;width:330px;max-width:90vw;background:none!important;border:0!important;position:relative;isolation:isolate;display:block;cursor:pointer;box-shadow:none!important;transform:rotate(-2deg);transition:transform .26s ease;overflow:visible;color:inherit}
.fvGiftPresent:hover{transform:rotate(0deg) translateY(-6px)}.fvGiftBase,.fvGiftLid{position:absolute;left:6%;right:6%;display:block;border:4px solid #ffd98f;box-shadow:0 20px 45px #08040a7d,inset 0 0 0 5px #ffffff1c}
.fvGiftBase{bottom:9%;height:67%;border-radius:12px 12px 22px 22px;overflow:hidden;background:linear-gradient(120deg,#8d1f6a,#e33c86 45%,#a02266 74%,#521d59)}
.fvGiftBase:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(35deg,#ffffff10 0 2px,transparent 2px 35px);pointer-events:none}
.fvGiftRibbonV{position:absolute;top:0;bottom:0;left:43%;width:15%;background:linear-gradient(90deg,#bb813c,#fff2b6 40%,#edb55b 70%,#b7792e);box-shadow:0 0 12px #4a164275}
.fvGiftRibbonH{position:absolute;left:0;right:0;top:42%;height:19%;background:linear-gradient(#aa6e35,#fff1ac 42%,#eec06d 73%,#b67c35);box-shadow:0 5px 15px #4e182b66}
.fvGiftLid{top:11%;height:26%;border-radius:15px;z-index:4;background:linear-gradient(140deg,#c32e8b,#fc5e9a 46%,#861c63);transform-origin:50% 90%;}
.fvGiftLidRibbon{position:absolute;top:0;bottom:0;left:42%;width:16%;background:linear-gradient(90deg,#bb813c,#fff2b6 50%,#ca8f48)}
.fvGiftBow{position:absolute;left:50%;top:-45px;transform:translateX(-50%);width:140px;height:67px;z-index:6}.fvGiftBow i{position:absolute;top:16px;width:74px;height:42px;border:10px solid #ffdd88;border-radius:70% 20% 65% 30%;background:linear-gradient(125deg,#fff6d3,#cf904b);transform:rotate(25deg);box-shadow:0 5px 10px #0004}.fvGiftBow i:nth-child(2){right:0;transform:scaleX(-1) rotate(25deg)}.fvGiftBow b{position:absolute;left:58px;top:26px;background:#fff3b9;border:7px solid #d49d48;width:26px;height:30px;border-radius:50%}
.fvGiftPlate{position:absolute;z-index:4;left:25%;right:25%;top:41%;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;background:linear-gradient(160deg,#49254d,#1f1c39);border:2px solid #ffe0a3;border-radius:14px;color:#fff2d6;font:700 1.2rem Georgia,serif;letter-spacing:.05em;box-shadow:0 0 22px #1e0b3070}
.fvGiftPlate small{font:800 .47rem system-ui;letter-spacing:.15em;color:#ffda9e}
.fvGiftSparks{position:absolute;inset:0;z-index:6;pointer-events:none}.fvGiftSparks i{position:absolute;width:8px;height:8px;border-radius:2px;background:#fff3a8;box-shadow:0 0 12px #ffe1a1;top:25%;left:50%;opacity:0}
.fvGiftInnerLight{position:absolute;z-index:-1;inset:20%;border-radius:50%;background:#ffdb8270;filter:blur(35px)}
.fvGiftPresent.fvGiftOpened .fvGiftLid{animation:fvGiftLidFly .78s ease-out forwards}.fvGiftPresent.fvGiftOpened .fvGiftBase{animation:fvGiftBodySettle .9s ease forwards}.fvGiftPresent.fvGiftOpened .fvGiftSparks i{animation:fvGiftSpark .85s calc(var(--i,0)*.04s) ease-out forwards}
.fvGiftSparks i:nth-child(2){--i:2}.fvGiftSparks i:nth-child(3){--i:3}.fvGiftSparks i:nth-child(4){--i:4}.fvGiftSparks i:nth-child(5){--i:5}.fvGiftSparks i:nth-child(6){--i:6}
@keyframes fvGiftLidFly{30%{transform:translateY(-40px) rotate(-8deg)}100%{transform:translate(55px,-245px) rotate(30deg);opacity:0}}
@keyframes fvGiftBodySettle{30%{transform:scale(1.05)}100%{transform:scale(.94);opacity:.84}}
@keyframes fvGiftSpark{20%{opacity:1}100%{opacity:0;transform:translate(calc((var(--i) - 3)*52px),calc((var(--i) - 3)*-41px)) scale(.6)}}
.fvGiftExtract .fvGiftPresent{transform:scale(.64) rotate(-9deg);pointer-events:none}.fvGiftExtract .fvGiftLid{transform:translateY(-35px) rotate(-11deg)}
.fv65SceneHint{font-size:.91rem!important;color:#ffe9b6!important;font-weight:750}
.fvGachaOdds{max-width:760px;margin:10px auto 0;padding:15px 18px;border:1px solid #dbc2e3;border-radius:17px;background:#fcf5ff;color:#51334e;text-align:left;box-shadow:0 8px 22px #69264d16}
.fvGachaOdds h3{margin:0 0 8px;color:#752657;font:700 1.1rem Georgia,serif}
.fvGachaOddsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fvGachaOddsGrid span{padding:7px 9px;background:#f4e3f3;border-radius:9px;font-size:.83rem;display:flex;justify-content:space-between;gap:7px;color:#563349}
.fvGachaOddsGrid b{color:#a12275}.fvGachaOdds p{font-size:.8rem;line-height:1.4;color:#6b5368;margin:9px 0 0}
.fvBonusActive{border:2px solid #20b4ae;border-radius:15px;background:#e1fbf3;padding:12px 13px;display:grid;gap:6px;color:#104e49;box-shadow:0 6px 16px #19a7ad32}.fvBonusActive strong{font-weight:950;letter-spacing:.06em}.fvBonusActive span{font-size:.82rem;line-height:1.45}
.fvCraftCelebrate{position:fixed;inset:0;z-index:99999;background:radial-gradient(ellipse at center,#5e3370ed,#151322f8 74%);display:grid;place-items:center;overflow:auto;padding:15px;backdrop-filter:blur(12px)}
.fvCraftCelebrationStage{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;color:#fff2d5;max-height:97dvh;overflow:auto;width:min(580px,100%)}
.fvCraftCelebrationStage>small{letter-spacing:.22em;color:#ffdfab;font-size:.77rem;font-weight:850}.fvCraftCelebrationStage h2{font:750 clamp(1.65rem,4vw,2.5rem) Georgia,serif;margin:0;color:#ffe6b8;text-shadow:0 0 25px #edb35c}
.fvCraftCardBox{width:min(270px,65vw,calc(61dvh * 2 / 3));aspect-ratio:2/3;flex:none;animation:fvCraftRise .65s cubic-bezier(.14,.8,.2,1) both;filter:drop-shadow(0 0 24px #ffc4777a)}
.fvCraftCelebrationStage>strong{font:700 1.2rem Georgia,serif}.fvCraftCelebrationStage p{margin:0;font-size:.85rem;color:#e7cee7}
.fvCraftContinue{padding:12px 27px!important;border-radius:13px!important;color:#2d1d3e!important;background:#ffe3a1!important;font-weight:900!important;min-height:48px;margin:6px 0}
.fvCraftConfetti{position:absolute;z-index:-1;inset:0;pointer-events:none}.fvCraftConfetti i{position:absolute;top:43%;left:50%;width:8px;height:14px;transform:rotate(var(--a));background:hsl(calc(var(--i) * 67deg),90%,72%);animation:fvCraftConfetti 1.4s var(--d) ease-out both}
@keyframes fvCraftConfetti{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(.5)}100%{opacity:0;transform:rotate(var(--a)) translateY(-340px) scale(1)}}
@keyframes fvCraftRise{0%{opacity:0;transform:translateY(110px) scale(.7) rotate(-8deg)}70%{opacity:1;transform:translateY(-8px) scale(1.07) rotate(2deg)}100%{transform:none}}
.fvGachaPanel{background:radial-gradient(circle at 50% 5%,#fff9ed 0%,#fce8f5 60%,#e8eafa 100%)!important}
.fvGachaAction{background:linear-gradient(110deg,#ef3686,#8a40df)!important;color:#fff!important;border:0!important;box-shadow:0 8px 22px #962a9d4c!important}
.fv65Day{background:linear-gradient(150deg,#fff8ef,#f3d8fe 75%)!important;color:#66315c!important;border:1px solid #bf7cd9!important}.fv65Day strong{color:#77375d!important}.fv65Day.available{background:linear-gradient(140deg,#7d30cb,#e04d9e)!important;color:#fff4e8!important}.fv65Day.available strong{color:#fff5d5!important}.fv65Day.locked{opacity:.65}.fv65Day.opened{background:linear-gradient(145deg,#d2ffe9,#d1e3fa)!important;color:#125955!important}
.fv65Day .fv65DayTop,.fv65Day .fv65DayBase{color:inherit!important;font-weight:800;text-shadow:none!important}
.fv65Day.available .fv65DayTop,.fv65Day.available .fv65DayBase{color:#fff9e8!important}
@media(max-width:580px){.fvGachaOddsGrid{grid-template-columns:1fr}.fvGiftPresent{width:min(280px,82vw);height:305px}.fvGiftTheatre{min-height:390px}.fvPremiumFABottom strong{font-size:11cqw}}
@media(prefers-reduced-motion:reduce){.fvGiftPresent,.fvGiftLid,.fvGiftBase,.fvCraftCardBox,.fvCraftConfetti i{animation:none!important;transition:none!important}}


/* V6.15 visual QA: corrected layout hierarchy and contrast */
.fvArtNoFrame::before{display:none!important}
.fvFA007Approved::before{display:none!important}
.xmasProfiles .profileBtn span,.profileBtn span{color:#5c4037!important;opacity:1!important}
.fv65CadeauLayout .fv65PackSpot .fv65PackFloat{animation:fv65PackFloat 4.5s ease-in-out infinite alternate;transform:rotate(0)}
.fv65CadeauLayout .fv65PackSpot .fvGiftPresent{width:min(305px,52vw);height:315px}
.fv65CadeauLayout .fv65PackSpot .fvGiftPresent:hover{transform:translateY(-9px) rotate(-1deg)}
.fvShinyReminder{background:linear-gradient(120deg,#eaf9fb,#f4e8ff);border:1px solid #9f9fe8;border-radius:15px;padding:12px;color:#442c63;display:grid;gap:5px;line-height:1.38}
.fvShinyReminder b{color:#6820ad;font-size:.91rem}.fvShinyReminder span{font-size:.78rem}
.fvGachaPanel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(12px,3vw,45px);align-items:start}
.fvGachaPanel .fvGachaIntro{grid-column:1/-1;width:100%;max-width:100%;margin:0 auto 2px}
.fvGachaPanel .fvGachaStage{grid-column:1;grid-row:2/5;margin:8px auto 0;transform:scale(1);transform-origin:center top}
.fvGachaPanel .fvGachaAction{grid-column:2;grid-row:2;width:100%;margin:14px 0;align-self:start}
.fvGachaPanel .fvGachaOdds{grid-column:2;grid-row:3;margin:0;padding:14px 15px;width:100%}
.fvGachaPanel .fvGachaResult{grid-column:2;grid-row:4;margin:10px 0 0;width:100%;align-self:start}
.fvGachaBalance{background:linear-gradient(135deg,#7d2b8c,#4b286b)!important;color:#fff3e9!important;box-shadow:0 8px 20px #4d276e2b}
.fvGachaBalance b,.fvGachaBalance span{color:#fff4de!important;text-shadow:none!important}
.fvGachaOddsGrid{grid-template-columns:1fr}
.fvGachaOddsGrid span{font-weight:650}
.fvGachaResult{color:#52335c!important;min-height:75px}
.fvCraftCardBox .fvComposedCard{animation:fvCraftGlow 3s ease-in-out infinite alternate}
@keyframes fvCraftGlow{0%{box-shadow:0 0 12px #e8a3ff85}100%{box-shadow:0 0 38px #ffe4a0b3}}
.fvGiftPresent:focus-visible,.fvGachaAction:focus-visible,.fvCraftContinue:focus-visible{outline:4px solid #fbe5a2!important;outline-offset:5px}
@media(max-width:760px){
.fvGachaPanel{display:flex;flex-direction:column;gap:5px;align-items:stretch;padding:15px 11px!important}
.fvGachaPanel .fvGachaIntro{order:0;max-width:100%;align-items:flex-start;gap:7px}
.fvGachaPanel .fvGachaStage{order:1;transform:scale(.78);height:345px;margin:0 auto -48px;flex:none}
.fvGachaPanel .fvGachaAction{order:2;max-width:100%;width:100%;margin:4px auto 8px!important}
.fvGachaPanel .fvGachaResult{order:3;margin:3px auto 6px;width:100%}
.fvGachaPanel .fvGachaOdds{order:4;width:100%;padding:12px;margin:4px auto}
.fvGachaOddsGrid{grid-template-columns:1fr}
.fv65CadeauLayout .fv65PackSpot .fvGiftPresent{width:260px;height:295px}
}
/* Final gacha layout: override the legacy global mini-game flex rule. */
@media (min-width:761px){
 .fvGameMain>.panel.fvGachaPanel{display:grid!important;grid-template-columns:minmax(340px,1fr) minmax(360px,1fr)!important;justify-content:initial!important;align-items:start!important;column-gap:35px!important;row-gap:12px!important;min-height:690px!important}
 .fvGameMain>.panel.fvGachaPanel .fvGachaIntro{grid-column:1/-1}
 .fvGameMain>.panel.fvGachaPanel .fvGachaStage{grid-column:1;grid-row:2/5;margin:0 auto!important;height:390px!important;transform:scale(.94)!important;transform-origin:center top!important}
 .fvGameMain>.panel.fvGachaPanel .fvGachaAction{grid-column:2;grid-row:2;margin:0!important;min-width:0;width:100%}
 .fvGameMain>.panel.fvGachaPanel .fvGachaOdds{grid-column:2;grid-row:3;margin:0}
 .fvGameMain>.panel.fvGachaPanel .fvGachaResult{grid-column:2;grid-row:4;margin:0}
}
@media (max-width:760px){
 .fvGameMain>.panel.fvGachaPanel{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:initial!important}
 .fvGameMain>.panel.fvGachaPanel .fvGachaStage{transform:scale(.78)!important;transform-origin:center top!important;height:335px!important;margin:0 auto -60px!important}
}

/* V6.15 final color accents and used reward confirmation */
.fvBoostApplied{background:#d5fff1;border:1px solid #31ad8b;border-radius:10px;padding:7px 13px;color:#135e4a;font-size:.82rem;font-weight:850;letter-spacing:.02em;margin:9px auto;max-width:max-content}
.fv65Nav button.active{background:linear-gradient(120deg,#7635a3,#c33d80)!important;color:#fff5e9!important;border:1px solid #ad78c5!important}
.fv65BigStart,.fv65LobbySide [data-open]{background:linear-gradient(120deg,#9135c3,#d64086)!important;color:#fff!important;box-shadow:0 10px 25px #b53a9147!important}
.fv65PageIntro .fv65Eyebrow{color:#a43880!important}.fv65PageIntro h1{color:#632958!important}
.fvGachaPanel .fvGachaStage{filter:drop-shadow(0 20px 18px #8e3a7454)}

/* === Family Vault V6.16: references locked / large blue-copper Capsule Vault === */
:root{--fv-ui-primary:#076f87;--fv-ui-secondary:#164d83;--fv-ui-sun:#f4c45c;--fv-ui-leaf:#15805d}
/* Full Art canonical typography, based on FA-007 reference; never alter underlying raster. */
.fvArtNoFrame::before{display:none!important}
.fvComposedCard.fvArtNoFrame .fvPremiumFullArtLettering{position:absolute;inset:0;z-index:5;pointer-events:none;color:#ffefc4;overflow:hidden}
.fvComposedCard.fvArtNoFrame .fvPremiumFABrand{top:3.4%!important;left:5%;right:5%;text-align:center;font:700 clamp(10px,4.5cqw,34px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:.18em;color:#fff0c8;text-shadow:0 2px 7px #171a20,0 0 2px #000;-webkit-text-stroke:.4px #3b291f}
.fvComposedCard.fvArtNoFrame .fvPremiumFABottom{left:0;right:0;bottom:0;min-height:17%;padding:7% 7.1% 2.7%!important;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:end;gap:1% 2%;background:linear-gradient(to top,rgba(8,12,19,.89) 0,rgba(8,14,20,.43) 68%,transparent 100%);}
.fvComposedCard.fvArtNoFrame .fvPremiumFABottom strong{grid-column:1/-1;grid-row:1;justify-self:start;font:italic 500 clamp(22px,11cqw,85px)/1.05 'Segoe Script','URW Chancery L','Brush Script MT','Palatino Linotype',cursive;letter-spacing:-.02em;color:#fff0bc;text-shadow:0 2px 6px #040509,1px 1px 0 #7b5b31;filter:none;white-space:nowrap;max-width:100%;}
.fvComposedCard.fvArtNoFrame .fvPremiumFABottom span{grid-column:1;grid-row:2;align-self:end;font:600 clamp(8px,3.1cqw,24px)/1.15 Georgia,serif;letter-spacing:.09em;color:#fff1c5;white-space:normal;text-align:left}
.fvComposedCard.fvArtNoFrame .fvPremiumFABottom em{grid-column:2;grid-row:2;align-self:end;font:800 clamp(9px,3cqw,24px)/1.15 Georgia,serif;letter-spacing:.12em;color:#fff1c5;white-space:nowrap}
/* The reference illustration sent by user was ONLY a typographic sample. */
.fvFA007Approved .fvPremiumFullArtLettering{display:block!important}
/* Non-card UI: vivid azure, turquoise, copper and gold; preserve pink-green FUSION frames. */
.fv65Nav button.active{background:linear-gradient(120deg,#164d83,#007b89)!important;color:#fff!important;border:1px solid #4dc3cf!important;box-shadow:0 4px 14px #164d8335!important}
.fv65BigStart,.fv65LobbySide [data-open],.fvGachaAction{background:linear-gradient(115deg,#0d7294,#1754ae)!important;color:#fffaf0!important;border:1px solid #49c9df!important;box-shadow:0 10px 24px #14588945!important}
.fv65PageIntro .fv65Eyebrow{color:#0c7692!important}
.fv65PageIntro h1{color:#1f4266!important}
.fv65Day.available:not(.opened){background:linear-gradient(145deg,#096d84,#144775)!important;border-color:#f0ba5f!important;color:#fff7e1!important}
.fv65Day.available:not(.opened) strong{color:#fff1be!important}
.fvShinyReminder{background:linear-gradient(120deg,#e7fcf8,#e6f3ff)!important;border-color:#5dbbb5!important;color:#164e61!important}
.fvShinyReminder b{color:#076c81!important}
/* Gacha machine: no crest over capsules, significantly larger and center-aligned. */
.fvGameMain>.panel.fvGachaPanel,.fvGachaPanel{background:radial-gradient(circle at 33% 20%,#f1fff9,#e7f5fc 58%,#f7eaca 100%)!important;color:#193e55!important;border:1px solid #8dd0cc!important;max-width:1330px!important}
.fvGachaIntro small{color:#086b8a!important}
.fvGachaIntro h2{color:#174c70!important}
.fvGachaIntro p{color:#355b68!important}
.fvGachaBalance{background:linear-gradient(135deg,#086d92,#164b8a)!important;border:2px solid #74d7d2!important;color:#ffecb1!important}
.fvGachaPanel .fvGachaStage,.fvGameMain>.panel.fvGachaPanel .fvGachaStage{position:relative!important;width:min(440px,100%)!important;height:524px!important;min-height:524px!important;transform:none!important;max-height:none!important;overflow:visible!important;filter:drop-shadow(0 19px 19px #164c6b35)!important;margin:0 auto!important}
.fvGachaModel{position:absolute;width:340px;height:420px;top:0;left:50%;transform:translateX(-50%) scale(1.27);transform-origin:top center;}
.fvGachaGlass{border-color:#67d3cb!important;background:radial-gradient(circle at 28% 20%,#fffef1d9,#bdedff5a 33%,#7db9e75a 70%,#3eaac25a)!important;box-shadow:inset 0 0 0 4px #fff8,inset 16px 11px 36px #e3fbffae,inset -12px -15px 38px #25578968,0 8px 0 #13567e!important}
.fvGachaMachine{background:linear-gradient(120deg,#248ba7 0%,#115a8b 55%,#142f68 100%)!important;border-color:#6ad6cd!important;box-shadow:inset 0 8px 15px #ffffff45,inset -12px -10px 20px #071c4966,0 6px 14px #12496e44!important}
.fvGachaMachineFoot{background:#174d75!important;border-color:#58d1b7!important}
.fvGachaMachineLogo{color:#fff5d5!important;text-shadow:0 1px 3px #0b3157}
.fvGachaHandle{border-color:#f5cf75!important;background:radial-gradient(circle,#fff6c9,#b78143)!important}
.fvGachaChute{border-color:#f4c778!important;background:#142944!important}
.fvGachaPrizeBall{background:linear-gradient(to bottom,#2de3d2 48%,#fff9e8 49% 55%,#096ead 56%)!important;border-color:#def8f1!important}
.fvGachaCrest{display:none!important}
.fvGachaBalls{top:27px;bottom:0;left:8px;right:8px;height:174px;overflow:hidden}
.fvGachaBall{border-color:#f9fff5b3!important}
.fvGachaAction{min-height:60px!important;font-size:1.07rem!important}
.fvGachaResult{background:#f6fff8!important;border-color:#82c7aa!important;color:#1d5868!important}
.fvGachaOdds{border:1px solid #9ed1c1!important;border-radius:17px!important;background:#f5fff8!important;color:#225469!important}
.fvGachaOdds h3{color:#075d7a!important}
.fvGachaOdds p{color:#3d6572!important}
@media (min-width:761px){
 .fvGameMain>.panel.fvGachaPanel{grid-template-columns:minmax(440px,1.15fr) minmax(310px,.85fr)!important;column-gap:clamp(16px,3vw,50px)!important;min-height:700px!important}
 .fvGameMain>.panel.fvGachaPanel .fvGachaStage{height:524px!important}
}
@media (max-width:760px){
 .fvGachaPanel .fvGachaStage,.fvGameMain>.panel.fvGachaPanel .fvGachaStage{width:min(100%,345px)!important;height:405px!important;min-height:405px!important;transform:none!important;margin:0 auto!important}
 .fvGachaModel{transform:translateX(-50%) scale(.94)}
 .fvGachaPanel .fvGachaIntro{align-items:start}
}
@media (max-width:390px){.fvGachaPanel .fvGachaStage,.fvGameMain>.panel.fvGachaPanel .fvGachaStage{height:375px!important;min-height:375px!important}.fvGachaModel{transform:translateX(-50%) scale(.86)}}
@media(prefers-reduced-motion:reduce){.fvGachaPlaying .fvGachaModel *{animation:none!important}}


/* V6.16 color cleanup: the only vivid fuchsia remains the approved Fusion frame/foil. */
.fvGachaOddsGrid span{background:#ddf4f2!important;border:1px solid #99d8ca!important;color:#184b60!important}
.fvGachaOddsGrid span:nth-child(even){background:#e5edff!important;border-color:#9ebdf0!important}
.fvGachaOddsGrid b{color:#07598c!important;font-size:.9rem!important}
.fvGiftBase{background:linear-gradient(125deg,#0d6595 0%,#1354a4 46%,#154076 74%,#0c355b 100%)!important}
.fvGiftLid{background:linear-gradient(140deg,#047e8b,#238f9b 46%,#174a84 100%)!important}
.fvGiftBase,.fvGiftLid{border-color:#ffd878!important}
.fvGiftSparks i{background:#f9d57c}
.fv65PackSpot{background:radial-gradient(ellipse at 50% 50%,#21c7c63b 0%,transparent 48%),linear-gradient(135deg,#101e42,#123756 70%,#113d35)!important}
.fv65Available{background:linear-gradient(120deg,#145f87,#163f6b)!important;color:#fff2d1!important}
.fv65FilterButtons button.active{background:#176b86!important;border-color:#63cfc6!important;color:#fff!important}
.fvFullArtAlbum{background:linear-gradient(140deg,#12283c,#214b57 57%,#123126)!important;color:#fff0c5!important}
.fvChampHero{background:radial-gradient(circle at 88% 18%,#22cabc40,transparent 36%),linear-gradient(120deg,#122d52,#174f73 62%,#0c665b)!important;border-color:#ebc477!important}
.fvChampChallenge{background:linear-gradient(140deg,#1e3e61,#16566b)!important}
.fvChampChallenge:nth-child(2){background:linear-gradient(140deg,#164c55,#0e7169)!important}
.fvChampChallenge:nth-child(3){background:linear-gradient(140deg,#23456c,#1d547f)!important}

/* Capsules use an explicitly non-pink palette; Fusion cards retain their own canonical fuchsia. */
.fvGachaBall{background:linear-gradient(to bottom,hsl(var(--fv-ball-h) 86% 74%) 0 49%,#fff8 50%,hsl(var(--fv-ball-h) 80% 48%) 52%)!important}
.fvGachaBall:nth-child(6n + 1){--fv-ball-h:194deg}
.fvGachaBall:nth-child(6n + 2){--fv-ball-h:142deg}
.fvGachaBall:nth-child(6n + 3){--fv-ball-h:52deg}
.fvGachaBall:nth-child(6n + 4){--fv-ball-h:28deg}
.fvGachaBall:nth-child(6n + 5){--fv-ball-h:230deg}
.fvGachaBall:nth-child(6n + 6){--fv-ball-h:173deg}

/* Family Vault V6.17 — interface bleu nuit, turquoise, cuivre et or. Les cadres Fusion restent inchangés. */
:root{--fv617-navy:#111c36;--fv617-teal:#087f91;--fv617-ice:#c8f4ed;--fv617-gold:#f0c971;--fv617-ink:#24304a}
body{background:radial-gradient(ellipse at 12% 8%,#fff7e6 0,transparent 31%),radial-gradient(ellipse at 83% 20%,#d3ecf0 0,transparent 30%),linear-gradient(150deg,#f0e6d2,#e3e8dd 58%,#d9e6e9)!important}
.fv65Nav button.active,.nav button.active{background:#193e58!important;color:#f9eacb!important;border-color:#b38b50!important}
.fv65BigStart,.fv65RevealTools [data-auto][aria-pressed=true],.fv65CountChoices button.active,.fv65LobbySide .fvCountChoices button.active{background:linear-gradient(130deg,#116f83,#18466f)!important;color:#fff7da!important}
.fv65PackSpot{background:radial-gradient(ellipse at 50% 45%,#2a667a,#142c49 67%,#0f1b35)!important;border-color:#8cc3c0!important}
.fv65PackSpot:before{background:repeating-conic-gradient(from 20deg at 50% 50%,#ffe6a912 0deg 12deg,transparent 12deg 26deg)!important}
.fv65PackTag,.fv65RevealHeading .fv65Eyebrow{color:#f4d797!important}
.fv65LobbySide,.fvGachaPanel{border-color:#b8cfcc!important}
.fv65Available{background:linear-gradient(135deg,#174f69,#112a4c)!important;color:#fff0cc!important}
.fv65Available strong{color:#fff0be}
.fv65PageIntro h1,.fvGachaIntro h2,.fvGamePlayHeading strong{color:#184e67!important}
.fv65FoilPack{background:linear-gradient(115deg,#0e283f,#206a80,#11698b,#113351)!important}
.fvGiftPresent{box-sizing:border-box!important;width:min(390px,86vw)!important;height:390px!important;transform:none!important;background:transparent!important;border:0!important;filter:drop-shadow(0 17px 18px #08182d88);padding:0!important;display:block!important;overflow:visible!important}
.fvGiftPresent .fvGiftVector{width:100%;height:100%;display:block;overflow:visible;pointer-events:none;filter:none}
.fvGiftPresent:hover{transform:translateY(-8px) scale(1.025)!important}
.fvGiftSvgLid{transform-box:fill-box;transform-origin:50% 100%;transition:transform .25s}
.fvGiftPresent.fvGiftOpened .fvGiftSvgLid{animation:fv617LiftLid .7s cubic-bezier(.24,.7,.2,1) forwards}
.fvGiftPresent.fvGiftOpened .fvGiftSvgBody{animation:fv617OpenGlow .8s ease forwards}
.fvGiftVectorStars{animation:fv617Sparkle 2.4s ease-in-out infinite alternate;transform-origin:50% 50%}
.fvGiftHint{position:absolute;left:50%;bottom:0;transform:translateX(-50%);white-space:nowrap;color:#fff1be;font:800 .8rem system-ui;letter-spacing:.06em;text-shadow:0 2px 4px #000}
.fvGiftPresent.fvGiftOpened .fvGiftHint{opacity:0}
@keyframes fv617LiftLid{0%{transform:translateY(0) rotate(0)}35%{transform:translateY(-42px) rotate(-6deg)}100%{transform:translate(38px,-150px) rotate(19deg);opacity:0}}
@keyframes fv617OpenGlow{55%{filter:brightness(1.55)}100%{filter:brightness(1)}}
@keyframes fv617Sparkle{from{opacity:.3}to{opacity:1}}
.fvGiftExtract .fvGiftPresent{transform:scale(.75)!important;pointer-events:none}
.fvGiftExtract .fvGiftHint{display:none}
.fvGiftExtract .fvGiftSvgLid{opacity:0!important;animation:none!important}
.fvGiftExtract .fvPocketRisingCards{z-index:7}
.fvCraftCelebrate{background:radial-gradient(ellipse at center,#174a62f2,#101b37fa 75%)!important;overflow-y:auto!important;overflow-x:hidden!important}
.fvCraftCelebrationStage{max-height:none!important;overflow:visible!important;padding:20px 18px 35px!important;min-height:0!important}
.fvCraftCelebrationStage::-webkit-scrollbar,.fvCraftCelebrate::-webkit-scrollbar{width:0!important;height:0!important}
.fvCraftCelebrationStage h2{color:#f7e2aa!important;text-shadow:0 0 13px #ffda8b65!important}
.fvCraftCelebrationStage p{color:#d3f2ef!important}
.fvCraftCelebrationStage .fvCraftCardBox{width:min(330px,calc(58dvh * 2 / 3),82vw)!important;max-height:none!important}
.fvCraftCardBox .fvComposedCard{box-shadow:0 8px 24px #050e25b2;border-radius:10px}
.fvCraftCelebrate .fvCraftContinue{background:linear-gradient(125deg,#f8dd97,#e2b46e)!important;color:#1e2940!important;min-width:185px;border-radius:12px!important}
.fvComposedCard.fvPortraitFloating .fvBaseIllustration{filter:blur(1.35px) saturate(.91)!important}
.fvPortraitFloating .fvPortraitBackdrop{filter:blur(1.2px) saturate(.95)!important;opacity:.94!important}
.fvPortraitLayer>.fvPortraitCutout,.fvComposedCard.fvPortraitFloating .fvPortraitCutout{filter:drop-shadow(0 8px 12px #09152491)!important}
.fv617AdminTest{margin:16px 0 24px;padding:19px;border:2px solid #6cbab7;border-radius:17px;background:linear-gradient(140deg,#eafafa,#fdf3dd);color:#214358}
.fv617AdminTest h3{color:#174e68;margin:0 0 8px}.fv617AdminTest p{color:#355f69}
.fv617AdminControls{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
.fv617AdminControls label{display:grid;gap:5px;font-weight:750;font-size:.78rem;min-width:185px}.fv617AdminControls select{max-width:260px;min-height:43px}
.fv617AdminControls button{min-height:44px;background:#0d748a;color:#fff7ea;border:1px solid #91d9d4}
.fvAdminPreviewNote{color:#c9ffea;font-weight:850;letter-spacing:.08em;text-align:center;font-size:.7rem}
.fvAdminLivePreview .fvZoomArt{max-height:72dvh!important}
.fv617WorkPreview{width:clamp(75px,7vw,115px);aspect-ratio:2/3;flex:none;overflow:hidden;border:1px solid #bda97d;border-radius:8px;box-shadow:0 5px 10px #102b3933}
.fv617WorkPreview .fvComposedCard{width:100%;height:100%}
.dustShop{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))!important}
.dustShop .shopItem{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#eff7f3!important;border-color:#afc8ba!important;color:#243b4f!important;box-shadow:0 4px 13px #183c4921}
.dustShop .shopItem small{color:#395965!important;line-height:1.4}
.dustShop .shopItem button{margin-top:auto;width:100%;background:#134e68!important;color:#fff3df!important}
.fvFusionWorkshop{background:linear-gradient(140deg,#f9fffc,#e0faf2 65%,#e4f0ef)!important}
.fv617FusionRecipe{background:linear-gradient(150deg,#e8fff1,#daf6f0)!important;color:#184b53!important;border:1px solid #7fb8a6!important}
.fv617FusionResult{width:min(120px,48%);aspect-ratio:2/3;margin:12px auto;box-shadow:0 6px 15px #16483636}
.fv617FusionResult>.fvComposedCard{width:100%;height:100%}
.fv617SecretRecipe,.fv617UnknownIngredient{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(140deg,#0e354a,#17667a);color:#f6d68b;border-radius:8px;font:bold 2rem Georgia,serif}
.fv617IngredientGallery{display:flex;justify-content:center;gap:12px;min-height:105px}
.fv617IngredientThumb{width:min(92px,42%);aspect-ratio:2/3;border-radius:6px;overflow:hidden;box-shadow:0 3px 10px #142e403b}
.fv617IngredientThumb .fvComposedCard{width:100%;height:100%}
.fv617FusionRecipe .req{color:#184b53!important;border-color:#7fb8a6}
.fv617FusionRecipe h3{color:#16445e!important}
.fvZoomShade{overflow-y:auto;overflow-x:hidden}
.fvZoom{overflow:visible!important;max-height:none!important;padding:18px 12px 28px}
.fvZoom .fvZoomArt{flex:none}
.fvZoom .fvZoomTop{position:sticky;top:0;z-index:55;background:#11213aeb;padding:8px 10px;border-radius:12px}
.fvZoomShade::-webkit-scrollbar{width:8px}.fvZoomShade::-webkit-scrollbar-thumb{background:#739fa6;border-radius:6px}
@media(max-width:700px){.fvGiftPresent{width:min(300px,83vw)!important;height:315px!important}.fvGiftTheatre{min-height:350px!important}.fvCraftCelebrate{padding:8px!important}.fv617AdminControls label{min-width:100%;width:100%}.fv617AdminControls select{max-width:100%;width:100%}.fv617AdminControls button{flex:1 1 100%}.fv617FusionResult{width:125px}}
@media(prefers-reduced-motion:reduce){.fvGiftSvgLid,.fvGiftVectorStars{animation:none!important}}


/* V6.17 final palette pass: interface controls only; never recolor fusion frames or artwork. */
.fv65Topbar{background:#eff8f5f0!important;border:1px solid #9bc3c1!important}
.fv65Topbar .brandMark{background:linear-gradient(150deg,#0a687a,#15385c)!important;border-color:#edc876!important;color:#f6e3a9!important}
.fv65Nav button.active{background:#164963!important;color:#fff4d6!important;border-color:#d5b66d!important;box-shadow:0 5px 14px #17445944!important}
.fv65PageIntro .fv65Eyebrow{color:#087c80!important}
.fv65PageIntro h1{color:#194663!important}
.fv65Available,.fvGachaBalance{background:#174663!important;color:#fff3d0!important}
.fvGameMain .panel h2,.fv65GamePlayHeading strong{color:#174a64!important}
.fv65SummaryActions{background:#152a41ed!important}
.fv65RevealShade{background:radial-gradient(ellipse at 50% 35%,#234e63,#10233c 70%,#0a172b 100%)!important}
.fv65RevealScene:before{border-color:#e6c67e40!important;box-shadow:0 0 0 80px #36afac13,0 0 0 160px #e9c97907!important}
.fv65SummaryCard{background:#1d4261bb!important;border-color:#84c9c58c!important}
.fv65RevealTools button{background:#0c4664d6!important;color:#ffe8b7!important;border-color:#c5e8dd90!important}
.fv65RevealTools button[aria-pressed=true]{background:#f1d18d!important;color:#20364d!important}
.fvGachaStage{filter:drop-shadow(0 17px 15px #183c5751)!important}
.fvGachaIntro small{color:#087c82!important}
.fvGachaIntro p{color:#31535c!important}
.fvGachaPanel .fvGachaAction{background:linear-gradient(120deg,#0a7288,#174b76)!important;color:#fff8e6!important}
.fvGachaPanel .fvGachaOddsGrid{border-color:#8abeb5!important}
.fvGachaPanel .fvGachaResult{background:#e1f3ee!important;color:#184659!important}
.fv617AdminControls button:hover{filter:brightness(1.15)}
.fvCraftCelebrate,.fvCraftCelebrationStage{scrollbar-width:none!important}
.fvCraftCelebrate::-webkit-scrollbar,.fvCraftCelebrationStage::-webkit-scrollbar{display:none!important}
.fvPremiumFABottom span:empty{display:none!important}


/* Final legibility patch after V6.17 visual inspection */
.fv65Topbar .brand strong,.fv65Topbar .fv65Stat b{color:#153b53!important}
.fv65Topbar .brand small,.fv65Topbar .fv65Stat small{color:#466779!important}
.fv65Topbar .stats{color:#34576c!important}
.fv65Topbar .topbarActions button{background:#164d68!important;color:#fff4d9!important}
.fv65CadeauLayout .fv65LobbySide{color:#1e4359!important}
body .fvFusionWorkshop{background:linear-gradient(150deg,#ebf8ed,#d9f2eb 58%,#e0eefe)!important;border:1px solid #8dbab0!important;color:#173e54!important}
body .fvFusionWorkshop .viewIntro{background:#f0fcf8!important;border-color:#b2d8c6!important}
body .fvFusionWorkshop h2,body .fvFusionWorkshop h3,body .fvFusionWorkshop p,body .fvFusionWorkshop .small,body .fvFusionWorkshop .viewIntro h2,body .fvFusionWorkshop .viewIntro p{color:#1c4b5d!important}
body .fvFusionWorkshop .metric{background:#ddf2eb!important;border-color:#9acdbd!important;color:#1d5266!important}
body .fvFusionWorkshop .metric b{color:#14596c!important}
body .fvFusionWorkshop .recipe.fv617FusionRecipe{background:linear-gradient(150deg,#f6fff6,#d5f1e9)!important;color:#194359!important;border-color:#86b8ab!important}
body .fvFusionWorkshop .recipe.fv617FusionRecipe p,body .fvFusionWorkshop .recipe.fv617FusionRecipe .small{color:#385e61!important}
body .fvFusionWorkshop .recipe.fv617FusionRecipe>div:first-child{color:#155d77!important}
body .fvFusionWorkshop .recipe.fv617FusionRecipe .req{color:#254e5c!important}
body .fvFusionWorkshop .recipe.fv617FusionRecipe button.gold{background:linear-gradient(130deg,#d7ad62,#f5dfa2)!important;color:#243e47!important;border-color:#b18d47!important}
body .fvFusionWorkshop .recipe.fv617FusionRecipe button:not(:disabled){box-shadow:0 4px 14px #104e5c28!important}
body .fvFusionWorkshop .fv617SecretRecipe,body .fvFusionWorkshop .fv617UnknownIngredient{color:#f8df96!important}
body .fvFusionWorkshop .fv617FusionResult,body .fvFusionWorkshop .fv617IngredientThumb{background:#0d4a65}
.fvCraftCelebrate .fvCraftCelebrationStage>small{white-space:normal!important;letter-spacing:.12em!important}
.fvCraftCelebrate .fvCraftCelebrationStage{scrollbar-width:none!important}

.fv617AdminGrant{margin-top:14px;display:flex;gap:9px;flex-wrap:wrap;align-items:center}.fv617AdminGrant button{min-height:44px}.fv617AdminGrant p{flex:1 1 100%;margin:2px 0 0;color:#42666b;font-size:.79rem}
.fv65Topbar .fv65Stat{border-color:#a5c4c0!important}
.fv65Nav button.active,.nav button.active{background:#164f64!important;color:#fff2cf!important}
.workTabs button.active,.fvFusionWorkshop .workTabs button.active{background:#15677b!important;color:#fff7e3!important;border-color:#7bbfc5!important}

/* FV6.19: rendu de référence du laboratoire V8 — foil de TOUTE la carte, immobile au repos. */
.fvComposedCard{--rainbowAngle:113deg;--spectralAngle:65deg;--fx:50%;--fy:50%;--hue:195;--shineAngle:112deg}
.fvComposedCard .fvFxHolo{position:absolute!important;inset:0!important;z-index:2!important;overflow:hidden!important;border-radius:inherit!important;clip-path:inset(0 round 3%)!important;contain:paint;isolation:isolate;pointer-events:none;--foilAmount:.75}
.fvComposedCard:not(.fvShinyEnabled) .fvFxHolo{opacity:0!important}
.fvComposedCard.fvShinyEnabled .fvFxHolo{opacity:1!important}
.fvComposedCard .fvFxHolo>div{position:absolute;inset:0;animation:none!important;background-size:100% 100%!important;pointer-events:none;transition:opacity .2s ease-out}
.fvComposedCard .fvHoloChromatic{mix-blend-mode:color!important;opacity:calc(var(--foilAmount,.75) * .83)!important;background:linear-gradient(var(--rainbowAngle,113deg),#fa2bb5 0%,#ab53f9 16%,#51bafe 31%,#31e0c6 47%,#9bff4d 62%,#ffca42 78%,#ff608b 100%)!important}
.fvComposedCard .fvHoloSpectral{mix-blend-mode:color-dodge!important;opacity:calc(var(--foilAmount,.75) * .32)!important;mask:none!important;-webkit-mask:none!important;background:conic-gradient(from var(--spectralAngle,65deg) at var(--fx,50%) var(--fy,50%),#fb3095,#90d9ff,#f5d27e,#78ffe2,#e35ef7,#fb3095)!important}
.fvComposedCard .fvHoloDetails{mix-blend-mode:screen!important;opacity:0!important;mask:none!important;-webkit-mask:none!important;background:radial-gradient(ellipse 48% 40% at var(--fx,50%) var(--fy,50%),#ffffff8c 0%,hsla(var(--hue,195),100%,68%,.82) 23%,hsla(calc(var(--hue,195) + 95),100%,65%,.40) 45%,transparent 83%),linear-gradient(var(--shineAngle,112deg),transparent 23%,#ffffff43 48%,transparent 72%)!important}
.fvComposedCard.fvHoloEngaged .fvHoloChromatic{opacity:calc(var(--foilAmount,.75) * 1.03)!important}
.fvComposedCard.fvHoloEngaged .fvHoloSpectral{opacity:calc(var(--foilAmount,.75) * .54)!important}
.fvComposedCard.fvHoloEngaged .fvHoloDetails{opacity:calc(var(--foilAmount,.75) * .50)!important}
/* Le voile spectral reste derrière les textes officiels et derrière les fragments Épiques. */
.fvComposedCard .fvFrameDynamic{z-index:3}
.fvComposedCard .fvOwnedShinyMark{z-index:8}

/* FV6.19: Vault 21 : chaque carte a une fenêtre illustration 2:3, sans gros cartouche générique. */
.fvGameMain #bjArea .miniPlaying{width:clamp(145px,16vw,226px)!important;aspect-ratio:auto!important;min-height:0!important;flex:0 1 auto!important;display:flex!important;flex-direction:column!important;gap:5px!important;background:#fff9ed!important;border:2px solid #d3ac75!important;border-radius:14px!important;padding:8px!important;color:#452f40!important;box-shadow:0 12px 20px #0002!important;overflow:hidden!important}
.fvGameMain #bjArea .miniPlaying .miniArt{width:100%!important;height:auto!important;aspect-ratio:2/3!important;min-height:0!important;max-height:none!important;border-radius:8px!important;overflow:hidden!important;position:relative!important;padding:0!important;background:#17243b!important;display:block!important}
.fvGameMain #bjArea .miniPlaying .fvComposedCard{width:100%!important;height:100%!important;aspect-ratio:2/3!important;display:block!important;transform:none!important}
.fvGameMain #bjArea .miniPlaying .miniArt>.fvVaultGameCardBack{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(130deg,#232a4b,#38294a);color:#f5d29b}
.fvGameMain #bjArea .miniPlaying > b{margin:1px 0 0!important;font-size:clamp(12px,1.3vw,17px)!important;line-height:1.15!important;color:#493247!important;white-space:normal!important;overflow-wrap:anywhere;min-height:2.3em}
.fvGameMain #bjArea .miniPlaying > em{margin:0!important;display:grid!important;place-items:center!important;align-self:center!important;min-width:44px!important;min-height:44px!important;background:#253956!important;color:#fff3d6!important;font:900 25px system-ui!important;border:1px solid #d9b46e!important;border-radius:10px!important}
.fvGameMain #bjArea .miniPlaying .fvFrameDynamic .fvFrameTitle{font-size:4.6cqw!important}
.fvGameMain #bjArea .handCards{display:flex!important;gap:12px!important;align-items:flex-start!important;flex-wrap:wrap!important;overflow:visible!important}
@media(max-width:600px){.fvGameMain #bjArea .miniPlaying{width:clamp(120px,42vw,186px)!important}.fvGameMain #bjArea .handCards{gap:7px!important}}

/* FV6.19: le cadeau n'est plus dupliqué en surimpression pendant l'extraction. */
.fvGiftPresent.fvGiftOpened{pointer-events:none}
.fvGiftPresent.fvGiftOpened .fvGiftSvgLid{animation:fv617LiftLid .7s cubic-bezier(.24,.7,.2,1) forwards}
.fvGiftStageLeaving{animation:fvGiftStageLeaving 1.06s ease-in-out forwards;pointer-events:none}
@keyframes fvGiftStageLeaving{0%,35%{opacity:1;transform:scale(1)}70%{opacity:.88;transform:translateY(12px) scale(.94)}100%{opacity:0;transform:translateY(65px) scale(.8)}}
.fvGiftSingleLift{position:absolute;left:50%;top:50%;width:min(255px,45vw);aspect-ratio:2/3;border:4px solid #deb978;border-radius:14px;transform:translate(-50%,22%) scale(.56);opacity:0;background:repeating-linear-gradient(45deg,#273456 0 12px,#3e4365 13px 16px);box-shadow:0 15px 34px #090d24a1;pointer-events:none;animation:fvGiftLift 1.02s cubic-bezier(.12,.72,.2,1) forwards;z-index:8}
.fvGiftSingleLift:after{content:'FV';position:absolute;inset:33%;display:grid;place-items:center;border:2px solid #f3dca3;color:#f9e4ab;border-radius:50%;font:700 2rem Georgia,serif}
@keyframes fvGiftLift{0%{opacity:0;transform:translate(-50%,44%) scale(.4)}22%{opacity:1}80%{opacity:1;transform:translate(-50%,-50%) scale(.87)}100%{opacity:0;transform:translate(-50%,-73%) scale(1)}}


/* V6.20 — surfaces de mystère des cartes non obtenues dans l'Atelier. */
.fv620MysteryCard{width:100%;height:100%;min-height:125px;aspect-ratio:2/3;display:grid;place-items:center;overflow:hidden;border-radius:11px;position:relative;background:linear-gradient(145deg,#102a38 0%,#142336 53%,#0b1727 100%);border:2px solid #b69a70;box-sizing:border-box;box-shadow:inset 0 0 25px #0008}
.fv620MysteryCard::before{content:'';position:absolute;inset:7%;border:1px solid #e3c3878c;border-radius:7px;pointer-events:none}
.fv620MysteryCard::after{content:'';position:absolute;inset:0;opacity:.20;background:repeating-linear-gradient(135deg,transparent 0 20px,#afcae430 20px 22px)}
.fv620MysteryBorder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#ecd8ac;text-align:center;position:relative;z-index:1;padding:8px}
.fv620MysteryBorder .fv620MysteryStar{font:normal clamp(24px,4vw,47px)/1 Georgia,serif;color:#e7c68a;text-shadow:0 0 17px #dbbe7b7d}
.fv620MysteryBorder strong{color:#ffe6ad!important;font:800 clamp(9px,1.1vw,15px)/1.3 system-ui;letter-spacing:.075em}
.fv620MysteryBorder small{font:700 clamp(8px,.85vw,12px)/1.3 system-ui;letter-spacing:.10em;color:#d1e4ec!important}
.fv617FusionResult .fv620MysteryCard,.fv617IngredientThumb .fv620MysteryCard,.fv617WorkPreview .fv620MysteryCard{height:100%;min-height:0}


/* V6.21: The hologram is the approved V8 THREE-layer foil.  Move the three
   blend layers into the card's own painting context (display:contents) so
   mix-blend-mode:color blends with real artwork, not an empty transparent box. */
.fvComposedCard{isolation:isolate!important;overflow:hidden;}
.fvComposedCard .fvFxHolo{display:contents!important;isolation:auto!important;contain:none!important;clip-path:none!important;opacity:1!important;}
.fvComposedCard .fvFxHolo>div{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:1!important;animation:none!important;background-size:100% 100%!important;border-radius:inherit!important;}
.fvComposedCard:not(.fvShinyEnabled) .fvFxHolo>div{display:none!important;}
.fvComposedCard.fvShinyEnabled .fvFxHolo>div{display:block!important;}
.fvComposedCard .fvHoloChromatic{mix-blend-mode:color!important;opacity:calc(var(--foilAmount,.75) * .83)!important;background:linear-gradient(var(--rainbowAngle,113deg),#fa2bb5 0%,#ab53f9 16%,#51bafe 31%,#31e0c6 47%,#9bff4d 62%,#ffca42 78%,#ff608b 100%)!important;}
.fvComposedCard .fvHoloSpectral{mix-blend-mode:color-dodge!important;opacity:calc(var(--foilAmount,.75) * .32)!important;background:conic-gradient(from var(--spectralAngle,65deg) at var(--fx,50%) var(--fy,50%),#fb3095,#90d9ff,#f5d27e,#78ffe2,#e35ef7,#fb3095)!important;}
.fvComposedCard .fvHoloDetails{mix-blend-mode:screen!important;opacity:0!important;background:radial-gradient(ellipse 48% 40% at var(--fx,50%) var(--fy,50%),#ffffff8c 0%,hsla(var(--hue,195),100%,68%,.82) 23%,hsla(calc(var(--hue,195) + 95),100%,65%,.40) 45%,transparent 83%),linear-gradient(var(--shineAngle,112deg),transparent 23%,#ffffff43 48%,transparent 72%)!important;}
.fvComposedCard.fvHoloEngaged .fvHoloChromatic{opacity:calc(var(--foilAmount,.75) * 1.03)!important;}
.fvComposedCard.fvHoloEngaged .fvHoloSpectral{opacity:calc(var(--foilAmount,.75) * .54)!important;}
.fvComposedCard.fvHoloEngaged .fvHoloDetails{opacity:calc(var(--foilAmount,.75) * .50)!important;}
/* Keep original frame and all card labels above the holo, as in the validated V8. */
.fvComposedCard .fvFrameOverlay{z-index:3!important;}
.fvComposedCard .fvFrameDynamic,.fvComposedCard .fvPremiumFullArtLettering{z-index:4!important;}
.fvComposedCard .fvOwnedShinyMark{z-index:10!important;}
/* Portrait can intentionally overflow its card, but the foil never can. */
.fvComposedCard.fvPortraitFloating .fvFxHolo>div{clip-path:inset(0 round 3%)!important;}
/* Morphing card bridge: rendered for only the short gift -> card transition. */
.fv621CardBridge{z-index:25012;box-sizing:border-box;overflow:hidden;pointer-events:none;aspect-ratio:2/3;border:4px solid #e5bf73;border-radius:13px;background:repeating-linear-gradient(45deg,#273456 0 14px,#3e4365 15px 18px);box-shadow:0 20px 40px #070c21b0,inset 0 0 0 6px #152039;display:grid;place-items:center;}
.fv621BridgeSeal{width:44%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:2px solid #f3dca3;box-shadow:0 0 0 7px #eed39325;color:#f9e4ab;font:700 clamp(24px,5vw,48px) Georgia,serif;}


/* V6.23 — Source V8, foil interactif n°9. Pas d'animation autonome.
   The parent cannot be a painted containment layer: color-dodge/color require the real artwork behind. */
.fvComposedCard.fvShinyEnabled { --foilAmount:.75; --fx:50%;--fy:50%;--hue:195;--shineAngle:112deg;--spectralAngle:65deg;--rainbowAngle:113deg; }
.fvComposedCard.fvShinyEnabled > .fvFxHolo {
  position:absolute!important;inset:0!important;z-index:9!important;
  opacity:1!important;background:transparent!important;border:0!important;
  border-radius:inherit!important;clip-path:none!important;-webkit-clip-path:none!important;
  contain:none!important;isolation:auto!important;mix-blend-mode:normal!important;
  overflow:visible!important;pointer-events:none!important;
  filter:none!important;transform:none!important;animation:none!important;
}
.fvComposedCard:not(.fvShinyEnabled) > .fvFxHolo {opacity:0!important;}
.fvComposedCard.fvShinyEnabled > .fvFxHolo > .fvHoloChromatic,
.fvComposedCard.fvShinyEnabled > .fvFxHolo > .fvHoloSpectral,
.fvComposedCard.fvShinyEnabled > .fvFxHolo > .fvHoloDetails {
  position:absolute!important;inset:0!important;pointer-events:none!important;
  border-radius:inherit!important;clip-path:inset(0 round 3%)!important;
  -webkit-clip-path:inset(0 round 3%)!important;
  mask:none!important;-webkit-mask:none!important;
  background-size:100% 100%!important;animation:none!important;
  transform:none!important;filter:none!important;transition:opacity .22s ease-out!important;
}
.fvComposedCard.fvShinyEnabled > .fvFxHolo > .fvHoloChromatic {
  z-index:1!important;mix-blend-mode:color!important;
  opacity:calc(var(--foilAmount,.75) * .83)!important;
  background:linear-gradient(var(--rainbowAngle,113deg),
   #fa2bb5 0%,#ab53f9 16%,#51bafe 31%,#31e0c6 47%,
   #9bff4d 62%,#ffca42 78%,#ff608b 100%)!important;
}
.fvComposedCard.fvShinyEnabled > .fvFxHolo > .fvHoloSpectral {
  z-index:2!important;mix-blend-mode:color-dodge!important;
  opacity:calc(var(--foilAmount,.75) * .32)!important;
  background:conic-gradient(from var(--spectralAngle,65deg) at var(--fx,50%) var(--fy,50%),
   #fb3095,#90d9ff,#f5d27e,#78ffe2,#e35ef7,#fb3095)!important;
}
.fvComposedCard.fvShinyEnabled > .fvFxHolo > .fvHoloDetails {
  z-index:3!important;mix-blend-mode:screen!important;opacity:0!important;
  background:radial-gradient(ellipse 48% 40% at var(--fx,50%) var(--fy,50%),
    #ffffff8c 0%,hsla(var(--hue,195),100%,68%,.82) 23%,
    hsla(calc(var(--hue,195) + 95),100%,65%,.40) 45%,transparent 83%),
    linear-gradient(var(--shineAngle,112deg),transparent 23%,#ffffff43 48%,transparent 72%)!important;
}
.fvComposedCard.fvShinyEnabled.fvHoloEngaged > .fvFxHolo > .fvHoloChromatic {opacity:calc(var(--foilAmount,.75) * 1.03)!important}
.fvComposedCard.fvShinyEnabled.fvHoloEngaged > .fvFxHolo > .fvHoloSpectral {opacity:calc(var(--foilAmount,.75) * .54)!important}
.fvComposedCard.fvShinyEnabled.fvHoloEngaged > .fvFxHolo > .fvHoloDetails {opacity:calc(var(--foilAmount,.75) * .50)!important}
/* Remove the legacy animation's colored transparent rectangle; retain only the actual 2:3 card. */
.fvComposedCard.fvShinyEnabled {overflow:hidden!important;clip-path:inset(0 round 3%);}
/* V6.23 — Smooth single-element carry from gift to the real card stack. */
.fv65RevealScene .fvFxStack.fvGiftToCard {will-change:transform,opacity;transform-origin:50% 50%;}
.fv65RevealShade > .fvGiftPresent.fvGiftCarry {z-index:100!important;position:fixed!important;pointer-events:none!important;transition:none!important;}
/* Protect Atelier headings/buttons and readable content in existing saves. */
.fvFusionWorkshop .fv617FusionRecipe,.shopItem,.exchangeBox {min-width:0;}
.fvFusionWorkshop .fv617FusionRecipe button,.shopItem button {white-space:normal;}


/* ========== Family Vault 6.24 — bundled illustrator sprites and screen backgrounds ========== */
body.fvAssetTheme[data-fv-screen="profiles"]{--fv-screen-art:url("/assets/images/1a8d434b6ceaf811c1f0.webp");}
body.fvAssetTheme[data-fv-screen="boosters"]{--fv-screen-art:url("/assets/images/c3d45e23f5886b5d31a6.webp");}
body.fvAssetTheme[data-fv-screen="calendar"]{--fv-screen-art:url("/assets/images/c3d45e23f5886b5d31a6.webp");}
body.fvAssetTheme[data-fv-screen="collection"]{--fv-screen-art:url("/assets/images/b3a227d2315bcba6b84b.webp");}
body.fvAssetTheme[data-fv-screen="atelier"]{--fv-screen-art:url("/assets/images/ff5db643ceb9fdb8f571.webp");}
body.fvAssetTheme[data-fv-screen="museum"]{--fv-screen-art:url("/assets/images/35be770b39d42acd737e.webp");}
body.fvAssetTheme[data-fv-screen="games"]{--fv-screen-art:url("/assets/images/849d52c9c3e750e0c489.webp");}
body.fvAssetTheme[data-fv-screen="championship"]{--fv-screen-art:url("/assets/images/b04dcb8013cc7c777d8a.webp");}
body.fvAssetTheme[data-fv-screen="season"]{--fv-screen-art:url("/assets/images/1a8d434b6ceaf811c1f0.webp");}
body.fvAssetTheme[data-fv-screen="settings"]{--fv-screen-art:url("/assets/images/849d52c9c3e750e0c489.webp");}
body.fvAssetTheme[data-fv-screen="admin"]{--fv-screen-art:url("/assets/images/b3a227d2315bcba6b84b.webp");}
body.fvAssetTheme[data-fv-screen="studio"]{--fv-screen-art:url("/assets/images/ff5db643ceb9fdb8f571.webp");}
body.fvAssetTheme[data-fv-screen="vault21"]{--fv-screen-art:url("/assets/images/32721ca23ac0ef8f0bc6.webp");}
body.fvAssetTheme[data-fv-screen="capsule"]{--fv-screen-art:url("/assets/images/bbfd31ffc9bd01a73e68.webp");}
:root{--fv-cadeau-ferme:url("/assets/images/f3fbbf01d9135c1d19e3.webp");}
:root{--fv-cadeau-dechire:url("/assets/images/f7071cdbbd5abf2feb59.webp");}
:root{--fv-cadeau-ouvert:url("/assets/images/ff71bda8d99923edd3fc.webp");}
:root{--fv-dos-carte:url("/assets/images/b1df831cb1173a3aa7c3.webp");}
:root{--fv-pile-cartes:url("/assets/images/d33fb15bcf896b220b0c.webp");}
:root{--fv-etincelles:url("/assets/images/dd0a42433064c1bb6e0d.webp");}
:root{--fv-aura:url("/assets/images/e444099c897e522e5b13.webp");}
:root{--fv-machine-capsule:url("/assets/images/4e3b1a4ce0ac5563eefe.webp");}
:root{--fv-poignee-capsule:url("/assets/images/cdf4810af4c0eded80c0.webp");}
:root{--fv-trappe-capsule:url("/assets/images/1ca3fc815468739460d9.webp");}
:root{--fv-capsule-verte:url("/assets/images/9355fbc4f5a9518a1881.webp");}
:root{--fv-capsule-bleue:url("/assets/images/74e5100388acc0c4044d.webp");}
:root{--fv-capsule-brillante:url("/assets/images/f6f9ef0b87ae6c4db637.webp");}
:root{--fv-jeton:url("/assets/images/063d7eb0d058d79f1737.webp");}
:root{--fv-trophee:url("/assets/images/496be5c5f3432a1522ba.webp");}

body.fvAssetTheme{background-image:linear-gradient(90deg,rgba(4,16,19,.24),rgba(4,16,19,.16)),var(--fv-screen-art)!important;background-attachment:fixed!important;background-size:cover!important;background-position:center center!important}
body.fvAssetTheme::before{opacity:.08!important}
body.fvAssetTheme .xmasLanding{background:linear-gradient(145deg,rgba(8,31,26,.65),rgba(12,22,37,.70))!important;backdrop-filter:blur(4px)}
body.fvAssetTheme .panel{background:linear-gradient(180deg,rgba(13,32,34,.92),rgba(9,23,28,.94))!important}
body.fvAssetTheme .fv65PageIntro,body.fvAssetTheme .viewIntro,body.fvAssetTheme .fvChampHero{background:linear-gradient(125deg,rgba(9,33,34,.92),rgba(11,29,43,.92))!important;border-radius:16px;padding:16px 20px;border:1px solid rgba(245,207,112,.23)}
body.fvAssetTheme .fv65PageIntro h1,body.fvAssetTheme .fv65PageIntro p,body.fvAssetTheme .fvChampHero h1{color:#fff6de!important;text-shadow:0 2px 6px #071923}
.fvSpriteGift.fvGiftPresent{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;aspect-ratio:1/1.05!important;display:grid!important;place-items:center;isolation:isolate}
.fvGiftSprite{position:absolute!important;inset:0!important;display:block!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center center!important;pointer-events:none}
.fvGiftSpriteClosed{background-image:var(--fv-cadeau-ferme)!important;opacity:1}
.fvGiftSpriteOpen{background-image:var(--fv-cadeau-ouvert)!important;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .42s ease}
.fvSpriteGift.fvGiftOpened .fvGiftSpriteClosed{opacity:0;transition:opacity .22s ease}
.fvSpriteGift.fvGiftOpened .fvGiftSpriteOpen{opacity:1;transform:translateY(0)}
.fvSpriteGift .fvGiftHint{position:absolute!important;top:calc(100% - 8px)!important;left:50%!important;transform:translateX(-50%)!important;white-space:nowrap!important;text-shadow:0 2px 6px #000;background:#0c243ad9!important;padding:5px 14px!important;border-radius:99px}
.fvSpriteGift.fvGiftCarry .fvGiftHint{display:none!important}
.fv65RevealShade > .fvGiftPresent.fvGiftCarry{z-index:40!important}
.fv65RevealShade:has(> .fvGiftPresent.fvGiftCarry) .fv65RevealScene{z-index:5!important}
.fv65RevealScene .fvFxStack.fvGiftToCard{pointer-events:none!important}
.fv65RevealScene.fvTransitionLocked .fv65SceneBody{pointer-events:none!important}
.fv65RevealScene .fv65CardBack{background-image:var(--fv-dos-carte)!important;background-repeat:no-repeat!important;background-size:100% 100%!important;background-position:center!important;border:0!important}
.fv65RevealScene .fv65CardBack::before,.fv65RevealScene .fv65CardBack::after{content:none!important}
.fv65RevealScene .fvPocketStackBack{background-image:var(--fv-dos-carte)!important;background-size:cover!important;background-position:center!important}
.fv65RevealScene .fvFxStack .fvPocketStackBack span{display:none!important}
.fvSpriteGachaStage.fvGachaStage{min-height:440px!important;height:clamp(430px,60vh,675px)!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;overflow:visible!important}
.fvGachaSpriteMachine{height:100%!important;width:min(100%,420px)!important;background-image:var(--fv-machine-capsule)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;position:relative!important}
.fvGachaSpriteHandle{position:absolute!important;width:clamp(75px,9%,110px)!important;aspect-ratio:1!important;background-image:var(--fv-poignee-capsule)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;left:calc(50% - 40px);top:61%;transform-origin:33% 55%;pointer-events:none!important}
.fvGachaSpriteAward{position:absolute!important;bottom:5%;left:50%;transform:translate(-50%,35px) scale(.3);width:110px;height:110px;background:var(--fv-capsule-brillante) center / contain no-repeat;opacity:0;pointer-events:none}
.fvGachaPlaying .fvGachaSpriteHandle{animation:fvAnimTurn 1.05s ease-in-out}
.fvGachaPlaying .fvGachaSpriteAward{animation:fvAnimDrop 1.05s cubic-bezier(.2,.6,.4,1)}
.fvGachaAwarded .fvGachaSpriteAward{opacity:1;transform:translate(-50%,0) scale(1);transition:transform .22s,opacity .22s}
@keyframes fvAnimTurn{0%,100%{transform:rotate(0)}30%{transform:rotate(110deg)}70%{transform:rotate(290deg)}}
@keyframes fvAnimDrop{0%,32%{opacity:0;transform:translate(-50%,-70px) scale(.2)}75%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
.fv65GameChoice[data-game="capsule"] .fv65GameSymbol{background:var(--fv-capsule-verte) center / contain no-repeat!important}
.fv65GameChoice[data-game="capsule"] .fv65GameSymbol span{visibility:hidden}
.fv65GameChoice[data-game="vault21"] .fv65GameSymbol{background:linear-gradient(120deg,#194a4c,#0c2435)!important}
@media(max-width:640px){body.fvAssetTheme{background-position:center center!important}.fvSpriteGachaStage.fvGachaStage{height:420px!important;min-height:420px!important}.fvSpriteGift .fvGiftHint{font-size:.75rem!important}}
@media(prefers-reduced-motion:reduce){.fvGachaPlaying .fvGachaSpriteHandle,.fvGachaPlaying .fvGachaSpriteAward{animation:none!important}}


/* Family Vault 6.25 — family-friendly UI, vivid blue/turquoise/emerald/copper/gold. */
:root{--accent:#30bccc;--xmas-red:#236d7e;--xmas-red2:#123e55;--xmas-green:#14584a;--xmas-green2:#0a3034;--panel:#0c2834;--panel2:#123d48}
body.fvAssetTheme .topbar,body.fvAssetTheme .nav{background:rgba(8,38,45,.92)!important;border-color:rgba(68,202,207,.30)!important}
body.fvAssetTheme .nav button.active,body.fvAssetTheme button.primary,body.fvAssetTheme .primary,body.fvAssetTheme .fv65BigStart,body.fvAssetTheme .fvCountChoices button.active{background:linear-gradient(130deg,#086979,#18aeb7)!important;color:#f6fff7!important;border-color:#5ad6d8!important}
body.fvAssetTheme .xmasTitle span,body.fvAssetTheme .fv65Eyebrow{color:#9aeef1!important}
body.fvAssetTheme .fv68ModeGrid button,body.fvAssetTheme .profileBtn{border-color:rgba(65,198,208,.35)!important}
body.fvAssetTheme .fv65PageIntro{background:linear-gradient(140deg,rgba(5,54,61,.92),rgba(20,67,62,.88))!important}
body.fvAssetTheme .fv65Day.available,body.fvAssetTheme .fv65Day.opened{border-color:rgba(63,198,211,.4)!important}
body.fvAssetTheme .fv68IntroModal{background:linear-gradient(155deg,#082933,#14483f)!important;border:1px solid #45adb5!important}
body.fvAssetTheme .brandMark{background:linear-gradient(150deg,#0b8997,#277269 55%,#dba74a)!important}
body.fvAssetTheme .fvGiftHint{background:rgba(3,40,48,.88)!important}
body.fvAssetTheme .packMini{background:linear-gradient(150deg,#135d69,#2b9684,#c38a40)!important}
.fvChristmasRank{margin:15px 0}
@media (max-width:680px){body.fvAssetTheme .fv65PageIntro{padding:12px!important}body.fvAssetTheme .fv65Nav{overflow-x:auto!important}}

/* 6.25 accessible UI states, distinct from card art. */
body.fvAssetTheme .fv65Available{background:linear-gradient(135deg,#0f6672,#0c3f55)!important;color:#f4f9f8!important}
body.fvAssetTheme .fv65Available *{color:inherit}
body.fvAssetTheme .fv65PackTag,body.fvAssetTheme .fv65Help{color:#173e50!important}
body.fvAssetTheme .fv68ModeProgress{background:linear-gradient(135deg,#123f52,#17675e)!important;color:#f4ffff!important}
body.fvAssetTheme .fv68ModeProgress *{color:#f5ffff!important}
body.fvAssetTheme .fv65Nav button:focus-visible,body.fvAssetTheme button:focus-visible{outline:3px solid #24d4df!important;outline-offset:3px}

/* Family Vault 6.25 — lisibilité sur tous les écrans, sans rose hors Fusion. */
body.fvAssetTheme .topbar .brand strong,body.fvAssetTheme .topbar .brand small,body.fvAssetTheme .fv65Stat b,body.fvAssetTheme .fv65Stat small{color:#f1fff8!important}
body.fvAssetTheme .fv65TopResources .fvBoosterPill{background:linear-gradient(135deg,#107781,#175b67)!important;color:#fff9e6!important;border:1px solid #7fd7d3!important}
body.fvAssetTheme .fv65TopResources .fvBoosterPill *{color:#fff9e6!important}
body.fvAssetTheme .nav button:not(.active){background:#ecf8f4!important;color:#12394a!important;border-color:#b4cfce!important}
body.fvAssetTheme .nav button.active{background:linear-gradient(125deg,#0e7c88,#17adad)!important;color:white!important;border-color:#79d5d1!important}
body.fvAssetTheme .securityBox>div{background:linear-gradient(140deg,#123c4a,#0e2d3a)!important;border:1px solid rgba(122,219,215,.32)!important}
body.fvAssetTheme .securityBox,body.fvAssetTheme .securityBox h2,body.fvAssetTheme .securityBox h3,body.fvAssetTheme .securityBox p,body.fvAssetTheme .securityBox small,body.fvAssetTheme .securityBox label{color:#eff8f1!important}
body.fvAssetTheme .sectionTitle h2,body.fvAssetTheme .panel>.sectionTitle h2{color:#f8fff7!important}
body.fvAssetTheme .sectionTitle p,body.fvAssetTheme .panel>.sectionTitle p{color:#dce9e5!important}
body.fvAssetTheme .securityBox button.ghost,body.fvAssetTheme .securityBox #exportSave{background:#267780!important;color:white!important;border:1px solid #72cfcc!important}
body.fvAssetTheme .securityBox button.danger{background:#91502f!important;color:#fff8ed!important}
body.fvAssetTheme .fvGachaPanel,body.fvAssetTheme .fvChampHome{color:#effff6!important}
body.fvAssetTheme .fx-fullart .rarityBanner,body.fvAssetTheme .call-fullart{color:#85e5ef!important}
body.fvAssetTheme .fv65PageIntro p,body.fvAssetTheme .fv65PageIntro span{color:#e3f5f0!important}
body.fvAssetTheme .fv65SummaryHeading,body.fvAssetTheme .fv65SummaryHeading span{color:#f5faf2!important}

.fv65RevealShade{background:radial-gradient(ellipse at 50% 35%,#245e68,#102c3f 68%,#081c2e)!important}
.fv65RevealScene{background:radial-gradient(circle at 50% 40%,#205768 0%,#122f45 50%,#091b2a 100%)!important}
.fv65RevealScene:before{border-color:#58c6ce38!important;box-shadow:0 0 0 80px #57cddf0b,0 0 0 160px #cfa35d0c!important}

/* ===== Family Vault 6.26 - readability and finishing ===== */
body.fvAssetTheme{--fv-contrast:#f5f5ed;--fv-caption:#dce7e2;}
body.fvAssetTheme .fv65PageIntro,body.fvAssetTheme .viewIntro,
body.fvAssetTheme .fvChampFamilyTitle,body.fvAssetTheme .fvChampLocked,
body.fvAssetTheme .fv65FilterLegend,body.fvAssetTheme .fv65GridCount,
body.fvAssetTheme .fvMuseumToolbar,body.fvAssetTheme .fvMuseumHint,
body.fvAssetTheme .fv65CollectionProgress,body.fvAssetTheme .fv65CalendarStats{
 background:linear-gradient(135deg,rgba(3,25,31,.94),rgba(10,43,51,.91))!important;
 border:1px solid rgba(237,202,130,.34)!important;
 border-radius:17px!important;
 color:#eff7f4!important;
 box-shadow:0 9px 26px #00192249!important;
 padding:clamp(12px,2vw,22px)!important;
}
body.fvAssetTheme .fv65PageIntro *,body.fvAssetTheme .viewIntro h2,
body.fvAssetTheme .viewIntro h3,body.fvAssetTheme .viewIntro p,
body.fvAssetTheme .fv65FilterLegend,body.fvAssetTheme .fv65FilterLegend *,
body.fvAssetTheme .fv65GridCount,body.fvAssetTheme .fvChampFamilyTitle *,
body.fvAssetTheme .fvChampLocked *,body.fvAssetTheme .fvMuseumToolbar *,
body.fvAssetTheme .fv65CollectionProgress *,body.fvAssetTheme .fv65CalendarStats *{color:#eff8f6!important;text-shadow:none!important;}
body.fvAssetTheme .fv65PageIntro h1,body.fvAssetTheme .viewIntro h2,
body.fvAssetTheme .fvChampFamilyTitle h2{color:#fff0cc!important;}
body.fvAssetTheme .fv65Eyebrow{color:#eec778!important;}
body.fvAssetTheme .fv65CollectionGrid .meta,body.fvAssetTheme .fvCatalogTile .meta,
body.fvAssetTheme .fvMuseumExhibitInfo{background:#08242eee!important;
 border-radius:0 0 12px 12px;color:#f5fbf9!important;padding:9px 10px!important;}
body.fvAssetTheme .fv65CollectionGrid .meta *,body.fvAssetTheme .fvCatalogTile .meta *,
body.fvAssetTheme .fvMuseumExhibitInfo *{color:#e5f5f2!important;text-shadow:0 1px 2px #031a20bb;}
body.fvAssetTheme .fv65CollectionGrid .meta b{font-size:clamp(12px,1.05vw,16px)!important;line-height:1.3!important;}
body.fvAssetTheme .fv65CollectionGrid .meta small{font-size:clamp(11px,.85vw,13px)!important;}
body.fvAssetTheme .fv65CollectionGrid .fv65FilterBar,body.fvAssetTheme .fv65FilterBar{border-radius:14px;background:#092b37eb!important;padding:10px!important;}
body.fvAssetTheme .fv65CollectionGrid{padding-bottom:34px!important;}
body.fvAssetTheme .fv65AlbumTile{height:auto!important;overflow:visible!important;min-height:0!important;}
body.fvAssetTheme .fv65AlbumTile .fvCardImage{min-width:0!important;}
/* Symbol-only state: 'À découvrir' no longer sticks outside narrow thumbnail slots. */
.fv617FusionRecipe .fv617IngredientThumb,
.fv617FusionRecipe .fv617FusionResult{overflow:hidden!important;isolation:isolate;border-radius:9px;}
.fv617FusionRecipe .fv617IngredientThumb .fv65Unknown,
.fv617FusionRecipe .fv617FusionResult .fv65Unknown{position:absolute!important;inset:0!important;max-width:100%!important;max-height:100%!important;display:grid!important;place-items:center!important;}
.fv617IngredientThumb .fv65Unknown svg,
.fv617FusionResult .fv65Unknown svg{display:block;width:100%!important;height:100%!important;object-fit:contain!important;}
.fv617IngredientGallery{align-items:flex-start!important;padding-bottom:12px!important;}
.fv617IngredientThumb{flex:0 1 92px!important;min-width:0!important;}
/* Custom date 24: whole door, even when opened or locked. No pink. */
.fv65CalendarGrid .fv65Day.finalDay,
.fv65CalendarGrid .fv65Day.finalDay.locked,
.fv65CalendarGrid .fv65Day.finalDay.available,
.fv65CalendarGrid .fv65Day.finalDay.opened{
 background:linear-gradient(138deg,#174456 0%,#146c70 32%,#c58b2f 74%,#ffdf8c 100%)!important;
 color:#fff6d8!important;border:3px solid #ffe1a0!important;opacity:1!important;
 filter:none!important;box-shadow:0 0 0 3px #d7a13d88,0 7px 28px #db9b42aa,inset 0 0 22px #ffe0a247!important;}
.fv65CalendarGrid .fv65Day.finalDay strong{color:#fff9e6!important;text-shadow:0 3px 6px #183345,0 0 16px #ffe29a!important;font-size:clamp(2.7rem,5vw,4.3rem)!important;}
.fv65CalendarGrid .fv65Day.finalDay .fv65DayTop,
.fv65CalendarGrid .fv65Day.finalDay .fv65DayBase{color:#fff9e6!important;text-shadow:0 2px 4px #24444d!important;}
.fv65CalendarGrid .fv65Day.finalDay:after{content:'★';position:absolute;right:10%;top:26%;font-size:clamp(17px,3vw,29px);color:#fff6ce;text-shadow:0 0 12px #ffe3aa;pointer-events:none;}
/* Premium frameless lettering: light contrast behind writing, not a drawn frame. */
.fvArtNoFrame .fvPremiumFullArtLettering:before{content:'';position:absolute;top:0;left:0;right:0;height:20%;background:linear-gradient(#061a29a8,transparent);pointer-events:none;}
.fvArtNoFrame .fvPremiumFABrand{top:3.3%!important;color:#fff8dc!important;-webkit-text-stroke:.55px #0b1b24!important;text-shadow:0 2px 5px #00131a,0 0 15px #061921,0 0 1px #fff!important;font-size:clamp(10px,4.5cqw,29px)!important;}
.fvArtNoFrame .fvPremiumFABottom{background:linear-gradient(0deg,#031622ed 0%,#041d269c 47%,transparent 100%)!important;padding-top:20%!important;}
.fvArtNoFrame .fvPremiumFABottom strong{font-family:'Palatino Linotype','Book Antiqua',Georgia,serif!important;font-style:italic!important;font-weight:600!important;color:#fff0bd!important;text-shadow:0 3px 8px #00141a,0 0 11px #022833!important;}
/* Softer portrait effect; source V7 not in mounted files, so no claim of exact replication. */
.fvComposedCard.fvPortraitFloating .fvBaseIllustration{filter:blur(1.1px) saturate(.94)!important;}
.fvComposedCard.fvPortraitFloating .fvPortraitBackdrop{filter:blur(1.25px) saturate(.93)!important;}
.fvPortraitLayer>.fvPortraitCutout,.fvComposedCard .fvPortraitCutout{filter:drop-shadow(0 6px 8px #071b25a6)!important;}
.fvPortraitZoomLayer .fvPortraitCutout{mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 99%);}
/* No atmospheric smoke on Epic; energetic fragments generated by canvas. */
.fvFxStack[data-rarity='epic'].fvFxRevealed .fvFxLayers{filter:brightness(1.15) saturate(1.3)!important;}
body.fvAssetTheme .fv65FilterLegend{font-size:clamp(13px,1.1vw,16px)!important;line-height:1.5!important;}
body.fvAssetTheme .fv65PageIntro p,body.fvAssetTheme .viewIntro p{font-size:clamp(14px,1.14vw,17px)!important;line-height:1.55!important;}
@media(max-width:700px){
 body.fvAssetTheme .fv65PageIntro,body.fvAssetTheme .viewIntro,
 body.fvAssetTheme .fv65CollectionProgress,body.fvAssetTheme .fv65CalendarStats{padding:12px!important;}
 .fv65CalendarGrid .fv65Day.finalDay strong{font-size:2.6rem!important;}
 .fv617FusionRecipe .fv617IngredientThumb{width:clamp(66px,28vw,90px)!important;}
}

/* Final text contrast for old atelier header and token balance. */
body.fvAssetTheme .atelierHero h2,body.fvAssetTheme .atelierHero p,
body.fvAssetTheme .atelierHero .xmasKicker{color:#fff4dc!important;text-shadow:0 1px 5px #071b24!important;}
body.fvAssetTheme .atelierHero .metric b,body.fvAssetTheme .atelierHero .metric,
body.fvAssetTheme .fv65ArcadeWallet,body.fvAssetTheme .fv65ArcadeWallet *{color:#f9efd7!important;text-shadow:0 1px 4px #082631!important;}
body.fvAssetTheme .fv65ArcadeWallet{padding:14px 24px!important;background:#092934e8!important;border:1px solid #dfbc7b88!important;border-radius:16px;}
body.fvAssetTheme .atelierHero{padding:10px 4px!important;}
body.fvAssetTheme .fvChampLocked h2,body.fvAssetTheme .fvChampLocked p,
body.fvAssetTheme .fvChampLocked{color:#fff2d4!important;text-shadow:0 1px 5px #041c23!important;}
body.fvAssetTheme .fv617IngredientThumb .fv620MysteryCard{
 aspect-ratio:2/3!important;min-height:0!important;max-height:100%!important;}
body.fvAssetTheme .fv617IngredientThumb .fv620MysteryBorder{gap:4px!important;padding:3px!important;width:100%!important;}
body.fvAssetTheme .fv617IngredientThumb .fv620MysteryStar{font-size:clamp(17px,2vw,24px)!important;line-height:1!important;}
body.fvAssetTheme .fv617IngredientThumb .fv620MysteryBorder strong{
 font-size:clamp(7px,.65vw,9px)!important;letter-spacing:.012em!important;line-height:1.15!important;}
body.fvAssetTheme .fv617IngredientThumb .fv620MysteryBorder small{
 font-size:clamp(7px,.59vw,9px)!important;letter-spacing:0!important;line-height:1.1!important;}
body.fvAssetTheme .fv617FusionResult .fv620MysteryBorder{gap:7px!important;padding:5px!important;}
body.fvAssetTheme .fv65Day.finalDay:after{left:auto!important;transform:none!important;}

/* Last visual contrast corrections observed in browser captures. */
body.fvAssetTheme .fv65CalendarStats>div,
body.fvAssetTheme .atelierHero .metric{
 background:#113844!important;color:#f8edce!important;
 border:1px solid #ab9a67!important;box-shadow:inset 0 0 12px #061a23a1!important;
}
body.fvAssetTheme .fv65CalendarStats>div *,
body.fvAssetTheme .atelierHero .metric *{color:#f8edce!important;text-shadow:none!important;}
body.fvAssetTheme .fv65CalendarStats>button,
body.fvAssetTheme .fvGameChampCTA button{
 background:linear-gradient(110deg,#155b67,#0a8793)!important;color:#fff3cf!important;border:1px solid #b99c62!important;
}
body.fvAssetTheme .fvMuseumToolbar .ghost,
body.fvAssetTheme .fvMuseumToolbar #fvMuseumReveal{
 background:#f9e8ce!important;color:#24475a!important;border:1px solid #ba9868!important;
 text-shadow:none!important;font-weight:800!important;
}
body.fvAssetTheme .fv65GameChoice:first-child{
 background:linear-gradient(125deg,#123c58,#176b7a 80%)!important;color:#fff3da!important;
 border-color:#d9bd7e!important;
}
body.fvAssetTheme .fv65GameChoice:nth-child(2){background:linear-gradient(125deg,#195248,#277a70)!important;}
body.fvAssetTheme .fv65GameChoiceText strong{color:#fff2ca!important;}
body.fvAssetTheme .fv65GameChoiceText p{color:#e7f7f2!important;}
body.fvAssetTheme .fv65GameCTA{color:#ffe0a3!important;}
body.fvAssetTheme .fv65Day.finalDay:after{left:auto!important;transform:none!important;}


/* V6.27 : Portrait officiel Shirley calque et fond validés V7 ; six portraits sans surflou CSS. */
.fvComposedCard.fvPortraitFloating .fvPortraitBackdrop,
.fvPortraitFloating .fvPortraitBackdrop{filter:none!important;opacity:1!important;}
.fvComposedCard.fvPortraitFloating .fvBaseIllustration{filter:none!important;}
.fvPortraitLayer>.fvPortraitCutout,
.fvComposedCard.fvPortraitFloating .fvPortraitCutout{filter:drop-shadow(0 8px 14px #04060fbb)!important;}


/* ===== 6.29 - lisibilite coherente et finitions de partage ===== */
/* Backgrounds are part of ambiance, never of readability. */
body.fvAssetTheme{background-image:linear-gradient(rgba(5,20,29,.39),rgba(5,20,29,.43)),var(--fv-screen-art)!important;}
body.fvAssetTheme .fv65PageIntro,body.fvAssetTheme .viewIntro,body.fvAssetTheme .fvChampHero,
body.fvAssetTheme .fvChampLocked,body.fvAssetTheme .fv65FilterLegend,
body.fvAssetTheme .fvMuseumToolbar,body.fvAssetTheme .fv65GridCount{
 background-color:#082932!important;color:#f3f9f5!important;}
body.fvAssetTheme .fvChampHero h1,body.fvAssetTheme .fvChampHero p,
body.fvAssetTheme .fvChampHero strong,body.fvAssetTheme .fvChampHero span,
body.fvAssetTheme .fvChampHero small{color:#fff2d3!important;}
/* Family collection counters used to be white-on-white. */
body.fvAssetTheme .fv65CollectionProgress>div{background:#f4e8d4!important;border:1px solid #d7b87a!important;color:#153748!important;}
body.fvAssetTheme .fv65CollectionProgress>div *,body.fvAssetTheme .fv65CollectionProgress>div b,
body.fvAssetTheme .fv65CollectionProgress>div b span,
body.fvAssetTheme .fv65CollectionProgress>div small{color:#173847!important;text-shadow:none!important;opacity:1!important;}
body.fvAssetTheme .fv65CollectionProgress b{font-size:clamp(1.45rem,2.5vw,2.35rem)!important;}
body.fvAssetTheme .fv65CollectionProgress small{font-size:clamp(.8rem,1vw,1rem)!important;}
/* Completion banners / ranks */
body.fvAssetTheme .completionBanner,body.fvAssetTheme .fvCollectionComplete,
body.fvAssetTheme .fv65Completed,body.fvAssetTheme .fv65CompleteBanner{
 color:#fff4d3!important;text-shadow:0 1px 4px #03232b!important;}
body.fvAssetTheme .fv65Completed *,body.fvAssetTheme .completionBanner *{color:inherit!important;}
body.fvAssetTheme .fv65CollectionProgress + .fvShinyDetails{margin-top:12px;}
/* Championnat: actual pale surfaces must always have dark ink; darker cards have pale ink. */
body.fvAssetTheme .fvChampOverlay .fvGameMain>.panel{
 background:#fff8ea!important;color:#183b49!important;justify-content:flex-start!important;min-height:0!important;}
body.fvAssetTheme .fvChampOverlay .fvGameMain>.panel .sectionTitle h2,
body.fvAssetTheme .fvChampOverlay .fvGameMain>.panel h2,
body.fvAssetTheme .fvChampOverlay .fvGameMain>.panel h3{color:#153a4c!important;text-shadow:none!important;}
body.fvAssetTheme .fvChampOverlay .fvGameMain>.panel .sectionTitle p,
body.fvAssetTheme .fvChampOverlay .fvGameMain>.panel>p,
body.fvAssetTheme .fvChampOverlay .fvGameMain>.panel #memoryArea>p,
body.fvAssetTheme .fvChampOverlay .fvGameMain>.panel #cv21>p,
body.fvAssetTheme .fvChampOverlay .fvGameMain>.panel #rushArea>p{
 color:#315266!important;text-shadow:none!important;opacity:1!important;}
body.fvAssetTheme .fvChampOverlay .fvGameMain .notice{
 background:#f7edd5!important;color:#4b3f35!important;border-color:#dac092!important;}
body.fvAssetTheme .fvChampOverlay .fvGameMain .notice *,
body.fvAssetTheme .fvChampOverlay .fvGameMain .fvRushProgress,
body.fvAssetTheme .fvChampOverlay .fvGameMain .fvRushFeedback{color:#174054!important;}
body.fvAssetTheme .fvChampRecordPanel{background:#0c303b!important;}
body.fvAssetTheme .fvChampRecordPanel>h2,body.fvAssetTheme .fvChampRecordPanel>p,
body.fvAssetTheme .fvChampRecycle>div h3,body.fvAssetTheme .fvChampRecycle>div p{color:#f6f1dd!important;}
body.fvAssetTheme .fvChampRecordTile{background:#f4e3cb!important;color:#4d3440!important;}
body.fvAssetTheme .fvChampRecordTile *,body.fvAssetTheme .fvChampRecordTile small,
body.fvAssetTheme .fvChampRecordTile b{color:#51374a!important;text-shadow:none!important;}
body.fvAssetTheme .fvChampChallenge *,body.fvAssetTheme .fvChampChallenge h2,
body.fvAssetTheme .fvChampChallenge p,body.fvAssetTheme .fvChampChallenge small{color:#fff3df!important;}
body.fvAssetTheme .fvChampChallenge button{color:#193648!important;}
/* Compacted 12-card Memory: 6 columns by 2 rows, confined by height of viewport. */
.fvChampOverlay .fvGameShell{min-height:100dvh!important;}
.fvChampOverlay .fvGameMain{align-items:start!important;padding:6px 12px 12px!important;overflow:auto;}
.fvChampOverlay .fvGameMain>.fvCompactMemory{padding:clamp(10px,1.5vw,19px)!important;gap:7px!important;}
.fvChampOverlay .fvCompactMemory .sectionTitle{margin-bottom:0!important;}
.fvChampOverlay .fvCompactMemory .sectionTitle h2{font-size:clamp(1.25rem,2.4vw,1.8rem)!important;margin:0 0 3px!important;}
.fvChampOverlay .fvCompactMemory .sectionTitle p{font-size:.85rem!important;line-height:1.3!important;}
.fvChampOverlay .fvCompactMemory #memoryArea>p{margin:3px 0 7px!important;}
.fvChampOverlay .fvCompactMemory .memoryBoard{width:min(100%,850px);margin:0 auto;
 display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:clamp(4px,.8vw,9px)!important;}
.fvChampOverlay .fvCompactMemory .memoryCard{
 width:100%!important;max-height:min(28dvh,195px)!important;aspect-ratio:2/3!important;
 min-height:0!important;min-width:0!important;margin:0!important;padding:3px!important;overflow:hidden!important;}
.fvChampOverlay .fvCompactMemory .memoryCard .fvMemArt{height:100%!important;}
.fvChampOverlay .fvCompactMemory .memoryCard .fvComposedCard{width:100%!important;height:100%!important;}
@media(max-width:700px){
 .fvChampOverlay .fvCompactMemory .memoryBoard{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:min(100%,410px);}
 .fvChampOverlay .fvCompactMemory .memoryCard{max-height:min(22dvh,130px)!important;}
 .fvChampOverlay .fvGameTop{padding:8px 12px!important;}
 .fvChampOverlay .fvCompactMemory .sectionTitle p{font-size:.78rem!important;}
}
/* Gift deck: a single actual card-back image, no ornamental duplicate outlines. */
.fv65RevealScene .fvPocketStackBack{border:0!important;box-shadow:0 5px 11px #03192285!important;
 transform:translate(calc(var(--layer)*5px),calc(var(--layer)*4px)) rotate(calc(var(--layer)*.55deg))!important;}
.fv65RevealScene .fv65CardBack{box-shadow:0 10px 24px #0319225c!important;}
/* Portrait popup title must win stacking over the floating image. */
.fvZoomTop{position:relative!important;z-index:90!important;isolation:isolate!important;}
.fvPortraitZoomLayer{margin-top:clamp(30px,5dvh,55px)!important;}
.fvPortraitZoomLayer .fvPortraitLayer{z-index:6!important;}
/* Consistent typography over artwork: frameless Full Art keeps a subtle gradient. */
.fvComposedCard.fvArtNoFrame .fvPremiumFABrand{z-index:10!important;color:#fff2c3!important;
 text-shadow:0 2px 5px #00131b,0 0 14px #00151e!important;}
.fvComposedCard.fvArtNoFrame .fvPremiumFABottom{z-index:9!important;}
/* Buttons/filters maintain active states and focus visibility. */
body.fvAssetTheme button:focus-visible{outline:3px solid #70e0db!important;outline-offset:3px!important;}


/* ===== 6.30 – post-recette: couleurs d’interface neutres hors cartes Fusion ===== */
body.fvAssetTheme .fv65CalendarStats>div b{color:#12677b!important;}
body.fvAssetTheme .fvChampRecordTile,body.fvAssetTheme .fvChampRecordTile *,body.fvAssetTheme .fvChampRecordTile small,body.fvAssetTheme .fvChampRecordTile b{color:#254958!important;}
body.fvAssetTheme .fv65CollectionProgress>div,body.fvAssetTheme .fvChampRecordTile{box-shadow:0 2px 10px rgba(2,29,41,.13)!important;}

/* Palette 6.30 : commandes générales bleu/turquoise, les couleurs des cartes Fusion restent inchangées. */
body.fvAssetTheme button.primary,
body.fvAssetTheme .fvGameOverlay button.primary,
body.fvAssetTheme .fvChampOverlay button.primary{background:linear-gradient(135deg,#126c87,#10a7ad)!important;color:#fff8e8!important;border-color:#6fc9c2!important;}
body.fvAssetTheme .fvChampOverlay .fvGameTop{background:#132c3c!important;border-color:#8a714d!important;}
body.fvAssetTheme .fvChampOverlay .fvGameShell{background:#102a35!important;}
