@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#0c0c12;--panel:#13131c;--line:#252530;--text:#f3f1fa;--muted:#858393;--purple:#a88aff;--gold:#e8bd68}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--purple);outline-offset:4px}button{border:0;color:inherit;background:none}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;padding:31px 20px;background:#101017;border-right:1px solid var(--line);z-index:10}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:800;letter-spacing:1px}.brandmark{display:grid;place-items:center;width:33px;height:35px;background:#b697ff;color:#171121;clip-path:polygon(0 0,100% 0,80% 75%,50% 100%,20% 75%);font:900 30px 'Barlow Condensed',sans-serif}.tiny{font-size:9px;color:var(--muted);border:1px solid var(--line);padding:3px;letter-spacing:1px}.workspace{margin:33px 0;display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:13px 10px;border-radius:8px;font-size:11px}.workspace small{display:block;color:var(--muted);margin-top:5px;font-size:10px}.group-icon{font-size:22px;color:var(--purple)}.live-dot{width:5px;height:5px;border-radius:100%;background:#8aca9c;margin-left:auto}.nav-label{color:#656372;font-size:9px;letter-spacing:1.8px;margin:0 12px 12px}nav button{display:flex;align-items:center;width:100%;gap:13px;text-align:left;padding:13px 14px;border-radius:6px;margin:4px 0;color:#9692a5;font-size:12px}nav button.active{color:#c4b0ff;background:#252036}nav button:hover{background:#1e1b2b;color:#e5dcff}.nav-icon{font-size:19px;width:22px}.nav-count{margin-left:auto;font-size:10px;background:#352b4a;padding:2px 6px;border-radius:3px}.sidebar-bottom{position:absolute;bottom:20px;left:20px;right:20px}.season-mini{background:linear-gradient(130deg,#252035,#16151e);padding:17px;border:1px solid #342a46;border-radius:8px;margin-bottom:24px}.season-mini>span{font-size:9px;letter-spacing:2px;color:#baa2ef}.season-mini strong{display:block;margin:8px 0;font-size:14px}.season-mini small{font-size:9px;color:var(--muted)}.progress{height:3px;background:#3b324c;margin:13px 0}.progress i{display:block;width:18%;height:100%;background:var(--purple)}.profile{display:flex;align-items:center;gap:10px;text-align:left;width:100%}.profile small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.profile b{font-size:12px}.profile>span:last-child{margin-left:auto;color:var(--muted)}.avatar,.top-avatar{display:grid;place-items:center;background:#353041;border:1px solid #575064;border-radius:50%;font-size:11px;width:34px;height:34px}.shell{margin-left:238px}header{height:81px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 13px;color:#514c61}.breadcrumb b{color:#d6d0e5;font-weight:500}.top-actions{display:flex;align-items:center;gap:20px}.demo-label{font-size:8px;letter-spacing:1.3px;color:#80758f}.wallet{display:flex;align-items:center;gap:9px;background:#1a1722;border:1px solid #37303f;border-radius:6px;padding:9px 13px}.wallet>span{color:var(--gold);font-size:20px}.wallet b{font-size:12px}.wallet small{font-size:9px;color:var(--muted)}main{max-width:1500px;margin:auto;padding:32px 38px 45px}.eyebrow{font-size:9px;letter-spacing:2.3px;font-weight:700;color:var(--purple);text-transform:uppercase}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}h1{font-size:28px;letter-spacing:-.8px;margin:8px 0;font-weight:600}.page-head p{font-size:12px;color:var(--muted);margin:0}.pill{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:8px 12px;color:#b8b2c7}.pill i{display:inline-block;width:5px;height:5px;background:#aa8ce6;border-radius:50%;margin-right:6px}.hero{position:relative;overflow:hidden;height:350px;border:1px solid #443051;border-radius:12px;background:radial-gradient(ellipse at 82% 49%,#44305e 0,transparent 48%),linear-gradient(105deg,#21172e,#171320 55%,#261b36);display:flex;align-items:center;padding:38px 42px}.hero:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0,transparent 100px,#ab83ed08 101px,#ab83ed08 102px);pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:50%}.hero .eyebrow{display:flex;align-items:center;gap:10px}.new{font-size:8px;background:#8262b344;padding:4px 7px;border:1px solid #8864b970;border-radius:3px;letter-spacing:1px}.hero h2{font:700 54px/.98 'Barlow Condensed',sans-serif;letter-spacing:.1px;margin:20px 0 15px;text-transform:uppercase}.hero h2 em{font-style:normal;color:#c3a6ff}.hero p{color:#b0a6bf;font-size:12px;line-height:1.8;max-width:340px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 18px;border-radius:5px;font-size:11px;font-weight:700;background:#b298f4;color:#171121;border:1px solid #b298f4}.button:hover{background:#c9b3ff}.button.secondary{background:#ffffff06;border-color:#51445e;color:#eee4ff}.button.gold{background:#eac984;border-color:#eac984}.button:disabled{opacity:.4;cursor:not-allowed}.hero-buttons{display:flex;gap:10px;margin-top:23px}.hero-art{position:absolute;right:38px;top:0;width:44%;height:100%;display:flex;align-items:center;justify-content:center}.hero-art .tcg-card{width:200px;position:absolute;box-shadow:0 25px 45px #0008}.hero-art .tcg-card:nth-child(1){transform:rotate(-15deg) translate(-98px,12px);filter:brightness(.65)}.hero-art .tcg-card:nth-child(2){transform:rotate(13deg) translate(92px,13px);filter:brightness(.7)}.hero-art .tcg-card:nth-child(3){transform:rotate(-3deg);width:209px;box-shadow:0 0 55px #d7a85833,0 30px 60px #0009}.hero-index{position:absolute;bottom:17px;left:42px;display:flex;gap:5px}.hero-index span{width:5px;height:5px;background:#685775;border-radius:50%}.hero-index span:first-child{width:19px;border-radius:4px;background:#c5a3fa}.hero-caption{position:absolute;bottom:17px;right:30px;color:#9583ab;font-size:8px;letter-spacing:1.5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:21px 0 32px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;display:flex;gap:13px;align-items:center}.stat-icon{width:35px;height:35px;display:grid;place-items:center;border:1px solid #383046;background:#221d2c;border-radius:8px;color:var(--purple);font-size:19px}.stat small{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.stat strong{font-size:21px;font-weight:600}.stat strong span{font-size:10px;color:#6e677d;font-weight:400}.stat-sub{font-size:8px;color:#ad96cc;margin-top:5px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section-heading h2{font-size:17px;font-weight:500;margin:0}.section-heading h2 span{font-size:10px;font-weight:400;color:var(--muted);margin-left:10px}.text-link{font-size:10px;color:#baa2ef}.text-link:hover{color:white}.dashboard-lower{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card-wrap{min-width:0}.card-wrap>button{width:100%;padding:0;text-align:left}.tcg-card{--accent:#c4a3ff;position:relative;border:1px solid var(--accent);padding:6px;background:linear-gradient(135deg,#393144,#171620 28%,#26212e 80%,#454050);border-radius:9px;overflow:hidden;aspect-ratio: .69;transition:transform .2s,box-shadow .2s}.card-wrap:hover .tcg-card{transform:translateY(-5px);box-shadow:0 10px 25px #0008}.tcg-card.legendary{--accent:#e4c17b;background:linear-gradient(140deg,#8b7147,#211d29 25%,#352f39 75%,#a88b50)}.card-top{display:flex;justify-content:space-between;align-items:center;padding:5px 4px 6px;color:var(--accent);font-size:8px;letter-spacing:1px}.card-top span:last-child{letter-spacing:0;font-size:10px}.portrait{height:60%;position:relative;overflow:hidden;background:#181522;border:1px solid #ffffff25}.portrait svg{width:100%;height:100%;display:block}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#0e0b1770)}.card-title{font:700 clamp(13px,1.3vw,21px) 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:8px 4px 2px;letter-spacing:.7px}.card-subtitle{font-size:7px;color:#aea0b8;margin:0 4px 8px}.card-skill{margin:0 4px;font-size:6px;color:#c4b9cd;line-height:1.5;height:25px;border-top:1px solid #ffffff1a;padding-top:5px}.card-stats{display:flex;justify-content:space-between;margin:6px 4px 0;border-top:1px solid #ffffff20;padding-top:6px;font-size:9px;font-weight:700}.card-stats small{font-size:6px;color:#b7acbc;font-weight:400;margin-right:3px}.card-serial{font-size:5px;color:#948798;text-align:right;margin:4px 4px 0;letter-spacing:1px}.card-meta{display:flex;justify-content:space-between;align-items:center;margin:10px 1px;font-size:10px}.rarity{font-size:8px;color:var(--purple)}.rarity.legendary{color:var(--gold)}.edition{font-size:9px;color:#7c758a}.auction-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:19px}.auction-row{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.auction-row:last-of-type{border:0}.auction-thumb{width:43px;height:58px;flex-shrink:0;border:1px solid #5d465d;border-radius:4px;overflow:hidden}.auction-thumb svg{width:100%;height:100%}.auction-row h3{font-size:11px;font-weight:500;margin:0 0 7px}.auction-row p{font-size:9px;color:var(--muted);margin:0 0 8px}.auction-row strong{font-size:11px;color:#e6c882}.auction-row small{margin-left:8px;font-size:8px;color:#9b85b9}.auction-panel .button{width:100%;margin-top:16px;padding:10px;font-size:10px}.bottom-banner{border:1px solid var(--line);border-radius:8px;padding:19px 22px;display:flex;align-items:center;justify-content:space-between;margin-top:27px;background:linear-gradient(100deg,#1c1827,#121219)}.bottom-banner h3{font-size:13px;margin:0 0 6px;font-weight:500}.bottom-banner p{font-size:10px;color:var(--muted);margin:0}footer{padding:22px 38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:#66616f}footer b{color:#a49aae;margin-right:8px}footer button{font-size:9px;color:#8b7c9d}.filters{display:flex;gap:10px;margin:24px 0;flex-wrap:wrap}input,select{background:#181620;border:1px solid #393041;border-radius:5px;color:white;padding:11px 13px;min-width:0}input::placeholder{color:#746c83}.filters input{flex:1}.filters button{padding:9px 14px;border:1px solid var(--line);border-radius:5px;color:#9e94b1;font-size:11px}.filters button.active{background:#2a213a;border-color:#796091;color:#d4bdfc}.collection-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.empty{padding:50px;text-align:center;color:var(--muted)}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.pack-item{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;text-align:center}.pack{height:260px;max-width:180px;margin:5px auto 25px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;background:repeating-linear-gradient(110deg,transparent,transparent 15px,#ffffff04 16px,#ffffff04 17px),radial-gradient(ellipse at center,#a381df55,transparent 70%),linear-gradient(150deg,#5c426c,#181021 30%,#31203e 80%,#836391);border:1px solid #9278b0;clip-path:polygon(0 0,100% 0,96% 5%,100% 10%,96% 15%,100% 20%,100% 80%,96% 85%,100% 90%,96% 95%,100% 100%,0 100%,4% 95%,0 90%,4% 85%,0 80%,0 20%,4% 15%,0 10%,4% 5%);box-shadow:0 10px 40px #000}.pack.gold-pack{background:radial-gradient(ellipse at center,#d3a34c44,transparent 70%),linear-gradient(150deg,#a48146,#251b15 40%,#5b452b);border-color:#bb9458}.pack.blue-pack{background:radial-gradient(ellipse at center,#4dcbe944,transparent 70%),linear-gradient(150deg,#3c6d84,#14202a 40%,#244558);border-color:#70bfd6}.pack:before,.pack:after{content:'';position:absolute;left:0;right:0;height:13px;background:repeating-linear-gradient(90deg,#ffffff20 0,#ffffff20 1px,transparent 1px,transparent 4px)}.pack:before{top:0}.pack:after{bottom:0}.pack-logo{font-size:24px;letter-spacing:5px;font-weight:800}.pack-sigil{font:800 90px 'Barlow Condensed',sans-serif;line-height:1.1;color:#cfb1fa;filter:drop-shadow(0 0 15px #e0baff44)}.gold-pack .pack-sigil{color:#e7c388}.blue-pack .pack-sigil{color:#8ee4ef}.pack small{font-size:8px;letter-spacing:3px}.pack span:last-child{font-size:8px;color:#c1afd0;margin-top:20px;letter-spacing:1px}.pack-item h2{font-size:17px;font-weight:500}.pack-item p{font-size:11px;color:var(--muted);line-height:1.8}.pack-item .button{width:100%;margin-top:12px}.odds{font-size:9px;color:#9a84b6;margin:18px 0}.notice{font-size:11px;line-height:1.8;color:#a393b7;border:1px solid var(--line);padding:15px 20px;border-radius:6px;margin-top:25px;background:#17131e}.auction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.listing{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:9px}.listing .tcg-card{max-width:210px;margin:10px auto 20px}.listing h3{font-size:16px;margin:8px 0}.listing .listing-info{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:12px 0}.listing .price{font-size:24px;color:var(--gold);margin:15px 0}.listing .button{width:100%}.modal{position:fixed;inset:0;background:#000b;backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.modal[hidden]{display:none}.dialog{position:relative;width:580px;max-width:100%;max-height:90vh;overflow:auto;background:#17131f;border:1px solid #4d3b60;border-radius:12px;padding:30px;box-shadow:0 30px 100px #000}.dialog.wide{width:1000px}.dialog h2{font:600 30px 'Barlow Condensed',sans-serif;margin:5px 0 16px}.dialog p{color:#b1a4c2;font-size:12px;line-height:1.8}.close{position:absolute;right:14px;top:10px;font-size:25px;color:#9e8ead}.detail{display:grid;grid-template-columns:220px 1fr;gap:25px;align-items:center}.detail .tcg-card{width:220px}.detail .card-title{font-size:23px}.detail .card-skill{font-size:7px}.detail-stats{display:flex;gap:25px;color:var(--gold);font-size:22px;margin:20px 0}.detail-stats small{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.reveal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:25px 0}.reveal-grid .tcg-card{animation:reveal .6s both}.reveal-grid>*:nth-child(2){animation-delay:.12s}.reveal-grid>*:nth-child(3){animation-delay:.24s}.reveal-grid>*:nth-child(4){animation-delay:.36s}.reveal-grid>*:nth-child(5){animation-delay:.48s}@keyframes reveal{from{opacity:0;transform:translateY(25px) rotateY(80deg)}to{opacity:1;transform:none}}#toast{position:fixed;bottom:25px;left:calc(50% + 80px);transform:translate(-50%,20px);background:#31233f;border:1px solid #81609e;padding:15px 22px;z-index:200;border-radius:7px;font-size:12px;opacity:0;transition:.3s;pointer-events:none;max-width:80vw}#toast.show{opacity:1;transform:translate(-50%,0)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#bdb1cc}.form-grid .full{grid-column:1/-1}.form-grid .button{margin-top:10px}.type-ring{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:20px 0}.type-ring div{text-align:center;background:#221b2c;padding:12px 5px;border:1px solid #43344e;border-radius:5px;font-size:10px}.rules-table{width:100%;border-collapse:collapse;font-size:11px}.rules-table td,.rules-table th{text-align:left;padding:10px;border-bottom:1px solid #3a2b45}.rules-table th{color:var(--purple)}.arena{border:1px solid #49365b;background:radial-gradient(ellipse at center,#3b2550,#14101b 70%);padding:28px;border-radius:12px}.arena-top{display:flex;justify-content:space-between;gap:20px}.health{width:42%;font-size:12px}.health span{float:right;color:#bda4df}.health-bar{height:7px;margin-top:10px;background:#37243d;border-radius:5px;overflow:hidden}.health-bar i{height:100%;display:block;background:linear-gradient(90deg,#8960c7,#d5a9ff);transition:width .3s}.battle-field{display:flex;align-items:center;justify-content:center;gap:65px;margin:30px 0}.battle-field .tcg-card{width:210px}.vs{font:700 36px 'Barlow Condensed',sans-serif;color:#795c94}.battle-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.battle-log{background:#100d16;border:1px solid #302239;padding:17px;border-radius:6px;font-size:11px;color:#af9dc2;line-height:1.8;margin-top:20px;max-height:160px;overflow:auto}.deck-picker{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.deck-picker button{border:1px solid #493756;padding:9px 15px;border-radius:5px;font-size:11px}.deck-picker button.active{background:#3a2850;border-color:var(--purple)}.friends-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.friend{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.friend .tcg-card{width:100%;margin-bottom:18px}.friend h3{margin:0 0 7px}.friend p{font-size:10px;color:var(--muted)}.friend .button{width:100%;margin-top:10px}.badge{font-size:9px;color:var(--gold);border:1px solid #69573a;border-radius:4px;padding:5px 8px}.muted{color:var(--muted)}
@media(min-width:1500px){.hero{height:390px}.hero-art .tcg-card{width:220px}.hero-art .tcg-card:nth-child(3){width:230px}.card-skill{font-size:8px}.card-subtitle{font-size:9px}.card-stats{font-size:12px}}
@media(max-width:1200px){.sidebar{width:210px}.shell{margin-left:210px}main{padding:28px}.dashboard-lower{grid-template-columns:1fr}.auction-panel{display:none}.collection-grid{grid-template-columns:repeat(4,1fr)}.hero h2{font-size:46px}.hero-art{right:20px}.hero-art .tcg-card{width:170px}.hero-art .tcg-card:nth-child(3){width:185px}.stats{gap:9px}.stat{padding:14px}.stat-icon{display:none}}
@media(max-width:850px){.sidebar{width:75px;padding:25px 10px}.brand{font-size:0;justify-content:center}.brand .tiny,.workspace,.nav-label,.sidebar-bottom,.nav-count{display:none}nav{margin-top:35px}nav button{font-size:0;padding:15px;justify-content:center}nav .nav-icon{font-size:22px}.shell{margin-left:75px}header{padding:0 24px}.demo-label{display:none}.hero{padding:28px;height:320px}.hero h2{font-size:40px}.hero-art .tcg-card:nth-child(1),.hero-art .tcg-card:nth-child(2){display:none}.hero-art .tcg-card:nth-child(3){width:174px}.hero p{font-size:11px}.hero-buttons{gap:7px}.button{padding:10px 12px}.hero-caption{display:none}.pack-grid{gap:12px}.pack-item{padding:15px}.pack{height:230px}.auction-grid{grid-template-columns:repeat(2,1fr)}.friends-grid{grid-template-columns:repeat(3,1fr)}footer>span:last-child{display:none}}
@media(max-width:600px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:62px;padding:0;background:#121018ee;backdrop-filter:blur(12px);border-top:1px solid var(--line);border-right:0}.brand{display:none}nav{display:flex;margin:0;height:100%;justify-content:space-evenly}nav button{width:auto;margin:0;padding:12px 9px;flex:1}nav button:last-child{display:none}.shell{margin:0;padding-bottom:62px}header{height:65px;padding:0 18px}.breadcrumb{font-size:10px}.top-actions{gap:10px}.wallet{padding:6px 8px}.wallet small{display:none}.top-avatar{width:29px;height:29px}main{padding:24px 17px}.page-head{align-items:flex-start}.page-head h1{font-size:25px}.page-head p{font-size:10px}.page-head .pill{display:none}.hero{padding:26px 22px;height:340px}.hero-copy{max-width:67%}.hero h2{font-size:40px}.hero p{font-size:10px;max-width:205px}.hero-art{width:35%;right:-20px;opacity:.6;top:20px}.hero-art .tcg-card:nth-child(3){width:158px;transform:rotate(12deg)}.hero-buttons{flex-direction:column;align-items:flex-start}.hero-index{left:22px}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0 26px}.stat{padding:13px}.stat strong{font-size:20px}.stat-icon{display:grid;width:29px;height:29px}.card-grid,.collection-grid{grid-template-columns:repeat(2,1fr);gap:15px}.card-title{font-size:21px}.card-skill{font-size:7px}.card-stats{font-size:11px}.card-subtitle{font-size:8px}.bottom-banner{gap:15px;padding:16px}.bottom-banner .button{font-size:9px;white-space:nowrap}.bottom-banner p{font-size:9px}footer{padding:20px 17px;font-size:8px}.pack-grid,.auction-grid{grid-template-columns:1fr}.pack-item{padding:22px}.pack{height:280px;width:190px}.friends-grid{grid-template-columns:repeat(2,1fr);gap:12px}.friend{padding:12px}.detail{grid-template-columns:1fr}.detail .tcg-card{margin:auto;width:210px}.dialog{padding:25px 20px}.reveal-grid{grid-template-columns:repeat(2,1fr)}.reveal-grid .tcg-card:last-child{grid-column:1/-1;width:50%;margin:auto}.type-ring{grid-template-columns:repeat(3,1fr)}.battle-field{gap:15px}.battle-field .tcg-card{width:44%}.battle-field .card-title{font-size:16px}.vs{font-size:22px}.arena{padding:18px}.health{width:47%;font-size:10px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}#toast{left:50%;bottom:80px}.section-heading h2 span{display:none}}
.portrait .zg-portrait,.auction-thumb .zg-portrait{width:100%;height:100%;display:block;object-fit:cover;object-position:62% 52%}
.tcg-card{display:flex;flex-direction:column}.tcg-card>.portrait{flex:1;min-height:0;height:auto}.card-top,.card-title,.card-subtitle,.card-skill,.card-stats,.card-serial{flex-shrink:0}

/* Édition Exil & Armure */
.portrait .card-photo,.auction-thumb .card-photo{width:100%;height:100%;display:block;object-fit:cover}
.portrait .photo-zg{object-position:62% 52%}
.portrait .photo-zg-exile{object-position:65% 38%}
.portrait .photo-yanis-vs-zg{object-position:50% 45%;object-fit:contain;background:#121020}
.tcg-card.mythic{background:linear-gradient(135deg,#d3a472,#382330 28%,#201b27 65%,#986137);border-color:#efb77c;box-shadow:inset 0 0 0 2px #edbf7430,0 0 20px #e9a76714}
.tcg-card.heroic{background:linear-gradient(135deg,#9d3d71,#1b1426 30%,#27172c 75%,#792c65);border-color:#e16bb0;box-shadow:inset 0 0 0 2px #ef6bb02b}
.rarity.mythic{color:#efb77c}.rarity.heroic{color:#ed84bf}
.card-title{overflow-wrap:anywhere}.card-subtitle{line-height:1.4}

/* Les trois cartes personnelles : illustration bord à bord. */
.tcg-card.full-art{container-type:inline-size;padding:0;border:2px solid var(--accent);isolation:isolate;background:#15111d;box-shadow:inset 0 0 0 1px #fff6,0 8px 24px #0004}
.tcg-card.full-art:after{content:'';position:absolute;inset:3px;z-index:3;border:1px solid #ffffff45;border-radius:5px;pointer-events:none}
.tcg-card.full-art>.portrait{position:absolute;inset:0;flex:none;height:100%;width:100%;border:0;z-index:-2}
.tcg-card.full-art>.portrait:after{background:linear-gradient(180deg,#09071290 0%,transparent 22%,transparent 42%,#09071250 59%,#090712eb 82%,#090712fa 100%)}
.tcg-card.full-art .card-photo{object-fit:cover}
.tcg-card.full-art .photo-zg{object-position:62% 48%}
.tcg-card.full-art .photo-zg-exile{object-position:65% 38%}
.tcg-card.full-art .photo-yanis-vs-zg{object-position:50% 46%}
.tcg-card.full-art .card-top{position:absolute;inset:9px 10px auto;padding:5px 6px;border-radius:4px;background:#0c081b66;backdrop-filter:blur(4px);font-size:clamp(6px,3.4cqw,9px);text-shadow:0 1px 5px #000;color:var(--accent)}
.tcg-card.full-art .card-top span:last-child{font-size:clamp(6px,4cqw,10px)}
.tcg-card.full-art .card-title{position:absolute;left:12px;right:12px;bottom:27%;margin:0;font-size:clamp(14px,9cqw,27px);line-height:1.05;color:#fff;text-shadow:0 2px 8px #000;letter-spacing:.8px}
.tcg-card.full-art .card-subtitle{position:absolute;left:12px;right:12px;bottom:21.5%;margin:0;color:var(--accent);font-size:clamp(6px,3.3cqw,10px);text-shadow:0 1px 5px #000;line-height:1.4}
.tcg-card.full-art .card-skill{position:absolute;left:11px;right:11px;bottom:10.5%;height:auto;min-height:8%;margin:0;padding:6px 0 0;border-top:1px solid #ffffff4a;font-size:clamp(6px,3cqw,9px);line-height:1.5;color:#efe7f5;text-shadow:0 1px 5px #000}
.tcg-card.full-art .card-skill b{color:var(--accent)}
.tcg-card.full-art .card-stats{position:absolute;left:11px;right:11px;bottom:4%;margin:0;padding:5px 0 0;border-top:1px solid #ffffff45;font-size:clamp(9px,5.5cqw,16px);color:#fff;text-shadow:0 1px 4px #000}
.tcg-card.full-art .card-stats small{color:var(--accent);font-size:clamp(5px,2.9cqw,8px)}
.tcg-card.full-art .card-serial{position:absolute;left:11px;right:11px;bottom:1.5%;margin:0;color:#c8b9d0;font-size:clamp(4px,2.1cqw,6px)}
.tcg-card.full-art.mythic{box-shadow:inset 0 0 0 1px #fff6,0 0 22px #edb57725}
.tcg-card.full-art.heroic{box-shadow:inset 0 0 0 1px #fff6,0 0 22px #e16bb025}

/* Édition Mémoire & Temps */
.tcg-card.mystic{background:linear-gradient(135deg,#9bc2ab,#182b25 35%,#1b2823 75%,#789887);border-color:#a4d0b2}
.tcg-card.full-art.mystic{box-shadow:inset 0 0 0 1px #fff6,0 0 22px #a4d0b225}
.rarity.mystic{color:#a4d0b2}
.tcg-card.full-art .photo-yanis-soldat{object-position:50% 42%}
.tcg-card.full-art .photo-abde-yanis{object-position:50% 43%}
.tcg-card.full-art.long-title .card-title{bottom:31%}
.tcg-card.full-art.long-title .card-subtitle{bottom:21.5%;font-size:clamp(6px,3cqw,9px);line-height:1.35}
.type-ring{grid-template-columns:repeat(4,1fr)}
@media(max-width:600px){.type-ring{grid-template-columns:repeat(2,1fr)}}

/* Guide interactif des huit types, dans la collection. */
.type-guide{margin:25px 0 28px;padding:25px 28px 0;background:radial-gradient(ellipse at 15% 45%,#32244535,transparent 58%),#13121c;border:1px solid #363040;border-radius:12px}
.type-guide-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}
.type-guide-heading h2{font-size:23px;font-weight:500;letter-spacing:-.4px;margin:7px 0}
.type-guide-heading p{font-size:11px;color:var(--muted);margin:0}
.type-guide-body{display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,1fr);gap:32px;align-items:center;margin:12px 0}
.type-wheel{width:100%;max-width:370px;aspect-ratio:1;position:relative;margin:auto;isolation:isolate}
.type-wheel svg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible}
.wheel-node{position:absolute;width:70px;min-height:48px;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--type-color) 32%,transparent);border-radius:8px;color:var(--type-color);background:#181620;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;transition:box-shadow .18s,border-color .18s,background .18s}
.wheel-node>span{font-size:20px;line-height:1}.wheel-node>b{font-size:10px;font-weight:600}
.wheel-node:hover,.wheel-node.selected{border-color:var(--type-color);background:color-mix(in srgb,var(--type-color) 10%,#181620);box-shadow:0 0 22px color-mix(in srgb,var(--type-color) 19%,transparent)}
.wheel-node.selected:after{content:'';position:absolute;inset:-4px;border:1px solid var(--type-color);border-radius:11px;opacity:.5}
.wheel-node.strong{border-bottom:3px solid #77cfa2}.wheel-node.weak{border-bottom:3px solid #ef8998}
.wheel-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:2px}
.wheel-center>span{font-size:11px;font-weight:800;letter-spacing:4px;color:#bcadce;padding-left:4px}
.wheel-center strong{font:600 50px/1 'Barlow Condensed',sans-serif;color:#f5edff}.wheel-center small{font-size:6px;letter-spacing:1.3px;color:#9987ac;white-space:nowrap}
.type-inspector{max-width:440px;width:100%;margin:auto;padding:15px 0}
.selected-type{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.selected-type>span{display:grid;place-items:center;min-width:49px;height:49px;font-size:30px;color:var(--type-color);background:color-mix(in srgb,var(--type-color) 8%,transparent);border:1px solid color-mix(in srgb,var(--type-color) 35%,transparent);border-radius:10px}
.selected-type small{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.selected-type h3{font-size:25px;font-weight:500;margin:3px 0;color:var(--type-color)}
.matchup-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;background:#0d0c14;border:1px solid #2c2735;border-left:2px solid #77cfa2;border-radius:6px;margin:9px 0;padding:14px 12px}
.matchup-row>span{font-size:8px;letter-spacing:1px;color:#9f95ab}.matchup-row>b{font-size:12px;font-weight:500}.matchup-row>strong{font-size:10px;font-weight:500;color:#90dbb4}.matchup-row.weakness{border-left-color:#ef8998}.matchup-row.weakness>strong{color:#ef9eaa}
.type-inspector>p{font-size:10px;line-height:1.8;color:#9f95ab;margin:17px 0}.type-inspector>p b{color:#d1c4e1;font-weight:500}
.type-inspector .button{width:100%}.wheel-hint{display:block;text-align:center;color:#746b81;font-size:8px;margin-top:12px}
.type-cycle{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;margin:0 -28px;padding:17px 20px;border-top:1px solid #2b2435;font-size:9px;background:#ffffff02;border-radius:0 0 12px 12px}.type-cycle i{font-style:normal;color:#666071}.type-cycle>span{white-space:nowrap}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.card-top .type-badge{color:var(--type-color);padding:3px 4px;background:color-mix(in srgb,var(--type-color) 12%,#08080f);border:1px solid color-mix(in srgb,var(--type-color) 40%,transparent);border-radius:3px;font-size:inherit;line-height:1;white-space:nowrap}
.tcg-card.full-art .card-top{inset:8px 8px auto;padding:0;background:none;backdrop-filter:none;gap:4px}.tcg-card.full-art .card-top>span:last-child{text-shadow:0 1px 4px #000,0 1px 8px #000}
@media(max-width:1050px){.type-guide{padding:22px 20px 0}.type-guide-body{gap:20px;grid-template-columns:minmax(230px,1fr) minmax(240px,1fr)}.type-cycle{margin:0 -20px;gap:8px}.wheel-node{width:62px;min-height:44px}.matchup-row{padding:12px 9px}.matchup-row>span{font-size:7px}}
@media(max-width:750px){.type-guide-body{grid-template-columns:1fr;gap:0}.type-wheel{max-width:330px}.type-inspector{padding:5px 0 20px;max-width:none}.type-guide-heading .pill{display:none}.type-guide-heading h2{font-size:21px}.wheel-node{width:67px;min-height:48px}.type-guide{padding:20px 18px 0}.type-cycle{margin:0 -18px;font-size:8px;gap:8px;padding:16px}.matchup-row{padding:13px}.matchup-row>span{font-size:8px}.type-cycle i{font-size:9px}}
@media(max-width:360px){.wheel-node{width:56px;min-height:40px}.wheel-node>span{font-size:17px}.wheel-node>b{font-size:9px}.wheel-center strong{font-size:36px}.wheel-center small{font-size:5px}}
.collection-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.wheel-launch{color:#c5b0ed!important}.wheel-launch svg{flex-shrink:0}
.type-wheel-dialog{padding:30px 20px 20px}.type-wheel-dialog .type-guide{margin:10px 0 0}.type-wheel-dialog>.close{z-index:5}
@media(max-width:750px){.page-head:has(.collection-actions){flex-wrap:wrap;gap:18px}.collection-actions{width:100%;justify-content:flex-end}.collection-actions .button{font-size:10px}.type-wheel-dialog{padding:25px 10px 12px}.type-wheel-dialog .type-guide{padding-top:16px}}

/* Contours de rareté indépendants de la couleur du type. */
.tcg-card.mythic,.tcg-card.mystic{border-color:#ff5c69;background:linear-gradient(135deg,#a94350,#21121e 30%,#211821 75%,#9f3c49)}
.tcg-card.full-art.mythic,.tcg-card.full-art.mystic{box-shadow:inset 0 0 0 1px #fff6,0 0 20px #ff5c6927}
.tcg-card.legendary{border-color:#e8bf67}.tcg-card.full-art.legendary{box-shadow:inset 0 0 0 1px #fff6,0 0 20px #e8bf6720}
.tcg-card.heroic{border-color:#bd8bff;background:linear-gradient(135deg,#77529f,#1b1426 30%,#22182f 75%,#705294)}
.tcg-card.full-art.heroic{box-shadow:inset 0 0 0 1px #fff6,0 0 20px #bd8bff27}
.rarity-scale{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:14px 17px;background:#14121c;border:1px solid var(--line);border-radius:7px;margin:8px 0 23px;font-size:10px}
.rarity-scale-label{font-size:8px;letter-spacing:1.7px;color:var(--muted);margin-right:5px}.rarity-scale>span:not(:first-child){color:var(--rarity-color);display:flex;align-items:center;gap:6px}.rarity-scale i{width:6px;height:6px;border-radius:50%;background:var(--rarity-color)}.rarity-scale small{font-size:8px;opacity:.55;margin-right:3px}.rarity-scale>b{font-size:14px;color:#64596e;font-weight:400}
.auction-grid>.empty{grid-column:1/-1;border:1px dashed #3e3449;border-radius:8px;padding:45px 25px;line-height:1.8}
@media(max-width:600px){.rarity-scale{gap:9px;padding:12px;font-size:9px}.rarity-scale-label{width:100%;margin-bottom:3px}.rarity-scale small{display:none}.collection-actions{justify-content:space-between}.collection-actions .button{flex:1}}
.tcg-card.full-art .photo-tom-samourai{object-position:54% 32%}
.tcg-card.full-art .photo-tom-u6{object-position:44% 35%}
.tcg-card.full-art.unknown-card{border-color:#c8d4e3;box-shadow:inset 0 0 0 1px #ffffff77,0 0 22px #a8c5e122}
.tcg-card.full-art .photo-le-maire{object-position:55% 35%}
.tcg-card.full-art .photo-emilien-larp{object-position:46% 35%}

/* Ouverture de booster : lueur issue de la meilleure carte réellement tirée. */
.opening-dialog{background:radial-gradient(ellipse at 50% 48%,#252032,#14111d 70%);border-color:#51405e;padding:32px;overflow:hidden}
.booster-opening{text-align:center;position:relative}.booster-opening h2{font-size:34px;margin-top:10px}.booster-opening>p{font-size:12px;min-height:22px}
.opening-stage{height:330px;position:relative;display:flex;align-items:center;justify-content:center;perspective:1000px;isolation:isolate}
.opening-halo{position:absolute;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--opening-color) 34%,transparent),transparent 69%);filter:blur(12px);animation:opening-breathe 1.6s ease-in-out infinite;z-index:-1}
.opening-ring{position:absolute;width:280px;height:280px;border:1px solid color-mix(in srgb,var(--opening-color) 25%,transparent);border-radius:50%;box-shadow:0 0 35px color-mix(in srgb,var(--opening-color) 13%,transparent),inset 0 0 25px color-mix(in srgb,var(--opening-color) 12%,transparent);transform:rotateX(65deg);bottom:3px}
.opening-pack{width:180px;height:255px;position:relative;transform:rotate(-5deg);filter:drop-shadow(0 0 28px color-mix(in srgb,var(--pack-color) 55%,transparent));animation:pack-arrive .55s ease-out both}
.opening-pack-body{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;border:1px solid var(--pack-color);border-radius:5px;background:repeating-linear-gradient(110deg,transparent 0,transparent 13px,#ffffff06 14px,#ffffff06 15px),radial-gradient(ellipse at 50% 48%,color-mix(in srgb,var(--pack-color) 24%,#181020),#16101e 80%);box-shadow:inset 0 0 0 4px #0e091966}
.opening-pack-body:after{content:'';position:absolute;left:0;right:0;bottom:0;height:13px;background:repeating-linear-gradient(90deg,#ffffff26 0,#ffffff26 1px,transparent 1px,transparent 4px)}
.opening-pack-body>b{font-size:25px;font-weight:800;letter-spacing:5px}.opening-pack-body>small{font-size:7px;letter-spacing:1.6px;color:#bbaccd}.opening-pack-body>strong{font-size:11px;letter-spacing:2px;color:var(--pack-color)}
.opening-sigil{font:700 78px/1.2 'Barlow Condensed',sans-serif;color:var(--pack-color);text-shadow:0 0 26px color-mix(in srgb,var(--pack-color) 45%,transparent)}
.opening-pack-top{position:absolute;left:-1px;right:-1px;top:0;height:28px;background:repeating-linear-gradient(90deg,#ffffff22 0,#ffffff22 1px,transparent 1px,transparent 4px),linear-gradient(110deg,#22182e,var(--pack-color),#241a2f);border:1px solid var(--pack-color);z-index:3;clip-path:polygon(0 0,100% 0,100% 85%,94% 100%,88% 86%,82% 100%,76% 86%,70% 100%,64% 86%,58% 100%,52% 86%,46% 100%,40% 86%,34% 100%,28% 86%,22% 100%,16% 86%,10% 100%,4% 86%,0 100%)}
.opening-seam{position:absolute;top:27px;left:0;right:0;height:2px;background:var(--opening-color);z-index:4;opacity:0;box-shadow:0 0 12px 3px var(--opening-color)}
.opening-particles{position:absolute;inset:0;pointer-events:none}.opening-particles i{position:absolute;left:50%;top:50%;width:3px;height:3px;background:var(--opening-color);border-radius:50%;box-shadow:0 0 8px var(--opening-color);animation:pack-particle 2.2s var(--particle-delay) ease-out infinite;transform:rotate(var(--angle)) translateX(120px)}
.opening-burst{position:absolute;width:40px;height:40px;background:var(--opening-color);border-radius:50%;filter:blur(15px);opacity:0;pointer-events:none}
.opening-stage[data-phase="cracking"] .opening-pack{animation:pack-shake .72s ease-in-out infinite}.opening-stage[data-phase="cracking"] .opening-seam{opacity:1;animation:seam-glow .8s ease-in-out infinite}
.opening-stage[data-phase="burst"] .opening-pack-top{animation:pack-tear .6s ease-out both}.opening-stage[data-phase="burst"] .opening-pack{animation:pack-release .7s ease-in both}.opening-stage[data-phase="burst"] .opening-burst{animation:soft-burst .7s ease-out both}.opening-stage[data-phase="burst"] .opening-halo{animation:halo-expand .7s ease-out both}
.opening-rarity{font-size:11px;letter-spacing:1.5px;margin:8px 0 17px}.skip-opening{display:block;margin:0 auto 16px;padding:8px 20px}.opening-save-note{display:block;font-size:9px;color:#7f728f}
.booster-reveal-dialog{border-color:color-mix(in srgb,#fff 12%,#574264)}.booster-results{position:relative}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.result-heading h2{margin-bottom:0}.best-rarity{font-size:10px;letter-spacing:.5px;white-space:nowrap;color:var(--opening-color);border:1px solid color-mix(in srgb,var(--opening-color) 35%,transparent);background:color-mix(in srgb,var(--opening-color) 8%,transparent);padding:9px 12px;border-radius:20px}
.pack-results{padding-top:8px}.pack-results .tcg-card{animation:card-unseal .6s var(--reveal-delay) both}.pack-results .top-find .tcg-card{box-shadow:0 0 18px color-mix(in srgb,var(--opening-color) 30%,transparent)}.pack-results .card-meta{font-size:10px;gap:5px}.pack-results .card-meta>.rarity{font-size:8px}
.result-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.result-actions>.text-link{margin-left:auto}.result-actions .text-link:disabled{opacity:.4;cursor:not-allowed}
@keyframes opening-breathe{0%,100%{transform:scale(.88);opacity:.65}50%{transform:scale(1.08);opacity:1}}
@keyframes pack-arrive{from{opacity:0;transform:translateY(22px) rotate(-12deg) scale(.88)}to{opacity:1;transform:rotate(-5deg)}}
@keyframes pack-shake{0%,100%{transform:rotate(-5deg) translateX(0)}25%{transform:rotate(-7deg) translateX(-3px)}75%{transform:rotate(-3deg) translateX(3px)}}
@keyframes seam-glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.6)}}
@keyframes pack-particle{from{opacity:0;transform:rotate(var(--angle)) translateX(65px) scale(.7)}30%{opacity:.8}to{opacity:0;transform:rotate(var(--angle)) translateX(175px) scale(1.2)}}
@keyframes pack-tear{to{transform:translateY(-90px) rotate(15deg);opacity:0}}
@keyframes pack-release{to{transform:rotate(1deg) scale(1.16) translateY(25px);opacity:0}}
@keyframes soft-burst{0%{opacity:0;transform:scale(.5)}35%{opacity:.55}100%{opacity:0;transform:scale(13)}}
@keyframes halo-expand{to{transform:scale(1.7);opacity:.15}}
@keyframes card-unseal{from{opacity:0;transform:translateY(18px) rotateY(65deg) scale(.96)}to{opacity:1;transform:none}}

/* Éditeur de deck à trois emplacements. */
.deck-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;margin:28px 0 35px}.deck-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.deck-slot{min-width:0;background:#14121c;border:1px solid #332a40;border-radius:9px;padding:12px}.deck-slot-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:8px;color:#a79ab8;letter-spacing:1px}.deck-slot-head>span{color:#c5a8f5;font-size:11px}.deck-slot-head>b{font-weight:500;font-size:7px;letter-spacing:.5px}
.deck-card-preview{display:block;padding:0;width:100%;text-align:left}.deck-card-preview .tcg-card{width:100%}.deck-slot-actions{display:flex;justify-content:space-between;gap:6px;margin-top:12px}.deck-slot-actions>button{font-size:8px;color:#b79cd7;padding:4px 0}.deck-slot-actions>button:disabled{opacity:.45;cursor:default}.deck-slot-actions .remove-deck{color:#cf9caf}
.deck-summary{background:linear-gradient(145deg,#251b33,#14121d 80%);border:1px solid #443250;border-radius:9px;padding:22px;align-self:start}.deck-summary h2{font:600 27px/1.1 'Barlow Condensed',sans-serif;margin:10px 0 22px}.deck-totals{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;padding:16px 0;margin-bottom:20px}.deck-totals small{font-size:7px;letter-spacing:1px;color:#a698ba;display:block;margin-bottom:8px}.deck-totals strong{font-size:21px;font-weight:500;color:#e3d2fb}.deck-summary-label{display:block;font-size:8px;letter-spacing:1px;color:#9787aa;margin-bottom:10px}.deck-types{display:flex;gap:6px;flex-wrap:wrap}.deck-types>span{font-size:9px;color:var(--type-color);border:1px solid color-mix(in srgb,var(--type-color) 30%,transparent);background:color-mix(in srgb,var(--type-color) 8%,transparent);padding:5px 8px;border-radius:4px}.deck-summary>p{font-size:10px;line-height:1.8;color:#a395b4;margin:18px 0}.deck-summary .button{width:100%}.deck-autosave{display:block;text-align:center;font-size:8px;line-height:1.6;color:#a394b5;margin-top:12px}
.empty-slot{position:relative;display:flex;align-items:center;justify-content:center;border-style:dashed;min-height:255px}.deck-slot-number{position:absolute;left:14px;top:14px;color:#8d729f;font-size:11px}.empty-slot-button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;width:100%;color:#b7a2cc}.empty-slot-button>span{font-size:35px;font-weight:400;color:#9273bb}.empty-slot-button>b{font-size:11px;font-weight:500}.empty-slot-button>small{font-size:8px;line-height:1.7;color:#75667f;text-align:center}
#deck-library{scroll-margin-top:25px}.deck-pick{min-width:0;border:1px solid #2d2637;padding:10px;border-radius:8px;background:#14121b}.deck-pick.chosen{border-color:#8f6bbd;background:#21182d}.deck-pick-status{height:22px;font-size:7px;letter-spacing:.8px;color:#8c7a9f}.deck-pick.chosen .deck-pick-status{color:#cfb2f5}.deck-pick.unplayable{opacity:.6}.deck-pick .button{width:100%;font-size:9px;padding:9px 6px;gap:4px}.deck-pick .card-meta{gap:5px;font-size:9px;align-items:flex-start;line-height:1.5}.deck-pick .card-meta>span:last-child{font-size:8px}.deck-lock{margin-bottom:20px}
@media(min-width:851px) and (max-height:820px){.sidebar .season-mini{display:none}.sidebar .workspace{margin:24px 0}.sidebar nav button{padding:11px 14px}}
@media(max-width:1150px){.deck-layout{grid-template-columns:1fr}.deck-summary{display:grid;grid-template-columns:1fr 1fr;gap:5px 25px}.deck-summary>.eyebrow,.deck-summary>h2{grid-column:1/-1}.deck-summary>h2{margin-bottom:10px}.deck-summary-label{grid-column:2;grid-row:3}.deck-totals{grid-column:1;grid-row:3/5;margin:0}.deck-types{grid-column:2;grid-row:4}.deck-summary>p{margin:10px 0}.deck-autosave{grid-column:2}.deck-slots{max-width:740px;width:100%;margin:auto}}
@media(max-width:600px){.opening-dialog{padding:25px 16px}.booster-opening h2{font-size:29px}.opening-stage{height:305px}.opening-pack{width:166px;height:238px}.opening-halo{width:280px;height:280px}.result-heading{align-items:flex-start}.result-heading h2{font-size:26px}.best-rarity{font-size:8px;padding:7px 9px}.result-actions{align-items:stretch}.result-actions>.button{flex:1;font-size:10px}.result-actions>.text-link{width:100%;margin:8px 0 0;padding:9px}.deck-slots{gap:7px}.deck-slot{padding:7px}.deck-slot-head{gap:4px;letter-spacing:0;margin-bottom:8px;flex-wrap:wrap;min-height:25px}.deck-slot-head>b{font-size:6px}.deck-slot .tcg-card .card-title{font-size:clamp(10px,9cqw,18px)}.deck-slot .tcg-card .card-top{inset:5px 4px auto}.deck-slot .tcg-card .card-top>span:last-child{font-size:4px}.deck-slot .tcg-card .type-badge{font-size:4px;padding:2px}.deck-slot .tcg-card .card-title{left:6px;right:6px}.deck-slot .tcg-card .card-subtitle{left:6px;right:6px;font-size:4px}.deck-slot .tcg-card .card-skill{left:5px;right:5px;font-size:3px;padding-top:3px}.deck-slot .tcg-card .card-stats{left:5px;right:5px;font-size:6px;padding-top:2px}.deck-slot .tcg-card .card-stats small{font-size:3px}.deck-slot .tcg-card .card-serial{font-size:2px}.deck-slot-actions{flex-direction:column;gap:5px;margin-top:8px}.deck-slot-actions>button{font-size:7px;padding:5px 1px}.empty-slot{min-height:210px}.empty-slot-button{padding:8px;gap:8px}.empty-slot-button>b{font-size:9px}.empty-slot-button>small{font-size:7px}.deck-summary{padding:18px;gap:5px 15px}.deck-totals strong{font-size:19px}.deck-summary>p{font-size:9px}.deck-summary .button{font-size:10px}.deck-autosave{font-size:7px}.deck-summary h2{font-size:25px}.deck-pick{padding:8px}.deck-pick-status{font-size:6px}.deck-pick .button{font-size:8px}#deck-library .section-heading h2{font-size:15px}#deck-library .text-link{font-size:9px}}
@media(prefers-reduced-motion:reduce){.opening-halo,.opening-pack,.opening-particles i,.opening-pack-top,.opening-burst,.opening-seam,.pack-results .tcg-card{animation:none!important;transition:none!important}.pack-results .tcg-card{opacity:1;transform:none}}
@media(max-width:600px){.deck-slots{grid-template-columns:repeat(3,150px);overflow-x:auto;justify-content:start;scroll-snap-type:x proximity;padding:2px 2px 12px;max-width:100%;gap:12px}.deck-slot{scroll-snap-align:start;padding:9px}.deck-slot .tcg-card .card-title{font-size:clamp(14px,9cqw,20px);left:10px;right:10px}.deck-slot .tcg-card .card-top{inset:8px 6px auto}.deck-slot .tcg-card .card-top>span:last-child{font-size:5px}.deck-slot .tcg-card .type-badge{font-size:6px;padding:3px}.deck-slot .tcg-card .card-subtitle{left:10px;right:10px;font-size:6px}.deck-slot .tcg-card .card-skill{left:9px;right:9px;font-size:5px;padding-top:4px}.deck-slot .tcg-card .card-stats{left:9px;right:9px;font-size:9px;padding-top:4px}.deck-slot .tcg-card .card-stats small{font-size:5px}.deck-slot .tcg-card .card-serial{font-size:3px}.deck-slot-actions>button{font-size:9px;padding:6px 1px}}
:root{color-scheme:dark}.deck-slots{scrollbar-width:thin;scrollbar-color:#635070 #17111f}.opening-dialog{overflow-x:hidden;overflow-y:auto}
.tcg-card.full-art.unknown-card .card-stats{font-size:clamp(8px,4.6cqw,13px)}
.tcg-card.full-art.unknown-card .card-skill{display:flex;align-items:center;justify-content:space-between;gap:8px}
.unknown-card .card-skill small{font-size:clamp(5px,2.7cqw,8px);letter-spacing:1px;color:#a0aabd}
.unknown-label{color:#c8d4e3!important}.unknown-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.unknown-fields small{display:block;font-size:9px;color:var(--muted);letter-spacing:1px;margin-bottom:6px}.unknown-fields strong{font-weight:500;color:#d5dfed;font-size:18px}.dialog .unknown-note{font-size:10px;color:#8f859d;line-height:1.7}
/* The sealed foil keeps its original colour until the light escapes. */
.opening-halo,.opening-ring,.opening-particles{opacity:0;transition:opacity 1.4s}
.opening-stage[data-phase="sealed"] .opening-pack{filter:drop-shadow(0 12px 22px #0008)}
.opening-stage[data-phase="tearing"] .opening-pack-top{animation:foil-tear 1.8s ease-in-out both}
.opening-stage[data-phase="glowing"] .opening-pack-top,.opening-stage[data-phase="burst"] .opening-pack-top{visibility:hidden;animation:none}
.opening-stage[data-phase="glowing"] .opening-halo,.opening-stage[data-phase="glowing"] .opening-ring,.opening-stage[data-phase="glowing"] .opening-particles{opacity:1}
.opening-stage[data-phase="glowing"] .opening-seam{opacity:1;animation:seam-glow 1.2s infinite}
.opening-light{position:absolute;z-index:2;bottom:calc(100% - 28px);left:-25%;width:150%;height:225px;background:linear-gradient(to top,var(--opening-color),transparent 94%);clip-path:polygon(16% 100%,84% 100%,100% 0,0 0);filter:blur(12px);opacity:0;transform-origin:bottom;transform:scaleY(0);transition:opacity 2s,transform 2.8s ease-out;pointer-events:none;mix-blend-mode:screen}
.opening-stage[data-phase="glowing"] .opening-light{opacity:.85;transform:scaleY(1)}
.opening-stage[data-phase="burst"] .opening-pack{animation:pack-release 1.5s ease-in both}
.opening-stage[data-phase="burst"] .opening-burst{animation:soft-burst 1.5s ease-out both}
@keyframes foil-tear{0%{transform:none}25%{transform:translate(4px,-4px) rotate(-3deg)}50%{transform:translate(-12px,-12px) rotate(-9deg)}75%{transform:translate(38px,-45px) rotate(16deg);opacity:1}100%{transform:translate(125px,-125px) rotate(38deg);opacity:0}}
.single-reveal{text-align:center}.single-reveal h2{margin:10px 0 18px}.reveal-card-button{display:block;width:min(255px,75vw);margin:0 auto;background:transparent;border:0;padding:0;cursor:pointer;perspective:1000px}.reveal-card-button .tcg-card{width:100%;animation:card-unseal .5s ease-out both;box-shadow:0 0 28px color-mix(in srgb,var(--opening-color) 25%,transparent)}.revealed-rarity{color:var(--opening-color);margin:16px 0}.single-reveal>small{display:block;margin-top:15px;color:#a294b1;font-size:11px}
@media(prefers-reduced-motion:reduce){.reveal-card-button .tcg-card{animation:none}.opening-light{transition:none}}
.opening-stage[data-phase="sealed"] .opening-halo,.opening-stage[data-phase="tearing"] .opening-halo{visibility:hidden}
/* Staggered foil floating, with tactile horizontal opening. */
.pack-grid{perspective:1200px}.pack-item .pack{animation:booster-float 4.5s ease-in-out infinite;transform-origin:center bottom;will-change:transform}.pack-item:nth-child(2) .pack{animation-delay:-1.5s}.pack-item:nth-child(3) .pack{animation-delay:-3s}
@keyframes booster-float{0%,100%{transform:translateY(0) rotateY(-5deg) rotateZ(-2deg)}50%{transform:translateY(-13px) rotateY(5deg) rotateZ(1deg)}}
.tear-track{--tear-progress:0;position:absolute;z-index:5;top:-12px;left:-28px;right:-28px;height:65px;touch-action:none;user-select:none;cursor:ew-resize;border:1px dashed #ffffff65;border-radius:10px;background:#15102030;display:flex;align-items:center;justify-content:center;transform:translateZ(1px)}.tear-track span{font-size:9px;letter-spacing:1px;text-shadow:0 1px 5px #000;background:#171122d9;padding:5px 7px;border-radius:5px}.tear-track i{position:absolute;bottom:5px;left:5px;width:calc((100% - 10px)*var(--tear-progress));height:3px;background:var(--pack-color);box-shadow:0 0 9px var(--pack-color)}
.opening-stage:not([data-phase="sealed"]) .tear-track{display:none}.tear-alternative{font-size:12px;margin:5px auto 12px;display:block}.booster-opening:has(.opening-stage:not([data-phase="sealed"])) .tear-alternative{visibility:hidden}
.reveal-card-button{position:relative;isolation:isolate}.reveal-card-button:before{content:'';position:absolute;inset:-24px;border-radius:24%;z-index:-1;background:radial-gradient(ellipse,color-mix(in srgb,var(--opening-color) 50%,transparent),transparent 72%);filter:blur(18px);animation:card-aura 2.6s ease-in-out infinite}.reveal-card-button .tcg-card{box-shadow:0 0 12px color-mix(in srgb,var(--opening-color) 65%,transparent),0 0 35px color-mix(in srgb,var(--opening-color) 35%,transparent),0 0 65px color-mix(in srgb,var(--opening-color) 18%,transparent)}
@keyframes card-aura{0%,100%{opacity:.65;transform:scale(.96)}50%{opacity:1;transform:scale(1.07)}}
@media(prefers-reduced-motion:reduce){.pack-item .pack,.reveal-card-button:before{animation:none;will-change:auto}}
/* Final pull: a broad coloured nebula, slow rays and forty glowing motes. */
.finale-dialog{overflow-x:hidden;background:#110e1b;border-color:#776184;width:min(720px,94vw)}
.finale-reveal{position:relative;isolation:isolate}.finale-reveal>.eyebrow,.finale-reveal>h2,.finale-reveal>p,.finale-reveal>.button,.finale-reveal>small{position:relative;z-index:2}.finale-reveal .reveal-card-button{z-index:1}
.finale-effects{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:visible}
.finale-nebula{position:absolute;width:640px;height:640px;max-width:150vw;left:50%;top:46%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--opening-color) 85%,transparent) 0%,color-mix(in srgb,var(--opening-color) 60%,transparent) 22%,color-mix(in srgb,var(--opening-color) 28%,transparent) 48%,transparent 72%);filter:blur(23px);animation:finale-breathe 4s ease-in-out infinite}
.finale-rays{position:absolute;left:50%;top:46%;width:760px;height:760px;max-width:170vw;max-height:170vw;border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0deg 12deg,color-mix(in srgb,var(--opening-color) 60%,transparent) 14deg,transparent 17deg 30deg);mask-image:radial-gradient(circle,transparent 12%,#000 28%,transparent 70%);animation:finale-spin 44s linear infinite;opacity:.8}
.finale-orbit{position:absolute;left:50%;top:46%;width:380px;height:380px;border:1px solid color-mix(in srgb,var(--opening-color) 50%,transparent);border-radius:50%;transform:translate(-50%,-50%) rotateX(60deg);box-shadow:0 0 35px var(--opening-color),inset 0 0 20px color-mix(in srgb,var(--opening-color) 45%,transparent);opacity:.6}
.finale-particles{position:absolute;left:50%;top:46%}.finale-particles>span{position:absolute;transform:rotate(var(--spark-angle));width:0;height:0}.finale-particles i{display:block;width:var(--spark-size);height:var(--spark-size);border-radius:50%;background:#fff8ed;box-shadow:0 0 6px #fff,0 0 13px 4px var(--opening-color),0 0 24px var(--opening-color);animation:finale-spark var(--spark-duration) var(--spark-delay) ease-out infinite}.finale-particles>span:nth-child(4n) i{clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%);border-radius:0;filter:drop-shadow(0 0 4px #fff)}
.finale-reveal .reveal-card-button .tcg-card{box-shadow:0 0 10px 2px var(--opening-color),0 0 35px 10px color-mix(in srgb,var(--opening-color) 80%,transparent),0 0 90px 25px color-mix(in srgb,var(--opening-color) 55%,transparent),0 0 150px 45px color-mix(in srgb,var(--opening-color) 30%,transparent)}
.finale-reveal .revealed-rarity{text-shadow:0 0 14px var(--opening-color);font-weight:700;letter-spacing:2px}
@keyframes finale-breathe{0%,100%{opacity:.75;transform:translate(-50%,-50%) scale(.94)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes finale-spin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes finale-spark{0%{opacity:0;transform:translateX(90px) scale(.3)}18%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translateX(var(--spark-distance)) scale(.35)}}
@media(max-width:600px){.finale-rays{max-width:none;max-height:none;width:580px;height:580px}.finale-orbit{width:280px;height:280px}.finale-particles{transform:scale(.78)}}
@media(prefers-reduced-motion:reduce){.finale-nebula,.finale-rays,.finale-particles i{animation:none}.finale-rays{transform:translate(-50%,-50%)}.finale-particles i{opacity:.8;transform:translateX(var(--spark-distance))}}
.finale-effects{inset:-24px;overflow:hidden;border-radius:16px}
.card-passive{color:var(--accent);font-weight:700;margin-bottom:3px;font-size:1.12em}.card-passive small{font-size:.65em;letter-spacing:1px}.card-skill{line-height:1.35}.ability-label{display:block;color:#b7a0dc;font-size:9px;letter-spacing:1.2px;margin-bottom:8px}.passive-detail{padding:17px 18px;border:1px solid #65517b;border-radius:10px;background:linear-gradient(120deg,#30203f80,#211a2a);margin:16px 0}.passive-detail h3{font-size:17px;margin:8px 0}.passive-detail p{font-size:12px!important;line-height:1.7!important;margin:8px 0!important;color:#e4d8f3!important}.passive-detail>small{display:block;color:#a79ab6;font-size:10px;line-height:1.6}.combat-passives{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.combat-passive{padding:16px;border:1px solid #443651;border-radius:10px;background:#20182b;text-align:left}.combat-passive>small{font-size:8px;letter-spacing:1.2px;color:#9e8cac}.combat-passive h3{font-size:14px;margin:8px 0;color:#dac1ff}.combat-passive>strong{display:block;font-size:11px;color:#f4d788}.combat-passive p{font-size:11px;color:#b5a8c5;line-height:1.7;margin-bottom:0}@media(max-width:650px){.combat-passives{grid-template-columns:1fr}.passive-detail{padding:14px}.card-passive small{letter-spacing:.3px}}
.tcg-card.full-art:not(.unknown-card) .card-title{bottom:30%}.tcg-card.full-art:not(.unknown-card) .card-subtitle{bottom:24.5%}.tcg-card.full-art.long-title:not(.unknown-card) .card-title{bottom:34%}.tcg-card.full-art:not(.unknown-card) .card-skill{font-size:clamp(5.5px,2.8cqw,8px)}
/* Combat intro and sequential attacks, coloured by the attacking type. */
.combat-intro{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:radial-gradient(ellipse,#372448f5,#090711fa 75%);overflow:hidden;pointer-events:auto;animation:duel-intro-fade 1.8s both}.combat-intro-copy{position:relative;text-align:center;width:min(850px,90vw);animation:duel-title-enter .55s both}.combat-intro-copy>small{font-size:11px;letter-spacing:5px;color:#c7a9ee}.intro-names{display:flex;align-items:center;justify-content:center;gap:42px;margin:24px 0;font:700 clamp(27px,5vw,65px) 'Barlow Condensed',sans-serif}.intro-names>b{font-size:85px;color:#d6b2ff;text-shadow:0 0 40px #bf7bff}.intro-names>strong{max-width:38%;overflow-wrap:anywhere}.combat-intro-copy p{font-size:12px;color:#c3b2d3;letter-spacing:1px}.combat-intro-lines{position:absolute;inset:-50%;background:repeating-linear-gradient(135deg,transparent 0 70px,#bc7cff10 71px 73px,transparent 74px 140px);animation:intro-lines 2s linear both}
@keyframes duel-intro-fade{0%{opacity:0}12%,75%{opacity:1}100%{opacity:0}}@keyframes duel-title-enter{from{opacity:0;transform:scale(1.25) translateY(15px)}to{opacity:1;transform:none}}@keyframes intro-lines{to{transform:translateX(120px)}}
.combat-fighter{position:relative;isolation:isolate;flex-shrink:0}.combat-fighter>.tcg-card{width:100%}.combat-fighter .combat-impact{position:absolute;inset:-12%;z-index:5;pointer-events:none;opacity:0;display:grid;place-items:center}.impact-ring{position:absolute;width:120px;height:120px;border:4px solid var(--impact-color);border-radius:50%;box-shadow:0 0 30px var(--impact-color),inset 0 0 30px var(--impact-color)}.impact-symbol{position:absolute;font-size:76px;color:#fff;text-shadow:0 0 8px #fff,0 0 25px var(--impact-color),0 0 55px var(--impact-color)}.combat-impact>i{position:absolute;left:50%;top:50%;width:7px;height:5px;border-radius:30%;background:#fff;box-shadow:0 0 12px 5px var(--impact-color);transform:rotate(var(--impact-angle)) translateX(55px)}
.combat-damage{position:absolute;z-index:7;top:27%;left:50%;transform:translateX(-50%);white-space:nowrap;font:800 31px 'Barlow Condensed',sans-serif;color:#fff;text-shadow:0 2px 4px #000,0 0 16px var(--impact-color);opacity:0;pointer-events:none}.combat-block{position:absolute;inset:30% 0 auto;text-align:center;font-weight:800;font-size:20px;letter-spacing:3px;color:var(--impact-color);text-shadow:0 0 15px var(--impact-color);opacity:0;z-index:8;pointer-events:none}
.combat-attacking[data-combat-side="player"]{animation:player-lunge .65s ease-in-out}.combat-attacking[data-combat-side="enemy"]{animation:enemy-lunge .65s ease-in-out}.combat-hit>.tcg-card{animation:combat-shake .55s ease-out}.combat-hit .combat-impact{animation:impact-light .75s ease-out both}.combat-hit .impact-ring{animation:impact-expand .7s ease-out both}.combat-hit .combat-impact>i{animation:impact-spark .65s ease-out both}.combat-hit .combat-damage{animation:damage-rise .8s ease-out both}.combat-guarding .combat-block{animation:damage-rise .8s ease-out both}.combat-guarding>.tcg-card{box-shadow:0 0 30px var(--impact-color)}
.combat-announcement{min-height:36px;text-align:center;padding:10px 12px;margin:10px 0 20px;border:1px solid #554165;border-radius:8px;background:#211a2c;color:#c3b0d7;font-size:11px;letter-spacing:.5px;transition:background .2s,color .2s}.combat-announcement.announcing{border-color:var(--impact-color);color:var(--impact-color);background:color-mix(in srgb,var(--impact-color) 12%,#15111e);box-shadow:0 0 18px color-mix(in srgb,var(--impact-color) 20%,transparent)}
@keyframes player-lunge{0%,100%{transform:none}35%{transform:translate(38px,-8px) rotate(5deg) scale(1.04)}}@keyframes enemy-lunge{0%,100%{transform:none}35%{transform:translate(-38px,-8px) rotate(-5deg) scale(1.04)}}@keyframes combat-shake{0%,100%{transform:none}15%,45%{transform:translateX(-8px) rotate(-2deg)}30%,60%{transform:translateX(8px) rotate(2deg)}}@keyframes impact-light{0%{opacity:0}15%,40%{opacity:1}100%{opacity:0}}@keyframes impact-expand{from{transform:scale(.4);opacity:1}to{transform:scale(2.5);opacity:0}}@keyframes impact-spark{from{transform:rotate(var(--impact-angle)) translateX(30px);opacity:1}to{transform:rotate(var(--impact-angle)) translateX(150px);opacity:0}}@keyframes damage-rise{0%{opacity:0;transform:translate(-50%,15px) scale(.8)}20%,65%{opacity:1}100%{opacity:0;transform:translate(-50%,-55px) scale(1.15)}}
@media(max-width:600px){.intro-names{gap:18px}.intro-names>b{font-size:55px}.combat-damage{font-size:25px}.impact-symbol{font-size:55px}.impact-ring{width:80px;height:80px}.combat-announcement{font-size:9px}.combat-fighter .combat-impact{inset:0}}
@media(prefers-reduced-motion:reduce){.combat-intro,.combat-attacking,.combat-hit>.tcg-card,.combat-hit .combat-impact,.combat-hit .impact-ring,.combat-hit .combat-impact>i,.combat-hit .combat-damage,.combat-guarding .combat-block{animation:none!important}.combat-announcement{transition:none}}
.battle-field>.combat-fighter{width:210px;min-width:0}.battle-field>.combat-fighter>.tcg-card{width:100%}@media(max-width:600px){.battle-field>.combat-fighter{width:calc((100% - 50px)/2)}}
.combat-block{inset:30% auto auto 50%;white-space:nowrap;width:auto}
/* Two readable choices, explicit targets and one shared team health pool. */
.duel-board{padding:22px}.duel-board .arena-top{gap:30px}.duel-board .health>b{font-size:9px;letter-spacing:1.5px;color:#bcaacc}.duel-board .health>span{font-size:12px}.duel-board .health-bar{margin-top:9px}.duel-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,38%);gap:24px;align-items:start}.duel-stage{min-width:0;padding:14px 0}.fighter-labels{display:flex;justify-content:space-around;color:#9e8fad;font-size:8px;letter-spacing:1.2px;margin-bottom:15px}.duel-stage .battle-field{gap:20px;margin:0 0 22px}.duel-stage .battle-field>.combat-fighter{width:min(180px,42%)}.duel-stage .vs{font-size:24px;flex-shrink:0}.duel-stage .combat-impact{inset:-5%}.duel-stage .combat-damage{font-size:26px}.matchup-hint{text-align:center;font-size:10px;padding:10px 5px;border:1px solid #57436966;border-radius:6px;background:#17111f}.fighter-reserves{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.fighter-reserves>span{font-size:9px;text-align:center;line-height:1.7;color:#d7bd86;background:#221b2b;padding:8px;border-radius:6px;min-height:32px}
.ability-panel{padding:20px;background:linear-gradient(145deg,#241b32,#17131f);border:1px solid #554165;border-radius:12px}.ability-panel h2{font:600 28px 'Barlow Condensed',sans-serif;margin:9px 0 6px}.ability-panel .eyebrow{font-size:8px;letter-spacing:1.2px}.ability-target{font-size:10px;color:#bdaecb;margin:0 0 20px}.ability-target b{color:#eee6f5}.ability-choices.battle-controls{display:grid;grid-template-columns:1fr;gap:12px;margin:0}.ability-choice{padding:15px 13px;text-align:left;border:1px solid color-mix(in srgb,var(--fighter-color) 45%,#4d3a5e);border-radius:9px;background:linear-gradient(110deg,color-mix(in srgb,var(--fighter-color) 9%,#20182c),#21182d);display:flex;flex-direction:column;gap:9px;transition:border-color .2s,background .2s,transform .2s}.ability-choice:hover:not(:disabled){border-color:var(--fighter-color);background:color-mix(in srgb,var(--fighter-color) 14%,#241b32);transform:translateY(-2px)}.ability-choice:disabled{opacity:.45;cursor:default}.ability-choice.support{border-color:#74628f;background:#2a2137}.ability-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ability-topline>strong{font-size:13px;font-weight:700;color:#f7f0ff;line-height:1.45;max-width:57%}.ability-topline>b{font:700 14px 'Barlow Condensed',sans-serif;color:var(--fighter-color);text-align:right;max-width:47%;line-height:1.4;white-space:normal}.support .ability-topline>b{color:#d2b8fb;font-size:12px}.ability-description{font-size:10px;color:#b6a8c7;line-height:1.6}.ability-kind{font-size:8px;color:var(--fighter-color);letter-spacing:.2px}.ability-help{font-size:9px;color:#9d8bac;line-height:1.7;margin:15px 0 17px}.duel-passive-summary{border-top:1px solid #58436777;padding-top:15px}.duel-passive-summary>small{font-size:8px;letter-spacing:1px;color:#a98cc5;display:block}.duel-passive-summary>strong{display:block;font-size:12px;margin:7px 0;color:#dcc6f5}.duel-passive-summary>p{font-size:10px;line-height:1.6;color:#a99ab9;margin:5px 0}.duel-passive-summary>b{display:block;color:#e6c783;font-size:9px;line-height:1.6;margin-top:7px}
.duel-bench{display:flex;align-items:center;gap:16px;border-top:1px solid #43334f;margin-top:22px;padding:20px 0 12px}.duel-bench>div:first-child{flex:0 0 160px}.duel-bench strong{font-size:11px}.duel-bench small{display:block;font-size:8px;color:#9e8cad;line-height:1.6;margin-top:5px}.duel-bench .deck-picker{margin:0;flex:1;display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap}.duel-bench .deck-picker>button{font-size:10px;text-align:left;padding:10px 12px;min-width:105px;border-radius:7px}.duel-bench>.text-link{font-size:9px;color:#a88fba}.duel-passive-details,.duel-journal{border-top:1px solid #3f304d;padding-top:15px;margin-top:15px}.duel-passive-details>summary,.duel-journal>summary{cursor:pointer;font-size:11px;color:#cbb7de;list-style:disclosure-closed}.duel-journal .battle-log{max-height:185px;margin:14px 0 0;font-size:10px}.duel-journal .battle-log>div{padding:5px 0;border-bottom:1px solid #ffffff07}.duel-result{border:1px solid #74528b;background:#2b1e39;padding:25px;border-radius:12px}.duel-result h2{font-size:28px}.duel-result p{font-size:12px;color:#b8a6c9}.duel-lobby{padding:28px}.duel-lobby h2{font-size:30px;text-align:center}.lobby-cards{grid-template-columns:repeat(3,1fr);max-width:700px;margin:28px auto}.duel-flow{display:flex;justify-content:center;align-items:center;gap:16px;margin:26px 0;font-size:10px;color:#c6b6d6}.duel-flow b{color:#ac83db;margin-right:5px}.duel-flow i{font-style:normal;color:#746482}.duel-disclaimer{text-align:center;font-size:10px;color:#9c89ad;margin:20px 0 0}.duel-rules{padding-left:20px;line-height:1.8;font-size:13px;color:#c8bbd6}.duel-rules>li{padding:8px 0}.duel-rules b{color:#f0e8f8}.moves-detail{margin:18px 0;border:1px solid #4e3b60;padding:16px;border-radius:10px;background:#21182b}.moves-detail>div:not(.eyebrow){display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #ffffff12}.moves-detail b{font-size:13px;display:block}.moves-detail small{display:block;font-size:10px;color:#b4a3c6;line-height:1.6;margin-top:6px}.moves-detail strong{font:700 16px 'Barlow Condensed',sans-serif;color:#d7b8ff;white-space:nowrap}.moves-detail>small{font-size:9px}.card-move-line{display:flex;justify-content:space-between;gap:4px;line-height:1.5}.card-move-line>span{white-space:nowrap;color:#eee3ff}.tcg-card.full-art:not(.unknown-card) .card-skill{font-size:clamp(5px,2.6cqw,7px)}
@media(max-width:1100px){.duel-layout{grid-template-columns:1fr}.duel-stage .battle-field>.combat-fighter{width:190px}.ability-choices.battle-controls{grid-template-columns:1fr 1fr}.ability-panel h2{font-size:25px}.ability-help{margin:12px 0}.duel-passive-summary{display:none}.duel-bench{flex-wrap:wrap}.duel-bench>.text-link{margin-left:auto}}
@media(max-width:600px){.duel-board{padding:14px 10px}.duel-board .arena-top{gap:16px}.duel-board .health>b{font-size:8px}.duel-board .health>span{font-size:10px}.duel-board .combat-announcement{margin:12px 0;padding:9px;font-size:9px}.duel-layout{gap:14px}.duel-stage{padding:4px 0}.duel-stage .battle-field{gap:12px;margin-bottom:14px}.duel-stage .battle-field>.combat-fighter{width:calc((100% - 44px)/2);max-width:175px}.fighter-labels{font-size:7px;margin-bottom:10px}.duel-stage .vs{font-size:20px}.fighter-reserves>span{font-size:8px;padding:6px}.ability-panel{padding:14px}.ability-choices.battle-controls{grid-template-columns:1fr;gap:9px}.ability-topline>strong{font-size:13px}.ability-topline>b{font-size:15px}.ability-description{font-size:10px}.ability-kind{font-size:8px}.ability-target{margin-bottom:14px}.ability-help{font-size:9px}.duel-bench{gap:12px;margin-top:16px;padding-top:16px}.duel-bench>div:first-child{flex:1 0 100%}.duel-bench .deck-picker{display:grid;grid-template-columns:repeat(3,1fr);width:100%;flex-basis:100%;gap:5px}.duel-bench .deck-picker>button{min-width:0;padding:8px 6px;font-size:9px}.duel-bench small{font-size:7px}.duel-lobby{padding:18px 10px}.duel-lobby h2{font-size:25px}.duel-flow{flex-direction:column;gap:9px;margin:20px 0}.duel-flow i{display:none}.duel-lobby .battle-controls{flex-wrap:wrap}.moves-detail{padding:12px}.moves-detail b{font-size:12px}.moves-detail strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ability-choice{transition:none}}
.combat-supporting>.tcg-card{animation:support-bloom .9s ease-out}.combat-aided .combat-impact{animation:impact-light .8s ease-out both}.combat-aided .impact-ring{animation:impact-expand .9s ease-out both}.combat-aided .combat-damage{font-size:clamp(12px,2vw,21px);animation:damage-rise .9s ease-out both}.combat-aided .impact-symbol{font-size:55px}.combat-aided .combat-impact>i{animation:impact-spark .9s ease-out both}.duel-board .health-bar i{transition:width .35s ease-out}@keyframes support-bloom{35%{filter:brightness(1.25);box-shadow:0 0 38px var(--impact-color)}100%{filter:none}}@media(prefers-reduced-motion:reduce){.combat-supporting>.tcg-card,.combat-aided .combat-impact,.combat-aided .impact-ring,.combat-aided .combat-damage,.combat-aided .combat-impact>i{animation:none!important}.duel-board .health-bar i{transition:none}}
/* Readable Full Art: names above, generous subtitles and lower information panel. */
.tcg-card.full-art>.portrait:after{background:linear-gradient(180deg,#080611d9 0%,#08061185 24%,#08061110 38%,#090611a6 46%,#090611eb 62%,#090611fc 100%)}
.tcg-card.full-art .card-top{inset:3% 5% auto;align-items:flex-start;gap:5px}.card-badges{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.tcg-card.full-art .card-top .type-badge{font-size:clamp(8px,4.5cqw,12px);font-weight:800;padding:4px 6px;border-radius:5px;line-height:1.1;letter-spacing:.3px}.tcg-card.full-art .card-top .card-rarity-pill{font-size:clamp(7.5px,4cqw,11px);font-weight:700;padding:3px 6px;border:1px solid color-mix(in srgb,var(--accent) 65%,transparent);background:color-mix(in srgb,var(--accent) 18%,#0e0a18);color:var(--accent);border-radius:4px;line-height:1.15;text-transform:uppercase;letter-spacing:.3px}.tcg-card.full-art .card-top>.card-stars{font-size:clamp(7px,4.2cqw,12px);line-height:1.3;padding-top:2px;white-space:nowrap;color:var(--accent)}
.tcg-card.full-art:not(.unknown-card) .card-title,.tcg-card.full-art.long-title:not(.unknown-card) .card-title{top:19%;bottom:auto;left:6%;right:6%;font-size:clamp(18px,10.7cqw,32px);font-weight:800;line-height:1.04;letter-spacing:.3px;max-height:20%;overflow:hidden;text-shadow:0 2px 6px #000,0 0 14px #000}
.tcg-card.full-art:not(.unknown-card) .card-subtitle,.tcg-card.full-art.long-title:not(.unknown-card) .card-subtitle{top:auto;bottom:37.5%;left:6%;right:6%;font-size:clamp(10px,5.9cqw,17px);font-weight:700;line-height:1.25;color:#f6eefc;text-shadow:0 1px 5px #000;max-height:22%;overflow:hidden}
.tcg-card.full-art:not(.unknown-card) .card-skill{left:5.5%;right:5.5%;bottom:13.5%;height:21%;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:6px 0 0;font-size:clamp(8px,4.6cqw,12px);line-height:1.25;border-top:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.tcg-card.full-art .card-passive{font-size:.95em;line-height:1.2;margin-bottom:5px;color:#d4c0e9;font-weight:500}.tcg-card.full-art .card-passive small{font-size:.7em;letter-spacing:.4px}.tcg-card.full-art .card-move-line{align-items:center;gap:6px;padding:2px 0;line-height:1.2}.tcg-card.full-art .card-move-line>b{font-weight:700}.tcg-card.full-art .card-move-line>span{font-weight:800;color:#fff;background:#ffffff0d;padding:2px 3px;border-radius:3px}
.tcg-card.full-art .card-stats{left:5.5%;right:5.5%;bottom:4.5%;font-size:clamp(14px,7.6cqw,22px);padding-top:6px}.tcg-card.full-art .card-stats small{font-size:clamp(7px,3.8cqw,11px);letter-spacing:.4px}.tcg-card.full-art .card-serial{font-size:clamp(5px,2.5cqw,7px)}.card-detail-dialog .detail{grid-template-columns:minmax(240px,300px) 1fr;align-items:start}.card-detail-dialog .detail>.tcg-card{width:100%;position:sticky;top:4px}.card-detail-dialog .detail .card-title{font-size:clamp(20px,10.7cqw,32px)}
.tcg-card.full-art.unknown-card .card-title{top:20%;bottom:auto;font-size:clamp(20px,11cqw,32px)}.tcg-card.full-art.unknown-card .card-subtitle{bottom:37%;font-size:clamp(11px,6cqw,17px)}
@media(max-width:650px){.card-detail-dialog .detail{grid-template-columns:1fr}.card-detail-dialog .detail>.tcg-card{position:relative;top:auto;max-width:300px;margin:auto}.tcg-card.full-art:not(.unknown-card) .card-skill{font-size:clamp(7.5px,4.6cqw,12px)}.deck-slot .tcg-card.full-art .card-top{inset:3% 5% auto}.deck-slot .tcg-card.full-art .card-top .type-badge{font-size:7px;padding:3px 4px}.deck-slot .tcg-card.full-art .card-top .card-rarity-pill{font-size:6px;padding:2px 3px}.deck-slot .tcg-card.full-art .card-top>.card-stars{font-size:6px}}
.tcg-card.full-art:not(.unknown-card) .card-subtitle,.tcg-card.full-art.long-title:not(.unknown-card) .card-subtitle{bottom:42%}.tcg-card.full-art:not(.unknown-card) .card-skill{height:25%}@media(min-width:1101px){.duel-stage .battle-field>.combat-fighter{width:min(210px,43%)}}
@media(min-width:1101px){.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:701px) and (max-width:1100px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Final header: type left, rarity right, name centred. No stars or upper shading. */
.tcg-card.full-art .card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;inset:3% 5% auto;padding:0;background:none;backdrop-filter:none;text-shadow:none}.tcg-card.full-art .card-top>.type-badge{font-size:clamp(8px,4.5cqw,12px);line-height:1.15;padding:4px 5px}.tcg-card.full-art .card-top>.card-rarity-pill{font-size:clamp(7.5px,4.1cqw,11px);line-height:1.15;padding:4px 5px;white-space:nowrap}
.tcg-card.full-art:not(.unknown-card) .card-title,.tcg-card.full-art.long-title:not(.unknown-card) .card-title,.tcg-card.full-art.unknown-card .card-title{top:13%;bottom:auto;left:5%;right:5%;text-align:center;font-size:clamp(18px,10.5cqw,32px);font-weight:800;text-shadow:0 1px 4px #0008;letter-spacing:.3px;max-height:20%;line-height:1.05}
.tcg-card.full-art>.portrait:after{background:linear-gradient(180deg,transparent 0%,transparent 39%,#09061185 48%,#090611e8 64%,#090611fc 100%)}
@media(max-width:650px){.deck-slot .tcg-card.full-art .card-top>.type-badge{font-size:7px;padding:3px 4px}.deck-slot .tcg-card.full-art .card-top>.card-rarity-pill{font-size:6.5px;padding:3px 4px}}
/* Compact single header: type / character / rarity. */
.tcg-card.full-art .card-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2.2fr) minmax(0,1.1fr);align-items:center;gap:3px;inset:2.5% 4% auto;padding:0;background:none}
.tcg-card.full-art:not(.unknown-card) .card-top>.card-title,.tcg-card.full-art.long-title:not(.unknown-card) .card-top>.card-title,.tcg-card.full-art.unknown-card .card-top>.card-title{position:static;inset:auto;max-height:none;min-width:0;margin:0;text-align:center;font-size:clamp(8px,5cqw,15px);font-weight:800;line-height:1.1;letter-spacing:0;text-shadow:0 1px 3px #0009;white-space:normal;overflow:visible}
.tcg-card.full-art .card-top>.type-badge{justify-self:start;font-size:clamp(6.5px,3.8cqw,9px);line-height:1.1;padding:3px 3px;letter-spacing:0;border-radius:3px;max-width:100%}
.tcg-card.full-art .card-top>.card-rarity-pill{justify-self:end;font-size:clamp(6px,3.4cqw,9px);line-height:1.1;padding:3px 3px;letter-spacing:0;border-radius:3px;max-width:100%}
@media(max-width:650px){.deck-slot .tcg-card.full-art .card-top{inset:2.5% 4% auto;gap:2px}.deck-slot .tcg-card.full-art .card-top>.type-badge{font-size:6px;padding:2px}.deck-slot .tcg-card.full-art .card-top>.card-rarity-pill{font-size:5.5px;padding:2px}}
/* Individual portrait crops keep faces in the unobstructed upper artwork. */
.portrait .card-photo-backdrop,.auction-thumb .card-photo-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.card-art-window{position:relative;width:100%;height:100%;overflow:hidden}.card-art-window>.card-photo{width:100%;height:100%;display:block;object-fit:cover}.tcg-card.full-art>.portrait>.card-art-window{height:64%}.tcg-card.full-art .card-art-window>.card-photo{object-fit:cover;transform-origin:50% 30%}
.tcg-card.full-art .card-art-window>.photo-zg{object-position:62% 72%}
.tcg-card.full-art .card-art-window>.photo-zg-exile{object-position:70% 12%;transform:scale(1.4);transform-origin:70% 30%}
.tcg-card.full-art .card-art-window>.photo-yanis-vs-zg{object-fit:contain;object-position:50% 0%;transform:scale(1.04);transform-origin:50% 25%}
.tcg-card.full-art .card-art-window>.photo-yanis-soldat{object-position:50% 80%;transform:scale(1.05)}
.tcg-card.full-art .card-art-window>.photo-abde-yanis{object-position:50% 32%}
.tcg-card.full-art .card-art-window>.photo-tom-samourai{object-position:58% 0%;transform:scale(1.28);transform-origin:60% 25%}
.tcg-card.full-art .card-art-window>.photo-tom-u6{object-position:47% 78%}
.tcg-card.full-art .card-art-window>.photo-le-maire{object-position:52% 26%;transform:scale(1.16);transform-origin:52% 30%}
.tcg-card.full-art .card-art-window>.photo-emilien-larp{object-position:46% 68%}
.tcg-card.full-art .card-art-window>.photo-ayman{object-position:49% 12%;transform:scale(1.22);transform-origin:48% 28%}
.tcg-card.full-art .card-art-window>.photo-zg{object-position:64% 40%}
.tcg-card.full-art .portrait:has(.photo-yanis-vs-zg)>.card-art-window{position:absolute;top:0;left:0;width:50%;height:64%}.tcg-card.full-art .portrait:has(.photo-yanis-vs-zg)>.duo-second{left:50%;border-left:1px solid #ffffff30}.tcg-card.full-art .card-art-window>.photo-yanis-vs-zg{object-fit:cover;object-position:24% 0%;transform:scale(2);transform-origin:25% 20%}.tcg-card.full-art .card-art-window>.photo-yanis-vs-zg-front{object-fit:cover;object-position:100% 100%;transform:scale(2.1);transform-origin:100% 100%}
/* Vertical 3-versus-3 table and six-card deck. */
.formation-board{padding:22px}.formation-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:14px}.formation-score>span{display:flex;flex-direction:column;gap:7px;color:#a994be;font-size:9px;letter-spacing:1px}.formation-score>span:last-child{text-align:right}.formation-score b{color:#eee4f8;font-size:13px;letter-spacing:0}.formation-score>strong{font-size:10px;color:#c5a9e4;border:1px solid #594366;padding:8px 12px;border-radius:20px}.formation-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,34%);gap:22px;align-items:start}.formation-table{min-width:0}.formation-controls{position:sticky;top:16px}.formation-row-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;color:#b6a0c8}.formation-row-heading>b{font-size:9px;letter-spacing:1px}.formation-row-heading>small{font-size:9px;color:#8f7f9e}.formation-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.formation-slot{min-width:0;border:1px solid #44364f;border-radius:9px;padding:6px;background:#191321;transition:border-color .2s,box-shadow .2s}.formation-slot.is-actor{border-color:#c49bff;box-shadow:0 0 0 1px #c49bff55,0 0 20px #a672ec24}.formation-slot.is-target{border-color:#ff8c9a;box-shadow:0 0 0 1px #ff8c9a55,0 0 20px #ef6d8520}.formation-choice{display:block;width:100%;padding:0;text-align:left;background:transparent}.formation-choice:disabled{cursor:default}.formation-state{display:block;font-size:7px;letter-spacing:.7px;color:#a896b8;margin:2px 0 7px;text-align:center}.is-actor .formation-state{color:#dabaff}.is-target .formation-state{color:#ffacb6}.formation-row .combat-fighter{width:100%;position:relative}.formation-row .combat-fighter>.tcg-card{width:100%;margin:0}.unit-health{display:block;margin-top:9px;text-align:center}.unit-health>b{font-size:10px;font-weight:600;color:#f0e7f7;display:block}.unit-health>i{display:block;height:5px;background:#3e2b49;border-radius:5px;overflow:hidden;margin-top:5px}.unit-health em{display:block;height:100%;background:linear-gradient(90deg,#a36be7,#dfb5ff);border-radius:5px;transition:width .3s}.enemy-row .unit-health em{background:linear-gradient(90deg,#bb5d7f,#f799aa)}.unit-reserves{font-size:8px;line-height:1.5;color:#c9af7d;text-align:center;min-height:25px;padding:7px 2px 0;overflow-wrap:anywhere}.formation-slot.is-ko{opacity:.45}.formation-slot.is-ko .tcg-card{filter:grayscale(1)}.formation-divider{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 0;color:#856895}.formation-divider>span{font-size:22px;color:#bc91e4}.formation-divider>small{font-size:9px;letter-spacing:.6px}.ally-target-picker{padding:12px 0 16px;border-top:1px solid #574064}.ally-target-picker>small{font-size:8px;color:#a6d8bb;letter-spacing:.6px}.ally-target-picker>div{display:flex;gap:5px;margin-top:9px}.ally-target-picker button{flex:1;min-width:0;text-align:left;border:1px solid #4e3b5c;padding:8px 6px;border-radius:6px;font-size:9px;overflow-wrap:anywhere}.ally-target-picker button>span{display:block;font-size:8px;color:#9c8aa8;margin-top:5px}.ally-target-picker button.chosen{background:#23372f;border-color:#74c6a0;color:#b5edd1}.formation-bench{padding-top:20px;margin-top:22px;border-top:1px solid #473452}.formation-bench>div:first-child{display:flex;justify-content:space-between;gap:15px;align-items:center}.formation-bench strong{font-size:10px;color:#cebbdf}.formation-bench small{font-size:9px;color:#9c88ab;line-height:1.6}.formation-bench .deck-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;justify-content:initial;margin:14px 0}.formation-bench .deck-picker>button{text-align:left;padding:12px;border-radius:8px;min-width:0}.formation-bench .deck-picker b{display:block;font-size:11px}.formation-bench .deck-picker small{display:block;margin-top:5px}.formation-bench>.text-link{display:block;margin-left:auto;font-size:9px;color:#a793b7}.formation-lobby{padding:24px}.formation-lobby>h2{text-align:center;font-size:30px}.lobby-formation{display:grid;grid-template-columns:1fr 1fr;gap:25px}.lobby-formation>section{min-width:0}.lobby-formation h3{font-size:9px;letter-spacing:1.5px;color:#bda7d1;margin:20px 0}.lobby-formation>section>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.deck-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:14px;overflow:visible}.deck-slot{min-width:0}.deck-slot-head>b{font-size:8px}.deck-slot-actions{flex-direction:column}.deck-slot-actions button{font-size:9px}.formation-row .combat-damage{font-size:22px;max-width:180px;text-align:center;white-space:normal}.formation-row .combat-aided .combat-damage{font-size:17px}.formation-row .impact-symbol{font-size:45px}.formation-row .impact-ring{width:70px;height:70px}.formation-row .combat-attacking[data-combat-side="player"]{animation:formation-lunge-up .65s ease-in-out}.formation-row .combat-attacking[data-combat-side="enemy"]{animation:formation-lunge-down .65s ease-in-out}@keyframes formation-lunge-up{35%{transform:translateY(-24px) scale(1.05)}}@keyframes formation-lunge-down{35%{transform:translateY(24px) scale(1.05)}}
@media(max-width:1100px){.formation-layout{grid-template-columns:1fr}.formation-controls{position:static}.formation-table{max-width:700px;width:100%;margin:auto}.formation-controls .ability-choices{grid-template-columns:1fr 1fr}.lobby-formation{grid-template-columns:1fr;max-width:700px;margin:auto}.deck-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.formation-board{padding:12px 8px}.formation-score{gap:8px}.formation-score>span{font-size:7px}.formation-score b{font-size:10px}.formation-score>strong{font-size:8px;padding:6px 7px}.formation-row{gap:5px}.formation-slot{padding:3px;border-radius:6px}.formation-row-heading{gap:5px}.formation-row-heading>b{font-size:7px;letter-spacing:.4px}.formation-row-heading>small{font-size:7px}.formation-state{font-size:6px;letter-spacing:0;margin:2px 0 5px}.unit-health>b{font-size:8px}.unit-reserves{font-size:7px;min-height:30px}.formation-divider{padding:10px 0}.formation-divider>small{font-size:8px}.formation-controls .ability-choices{grid-template-columns:1fr}.formation-bench>div:first-child{display:block}.formation-bench>div:first-child small{display:block;margin-top:6px}.formation-bench .deck-picker{gap:5px}.formation-bench .deck-picker>button{padding:8px 6px}.formation-bench .deck-picker b{font-size:9px}.formation-bench small{font-size:8px}.formation-row .combat-damage{font-size:18px;max-width:115px}.formation-row .combat-aided .combat-damage{font-size:12px}.formation-row .impact-symbol{font-size:30px}.formation-row .impact-ring{width:50px;height:50px}.deck-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.deck-slot .tcg-card.full-art{width:100%}.formation-lobby{padding:16px 8px}.formation-lobby>h2{font-size:25px}.lobby-formation>section>div{gap:5px}.lobby-formation .card-meta{font-size:8px}.lobby-formation .card-wrap>p{font-size:7px}.formation-lobby .battle-controls{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.formation-row .combat-attacking,.formation-slot{animation:none!important;transition:none}.unit-health em{transition:none}}

/* Two complementary foil pieces, with a progressive fractured edge. */
.sound-toggle{font:600 10px inherit;border:1px solid #ffffff24;background:#221a30;color:#d5c4ed;border-radius:8px;padding:10px 12px;cursor:pointer;white-space:nowrap}.sound-toggle[aria-pressed="false"]{color:#978da5;background:#15121b}.sound-toggle:focus-visible{outline:2px solid #b298f4;outline-offset:3px}
.opening-pack-top{left:0;right:0;height:50px;clip-path:none;background:repeating-linear-gradient(90deg,#ffffff22 0,#ffffff22 1px,transparent 1px,transparent 4px),linear-gradient(110deg,#22182e,var(--pack-color),#241a2f);border-radius:5px 5px 0 0;transform-origin:10% 90%;backface-visibility:visible}
.opening-pack-top:after{content:'ORIGINES · VWILE';position:absolute;top:25px;left:0;right:0;font-size:7px;letter-spacing:2px;color:#ffffffbd}
.foil-crack{position:absolute;left:0;top:34px;width:100%;height:16px;z-index:6;overflow:visible;pointer-events:none;opacity:0;clip-path:inset(0 100% 0 0)}.foil-crack path{fill:none;stroke:#fff5e0;stroke-width:1.8;stroke-linejoin:bevel;filter:drop-shadow(0 0 4px var(--pack-color))}
.opening-mouth{position:absolute;top:40px;left:3px;right:3px;height:19px;background:#050309;border:2px solid #d8cbe0;transform:scaleY(0);transform-origin:bottom;z-index:1;clip-path:polygon(0 5%,8% 25%,16% 0,24% 28%,34% 5%,45% 32%,56% 0,66% 28%,77% 5%,87% 30%,100% 10%,98% 100%,2% 100%)}
.opening-stage[data-phase="tearing"] .opening-pack-top{animation:foil-separate 1.8s cubic-bezier(.32,.04,.38,1) both;clip-path:polygon(0 0,100% 0,100% 42px,94% 38px,87% 46px,81% 39px,75% 45px,69% 38px,63% 46px,57% 39px,51% 45px,45% 37px,39% 44px,33% 38px,27% 46px,21% 39px,15% 45px,10% 37px,5% 44px,0 40px)}
.opening-stage[data-phase="tearing"] .foil-crack{animation:fracture-trace 1.8s linear both}
.opening-stage:not([data-phase="sealed"]) .opening-pack-body{clip-path:polygon(0 40px,5% 44px,10% 37px,15% 45px,21% 39px,27% 46px,33% 38px,39% 44px,45% 37px,51% 45px,57% 39px,63% 46px,69% 38px,75% 45px,81% 39px,87% 46px,94% 38px,100% 42px,100% 100%,0 100%);transform:translateY(9px);transition:transform .6s .65s}
.opening-stage:not([data-phase="sealed"]) .opening-mouth{transform:scaleY(1);transition:transform .5s .7s}
.opening-stage[data-phase="tearing"] .opening-pack{animation:foil-tension 1.8s both}
.opening-stage[data-phase="glowing"] .opening-seam{top:49px;height:3px;clip-path:polygon(0 40%,10% 0,20% 80%,30% 20%,40% 100%,50% 30%,60% 100%,70% 20%,80% 80%,90% 0,100% 40%,100% 100%,0 100%)}
.opening-light{bottom:calc(100% - 53px)}
.foil-fragments{position:absolute;inset:0;pointer-events:none;z-index:5}.foil-fragments i{position:absolute;left:calc(8% + var(--fragment,0)*15%);top:43px;width:8px;height:13px;background:linear-gradient(45deg,var(--pack-color),#eee);clip-path:polygon(0 0,100% 35%,30% 100%);opacity:0}.foil-fragments i:nth-child(2){--fragment:1}.foil-fragments i:nth-child(3){--fragment:2}.foil-fragments i:nth-child(4){--fragment:3}.foil-fragments i:nth-child(5){--fragment:4}.foil-fragments i:nth-child(6){--fragment:5}
.opening-stage[data-phase="tearing"] .foil-fragments i{animation:foil-flake .95s calc(.55s + var(--fragment,0)*.07s) ease-out both}
@keyframes fracture-trace{0%{opacity:0;clip-path:inset(0 100% 0 0)}8%{opacity:1}42%{clip-path:inset(0 0 0 0);opacity:1}70%,100%{clip-path:inset(0 0 0 0);opacity:0}}
@keyframes foil-separate{0%,12%{transform:none}22%{transform:translate(-2px,-1px) rotate(-1deg)}42%{transform:translate(1px,-3px) rotate(-2deg)}55%{transform:translate(8px,-27px) rotate(9deg) rotateX(-16deg);opacity:1}75%{transform:translate(62px,-86px) rotate(31deg) rotateX(30deg);opacity:1}100%{transform:translate(175px,-150px) rotate(72deg) rotateX(65deg);opacity:0}}
@keyframes foil-tension{0%,100%{transform:rotate(-5deg)}15%{transform:rotate(-6deg) scaleX(.98)}25%{transform:rotate(-4deg) scaleX(1.02)}40%{transform:rotate(-6deg)}55%{transform:translateY(7px) rotate(-3deg)}75%{transform:translateY(2px) rotate(-5deg)}}
@keyframes foil-flake{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}100%{opacity:0;transform:translate(calc((var(--fragment,0) - 2.5)*19px),75px) rotate(170deg)}}
@media(prefers-reduced-motion:reduce){.foil-crack,.foil-fragments i,.opening-pack-top,.opening-pack{animation:none!important}.opening-pack-body,.opening-mouth{transition:none!important}}
@media(max-width:600px){.sound-toggle{padding:8px;font-size:9px}.top-actions{gap:7px}}
.opening-pack-body{padding-top:32px}
