@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,650;12..96,800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--paper:#f7f3ec;--ink:#231b2b;--muted:#615869;--lime:#e1ff71;--violet:#6e47af;--display:'Bricolage Grotesque',system-ui,sans-serif;--line:#ded6e0}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:500 16px/1.5 'DM Sans',system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent }button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7953cb;outline-offset:4px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:var(--display);line-height:.98;letter-spacing:-.045em}
.top{background:#fcf9f3;border-bottom:1px solid var(--line)}.bar,main,footer{max-width:1256px;margin:auto;padding-inline:28px}.bar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:3px;font-size:25px;font-weight:800;white-space:nowrap}.brand span{color:#7753ac}.brand img{width:39px;height:39px;border-radius:12px;margin-right:8px}.bar nav{display:flex;align-items:center;gap:7px}.bar nav a,.profile{padding:8px 13px;border-radius:100px;font-size:14px;white-space:nowrap}.bar nav a[aria-current]{background:#ede4f7;color:#523581}.profile{border:1px solid var(--line);font-weight:700;max-width:165px;overflow:hidden;text-overflow:ellipsis}
main{min-height:calc(100vh - 176px);padding-top:25px;padding-bottom:55px}.hero{position:relative;isolation:isolate;min-height:490px;border-radius:32px;overflow:hidden;background:radial-gradient(ellipse at 81% 30%,#7546a8 0,transparent 45%),linear-gradient(120deg,#20182b 28%,#3c2550 85%);color:#fcf5ee;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:54px clamp(30px,6vw,82px)}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ecd5ff55 1px,transparent 1px);background-size:27px 27px;mask-image:linear-gradient(90deg,transparent 26%,#000 83%)}.hero-copy{position:relative;z-index:2}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800}.hero .eyebrow{color:var(--lime);margin-bottom:17px}.hero h1{font-weight:800;font-size:clamp(62px,8.2vw,112px);line-height:.86;max-width:580px}.hero h1 span{color:#ceb0f9}.hero p{margin:24px 0;color:#eee1f6;max-width:340px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:100px;padding:10px 17px;background:var(--ink);color:#fff;font-weight:800;text-align:center}.btn.lime{background:var(--lime);color:#22192d}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.btn:hover{filter:brightness(1.12)}.hero-art{position:relative;height:366px;margin-left:10px}.hero-art .card{position:absolute;width:45%;max-width:225px}.hero-art .card:first-child{left:5%;top:22%;transform:rotate(-13deg)}.hero-art .card:nth-child(2){left:31%;top:6%;z-index:1;transform:rotate(12deg)}.orbit{position:absolute;inset:8% -8% 6% -12%;border:1px solid #d6a7ff58;border-radius:50%;transform:rotate(-23deg)}.orbit:before,.orbit:after{content:'✦';position:absolute;color:var(--lime);font-size:42px;line-height:1}.orbit:before{right:5%;top:11%}.orbit:after{left:9%;bottom:5%;font-size:26px}
section.band{margin-top:42px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:19px}.section-title h2{font-size:clamp(32px,5vw,49px);font-weight:800}.section-title a{font-weight:800;color:#67419b}.families{display:grid;grid-template-columns:1fr 1fr;gap:17px}.family{position:relative;isolation:isolate;overflow:hidden;border-radius:23px;padding:25px;min-height:136px;display:flex;flex-direction:column;justify-content:center;align-items:start;background:#ecdef8}.family[data-family=realiste]{background:#eee2ce}.family strong{font:800 clamp(26px,5vw,39px)/1 var(--display);letter-spacing:-.045em;margin-bottom:7px}.family small{font-size:13px}.family img{position:absolute;z-index:-1;right:-3%;width:47%;top:-25%;height:155%;transform:rotate(10deg);object-position:50% 37%;mask-image:linear-gradient(90deg,transparent,#000 34%)}.family b{position:absolute;right:14px;bottom:14px;background:#fff8eb;width:34px;height:34px;text-align:center;line-height:34px;border-radius:50%}
.page-head{padding:24px 0 25px}.page-head h1{font-size:clamp(42px,7.5vw,80px);font-weight:800;margin:8px 0 12px}.page-head p,.muted{color:var(--muted)}.page-head .eyebrow{color:var(--violet)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(11px,2.2vw,25px)}.tile{min-width:0}.card{--frame:#dad0c2;--edge:#fff3dc;--rx:0deg;--ry:0deg;--px:50%;--py:50%;position:relative;isolation:isolate;width:100%;display:block;text-align:left;padding:clamp(5px,1vw,10px);border:1px solid var(--edge);border-radius:clamp(12px,2vw,23px);color:#fff9ee;background:var(--frame);box-shadow:0 9px 17px #21173233;transform:perspective(850px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .18s ease-out;overflow:hidden}.card.rare{--frame:linear-gradient(135deg,#a5c4db,#46688a 38%,#90d3e8 78%,#344962);--edge:#d5f3ff}.card.epique{--frame:linear-gradient(125deg,#a4f1e1,#6832a3 30%,#fbc5ff 56%,#5750a8 79%,#ec99e8);--edge:#e8c6ff}.card.legendaire{--frame:linear-gradient(130deg,#fff3ad,#ae6a2f 26%,#ffe6a1 50%,#8e541e 74%,#f6d47c);--edge:#fff2ab;box-shadow:0 0 20px #e6b15755,0 10px 23px #21173266}.card-core{position:relative;overflow:hidden;display:block;border-radius:inherit;background:#231a2e;border:1px solid #ffffff55}.card-art{width:100%;aspect-ratio:1/1.1;display:block;overflow:hidden;background:#baaac9}.card-art img{object-position:center}.card[data-imported=true] .card-art img{object-fit:contain;background:#2d2239}.card-name{display:block;font:800 clamp(16px,2.65vw,29px)/1 var(--display);letter-spacing:-.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-caption{padding:8px 9px 9px;display:block}.card-info{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:5px;color:#e6d8eb;font-size:clamp(9px,1.1vw,12px)}.card-rarity{position:absolute;top:7px;left:7px;border-radius:20px;padding:3px 7px;background:#22192be8;color:white;font-size:clamp(8px,1vw,11px);font-weight:800;z-index:2}.rare .card-rarity{color:#bdedff}.epique .card-rarity{color:#f7cdff}.legendaire .card-rarity{color:#ffe397}.shine,.glints{position:absolute;pointer-events:none;inset:0;border-radius:inherit;z-index:1}.shine{background:radial-gradient(circle at var(--px) var(--py),#fff9,transparent 43%);opacity:0}.card:is(:hover,.moving) .shine{opacity:.27}.rare:is(:hover,.moving) .shine{opacity:.55}.epique .shine,.legendaire .shine{background:radial-gradient(circle at var(--px) var(--py),#fff9,transparent 48%),repeating-linear-gradient(124deg,#f9a4fb88 2%,#9bfbfc66 6%,#f8f09688 10%,#aa84ff88 14%,#f9a4fb88 18%);background-position:var(--px) var(--py);background-size:160% 180%;mix-blend-mode:screen;opacity:.12}.epique:is(:hover,.moving) .shine,.legendaire:is(:hover,.moving) .shine{opacity:.5}.glints{background:radial-gradient(circle,#fff 0 1px,transparent 2px) 17% 23%/50px 61px,radial-gradient(circle,#fff0b1 0 1px,transparent 2px) 8% 6%/71px 57px;opacity:.45;animation:sparkle 2.7s ease-in-out infinite alternate}@keyframes sparkle{to{opacity:.09}}.tile-meta{font-size:12px;color:var(--muted);padding:7px 2px 0;overflow-wrap:anywhere}.tile-meta button{margin-left:4px;background:none;border:0;text-decoration:underline}
.filters,.panel{border:1px solid var(--line);border-radius:21px;background:#fcf9f3;padding:18px;margin-bottom:20px}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters input{flex:1;min-width:160px}.field{background:#fffdf9;border:1px solid #cbbfd0;border-radius:10px;padding:9px 12px}.panel{max-width:750px}.panel h2{font-size:29px;margin-bottom:13px}.panel p,.panel .actions{margin-block:10px}.form{display:grid;gap:12px}.form label{display:grid;gap:4px;font-weight:700}.form .check{display:flex;align-items:center}.drop{display:block;width:100%;text-align:center;padding:26px 13px;border:2px dashed #9775bd;border-radius:15px;background:#f1e8fa;font-weight:800}.drop.active{background:#e1ff71}.preview-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}.preview-list li{display:flex;align-items:center;gap:10px}.preview-list img{width:42px;height:48px;border-radius:6px}.preview-list input{width:100%;min-width:0}.status{white-space:pre-line}.empty{padding:34px 0;color:var(--muted)}.pack-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.pack{padding:25px;border-radius:23px;background:#ebdef8;text-align:center}.pack.realiste{background:#eee2ce}.pack h2{margin:12px 0}.pack button{margin-top:10px}.result .card{max-width:270px;margin:0 auto;animation:reveal .42s ease-out both}.result .card.epique{animation-duration:.6s}.result .card.legendaire{animation-duration:.85s}@keyframes reveal{from{opacity:0;scale:.72;rotate:-9deg}to{opacity:1;scale:1;rotate:0deg}}
dialog{width:min(92vw,440px);max-height:94dvh;overflow:auto;border:1px solid #8565a8;border-radius:25px;background:#2b2038;color:#fff8ee;padding:24px;text-align:center}dialog::backdrop{background:#1e1329c9;backdrop-filter:blur(6px)}dialog header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}dialog h2{font-size:29px}dialog .close{border:0;border-radius:50%;width:36px;height:36px;background:#f4e6ff;color:#2b2038;font-size:23px}dialog .result .card{touch-action:none}dialog p{margin-top:12px;color:#efddf7}.toast{position:fixed;z-index:9;bottom:18px;left:50%;translate:-50% 0;background:#231a2e;color:white;border-radius:14px;padding:9px 16px;max-width:90vw;text-align:center}.toast:empty{display:none}footer{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-block:21px;font-size:14px}footer div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}footer a:hover{text-decoration:underline}footer div>span{color:var(--muted)}
@media(max-width:760px){.bar,main,footer{padding-inline:17px}.bar{flex-wrap:wrap;gap:3px;min-height:unset;padding-top:12px}.bar nav{order:3;width:100%;overflow:auto;justify-content:space-between;padding:7px 0}.bar nav a{padding:6px 9px}.hero{padding:34px 24px 10px;min-height:0;grid-template-columns:1fr}.hero h1{font-size:clamp(58px,14vw,92px)}.hero p{margin:16px 0}.hero-art{height:clamp(233px,55vw,340px);width:min(94%,460px);margin:auto}.hero-art .card{width:36%}.hero-art .card:first-child{left:16%;top:24%}.hero-art .card:nth-child(2){left:47%;top:13%}.orbit{inset:19% 0 8%}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.families,.pack-grid{gap:10px}.family,.pack{padding:14px}.family{min-height:109px}.family small{max-width:68%}.card-caption{padding:7px}.card-info{font-size:10px}.section-title{align-items:start}.section-title a{font-size:13px;text-align:right}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.card.moving{transform:none}}body.reduce *,body.reduce *::before,body.reduce *::after{animation:none!important;transition:none!important}body.reduce .card.moving{transform:none}
.identifier{margin-top:10px;color:#efddf7;font-size:12px}.identifier summary{cursor:pointer}.identifier code{display:block;overflow-wrap:anywhere;margin-top:4px}
@media(max-width:600px){
  .bar nav{position:fixed;z-index:8;bottom:0;left:0;background:#fcf9f3;border-top:1px solid var(--line);padding:5px 8px calc(5px + env(safe-area-inset-bottom));justify-content:space-around}
  .bar nav a{display:grid;place-items:center;min-height:44px;padding:5px 8px;font-size:13px}
  .bar{padding-block:12px}.toast{bottom:calc(64px + env(safe-area-inset-bottom))}footer{padding-bottom:calc(75px + env(safe-area-inset-bottom))}
  .field,.form input,.form select{max-width:100%;min-width:0;font-size:16px}.btn{min-height:44px}.panel{padding:14px}
}

.pack-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pack{padding:16px}

.pack h2{font-size:clamp(23px,4vw,36px)}
.pack.mixte{background:#e0def3}
.card.commune{--frame:linear-gradient(145deg,#fff,#e9e6e3 65%,#fff);--edge:#fff}
.card.rare{--frame:linear-gradient(145deg,#d8f6ff,#2667a6 36%,#9ce9ff 73%,#21528b)}
.card.epique{--frame:linear-gradient(135deg,#f7d7ff,#7030a8 35%,#c58bfa 57%,#4b1872 80%,#e9beff)}
.card-core{border:1px solid var(--edge);box-shadow:0 0 0 2px #1711227a}
.card-art{aspect-ratio:1/1.22}
.card-caption{background:linear-gradient(160deg,#38284d,#181120);border-top:1px solid var(--edge)}
.card.commune .card-caption{background:#f9f7f2;color:#211b28}
.card-stats{display:flex;justify-content:space-between;gap:3px;font-size:clamp(10px,1.5vw,14px);font-weight:700}
.card-stats b{font-variant-numeric:tabular-nums}
.card-name + .card-stats{margin-top:5px}
.card.rare .shine,.card.epique .shine,.card.legendaire .shine{background:radial-gradient(circle at var(--px) var(--py),var(--edge),transparent 49%)}
.card.commune .shine{background:radial-gradient(circle at var(--px) var(--py),#fff7,transparent 42%)}
.card.rare .card-core:after,.card.epique .card-core:after,.card.legendaire .card-core:after{content:'';position:absolute;inset:4px;border:1px solid var(--edge);border-radius:inherit;pointer-events:none;mask:linear-gradient(135deg,#000,transparent 21% 77%,#000)}
.card.epique .glints,.card.legendaire .glints{color:var(--edge);pointer-events:none}
.card.epique .glints:after,.card.legendaire .glints:after{content:'✦';position:absolute;right:9%;top:9%;color:var(--edge);text-shadow:0 0 10px currentColor}
.pack-dialog{width:min(96vw,720px);padding:clamp(12px,3vw,24px)}
.pack-dialog .result{position:relative;isolation:isolate}
.pack-dialog .result .card{width:min(75vw,46dvh,300px)}
.search-scene{position:relative;overflow:hidden;border-radius:16px;background:#19101f;margin-bottom:14px}
.search-scene video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}
.draw-actions{display:flex;justify-content:center;gap:8px;margin-top:15px}
.draw-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.burst{--glow:#fff;position:absolute;z-index:4;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,#fff,var(--glow) 20%,transparent 76%);animation:burst .6s ease-out both;color:var(--glow)}
.burst.rare{--glow:#66c7ff}.burst.epique{--glow:#c679ff}.burst.legendaire{--glow:#ffd36d}
.burst i{display:none;position:absolute;font-style:normal;font-size:clamp(18px,7vw,49px);text-shadow:0 0 12px currentColor}
.burst.epique i,.burst.legendaire i{display:block}
.burst i:nth-child(1){left:12%;top:24%}.burst i:nth-child(2){left:28%;top:61%}.burst i:nth-child(3){left:73%;top:18%}.burst i:nth-child(4){left:82%;top:64%}.burst i:nth-child(5){left:48%;top:11%}
@keyframes burst{0%{opacity:0;transform:scale(.72)}28%{opacity:.9}100%{opacity:0;transform:scale(1.14)}}
@media(max-width:620px){.pack-grid{grid-template-columns:1fr;gap:12px}.pack{display:grid;grid-template-columns:minmax(90px,38%) 1fr;align-items:center;gap:10px}.pack h2{margin:0}.pack .btn{padding:8px 11px}.draw-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.search-scene{aspect-ratio:4/3}.search-scene video{height:100%;aspect-ratio:auto;object-fit:cover}}
.search-scene{width:min(100%,62dvh);margin-inline:auto;aspect-ratio:1}
.search-scene video{height:100%;aspect-ratio:1;object-fit:contain}

/* Trading card frame and engraving */
.card{--metal:#d6d6d0;--bright:#fffdf3;--shadow:#6c6b75;--plate:#303238;--trim:clamp(4px,1.2vw,10px);padding:var(--trim);border-radius:5%;aspect-ratio:5/7;background:linear-gradient(122deg,var(--bright),var(--shadow) 28%,var(--metal) 55%,var(--shadow) 81%,var(--bright));border:1px solid var(--metal);container-type:inline-size}
.card.rare{--metal:#74c4e4;--bright:#e0faff;--shadow:#193752;--plate:#142c43;--trim:clamp(5px,1.35vw,12px)}
.card.epique{--metal:#bd83ed;--bright:#f4d6ff;--shadow:#391454;--plate:#331940;--trim:clamp(6px,1.5vw,14px)}
.card.legendaire{--metal:#d8a64c;--bright:#fff1b8;--shadow:#704714;--plate:#463018;--trim:clamp(7px,1.65vw,16px)}
.card-core{height:100%;border:1px solid var(--bright);border-radius:3.5%;background:var(--plate);display:grid;grid-template-rows:12% minmax(0,1fr) 13%;box-shadow:0 0 0 1px var(--shadow),inset 0 0 0 2px var(--metal)}
.card:is(.rare,.epique,.legendaire) .card-core:after{content:none}
.card-banner{min-width:0;position:relative;z-index:2;display:flex;align-items:center;padding:0 22% 0 9%;background:linear-gradient(180deg,var(--shadow),var(--plate));border-bottom:2px solid var(--metal)}
.card-name{font:800 clamp(10px,8cqi,29px)/1 'Cinzel',Georgia,serif;color:var(--bright);text-shadow:0 1px 3px #000}
.card-seal{position:absolute;display:grid;place-items:center;right:3%;top:11%;width:16%;aspect-ratio:1;border:1px solid var(--bright);border-radius:50%;color:var(--bright);background:radial-gradient(var(--metal),var(--shadow) 70%);font-size:8cqi;text-shadow:0 0 3px #000}
.card-stars{z-index:2;position:absolute;top:12%;left:5%;padding:0 8% 0 4%;clip-path:polygon(0 0,100% 0,82% 100%,0 100%);background:var(--plate);color:var(--bright);font-size:6cqi;letter-spacing:.12em;filter:drop-shadow(0 1px 0 var(--metal))}
.card-art{height:100%;min-height:0;aspect-ratio:auto;background:var(--plate)}
.card[data-imported=true] .card-art img{background:var(--plate)}
.card-plaque{position:absolute;z-index:3;bottom:11%;left:27%;width:46%;text-align:center;background:linear-gradient(var(--bright),var(--metal) 48%,var(--shadow) 53%,var(--plate) 62%);padding:1px;clip-path:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%)}
.card .card-rarity{display:block;position:static;border-radius:0;background:var(--plate);color:var(--bright);padding:.17em 0;font:700 5.7cqi/1.15 Georgia,serif;clip-path:inherit}
.card .card-caption{display:grid;align-items:end;padding:0 7% 4%;background:linear-gradient(0deg,var(--plate),var(--shadow));border-top:2px solid var(--metal);color:var(--bright)}
.card .card-stats{font:700 6cqi/1.1 Georgia,serif}
.card-corners{position:absolute;z-index:2;inset:13% 1.5%;bottom:13%;pointer-events:none;color:var(--bright)}
.card-corners i{position:absolute;width:20%;height:21%;left:0;top:0;border:1px solid var(--metal);border-right:0;border-bottom:0;border-radius:48% 0 0 0}
.card-corners i:nth-child(2){left:auto;right:0;transform:scaleX(-1)}
.card-corners i:nth-child(3){top:auto;bottom:0;transform:scaleY(-1)}
.card-corners i:nth-child(4){left:auto;right:0;top:auto;bottom:0;transform:scale(-1)}
.card:is(.rare,.epique,.legendaire) .card-corners i:before,.card:is(.epique,.legendaire) .card-corners i:after{content:'';position:absolute;inset:8% 17% 24% 7%;border:1px solid currentColor;border-right:0;border-bottom:0;border-radius:75% 12% 60% 10%;transform:skew(-9deg);filter:drop-shadow(0 0 2px var(--shadow))}
.card:is(.epique,.legendaire) .card-corners i:after{inset:19% 38% 37% 14%;transform:rotate(-24deg);border-right:1px solid var(--metal)}
.card.legendaire .card-corners i{border-width:2px;border-style:double}
.card.epique .card-seal{border-radius:25%;box-shadow:0 0 7px var(--metal)}
.card.legendaire .card-seal{border:3px double var(--bright);box-shadow:0 0 0 2px var(--shadow),0 0 8px var(--metal)}
.card.epique .shine,.card.legendaire .shine{background:radial-gradient(circle at var(--px) var(--py),var(--bright),transparent 46%),linear-gradient(120deg,transparent 38%,var(--metal) 48%,transparent 59%);mix-blend-mode:screen}
[data-video-status]:empty{display:none}
.draw-actions [hidden]{display:none}

.pack-film{width:min(100%,220px);aspect-ratio:0.62;margin:auto;filter:drop-shadow(0 9px 8px #27123e45)}
.pack-film video{display:block;width:100%;height:100%;object-fit:cover;clip-path:polygon(1% 0,99% 0,100% 4%,98% 20%,98% 79%,100% 96%,99% 100%,1% 100%,0 96%,2% 79%,2% 20%,0 4%)}
@media(max-width:620px){.pack-film{width:min(100%,115px)}}
.card{--trim:clamp(4px,1vw,10px);border-radius:4%;background:linear-gradient(110deg,var(--shadow),var(--metal) 16%,var(--bright) 32%,var(--shadow) 48%,var(--metal) 62%,var(--bright) 79%,var(--shadow));box-shadow:0 7px 15px #120e2650}
.card.rare,.card.epique,.card.legendaire{--trim:clamp(4px,1vw,10px)}
.card-core{grid-template-rows:9% minmax(0,1fr) 13%;border-radius:3%;box-shadow:0 0 0 1px #1d1422}
.card-banner{padding-left:11%;background:linear-gradient(0deg,#110e18,var(--plate));border:1px solid var(--metal);border-radius:0 0 18% 18% / 0 0 38% 38%}
.card-name{font-size:7cqi;letter-spacing:.005em}
.card-seal{z-index:4;right:4%;top:-7%;width:15%;font-size:8cqi;border:3px double var(--bright)}
.card-stars{top:9%;left:9%;padding-inline:4% 10%;color:var(--bright);box-shadow:inset 0 -1px var(--metal)}
.card-art{width:100%;background:#14111a}
.card-art img{object-position:center}
.card-rails{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--shadow),var(--bright) 27%,var(--metal) 52%,var(--shadow) 78%);width:6%;box-shadow:inset 0 0 0 1px var(--bright)}
.card-rails::before{content:'';position:absolute;inset:12% 20%;background:repeating-linear-gradient(0deg,transparent 0 4px,var(--bright) 5px 6px,transparent 7px 10px);opacity:.55;clip-path:polygon(50% 0,100% 4%,66% 50%,100% 96%,50% 100%,0 96%,33% 50%,0 4%)}
.card-rails::after{content:'';position:absolute;inset:0;transform:translateX(1566.67%) scaleX(-1);background:inherit;box-shadow:inherit}
.card-corners{z-index:3;inset:1.2% 1.7%;color:var(--bright)}
.card-corners i{width:24%;height:28%;border-width:2px;border-radius:40% 0 0 0}
.card-corners i::before,.card-corners i::after{border-radius:90% 0 75% 0!important}
.card.legendaire .card-corners i{border:3px double var(--bright);border-bottom:0;border-right:0}
.card-plaque{bottom:10%;width:54%;left:23%}
.card .card-caption{padding-inline:9%;background:linear-gradient(155deg,var(--bright),var(--metal) 46%,var(--bright));color:var(--plate);border-top:3px double var(--shadow)}
.card .card-stats{font-size:6.2cqi}
.card .shine{z-index:2;transition:opacity .16s;opacity:0}
.card.commune:is(:hover,.moving) .shine{opacity:0}
.card.rare:is(:hover,.moving) .shine{opacity:.32}
.card.epique .shine{background:radial-gradient(ellipse at var(--px) var(--py),#fff 0%,#f1b5ff 9%,#9d36fc91 28%,transparent 57%),linear-gradient(125deg,transparent 31%,#b849ff9c 46%,#fff6 49%,transparent 62%);background-size:100% 100%,170% 170%;background-position:center,var(--px) var(--py)}
.card.legendaire .shine{background:radial-gradient(ellipse at var(--px) var(--py),#fffdf0 0%,#ffe3a7c9 14%,#ffb42c80 28%,transparent 54%),repeating-linear-gradient(126deg,transparent 0 18%,#ffd66c9e 25%,#fff9da 26%,transparent 32%);background-size:100% 100%,190% 190%;background-position:center,var(--px) var(--py)}
.card.epique:is(:hover,.moving) .shine{opacity:.72}
.card.legendaire:is(:hover,.moving) .shine{opacity:.86}
.card .glints{z-index:3;opacity:0;transition:opacity .25s;background:none}
.card .glints::after{content:none}
.card:is(.epique,.legendaire):is(:hover,.moving) .glints{opacity:1;transform:translate(calc((var(--px) - 50%) * .08),calc((var(--py) - 50%) * .08))}
.glints i{position:absolute;color:var(--bright);font:normal 10cqi/1 Georgia;text-shadow:0 0 4px #fff,0 0 12px var(--metal);animation:foil-star 1.45s infinite alternate}
.glints i:nth-child(1){left:16%;top:24%}.glints i:nth-child(2){right:17%;top:34%;animation-delay:-.3s}.glints i:nth-child(3){left:29%;top:59%;animation-delay:-.7s}.glints i:nth-child(4){right:15%;top:69%;animation-delay:-1s}.glints i:nth-child(5){left:42%;top:46%;animation-delay:-.2s}.glints i:nth-child(6){left:13%;top:76%;animation-delay:-.8s}
.card.epique .glints i:nth-child(n+4){display:none}
@keyframes foil-star{from{opacity:.35;scale:.55}to{opacity:1;scale:1.16}}
.dig-glow{--magic:#fff;position:absolute;left:50%;top:76%;width:88%;aspect-ratio:2.25;z-index:3;transform:translate(-50%,-50%);pointer-events:none;color:var(--magic);animation:dig-light 1.8s ease-out both;background:radial-gradient(ellipse,#fff 1%,var(--magic) 13%,transparent 66%);mix-blend-mode:screen}
.dig-glow.rare{--magic:#169cff}.dig-glow.epique{--magic:#b02cff}.dig-glow.legendaire{--magic:#ffb72b}
.dig-glow i{position:absolute;left:48%;top:43%;font:normal clamp(18px,7vw,58px)/1 Georgia;text-shadow:0 0 10px currentColor;animation:dig-star 1.65s ease-out both;--x:-160%;--y:-150%}
.dig-glow i:nth-child(2){--x:110%;--y:-215%}.dig-glow i:nth-child(3){--x:-30%;--y:-265%}.dig-glow i:nth-child(4){--x:220%;--y:-90%}.dig-glow i:nth-child(5){--x:-245%;--y:-65%}
.dig-glow:not(.epique):not(.legendaire) i:nth-child(n+3){display:none}
@keyframes dig-light{0%,100%{opacity:0;scale:.6}35%{opacity:1;scale:1.05}70%{opacity:.65;scale:1.2}}
@keyframes dig-star{from{opacity:0;transform:scale(.35)}28%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(1.05)}}

.pack-film{position:relative}
.pack-film img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;clip-path:polygon(1% 0,99% 0,100% 4%,98% 20%,98% 79%,100% 96%,99% 100%,1% 100%,0 96%,2% 79%,2% 20%,0 4%)}
.pack-film video{opacity:0}
.pack-film video.playing{opacity:1}
.card{padding:2px;border:0;border-radius:4%;background:var(--shadow)}
.card-core{grid-template-rows:11% minmax(0,1fr) 14%;border:0;box-shadow:none}
.card-banner{padding:0 19% 0 12%;border-radius:0;background:linear-gradient(0deg,#1c1826,var(--plate));border:0}
.card-stars{left:11%;top:11%;z-index:5}
.card .card-caption{padding:0 13% 11%;color:var(--bright);border:0;background:linear-gradient(0deg,#181321,var(--plate))}
.card .card-stats{font-size:6cqi}
.card .engraving{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;overflow:visible}
.engraving-base{fill:var(--metal);fill-rule:evenodd;stroke:var(--shadow);stroke-width:1}
.engraving-line,.engraving-scroll{fill:none;stroke:var(--bright);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.engraving-scroll{stroke-width:2;filter:drop-shadow(0 1px 1px var(--shadow))}
.engraving-inlay{fill:var(--plate);stroke:var(--bright);stroke-width:.8}
.commune .engraving-inlay{opacity:.3}
.epique .engraving-inlay,.legendaire .engraving-inlay{fill:var(--bright);filter:drop-shadow(0 0 3px var(--metal))}
.card .card-seal{top:1%;right:8%;width:13%}
.card .shine,.card .glints{z-index:3}
.discovery{--light:#f5f8ff;position:absolute;inset:0;z-index:6;pointer-events:none;color:var(--light)}
.discovery.rare{--light:#39aaff}.discovery.epique{--light:#c14eff}.discovery.legendaire{--light:#ffbb32}
.discovery span{position:absolute;left:48%;top:81%;width:84%;height:43%;translate:-50% -50%;background:radial-gradient(ellipse,#fff 0%,var(--light) 17%,color-mix(in srgb,var(--light),transparent 38%) 38%,transparent 70%);opacity:.82;animation:discovery-glow .75s ease-out both}
.discovery i{position:absolute;left:44%;top:62%;font:normal clamp(17px,7vw,56px)/1 Georgia;text-shadow:0 0 6px white,0 0 14px currentColor;animation:discovery-star .8s ease-out both}
.discovery i:nth-of-type(2){left:30%;top:68%}.discovery i:nth-of-type(3){left:60%;top:70%}.discovery i:nth-of-type(4){left:20%;top:76%}.discovery i:nth-of-type(5){left:72%;top:77%}
.discovery:not(.epique):not(.legendaire) i:nth-child(n+3){display:none}
@keyframes discovery-glow{from{scale:.42;opacity:.3}55%{scale:1.11;opacity:1}to{scale:1;opacity:.82}}
@keyframes discovery-star{from{translate:0 65%;opacity:0}to{translate:0 0;opacity:1}}

.card,.card.rare,.card.epique,.card.legendaire{aspect-ratio:2/3;padding:0;border:0;background:#14101a}
.card .card-core{display:block;width:100%;height:100%;background:transparent}
.card .card-art{position:absolute;inset:11% 7% 30%;width:auto;height:auto;aspect-ratio:auto}
.card[data-imported=true] .card-art img{object-fit:cover}
.card .card-frame{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:fill;pointer-events:none}
.card .card-name{position:absolute;z-index:4;inset:6.8% 14% auto;text-align:center;color:#322016;text-shadow:none;font-size:8cqi;line-height:1.15}
.card.legendaire .card-name{top:9%}
.card .card-stars{left:50%;top:auto;bottom:18.3%;translate:-50% 0;padding:0;clip-path:none;background:none;color:#65410f;box-shadow:none;filter:none;font-size:6cqi;white-space:nowrap}
.card .card-caption{position:absolute;inset:auto 0 5.9%;z-index:4;display:block;padding:0;background:none;color:#362615}
.card .card-stats{display:block;font-size:5.1cqi;text-align:center}
.card-stats span{position:absolute;bottom:0;width:15%;left:5.2%}
.card-stats span:last-child{left:auto;right:5.2%}
.card-stats b{display:block;font-size:6.5cqi}
.card .shine,.card .glints{border-radius:inherit}

.fullscreen{border:1px solid var(--line);border-radius:50%;width:38px;height:38px;background:transparent;margin-left:auto;font-size:22px;line-height:1}
.fullscreen[hidden]{display:none}
.music-toggle{margin-bottom:12px}
.music-toggle[aria-pressed=true]{background:#eee1f629}
.card .card-stars{top:6.3%;bottom:auto;color:#63400e;font-size:7.5cqi}
.card.legendaire .card-stars{top:8.5%}
.discovery span{animation:discovery-spark .48s ease-out both}
.discovery i{animation:discovery-particle .55s ease-out both;font-size:clamp(10px,4vw,28px)}
.discovery i:nth-of-type(even){animation-delay:.07s}
@keyframes discovery-spark{0%,100%{opacity:0;scale:.45}24%{opacity:1;scale:1}65%{opacity:.35;scale:1.25}}
@keyframes discovery-particle{0%{opacity:0;translate:0 60%;scale:.45}22%{opacity:1;scale:1}100%{opacity:0;translate:0 -90%;scale:.55}}
@media(max-width:760px){
  .bar{padding-top:calc(12px + env(safe-area-inset-top))}
  .bar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding-inline:4px}
  .bar nav a{padding-inline:2px;font-size:clamp(10px,3vw,13px)}
  main{touch-action:pan-y;min-height:calc(100dvh - 100px);padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  main:has(.pack-grid){touch-action:auto}
  .pack-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding-bottom:12px;gap:12px}
  .pack-grid .pack{flex:0 0 89%;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;gap:15px}
  .pack-grid .pack-film{width:min(46vw,200px,29dvh)}
}

.card .card-stars{top:4.9%;color:#bc850d;text-shadow:0 1px #66400e,0 -1px #fff1aa}
.card.legendaire .card-stars{top:7%}
.card .card-caption{bottom:6.4%}
.card .card-stats span{display:grid;justify-items:center;gap:.5cqi}
.card-stats svg{width:5.4cqi;height:5.4cqi;fill:#79501f;stroke:#58380f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card .card-stats b{font-size:6.2cqi}
.burst-particles{container-type:inline-size}
.burst-particles span{animation:discovery-spark .58s ease-out both}
.burst-particles i,.burst-particles:not(.epique):not(.legendaire) i:nth-of-type(n+3){display:block;left:48%;top:79%;width:1.5%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 .65rem .22rem var(--light);animation:particle-travel .56s var(--delay) ease-out both}
@keyframes particle-travel{0%{opacity:0;transform:scale(.25)}18%{opacity:1}66%{opacity:.84}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.15)}}
@media(prefers-reduced-motion:reduce){.burst-particles i{display:none!important}}
body.reduce .burst-particles i{display:none!important}

.card{--stat-x:13%;--stat-y:91.2%}
.card.rare{--stat-x:13.6%;--stat-y:89.8%}
.card.epique{--stat-x:13.3%;--stat-y:90.3%}
.card.legendaire{--stat-x:13%;--stat-y:88.8%}
.card .card-stats{position:absolute;inset:0;z-index:5;pointer-events:none}
.card .card-stats span{position:absolute;display:block;top:var(--stat-y);bottom:auto;left:var(--stat-x);width:auto;translate:-50% -50%;font:800 8.4cqi/1 Georgia,serif;text-shadow:0 1px 1px #fff8e5}
.card .card-stats .attack{color:#104d9e}
.card .card-stats .defense{left:calc(100% - var(--stat-x));right:auto;color:#9e211f}
.search-scene:has(.find-effect) video{filter:brightness(.72)}
.find-effect{--light:#f4fbff;--halo:#b9d6ff;position:absolute;inset:0;z-index:7;pointer-events:none;container-type:inline-size}
.find-effect.rare{--light:#51c6ff;--halo:#1778ff}
.find-effect.epique{--light:#e290ff;--halo:#9336fb}
.find-effect.legendaire{--light:#ffe18a;--halo:#ff8b27}
.find-beam{position:absolute;left:49%;top:20%;width:65%;height:64%;translate:-50% 0;transform-origin:50% 97%;background:radial-gradient(ellipse at 50% 92%,white 2%,var(--light) 15%,var(--halo) 28%,transparent 66%);clip-path:polygon(0 0,100% 0,61% 100%,39% 100%);animation:find-beam 1.25s ease-out both}
.find-ring{position:absolute;left:49%;top:81%;width:15%;height:5%;translate:-50% -50%;border:2px solid var(--light);border-radius:50%;box-shadow:0 0 14px 4px var(--halo),inset 0 0 10px var(--light);animation:find-ring .92s .08s ease-out both}
.find-effect i{position:absolute;left:49%;top:80%;width:1.35%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px var(--light),0 0 16px var(--halo);animation:find-dot .93s var(--delay) ease-out both}
@keyframes find-beam{0%{opacity:0;scale:.14 .18}17%{opacity:1;scale:1 1}58%{opacity:.67;scale:1.2 1.08}100%{opacity:0;scale:1.3 1.15}}
@keyframes find-ring{0%{opacity:0;scale:.4}17%{opacity:1}100%{opacity:0;scale:6 4}}
@keyframes find-dot{0%{opacity:0}16%{opacity:1}69%{opacity:.85}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.22)}}
@media(prefers-reduced-motion:reduce){.find-effect i,.find-ring{display:none}}
body.reduce .find-effect i,body.reduce .find-ring{display:none}

.cat-camera [hidden]{display:none}
.cat-camera video,.cat-preview{display:block;width:min(100%,480px);height:auto;margin:12px 0;border-radius:14px;background:#21182b}
#cat-cards h2,#cat-review h2{margin:24px 0 14px}
.cat-sparks{position:absolute;inset:0;pointer-events:none;container-type:inline-size;--spark:#fff}
.cat-sparks.rare{--spark:#54bcff}.cat-sparks.epique{--spark:#cc81ff}.cat-sparks.legendaire{--spark:#ffd55b}
.cat-sparks i{position:absolute;left:49%;top:80%;width:1.05%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 5px 2px var(--spark);opacity:0;animation:cat-spark .46s var(--delay) ease-out both}
@keyframes cat-spark{15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}
@media(max-width:760px){.bar nav{grid-template-columns:repeat(6,minmax(0,1fr))}.bar nav a{font-size:clamp(9px,2.6vw,12px)}}

:root{color-scheme:dark;--paper:#100d16;--ink:#f5eff9;--muted:#c1b4cd;--line:#463851;--violet:#d0adfb;--surface:#1b1525;--surface-raised:#261d32}
html,body{overflow-x:clip}
.top,.bar nav,.filters,.panel{background:var(--surface)}
.bar nav a[aria-current]{background:#38284c;color:#efdfff}
.field{background:#15111e;border-color:#665374;color:var(--ink)}
.btn{background:#e5d1fa;color:#231730}
.btn.outline{background:transparent;color:inherit}
.btn.lime{background:var(--lime);color:#22192d}
.section-title a{color:#dab9ff}
.family,.family[data-family=realiste]{background:#2b2037}
.family b{background:#463452;color:#fff}
.drop{background:#30223e;color:var(--ink)}
.drop.active{color:#22192d}
.pack,.pack.realiste,.pack.mixte{background:#21192c;border:1px solid var(--line)}
.pack-open{appearance:none;width:100%;display:grid;justify-items:center;gap:9px;background:none;color:var(--ink);border:0;padding:0;text-align:center}
.pack-open .pack-film{display:block;width:min(100%,240px);margin:0}
.pack-label{font:800 clamp(20px,4vw,34px)/1 var(--display)}
.pack-hint{font-size:.85rem;color:var(--muted)}
.page-outgoing{position:fixed;z-index:4;margin:0;pointer-events:none;background:var(--paper)}
@media(max-width:760px){
  main:has(.pack-grid){touch-action:auto}
  main:has(.pack-grid){padding-inline:8px}
  main:has(.pack-grid) .page-head{padding:5px 9px 12px}
  main:has(.pack-grid) .page-head h1{font-size:clamp(30px,8vw,44px);margin:4px 0 6px}
  main:has(.pack-grid) .page-head p{font-size:.83rem}
  .pack-grid{touch-action:pan-x pan-y}
  .pack-grid .pack{flex-basis:100%;padding:5px;gap:0}
  .pack-open .pack-film{width:100%}
  .pack-open{gap:5px}
}

.pack-tear{position:relative;width:min(220px,46vw,31dvh);aspect-ratio:256/416;margin:38px auto 16px;isolation:isolate}
.pack-tear img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.tear-body{clip-path:polygon(0 12%,9% 10%,18% 13%,29% 9%,39% 12%,50% 9%,62% 13%,72% 10%,81% 13%,92% 9%,100% 12%,100% 100%,0 100%)}
.tear-strip{clip-path:polygon(0 0,100% 0,100% 12%,92% 9%,81% 13%,72% 10%,62% 13%,50% 9%,39% 12%,29% 9%,18% 13%,9% 10%,0 12%);animation:tear-strip .76s ease-in-out both}
@keyframes tear-strip{0%,20%{transform:none;opacity:1}72%{opacity:1}100%{transform:translate(38%,-22%) rotate(18deg);opacity:0}}
.pack-dialog [hidden]{display:none}
.flip-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:14px auto;max-width:560px}
.flip-slot{position:relative;flex:0 0 calc((100% - 20px)/3);max-width:175px;min-width:0;aspect-ratio:2/3;padding:0;border:0;border-radius:8%;background:transparent;perspective:700px}
.flip-slot::before{content:'';position:absolute;inset:6%;border-radius:inherit;box-shadow:0 0 18px 5px var(--reveal-halo,transparent);opacity:0;transition:opacity .3s .23s}
.flip-slot.flipped::before{opacity:1}
.flip-slot.rare{--reveal-halo:#369dff}
.flip-slot.epique{--reveal-halo:#a845fd}
.flip-slot.legendaire{--reveal-halo:#ffbf48}
.flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .54s cubic-bezier(.23,.72,.32,1)}
.flip-slot.flipped .flip-inner{transform:rotateY(180deg)}
.flip-back,.flip-front{position:absolute;inset:0;display:block;border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flip-back{background:#1d1428;border:1px solid #b18acb;overflow:hidden}
.flip-back img{width:100%;height:100%;object-fit:contain}
.flip-front{transform:rotateY(180deg)}
.flip-front .card{height:100%}
.flip-instruction{font-size:.88rem}
@media(max-width:760px){
 .pack-dialog .search-scene{width:min(100%,70dvh)}
 .flip-grid{gap:8px}
 .flip-slot{flex-basis:calc((100% - 16px)/3)}
}
@media(max-width:760px){
 .pack-dialog:has(.search-scene){width:calc(100vw - 8px);padding-inline:7px}
}

.flip-slot:is(.rare,.epique,.legendaire)::before{opacity:.54;inset:3%;box-shadow:0 0 12px 2px var(--reveal-halo)}
.flip-slot.flipped:is(.rare,.epique,.legendaire)::before{opacity:1}
.pack-closeup{position:fixed;inset:0;z-index:10;display:grid;justify-items:center;align-content:center;gap:12px;padding:14px;background:#140e1af7;overflow:auto}
.pack-closeup .card{width:min(83vw,49dvh,450px);touch-action:none;animation:closeup-in .24s ease-out}
.pack-closeup .close{position:absolute;top:max(12px,env(safe-area-inset-top));right:14px;z-index:1}
.pack-closeup p{max-width:36ch;margin:0;font-size:.88rem}
@keyframes closeup-in{from{scale:.77;opacity:.5}to{scale:1;opacity:1}}
@media(max-width:760px){
 .pack-dialog.pack-reveal{width:calc(100vw - 6px);height:calc(100dvh - 12px);max-height:none;padding:12px 9px;border-radius:17px}
 .pack-overview{min-height:100%;display:flex;flex-direction:column;justify-content:center}
 .pack-overview header{margin-bottom:4px}
 .flip-grid{width:100%;gap:8px;margin-block:12px}
 .flip-slot{flex-basis:min(calc((100% - 8px)/2),17.2dvh);max-width:none}
 .pack-dialog:has(.search-scene){width:100vw;max-width:none;padding-inline:0;border-inline:0}
 .pack-dialog:has(.search-scene) header{padding-inline:12px}
 .pack-dialog .search-scene{width:min(100%,77dvh)}
 .pack-dialog .search-scene video{transform:scale(1.035)}
}
@media(max-width:760px){
 .pack-reveal .flip-grid{max-width:min(100%,calc(34.4dvh + 8px))}
 .pack-reveal .flip-slot{flex-basis:calc((100% - 8px)/2)}
}

.card-powers{position:absolute;z-index:5;top:76%;left:20%;right:20%;display:flex;justify-content:center;gap:6%;color:#5a245e;font-size:9cqi;line-height:1}
.card-powers button,.duel-powers button{background:#3e2853;color:#ffedb7;border:1px solid #b499cc;border-radius:50%;font:inherit;min-width:25px;min-height:25px;padding:0}
.power-description{padding:8px 12px;border:1px solid var(--line);border-radius:10px}
.deck-selected,.duel-opponents{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.deck-selected .deck-card{width:clamp(46px,15vw,130px)}
.deck-card,.duel-card{display:block;padding:0;border:0;background:none;color:inherit}
.deck-pool{margin-top:16px}
.duel-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:630px;margin:12px auto}
.duel-unit{text-align:center;min-width:0}
.duel-card{width:100%;transition:transform .16s}
.duel-unit.selected .duel-card{transform:scale(1.07);outline:2px solid #d8ff74;border-radius:8px}
.duel-unit.frozen .card{filter:sepia(.65) hue-rotate(155deg) saturate(1.9)}
.duel-unit strong,.duel-unit small{display:block}
.duel-unit strong{font-size:clamp(12px,3.5vw,18px)}
.duel-powers{display:flex;justify-content:center;gap:3px}
.duel-result{font-size:1.45rem;text-transform:capitalize}
.duel-face{position:relative}
.duel-face .duel-powers{position:absolute;top:73%;left:15%;right:15%;z-index:5}
.duel-powers button{min-width:20px;min-height:20px;font-size:12px}

body.launching{overflow:hidden}
#launch{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#000;color:#fff}
#launch [hidden]{display:none}
#launch video{display:block;width:min(100vw,100dvh);height:min(100vw,100dvh);object-fit:contain}
#launch img{width:min(94vw,850px);height:auto;max-height:84dvh;object-fit:contain}
#launch .btn{position:absolute;bottom:max(14%,calc(24px + env(safe-area-inset-bottom)));left:50%;transform:translateX(-50%);white-space:nowrap}

.duel-opponents{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,156px),1fr));gap:12px}
.opponent-tile{position:relative;min-height:170px;isolation:isolate;overflow:hidden;border:1px solid #70588a;border-radius:16px;text-align:left;color:#fff;background:#2c203b;padding:12px;display:flex;align-items:end}
.opponent-tile img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.opponent-tile:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 30%,#110b1bee 90%)}
.opponent-tile small{display:block;color:#e5d3f4}
.duel-unit{position:relative}
.duel-unit .card-stats{display:none}
.duel-stats{display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:4px;margin:5px 0}
.duel-stats strong,.duel-atk{font-size:clamp(9px,2.6vw,14px);white-space:nowrap}
.duel-atk{color:#a7d7ff}.duel-hp{color:#ffabb6}
.duel-meter{grid-column:1/-1;height:5px;background:#4b2b3b;border-radius:6px;overflow:hidden}
.duel-meter i{display:block;height:100%;background:#ed677c}
.duel-striking{position:relative;z-index:12}
.duel-delta{position:absolute;z-index:13;top:27%;left:50%;translate:-50%;white-space:nowrap;color:white;background:#24172e;border:1px solid #ffc2ca;border-radius:20px;padding:4px 8px;font-weight:800;font-size:clamp(10px,2.8vw,15px);animation:duel-delta .5s both;pointer-events:none}
.duel-impact .duel-face{animation:duel-impact .38s ease-out}
.duel-ko .duel-face{animation:duel-ko .5s both}
.duel-enter .duel-face{animation:duel-enter .4s ease-out}
@keyframes duel-delta{from{transform:translateY(10px);opacity:.3}to{transform:translateY(-14px);opacity:1}}
@keyframes duel-impact{25%{filter:brightness(1.7) saturate(1.5);transform:translateX(5px)}55%{transform:translateX(-4px)}}
@keyframes duel-ko{to{opacity:.2;scale:.86;filter:grayscale(1)}}
@keyframes duel-enter{from{opacity:0;transform:translateY(18px) scale(.82)}}
@media(max-width:760px){
 .card-detail{width:calc(100vw - 6px);padding:10px 5px}
 .card-detail header,.card-detail p{padding-inline:8px}
 .card-detail .result .card{width:min(100%,53dvh);max-width:none}
}
.duel-empty{min-height:32px;border:1px dashed #493858;border-radius:8px}
.duel-status{display:flex;justify-content:center;gap:5px;min-height:1.25em}
.status-poison{color:#ff5964;text-shadow:0 0 8px #ff2738;font-weight:900}
.status-ice{color:#93eaff;text-shadow:0 0 8px #429dff}
.duel-unit.poison-tick .duel-face::after{content:'';position:absolute;inset:22% 0 0;background:radial-gradient(ellipse at 35% 70%,#a53de0bd,transparent 50%),radial-gradient(ellipse at 65% 75%,#ce41699c,transparent 55%);filter:blur(5px);animation:poison-rise .55s ease-out both;pointer-events:none}
.freeze-hit .duel-face{animation:ice-impact .52s ease-out}
.heal-tick [data-power="regeneration"]{animation:heart-pulse .55s ease-out}
.heal-tick .duel-delta{color:#b2ffc7;border-color:#71e69a}
@keyframes poison-rise{from{opacity:.95;transform:translateY(14px) scale(.8)}to{opacity:0;transform:translateY(-22px) scale(1.2)}}
@keyframes ice-impact{35%{filter:brightness(1.55) drop-shadow(0 0 10px #58ceff)}}
@keyframes heart-pulse{40%{scale:1.3;color:#fff;box-shadow:0 0 15px 5px #80ff9f}}

#profile-link{width:44px;height:44px;flex:none;padding:0;overflow:hidden;border:1px solid #9c76be}
#profile-link img,.avatar-option img{width:100%;height:100%;object-fit:cover;object-position:center 38%;border-radius:50%}
.wallet{text-align:right;white-space:nowrap;margin-left:auto;color:#f4db92;font-size:.9rem}
.wallet[hidden]{display:none}
.wallet small{display:block;color:var(--muted);font-size:.72rem}
.bar .fullscreen{margin-left:0}
.avatar-options{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.avatar-option{width:56px;height:56px;border-radius:50%;border:2px solid #70588a;background:#21192c;padding:0}
.avatar-option[aria-pressed=true]{border-color:var(--lime)}
.duel-thinking{padding:8px 12px;background:#38284c;border-radius:10px;color:#efdfff}
.home-logo{display:block;width:min(100%,540px);border-radius:18px}
.mail-link{font-size:1.4rem;padding:6px 10px}
.mail-item{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
[data-gift-preview] .card{max-width:124px;margin:0 0 6px}
.welcome-pack,#close-profile{margin-bottom:14px}
.home-logo{height:auto;object-fit:contain;border-radius:0}
.home-cat{position:fixed;z-index:7;bottom:calc(62px + env(safe-area-inset-bottom));right:12px;width:clamp(115px,34vw,210px);height:auto;object-fit:contain;pointer-events:none}
@media(min-width:761px){.home-cat{bottom:12px}}
@media(prefers-reduced-motion:reduce){.home-cat{display:none}}
body.reduce .home-cat{display:none}

.home-cat{transform:scaleX(-1)}
.card .card-powers{top:73%;left:12%;right:12%;display:grid;grid-template-columns:1.35em minmax(0,1fr);align-items:center;gap:.35em;text-align:left;color:#39223d;font:650 4.2cqi/1.07 system-ui,sans-serif}
.card-powers .power-icon{display:grid;place-items:center;width:1.55em;aspect-ratio:1;border-radius:50%;background:#3e2853;color:#ffedb7;font-size:1em}
.power-copy{display:grid;gap:.12em}
.power-copy strong{font-weight:850}
.settings summary{font-weight:800;cursor:pointer}
.settings label{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.settings input[type="range"]{flex:1;min-width:90px}
.mail-link{position:relative}
.mail-link.has-unread::after{content:'';position:absolute;top:4px;right:4px;width:9px;height:9px;background:#ff4e65;border-radius:50%;box-shadow:0 0 0 2px var(--surface)}

.gift-picker{min-width:0;margin:0;padding:0;border:0}
.gift-picker legend{font-weight:750;margin-bottom:8px}
.gift-picker .gift-none{display:flex;align-items:center;gap:8px;margin-bottom:10px;min-height:40px}
.gift-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(94px,100%),1fr));gap:8px;max-height:420px;overflow:auto;padding:4px;overscroll-behavior:contain}
.gift-grid .gift-option{display:block;position:relative;cursor:pointer}
.gift-option input{position:absolute;width:1px;height:1px;opacity:0}
.gift-preview{display:block;height:100%;padding:5px;border:2px solid var(--line);border-radius:10px;background:var(--surface-raised)}
.gift-option input:checked + .gift-preview{border-color:var(--lime);background:#373e2b}
.gift-option input:focus-visible + .gift-preview{outline:2px solid var(--ink);outline-offset:1px}
.gift-meta{display:block;margin-top:4px;font-size:.72rem;text-align:center}
[data-gift-note]{display:block;margin-top:8px}
[data-gift-note][hidden]{display:none}
.received-card{width:min(160px,55%);margin:10px 0}
.mail-dot{display:inline-block;width:9px;height:9px;background:#ff4e65;border-radius:50%}
.daily-logo{width:min(70%,240px);height:auto;margin:auto}
.daily-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:12px;font-size:clamp(.62rem,2.7vw,.86rem)}
.daily-days span{padding:6px 1px;border:1px solid var(--line);border-radius:7px}
.daily-days .today{border-color:var(--lime);color:var(--lime)}
.daily-reward [data-daily-claim]{margin-top:12px}

.card[data-imported=true] .card-art{overflow:hidden}
.card[data-imported=true] .card-art img{object-position:var(--crop-x,50%) var(--crop-y,50%);transform:scale(var(--crop-zoom,1));transform-origin:var(--crop-x,50%) var(--crop-y,50%)}
.crop-editor .card-art{touch-action:none;cursor:grab;z-index:3}
.crop-editor .card-art:active{cursor:grabbing}
.crop-editor .card-frame{z-index:4}
.crop-editor .form{margin-top:12px}
.crop-editor input[type="range"]{width:100%}
.booster-pity{margin-bottom:1rem;padding:1rem}
.booster-pity summary{cursor:pointer;font-weight:700}
.booster-pity summary span{color:#f4ce78}
.card-art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--crop-x,50%) var(--crop-y,50%);transform:scale(var(--crop-zoom,1));transform-origin:var(--crop-x,50%) var(--crop-y,50%);pointer-events:none}
.card-art video:not(.playing){opacity:0}

.pack-price{color:#f4ce78;font-size:.95rem;font-weight:800}

.market-link{display:inline-grid;place-items:center;min-width:32px;min-height:40px;text-decoration:none;font-size:1.15rem}
.market-grid button{margin-top:.5rem}

.import-report{white-space:pre-wrap;overflow-wrap:anywhere}

.header-account{display:flex;align-items:center;gap:4px;margin-left:auto}
.header-account .wallet{margin:0;font-size:.76rem;line-height:1.28}
.header-account .wallet small{font-size:.66rem}
.header-account .mail-link{display:grid;place-items:center;width:44px;height:44px;padding:0;font-size:1.15rem}
.bar nav .market-link{display:inline-flex;align-items:center;justify-content:center;gap:3px;font-size:inherit}
.account-welcome{width:min(92vw,440px)}
.account-welcome .form{margin-top:16px}
@media(max-width:760px){
 .bar nav{grid-template-columns:repeat(7,minmax(0,1fr))}
 .bar nav a,.bar nav .market-link{padding-inline:0;font-size:clamp(8px,2.48vw,11px)}
 .bar nav .market-link{display:flex;flex-direction:column;gap:1px;line-height:1.05}
}

.deck-selected{justify-content:center;gap:12px;max-width:600px;margin-inline:auto}
.deck-selected .deck-card{width:calc((100% - 12px)/2)}
