/* Zero Lab uses the existing Cardfall controls with a compact testing layout. */
#zero-lab-screen{color:#e5dfd1}#zero-lab-screen .screen-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}#zero-lab-screen .screen-head h2{color:#e1b965}#zero-lab-screen .screen-head p{color:#b6aa96;max-width:68ch}
.zero-lab-status{display:grid;grid-template-columns:54px minmax(120px,220px) minmax(220px,1fr) auto;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #806734;border-bottom:1px solid #806734}.zero-lab-emblem{display:grid;place-items:center;width:48px;height:48px;border:2px solid #d6aa45;border-radius:50%;background:#101310;color:#f0d287;font:700 28px var(--font-display)}.zero-lab-status b{display:block;color:#f0d287;font:700 12px var(--font-display)}.zero-lab-status small{color:#9fc4b2}.zero-lab-status p{margin:0;color:#cfbd9d;font-size:12px;line-height:1.5}.zero-lab-status .btn{white-space:normal;max-width:190px}
.zero-lab-workspace,.zero-lab-results,.zero-lab-compare,.zero-lab-history{padding:18px 0;border-bottom:1px solid #4c4434}.zero-lab-section-head,.zero-lab-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.zero-lab-section-head h3,.zero-lab-history h3,.zero-lab-results h3,.zero-lab-compare h3{margin:0 0 12px;color:#eccd80;font:700 17px var(--font-display)}.zero-lab-section-head span,.zero-lab-result-head small{color:#86b7ac;font:700 10px var(--font-display)}.zero-lab-decks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:12px 0}.zero-lab-deck{min-width:0;display:grid;align-content:start;gap:8px;padding:11px;border:1px solid #625339;background:#12130f}.zero-lab-deck label{display:grid;gap:5px;color:#dbbf7b;font:700 11px var(--font-display)}.zero-lab-deck small{min-height:3em;color:#b7ae9c;line-height:1.45;overflow-wrap:anywhere}.zero-lab-deck>div,.zero-lab-actions,.zero-lab-pair{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.zero-lab-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:9px;align-items:end}.zero-lab-config label{display:grid;gap:4px;color:#c8b99d;font-size:11px}.zero-lab-config .zero-lab-check{display:flex;align-items:center;gap:6px;min-height:40px}.zero-lab-config .zero-lab-check input{min-height:auto}.zero-lab-config input,.zero-lab-config select,.zero-lab-deck input,.zero-lab-deck select,.zero-lab-compare select,.zero-lab-actions input{min-width:0;width:100%;min-height:38px;padding:7px;border:1px solid #69583b;border-radius:4px;background:#181a16;color:#f0e4cc;font:inherit}.zero-lab-actions{margin:14px 0}.zero-lab-actions input{flex:1 1 200px;width:auto}.zero-lab-actions .btn{min-height:38px}.zero-lab-workspace progress{width:100%;height:12px;accent-color:#a8bf7e}.zero-lab-result-head strong{color:#abd8ab;font:700 24px var(--font-display)}.zero-lab-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:12px 0}.zero-lab-metrics>div{display:grid;gap:3px;padding:9px;border-top:2px solid #706143;background:#141610}.zero-lab-metrics span,.zero-lab-metrics small{color:#aaa89a;font-size:10px}.zero-lab-metrics b{color:#f2e0b1;font-size:18px}.zero-lab-results p,.zero-lab-compare p{color:#c1b8a8;font-size:12px;line-height:1.5}.zero-lab-results details{margin-top:12px}.zero-lab-results summary{cursor:pointer;color:#dbbf7b}.zero-lab-results h4{color:#cde4c1}.zero-lab-table{max-width:100%;overflow:auto}.zero-lab-table table{width:100%;border-collapse:collapse;min-width:560px;font-size:11px}.zero-lab-table th,.zero-lab-table td{padding:7px;text-align:left;border-bottom:1px solid #3e4336}.zero-lab-table th{color:#dbbf7b}.zero-lab-history>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #35372f}.zero-lab-history>div>b{min-width:145px;color:#efdebb}.zero-lab-history>div>small{color:#b6ae9d;flex:1 1 170px}.zero-lab-compare select{flex:1 1 180px;width:auto}
@media(max-width:760px){.zero-lab-status{grid-template-columns:48px minmax(0,1fr)}.zero-lab-status p,.zero-lab-status .btn{grid-column:1/-1}.zero-lab-decks{grid-template-columns:1fr}.zero-lab-section-head,.zero-lab-result-head{align-items:flex-start;flex-direction:column}.zero-lab-config{grid-template-columns:repeat(2,minmax(0,1fr))}}
.zero-lab-config .zero-lab-check input{width:auto;flex:0 0 auto}
@font-face{
  font-family:"CardfallDisplay";
  src:url("assets/fonts/balatro.otf") format("opentype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
:root{
  --bg:#12100d; --felt:#182018; --panel:#1d1a14; --panel2:#282319; --ink:#eee5d1; --muted:#aaa18b;
  --gold:#d1a84a; --line:#423827; --blood:#d25b3e; --heal:#79aa5b; --shield:#6ea6d6;
  --purple:#a87be8; --disease:#93b44b; --common:#b8b8b0; --rare:#6fb4ff; --epic:#b78bff; --legend:#f0aa3d; --mythic:#f2d59a;
  --font-display:"CardfallDisplay","Cinzel",serif; --font-body:"Spectral",Georgia,serif;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#16130f,#0f1210 55%,#11100d);color:var(--ink);font-family:var(--font-body)}
button{font-family:var(--font-display)}
.app{max-width:1280px;margin:0 auto;padding:18px 16px 56px}
.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}
h1,h2,h3,.disp{font-family:var(--font-display);letter-spacing:0}
h1{margin:0;color:var(--gold);font-size:34px}.tag{color:var(--muted);font-style:italic;font-size:14px}
.profile-strip{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.profile-strip span,.profile-card,.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:var(--muted)}.profile-strip b,.profile-card b,.stat b{color:var(--gold)}
.app-message{min-height:28px;color:var(--gold);font-family:var(--font-display);opacity:0;transition:opacity .2s}.app-message.show{opacity:1}
.screen{display:none}.screen.active{display:block}
.screen-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:12px 0}.screen-head h2{margin:0}.screen-head p{margin:4px 0 0;color:var(--muted)}
.screen-actions,.menu-actions,.battle-top{display:flex;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:8px;background:var(--gold);color:#17120a;padding:10px 16px;font-family:var(--font-display);font-weight:700;cursor:pointer}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--blood);color:white}.btn.small{padding:6px 10px;font-size:12px}
.menu-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:14px}.menu-panel,.results-card,.empty-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.menu-panel h2{font-size:36px;margin:0 0 12px}.profile-cards{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin-bottom:14px}.profile-card span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase}.profile-card b{display:block;font-family:var(--font-display);font-size:20px}.deck-preview{display:flex;flex-wrap:wrap;gap:6px}.mini-deck{border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:#0008;font-size:12px}
.shop-grid,.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.shop-section{margin-bottom:22px}.shop-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 10px}.shop-section-head h3{margin:0;color:var(--gold);font-size:24px}.shop-section-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.ascended-shop-section{border:1px solid #8d6930;border-radius:10px;padding:14px;background:radial-gradient(110% 95% at 50% 0,#5a173222 0 36%,transparent 66%),linear-gradient(180deg,#1c1011,#0d0908)}.ascended-shop-head h3{color:#f4c45b;text-shadow:0 0 14px #9d1e3f77}.ascended-price-badge,.owned-badge{border:1px solid #f4c45b88;border-radius:999px;background:#0a0604;color:#f4c45b;font-family:var(--font-display);padding:6px 10px;white-space:nowrap}.ascended-lock-note{border:1px solid #7a331f;background:#23100d;color:#f0c088;border-radius:8px;padding:9px 11px;margin:0 0 12px}.ascended-shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.ascended-offer-card{background:linear-gradient(180deg,#2b0610,#080407 58%,#1c0d08);border-color:#f4c45b!important}.ascended-buy-row .btn{min-width:132px}.collection-group{margin-bottom:20px}.catalog-card{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px;position:relative;box-shadow:0 0 0 1px #0006}.catalog-card.sold{opacity:.65}.summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.summary-head h3{margin:0 0 6px;font-size:17px}.inspect-link{background:transparent;border:1px solid var(--line);color:var(--gold);border-radius:6px;padding:4px 8px;cursor:pointer}.passive,.move-line,.mini-move{font-size:12px;color:var(--muted);line-height:1.28;margin-top:5px}.buy-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.price{color:var(--gold);font-family:"Cinzel"}.slot-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.deck-card-actions .inspect-link,.slot-actions .inspect-link,.campaign-deck-chip-wrap .inspect-link{font-size:11px;padding:3px 7px}.move-meta{display:inline-block;color:var(--gold);font-size:11px;margin:0 4px 0 0}.campaign-deck-chip-wrap{display:inline-flex;align-items:center;gap:5px;margin:3px;flex-wrap:wrap}
.deck-builder{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:14px}.owned-list,.deck-slots{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px}.deck-card{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:8px;cursor:grab}.slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.slot{min-height:84px;border:1px dashed var(--line);border-radius:8px;background:#0c0b09;padding:10px}.empty-slot{display:flex;align-items:center;justify-content:center;color:var(--muted)}.slot.filled{border-style:solid;background:var(--panel2)}.slot-name{font-family:"Cinzel";color:var(--gold)}.slot-meta{font-size:12px;color:var(--muted)}.slot-remove{margin-top:6px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:6px;padding:4px 8px}.remove-drop{border:1px dashed var(--blood);border-radius:8px;margin-top:10px;padding:12px;text-align:center;color:var(--muted)}
.saved-decks-panel{background:linear-gradient(180deg,#211c14,#11100d);border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0 14px}.saved-decks-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.saved-decks-head h3{margin:0;color:var(--gold)}.saved-decks-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.saved-deck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.saved-deck-card{background:#0d0b08;border:1px solid #3d3222;border-radius:8px;padding:10px;box-shadow:inset 0 1px 0 #fff1}.saved-deck-card.active{border-color:var(--gold);box-shadow:inset 0 1px 0 #fff2,0 0 18px #d1a84a33}.saved-deck-card.empty{opacity:.86}.saved-deck-title span{display:block;color:var(--muted);font-family:var(--font-display);font-size:11px;letter-spacing:.08em}.saved-deck-title b{display:block;color:var(--gold);font-family:var(--font-display);font-size:18px;margin-top:2px;overflow-wrap:anywhere}.saved-deck-meta{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.saved-deck-meta span{background:#0008;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;padding:2px 7px}.saved-deck-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.saved-deck-actions .btn{width:100%}
.slot-count{font-size:12px;color:var(--muted);margin:-4px 0 8px}.deck-card-actions{display:flex;flex-direction:column;gap:6px}.ascended-slot{margin-top:8px;border-color:var(--purple);background:linear-gradient(180deg,#17101d,#0d0b10)}.ascended-slot .slot-label{font-family:"Cinzel";font-size:11px;color:var(--purple);letter-spacing:.08em;margin-bottom:4px}.ascended-slot.active{border-color:var(--gold);box-shadow:0 0 14px #d1a84a44}.ascended-slot.inactive{border-color:#7b628e;box-shadow:0 0 10px #a87be822}.mini-deck.ascended-mini{border-color:var(--purple);color:var(--gold)}.ascended-info,.reward-line{color:var(--gold)}
.battle-screen.active{display:block}.battle-top{justify-content:flex-end;margin-bottom:8px}.scorebar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.stat{min-width:130px}.stat b{font-family:"Cinzel";font-size:18px;display:block}.stat .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.you b{color:var(--heal)}.ai b{color:var(--blood)}
.side{margin-bottom:12px}.side h2,.section-label{font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px;font-family:"Cinzel"}.field{display:flex;gap:12px;overflow-x:auto;min-height:138px;padding:10px;background:linear-gradient(180deg,var(--felt),#12150f);border:1px dashed var(--line);border-radius:10px}.field.drop-glow{border-color:var(--gold);box-shadow:0 0 0 2px #d1a84a55}.empty{color:var(--muted);font-style:italic;align-self:center;font-size:13px}
.card,.hcard{width:190px;flex:0 0 190px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:9px;position:relative;color:var(--ink);transition:transform .12s,border-color .12s,box-shadow .12s}.hcard{text-align:left;cursor:pointer}.hcard:hover:not(:disabled){border-color:var(--gold);transform:translateY(-3px)}.hcard:disabled{opacity:.45;cursor:not-allowed}.card.token{width:116px;flex-basis:116px}.card.targetable{cursor:crosshair;border-color:var(--blood)!important;box-shadow:0 0 0 2px #d25b3e88}.card.retreatable{border-color:var(--gold)!important;box-shadow:0 0 0 2px #d1a84aaa,0 0 18px #d1a84a66;animation:retreatPulse 1.2s ease-in-out infinite}.card.dimmed{opacity:.42;filter:saturate(.45)}.card.taunt{border-color:var(--shield)}.card.attacking{transform:translateY(-5px)}.card.hit{box-shadow:0 0 0 2px var(--blood)}.card.effect-shield{box-shadow:0 0 0 2px var(--shield)}.card.effect-buff{box-shadow:0 0 0 2px var(--heal)}.card.effect-ko{filter:brightness(1.3)}
.rarity-Common{box-shadow:0 0 0 1px #b8b8b040}.rarity-Rare{box-shadow:0 0 10px #6fb4ff22}.rarity-Epic{box-shadow:0 0 12px #b78bff28}.rarity-Legendary{box-shadow:0 0 14px #f0aa3d35}.rarity-Mythic{box-shadow:0 0 0 1px #f2d59a66,0 0 18px #a3122f66}.rarity-Ascended{border-color:#f4c45b!important;box-shadow:0 0 0 1px #f4c45b77,0 0 18px #9d1e3f66,0 0 30px #d1a84a35}.rar{position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%}.rar.Common{background:var(--common)}.rar.Rare{background:var(--rare)}.rar.Epic{background:var(--epic)}.rar.Legendary{background:var(--legend)}.rar.Mythic{background:linear-gradient(135deg,#fff3cc,#8f102b 48%,#f2d59a)}.rar.Ascended{background:linear-gradient(135deg,#2a0508,#f4c45b)}.rar.Token{background:#6b6450}
.card-art{height:56px;border-radius:6px;border:1px solid #0008;margin-bottom:7px;background:#333}.card-art.type-Striker{background:linear-gradient(135deg,#44130d 0 35%,#d25b3e 36% 42%,#29100b 43%)}.card-art.type-Guardian{background:radial-gradient(circle at 50% 35%,#7fb1d8 0 18%,#263f52 19% 42%,#111a21 43%)}.card-art.type-Summoner{background:repeating-radial-gradient(circle at 30% 40%,#87b45f 0 6px,#213018 7px 13px)}.card-art.type-Channeler{background:radial-gradient(circle,#d1a84a 0 8%,#5b4318 9% 30%,#18120b 31%)}.card-art.type-Disruptor{background:repeating-linear-gradient(135deg,#281036 0 8px,#7b4bb0 9px 13px,#130b18 14px 22px)}.rarity-Ascended .card-art.type-Disruptor{background:radial-gradient(circle at 68% 28%,#f4c45b 0 6px,transparent 7px),linear-gradient(135deg,#12040b 0 24%,#5d0618 25% 42%,#2b123f 43% 58%,#d1a84a 59% 64%,#080407 65%)}.card-art.type-Token{height:30px;background:#2a261e}
.nm{font-family:"Cinzel";font-size:14px;line-height:1.15;margin-bottom:5px;padding-right:20px}.lvl{font-size:10px;color:var(--gold)}.meta{display:flex;gap:5px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:6px}.pill{background:#0009;border:1px solid var(--line);border-radius:999px;padding:1px 7px}.pill.cost{color:var(--gold)}.pill.bounty{color:var(--blood)}.pill.type{color:var(--ink)}
.status-row{display:flex;gap:4px;flex-wrap:wrap;min-height:18px;margin-bottom:4px}.status{font-size:10px;border:1px solid var(--line);border-radius:999px;padding:1px 5px;background:#0008;color:var(--muted)}.status.shield{color:var(--shield)}.status.buff{color:var(--heal)}.status.debuff,.status.mark{color:var(--purple)}.status.disease{color:var(--disease)}.status.static{color:#9de7ff}.status.redirect,.status.koblock,.status.lone,.status.gold{color:var(--gold)}
.hpbar{height:9px;background:#000a;border-radius:5px;overflow:hidden;margin:5px 0 3px;position:relative}.hpfill{height:100%;background:var(--heal)}.shfill{height:100%;background:var(--shield);position:absolute;top:0;right:0;opacity:.85}.hpnum{font-size:11px;color:var(--muted)}.moves{margin-top:7px;display:flex;flex-direction:column;gap:5px}.mv{background:#161309;border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:6px 7px;font-size:11px;text-align:left;line-height:1.25}.mv:hover:not(:disabled){border-color:var(--gold)}.mv:disabled{opacity:.4;cursor:not-allowed}.mv .mvn{color:var(--gold);font-weight:600}.mv.readonly{cursor:default;opacity:.86;border-style:dashed;background:#13100a}.card-actions{display:flex;gap:6px;justify-content:space-between;margin-top:8px}.inspect-btn,.lvlbtn{font-size:10px;background:#161309;border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:3px 7px}.lvlbtn{border-color:var(--gold);color:var(--gold)}.lvlbtn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--line);color:var(--muted)}
.hand{display:flex;gap:10px;overflow-x:auto;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.hint{color:var(--muted);font-size:13px;font-style:italic}.log{background:#100e0a;border:1px solid var(--line);border-radius:10px;padding:10px 14px;height:150px;overflow:auto;font-size:13px;line-height:1.5}.log div{padding:1px 0;border-bottom:1px dotted #2a261b}.log .you{color:var(--heal)}.log .ai{color:var(--blood)}.log .sys{color:var(--gold)}.log .final-entry{background:#f0b84710;border-left:3px solid #d1a84a;padding-left:8px}.final-sequence-label{color:var(--gold);font-family:var(--font-display);font-size:12px;text-transform:uppercase;letter-spacing:0;margin-bottom:5px;border-bottom:1px solid #5a4623!important}.banner{text-align:center;padding:20px;background:var(--panel);border:1px solid var(--gold);border-radius:10px;margin:14px 0;font-family:"Cinzel";font-size:22px}.banner.match-review{max-width:680px;margin:14px auto;padding:18px;background:linear-gradient(180deg,#20160e,#120d09);box-shadow:0 12px 32px #0008}.banner.match-review.victory{border-color:var(--heal)}.banner.match-review.defeat{border-color:var(--blood)}.review-title{font-size:34px;line-height:1;color:var(--gold);letter-spacing:0}.match-review.victory .review-title{color:var(--heal)}.match-review.defeat .review-title{color:var(--blood)}.match-review p{margin:8px 0 0;font-size:16px;font-family:system-ui,Segoe UI,sans-serif}.review-copy{color:var(--muted)}.review-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}.review-actions .btn{min-width:140px}
.overlay-layer,.float-layer{position:fixed;inset:0;pointer-events:none;z-index:20}.float-text{position:fixed;transform:translate(-50%,0);font-family:"Cinzel";font-weight:700;animation:floatUp 2.4s ease-out forwards;text-shadow:0 1px 2px #000}.float-text.damage{color:var(--blood)}.float-text.shield{color:var(--shield)}.float-text.gold,.float-text.points{color:var(--gold)}.coin-overlay,.screen-message{position:fixed;left:50%;top:18%;transform:translateX(-50%);background:#0b0906dd;border:1px solid var(--gold);border-radius:10px;padding:16px 22px;text-align:center;font-family:"Cinzel";box-shadow:0 8px 30px #0008}.screen-message{animation:fadeLift 1.1s ease forwards}.coin-title{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.coin{width:64px;height:64px;border-radius:50%;margin:0 auto 10px;background:radial-gradient(circle at 35% 30%,#ffe6a2,#c38a24 58%,#7a4e12);animation:coinSpin .9s linear}.coin.tails{background:radial-gradient(circle at 35% 30%,#d8d8d8,#777 58%,#333)}.coin-result{display:block;font-size:26px;color:var(--gold);letter-spacing:.08em}.coin-meaning{min-height:18px;margin-top:6px;font-family:system-ui,Segoe UI,sans-serif;color:var(--ink);font-size:14px}.screen-message.victory{color:var(--heal)}.screen-message.defeat{color:var(--blood)}
.inspect-modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:40;padding:16px}.inspect-modal.hidden{display:none}.inspect-card{max-width:620px;max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--gold);border-radius:10px;padding:16px}
.inspect-card:has(.profile-career){width:min(920px,96vw);max-width:920px}.profile-career{color:#e9e3d6}.profile-career header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:1px solid #6c5434;padding-bottom:14px}.profile-career header h2{margin:2px 0;font-size:24px;letter-spacing:0}.profile-career header em{margin-left:auto;color:#d8b76b}.profile-career-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.profile-career-tabs button{background:#1c1a19;border:1px solid #625539;color:#d6c9aa;padding:10px 14px;cursor:pointer}.profile-career-tabs button.active{border-color:#e2b851;color:#ffe4a1;background:#322818}.profile-career-body{max-height:48vh;overflow:auto;padding-right:4px}.profile-career-body h3{font-size:16px;margin:16px 0 8px}.profile-career-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.profile-career-stats>div{background:#211f1c;border:1px solid #514638;padding:10px;display:flex;flex-direction:column;gap:4px}.profile-career-stats span,.profile-career-card small,.profile-trophy-list small{color:#a9a292;font-size:12px}.profile-career-stats b{font-size:20px;color:#f1cd72}.profile-career-cards,.profile-career-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.profile-career-card,.profile-career-choice{background:#211f1c;border:1px solid #514638;color:#eee1c5;text-align:left;padding:8px;display:flex;flex-direction:column;gap:5px;cursor:pointer}.profile-career-choice.active{border-color:#e2b851}.profile-career-card img,.profile-career-choice img{max-height:85px;object-fit:contain}.profile-achievement-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.profile-achievement-list article{background:#211f1c;border:1px solid #514638;padding:10px;display:flex;flex-direction:column;gap:5px}.profile-achievement-list article.earned{border-color:#b99b56}.profile-achievement-list small{text-transform:uppercase;color:#ad9b72}.profile-achievement-list span{font-size:12px;color:#bcb6a8}.profile-deck-list>div,.profile-trophy-list>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid #514638;padding:8px 0}.profile-deck-list small{flex-basis:100%;color:#bcb6a8}.profile-timeline p{border-left:2px solid #9c7841;padding:4px 10px}.profile-timeline small{color:#aaa}.profile-xp{margin-top:12px;color:#b8ac91;font-size:12px}.profile-xp>div{height:5px;background:#3c3831;margin-top:5px}.profile-xp i{display:block;height:100%;background:#e1bb64}.profile-sort{display:flex;align-items:center;gap:8px;margin:8px 0 14px}.profile-sort select{background:#211f1c;color:#f0e6d0;border:1px solid #756343;padding:7px}.cosmetic-frame-mastery-signature::before{content:"";position:absolute;z-index:5;inset:2px;border:2px solid #e1bd74;box-shadow:inset 0 0 0 2px #744d36,0 0 12px #c7834477;pointer-events:none}
@media(max-width:600px){.inspect-modal{padding:6px}.inspect-card:has(.profile-career){width:100%;max-height:95vh;padding:10px}.profile-career header h2{font-size:20px}.profile-career-tabs button{flex:1;min-width:90px}.profile-career-body{max-height:57vh}.profile-career-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(90deg,#ffffff05 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,#d1a84a08 0 1px,transparent 1px 26px);animation:bgDrift 16s linear infinite}body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(120deg,transparent 0 18%,#d1a84a07 19% 20%,transparent 21% 52%,#d25b3e06 53% 54%,transparent 55%);animation:tableShine 9s ease-in-out infinite}
.btn{box-shadow:inset 0 1px 0 #fff5,0 3px 0 #6b4b16,0 8px 18px #0005;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff7,0 4px 0 #6b4b16,0 12px 22px #0007}.btn.ghost{box-shadow:inset 0 1px 0 #fff1,0 6px 14px #0003}.btn.danger{box-shadow:inset 0 1px 0 #fff4,0 3px 0 #6b1f16,0 8px 18px #0005}
.catalog-card,.deck-card,.slot.filled,.card,.hcard{border-width:2px;background:linear-gradient(180deg,#332b1e,#15110c);box-shadow:inset 0 1px 0 #fff2,inset 0 -2px 0 #0007,0 8px 18px #0008}.catalog-card,.card,.hcard{overflow:hidden}.catalog-card::before,.card::before,.hcard::before{content:"";position:absolute;inset:3px;border:1px solid #fff1;border-radius:6px;pointer-events:none}.card,.hcard{border-radius:8px}.card{width:198px;flex-basis:198px;animation:cardEnter .22s ease-out}.card.token{width:124px;flex-basis:124px}.card-nameplate{display:flex;align-items:center;justify-content:space-between;gap:5px;background:linear-gradient(180deg,#0f0b08,#1f170d);border:1px solid #000;border-radius:6px;padding:5px 7px;margin:6px 0 5px;box-shadow:inset 0 1px 0 #fff1}.card-nameplate .nm,.hcard .nm{margin:0;padding:0;font-size:13px}.card-badges{display:flex;gap:5px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:6px}.lvl{background:#000b;border:1px solid var(--gold);border-radius:999px;padding:1px 6px;color:var(--gold);font-family:"Cinzel";font-size:10px}.rarity-Common{border-color:#918a7c}.rarity-Rare{border-color:#5fb8ff;box-shadow:inset 0 1px 0 #fff2,inset 0 -2px 0 #0007,0 0 12px #6fb4ff30,0 8px 18px #0008}.rarity-Epic{border-color:#b78bff;box-shadow:inset 0 1px 0 #fff2,inset 0 -2px 0 #0007,0 0 16px #b78bff42,0 8px 18px #0008}.rarity-Legendary{border-color:#f0aa3d;box-shadow:inset 0 1px 0 #fff2,inset 0 -2px 0 #0007,0 0 20px #f0aa3d4d,0 8px 18px #0008}.rarity-Mythic{border-color:#f2d59a;background:linear-gradient(180deg,#3a0613,#120509 58%,#2a0c0e);box-shadow:inset 0 1px 0 #fff0bf66,inset 0 -2px 0 #0009,0 0 0 1px #f2d59a77,0 0 24px #a3122f99,0 0 38px #fff0bf33,0 8px 18px #0008}.rarity-Ascended{border-color:#f4c45b!important;background:linear-gradient(180deg,#2b0610,#080407 55%,#221006);box-shadow:inset 0 1px 0 #ffe29a55,inset 0 -2px 0 #000,0 0 0 1px #9d1e3f99,0 0 24px #9d1e3f88,0 0 42px #d1a84a55}.rarity-Legendary .rar,.rarity-Mythic .rar,.rarity-Ascended .rar{animation:rarityPulse 2.6s ease-in-out infinite}.rarity-Mythic .card-nameplate::before{content:"MYTHIC";font-family:"Cinzel";font-size:9px;color:#f2d59a;margin-right:4px}.rarity-Ascended .card-nameplate::before{content:"ASCENDED";font-family:"Cinzel";font-size:9px;color:#f4c45b;margin-right:4px}
.card-art.pixel-art{height:82px;width:100%;position:relative;border:2px solid #070503;border-radius:6px;margin:0 0 7px;overflow:hidden;background:linear-gradient(180deg,var(--art-secondary),#080604);image-rendering:pixelated;box-shadow:inset 0 0 0 2px #ffffff14,inset 0 -12px 0 #0004,0 2px 0 #000}.hcard .card-art.pixel-art{height:102px}.catalog-card .card-art.pixel-art{height:112px}.deck-card .card-art.pixel-art,.card-art.mini-art{width:54px;height:54px;min-width:54px;margin:0}.card.token .card-art.pixel-art{height:50px}.pixel-art .art-grid{position:absolute;inset:0;background:linear-gradient(135deg,#fff1 0 8%,transparent 9% 70%,#0003 71%),repeating-linear-gradient(90deg,#0003 0 2px,transparent 2px 8px),repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 8px);mix-blend-mode:screen;opacity:.7}.pixel-art .pixel-scene{position:absolute;inset:7px 8px 14px;width:calc(100% - 16px);height:calc(100% - 20px);filter:drop-shadow(3px 3px 0 #0008)}.pixel-art .art-label{position:absolute;left:5px;right:5px;bottom:3px;text-align:center;font-family:"Cinzel";font-size:9px;color:#fff4d6;background:#0008;border:1px solid #ffffff18;border-radius:4px;padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-art .art-label{display:none}.mini-art .pixel-scene{inset:5px;width:calc(100% - 10px);height:calc(100% - 10px)}
.motif-stripes{background:repeating-linear-gradient(120deg,#15100c 0 8px,var(--art-accent) 8px 13px,#090705 13px 19px)}.motif-cracks{background:linear-gradient(135deg,#1d2c39,var(--art-secondary));}.motif-night{background:linear-gradient(135deg,#050811,#17264b 52%,#050811)}.motif-paper{background:linear-gradient(135deg,#3c2b18,#c7a574 51%,#302115 52%)}.motif-theft{background:repeating-linear-gradient(135deg,#210d27 0 9px,#4b1641 9px 15px,#0d070f 15px 24px)}.motif-ascended{background:linear-gradient(135deg,#080407,#7d0822 38%,#d1a84a 40% 45%,#080407 47%)}.motif-sewerpaper{background:linear-gradient(135deg,#172214,#453927)}.motif-teeth{background:linear-gradient(180deg,#21090a,#4a1010 48%,#0b0505)}.motif-holysteel{background:linear-gradient(135deg,#172534,#5f809a)}.motif-lantern{background:radial-gradient(circle at 50% 42%,#f3de8a 0 16%,#45335e 17% 48%,#120d1a)}.motif-moss{background:linear-gradient(135deg,#152110,#4b3822)}.motif-chime{background:linear-gradient(135deg,#08080e,#312c40)}.motif-debtseal{background:linear-gradient(135deg,#0a0608,#3a141d 55%,#080506)}.motif-halo{background:radial-gradient(circle at 50% 35%,#fff6b0 0 18%,#72521d 19% 47%,#16100a)}.motif-chalk{background:linear-gradient(135deg,#111827,#333044)}.motif-necromancy{background:radial-gradient(circle at 50% 42%,#7bd86155 0 18%,#4b2c8e 19% 45%,#090611)}.motif-bones{background:linear-gradient(135deg,#2e2836,#17120d)}.motif-bankcurse{background:radial-gradient(circle at 50% 25%,#d1a84a66 0 14%,#18391f 15% 42%,#10080d)}.motif-corporate{background:linear-gradient(135deg,#060606,#3b2b10 50%,#0d0a05)}.motif-plagueroyal{background:linear-gradient(135deg,#1a2713,#3c205f 62%,#0b0810)}.motif-cursedwood{background:repeating-linear-gradient(90deg,#2a130b 0 8px,#4a2514 8px 16px,#160805 16px 22px)}
.main-menu-scene{min-height:calc(100vh - 128px);display:grid;grid-template-columns:minmax(320px,.95fr) minmax(300px,.7fr);gap:18px;align-items:stretch;padding:18px;border:1px solid #5d4625;border-radius:8px;background:linear-gradient(145deg,#120e0a 0 26%,#1a2419 27% 50%,#221218 51% 73%,#101015 74%);box-shadow:inset 0 1px 0 #fff2,0 18px 50px #0008;position:relative;overflow:hidden}.main-menu-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#d1a84a18 0 1px,transparent 1px 12px),linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 18px);opacity:.34;pointer-events:none}.hero-menu,.main-profile-panel{position:relative;z-index:1}.hero-menu{display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:580px}.kicker{margin:0;color:#d7c493;text-transform:uppercase;font-family:var(--font-display);font-size:18px}.game-title{margin:4px 0 0;font-size:104px;line-height:.86;color:#f4c45b;text-shadow:0 4px 0 #5d2510,0 0 26px #d1a84a55}.menu-subtitle{max-width:720px;color:#efe2be;font-size:18px;line-height:1.35;margin:14px 0 0}.main-menu-buttons{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;max-width:480px}.menu-btn,.submenu-btn{border:2px solid #000;background:#2b2419;color:#fff3d7;border-radius:8px;min-height:58px;padding:12px 18px;font-family:var(--font-display);font-size:24px;text-align:left;cursor:pointer;box-shadow:inset 0 2px 0 #ffffff30,inset 0 -4px 0 #0008,0 8px 0 #050403,0 16px 24px #0007;transition:transform .14s ease,filter .14s ease}.menu-btn:hover,.submenu-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.menu-btn:active,.submenu-btn:active{transform:translateY(3px);box-shadow:inset 0 2px 0 #ffffff25,inset 0 -2px 0 #0008,0 4px 0 #050403,0 9px 18px #0007}.menu-btn.play{background:linear-gradient(180deg,#f1c65d,#956321);color:#1b1007}.menu-btn.deck{background:linear-gradient(180deg,#577dcb,#192d62)}.menu-btn.shop{background:linear-gradient(180deg,#d48c3c,#67340f)}.menu-btn.collection{background:linear-gradient(180deg,#8b64c8,#2d1c57)}.menu-btn.help{background:linear-gradient(180deg,#5aa471,#193f27)}.menu-btn.options{background:linear-gradient(180deg,#786d5f,#2b2927)}.menu-btn.quit{background:linear-gradient(180deg,#b94a3c,#4b120e)}.play-submenu{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.submenu-btn{min-height:46px;font-size:19px;text-align:center}.submenu-btn.casual{background:#365e97}.submenu-btn.ranked{background:#7b4bb0}.submenu-btn.back{background:#352e28}.main-profile-panel{align-self:stretch;background:#0d0b09d8;border:1px solid #7c5a2c;border-radius:8px;padding:16px;box-shadow:inset 0 1px 0 #fff1,0 12px 28px #0007;overflow:auto}.profile-title{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}.profile-title span{display:block;color:var(--muted);text-transform:uppercase;font-size:12px}.profile-title b{display:block;color:var(--gold);font-family:var(--font-display);font-size:30px}.menu-profile-cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.deck-preview-panel{border-top:1px solid var(--line);padding-top:12px}.deck-preview-panel h3{margin:0 0 8px}.ranked-line{color:var(--muted);font-size:13px}.help-panel,.options-panel{background:linear-gradient(180deg,#201b13,#12100d);border:1px solid var(--line);border-radius:8px;padding:14px;box-shadow:inset 0 1px 0 #fff1,0 12px 32px #0006}.help-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.help-tab{border:1px solid var(--line);border-radius:8px;background:#0b0906;color:var(--gold);font-family:var(--font-display);padding:9px 12px;cursor:pointer}.help-scroll{max-height:62vh;overflow:auto;padding-right:6px}.help-section{border:1px solid #302717;border-radius:8px;background:#0b090688;padding:12px;margin-bottom:10px}.help-section h3{margin:0 0 6px;color:var(--gold)}.help-section p{margin:0;color:#d7cdb8;line-height:1.45}.option-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #3d3222;border-radius:8px;background:#0b0906;padding:14px}.option-toggle b{display:block;color:var(--gold);font-family:var(--font-display);font-size:20px}.option-toggle small{display:block;color:var(--muted);margin-top:4px}.option-toggle input{width:24px;height:24px;accent-color:var(--gold)}
.card-art.asset-art{height:88px;width:100%;position:relative;border:1px solid var(--line);border-radius:6px;margin:0 0 7px;overflow:hidden;background:radial-gradient(125% 95% at 50% 16%,color-mix(in srgb,var(--art-accent),transparent 88%) 0 38%,transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--panel2),#000 12%),color-mix(in srgb,var(--panel2),#000 36%));box-shadow:inset 0 0 18px #00000066,inset 0 1px 0 #ffffff0d}.hcard .card-art.asset-art{height:108px}.catalog-card .card-art.asset-art{height:122px}.inspect-card .card-art.asset-art{height:220px}.deck-card .card-art.asset-art,.card-art.asset-art.mini-art{width:54px;height:54px;min-width:54px;margin:0}.card.token .card-art.asset-art{height:52px}.card-art-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;opacity:0;background:transparent;image-rendering:pixelated;image-rendering:crisp-edges}.asset-art.has-image .card-art-img{opacity:1}.asset-art.has-image .art-fallback{display:none}.art-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:9px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--art-accent),transparent 30%) 0 16%,transparent 17%),linear-gradient(135deg,#ffffff12,transparent 35%,#0007 100%)}.art-fallback::before{content:"";position:absolute;inset:7px;border:1px solid #ffffff1a;border-radius:4px}.fallback-icon{font-family:var(--font-display);font-size:24px;line-height:1;color:#fff4d8;text-shadow:0 2px 0 #000,0 0 16px var(--art-accent);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis}.fallback-label{position:absolute;left:5px;right:5px;bottom:4px;text-align:center;font-size:9px;color:#f0dfb7;background:#000a;border:1px solid #ffffff18;border-radius:4px;padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-art .fallback-label{display:none}.mini-art .fallback-icon{font-size:16px}.card-art-theme-ascended{background:linear-gradient(135deg,#090206,#651424 42%,#d1a84a 46% 51%,#0a0506 53%)}.card-art-theme-necromancy,.card-art-theme-bank-curse{background:linear-gradient(135deg,#0b0911,#312152 45%,#18391f 100%)}.card-art-theme-corporate{background:linear-gradient(135deg,#050505,#3a2b13 55%,#111)}.card-art-theme-plague-royal{background:linear-gradient(135deg,#172411,#35235e 58%,#0a0810)}.card-art-theme-cursed-door{background:linear-gradient(90deg,#2a130b,#4a2514 48%,#160805)}.card-art-theme-token{height:44px;background:linear-gradient(135deg,#191610,#2a241a)}
.card-art-theme-storm-blade{background:radial-gradient(90% 80% at 58% 18%,#ffe8a633 0 18%,transparent 38%),radial-gradient(95% 80% at 56% 62%,#1f7fff3d 0 34%,transparent 72%),linear-gradient(135deg,#05070f,#0e213f 56%,#07080d)}.card-art-theme-battery{background:radial-gradient(70% 70% at 63% 24%,#ffe86a5c 0 19%,transparent 42%),radial-gradient(80% 90% at 41% 70%,#169dff33 0 32%,transparent 70%),linear-gradient(135deg,#06101e,#153c5b 54%,#241b07)}.card-art-theme-chef{background:radial-gradient(70% 70% at 58% 22%,#ffe2a85a 0 20%,transparent 45%),radial-gradient(85% 80% at 38% 70%,#ef7d3c33 0 35%,transparent 72%),linear-gradient(135deg,#2b1408,#5a3014 55%,#1b120b)}.card-art-theme-locksmith{background:radial-gradient(72% 64% at 58% 22%,#d8ae554f 0 20%,transparent 45%),radial-gradient(86% 74% at 37% 67%,#5979933a 0 34%,transparent 72%),linear-gradient(135deg,#07090c,#1a2028 55%,#2f2411)}.card-art-theme-cracked-halo{background:radial-gradient(80% 70% at 50% 15%,#fff0bf5c 0 16%,transparent 36%),radial-gradient(90% 88% at 46% 65%,#a3122f55 0 36%,transparent 76%),linear-gradient(135deg,#120407,#3a0613 58%,#090405)}
.price,.slot-name,.ascended-slot .slot-label,.stat b,.side h2,.section-label,.nm,.lvl,.banner,.float-text,.coin-overlay,.screen-message,.admin-kicker,.admin-stat b,.rarity-Mythic .card-nameplate::before,.rarity-Ascended .card-nameplate::before{font-family:var(--font-display)!important;letter-spacing:0}
.hand{perspective:920px;align-items:flex-end;gap:0;min-height:300px;padding:30px 24px 28px 42px;overflow-x:auto}.hcard{width:232px;flex:0 0 232px;min-height:294px;margin-right:-30px;text-align:left;cursor:pointer;transform:translateY(var(--fan-y)) rotateZ(var(--fan)) rotateX(5deg);transform-origin:50% 100%;z-index:var(--z);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,filter .18s ease}.hcard:hover:not(:disabled),.hcard:focus-visible{transform:translateY(-24px) rotateZ(0deg) rotateX(0deg) scale(1.04);z-index:80;border-color:var(--gold);box-shadow:inset 0 1px 0 #fff4,inset 0 -2px 0 #0008,0 22px 40px #000c,0 0 22px #d1a84a55}.hcard:active{transform:translateY(-30px) rotateZ(0deg) rotateX(0deg) scale(1.02)}.hcard[draggable="true"]{cursor:grab}.hcard[draggable="true"]:active{cursor:grabbing}.hcard:disabled{filter:saturate(.5);opacity:.55}.hcard .mini-move{background:#090604;border:1px solid #000;border-radius:6px;padding:6px;color:#c9bfa6;min-height:45px}.field.drop-glow{border-color:var(--gold);box-shadow:0 0 0 2px #d1a84a88,0 0 22px #d1a84a55}.field.drop-bad{border-color:var(--blood);box-shadow:0 0 0 2px #d25b3e66,0 0 18px #d25b3e44}.field{box-shadow:inset 0 0 28px #0007}.card.targetable{animation:targetPulse 1s ease-in-out infinite}.card.attacking{animation:attackLunge .26s ease-out}.card.hit{animation:hitShake .22s ease-out}.card.effect-shield{animation:shieldFlare .55s ease-out}.card.effect-buff{animation:buffPulse .55s ease-out}.card.effect-ko{animation:koCollapse .45s ease forwards}.coin{image-rendering:pixelated;box-shadow:0 0 0 3px #000,0 0 18px #d1a84a88}.app-header{position:relative}.menu-panel{box-shadow:inset 0 1px 0 #fff1,0 12px 32px #0007}.menu-panel h2{color:var(--gold);text-shadow:0 0 18px #d1a84a33}
.admin-footer{margin-top:14px;text-align:right}.admin-link{background:transparent;border:0;color:var(--muted);font-size:12px;text-decoration:underline;cursor:pointer;padding:4px 0}.admin-link:hover{color:var(--gold)}.admin-panel{background:#120909;border:1px solid #b93a2e;border-radius:8px;padding:4px;max-width:760px}.admin-panel h2{margin:0 0 8px;color:var(--gold);font-size:30px}.admin-kicker{font-family:"Cinzel";font-weight:700;letter-spacing:.16em;color:#ff6b57;font-size:12px}.admin-warning{border:1px solid #5a241e;background:#220d0b;color:#f0c088;border-radius:6px;padding:9px 10px;margin:8px 0 12px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0}.admin-stat{background:#090604;border:1px solid #3d221c;border-radius:8px;padding:9px}.admin-stat span,.admin-field span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.admin-stat b{display:block;color:var(--gold);font-family:"Cinzel";font-size:17px;margin-top:3px}.admin-field{display:block;margin:12px 0}.admin-field input{width:100%;background:#080604;border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:12px;font-size:16px}.admin-actions,.admin-rank-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:10px}.admin-panel .btn{min-height:44px}.admin-login{max-width:420px}
.format-dev-toggle{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.format-dev-toggle .btn{min-height:38px}.format-dev-toggle .btn:disabled{opacity:1;border-color:var(--gold);color:var(--gold)}
.summary-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.mastery-link{border-color:#8b6a34;color:#f0d18a}.mastery-panel{max-width:760px}.mastery-head{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:14px;align-items:center}.mastery-head h2{margin:0;color:var(--gold)}.mastery-kicker{margin:0 0 5px;color:#f0d18a;font-family:var(--font-display);font-size:12px;letter-spacing:.12em}.mastery-progress,.mastery-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0}.mastery-progress>div,.mastery-stat{background:#090604;border:1px solid var(--line);border-radius:8px;padding:9px}.mastery-progress span,.mastery-stat span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.mastery-progress b,.mastery-stat b{display:block;color:var(--gold);font-family:var(--font-display);font-size:17px;margin-top:3px}.mastery-note{color:var(--muted);font-size:13px}.mastery-result{border:1px solid #725727;background:#0d0904;border-radius:8px;margin:12px 0;padding:10px}.mastery-result h3{margin:0 0 5px;color:var(--gold)}.mastery-result p{margin:5px 0}
.catalog-card,.deck-card,.slot.filled,.card,.hcard,.mini-deck{position:relative}.catalog-card.mastery-1::after,.deck-card.mastery-1::after,.slot.mastery-1::after,.card.mastery-1::after,.hcard.mastery-1::after,.mini-deck.mastery-1::after{content:"";position:absolute;inset:3px;border:2px solid #8b5a2b;border-radius:6px;pointer-events:none}.catalog-card.mastery-2::after,.deck-card.mastery-2::after,.slot.mastery-2::after,.card.mastery-2::after,.hcard.mastery-2::after,.mini-deck.mastery-2::after{content:"";position:absolute;inset:3px;border:2px solid #c0c0c0;border-radius:6px;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff22}.catalog-card.mastery-3::after,.deck-card.mastery-3::after,.slot.mastery-3::after,.card.mastery-3::after,.hcard.mastery-3::after,.mini-deck.mastery-3::after{content:"";position:absolute;inset:3px;border:2px solid #d6a84f;border-radius:6px;pointer-events:none;box-shadow:0 0 9px #d6a84f66,inset 0 0 8px #d6a84f22}.catalog-card.mastery-4::after,.deck-card.mastery-4::after,.slot.mastery-4::after,.card.mastery-4::after,.hcard.mastery-4::after,.mini-deck.mastery-4::after{content:"";position:absolute;inset:3px;border:2px solid #d6a84f;border-radius:6px;pointer-events:none;box-shadow:0 0 12px #a87be888,0 0 5px #d6a84f88 inset;animation:masteryShimmer 2.8s ease-in-out infinite}.catalog-card.mastery-5::after,.deck-card.mastery-5::after,.slot.mastery-5::after,.card.mastery-5::after,.hcard.mastery-5::after,.mini-deck.mastery-5::after{content:"";position:absolute;inset:3px;border:2px solid #fff4c4;border-radius:6px;pointer-events:none;box-shadow:0 0 14px #fff4c499,0 0 24px #d6a84f77,inset 0 0 8px #ffffff33;animation:masteryPrestige 2.4s ease-in-out infinite}.mini-deck.mastery-1::after,.mini-deck.mastery-2::after,.mini-deck.mastery-3::after,.mini-deck.mastery-4::after,.mini-deck.mastery-5::after{inset:1px;border-radius:999px}.slot.mastery-1::after,.slot.mastery-2::after,.slot.mastery-3::after,.slot.mastery-4::after,.slot.mastery-5::after{border-radius:7px}
.results-card{max-width:520px;margin:30px auto;text-align:center}.results-card h2{font-size:34px}.results-card.victory h2{color:var(--heal)}.results-card.defeat h2{color:var(--blood)}
@keyframes floatUp{0%{opacity:0;transform:translate(-50%,8px)}12%{opacity:1}55%{opacity:1}100%{opacity:0;transform:translate(-50%,-42px)}}@keyframes fadeLift{0%{opacity:0;transform:translate(-50%,10px)}15%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-16px)}}@keyframes coinSpin{to{transform:rotateY(720deg)}}@keyframes retreatPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes bgDrift{to{background-position:180px 80px}}@keyframes tableShine{0%,100%{opacity:.45}50%{opacity:.9}}@keyframes rarityPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35)}}@keyframes cardEnter{from{opacity:.65;transform:translateY(7px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes targetPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes attackLunge{0%{transform:translateY(0)}55%{transform:translateY(-9px) scale(1.03)}100%{transform:translateY(0)}}@keyframes hitShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}@keyframes shieldFlare{0%{box-shadow:0 0 0 0 #6ea6d600}45%{box-shadow:0 0 0 4px #6ea6d688,0 0 22px #6ea6d688}100%{box-shadow:0 0 0 0 #6ea6d600}}@keyframes buffPulse{0%{filter:brightness(1)}45%{filter:brightness(1.3) saturate(1.2)}100%{filter:brightness(1)}}@keyframes koCollapse{to{opacity:.15;transform:translateY(16px) rotateZ(-3deg) scale(.86)}}@keyframes masteryShimmer{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}@keyframes masteryPrestige{0%,100%{opacity:.82}50%{opacity:1}}
.reduce-animations *, .reduce-animations *::before, .reduce-animations *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media (max-width:700px){
  .app{padding:12px 10px 44px}.app-header,.screen-head{flex-direction:column}.profile-strip{justify-content:flex-start}.menu-grid,.deck-builder,.main-menu-scene{grid-template-columns:1fr}.main-menu-scene{min-height:auto;padding:12px}.hero-menu{min-height:auto}.game-title{font-size:64px}.main-menu-buttons{max-width:none}.menu-profile-cards,.profile-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.play-submenu{grid-template-columns:1fr}.help-scroll{max-height:none}.option-toggle{align-items:flex-start}.slots{grid-template-columns:1fr}.card{width:176px;flex-basis:176px}.hcard{width:204px;flex-basis:204px;margin-right:-18px;transform:translateY(var(--fan-y)) rotateZ(calc(var(--fan) * .55)) rotateX(3deg)}.hand{min-height:275px;padding:24px 18px}.shop-grid,.catalog-grid,.ascended-shop-grid{grid-template-columns:1fr}.shop-section-head{flex-direction:column}.ascended-price-badge{align-self:flex-start}
}
@media (max-width:420px){
  h1{font-size:28px}.game-title{font-size:50px}.menu-btn{font-size:21px}.btn{width:100%;padding:12px}.screen-actions,.menu-actions,.battle-top{width:100%}.card{width:164px;flex-basis:164px}.hcard{width:190px;flex-basis:190px;margin-right:-12px}.hcard .card-art.pixel-art,.hcard .card-art.asset-art{height:86px}.deck-card{grid-template-columns:54px 1fr}.deck-card .btn{grid-column:1 / -1}.admin-actions,.admin-rank-grid,.admin-stats{grid-template-columns:1fr}.admin-footer{text-align:left}
}

/* Wider/fullscreen layout pass: app-shell only, no battle-rule changes. */
html{min-height:100%;overflow-x:hidden}
body{min-height:100vh;overflow-x:hidden}
.app{width:min(100%,1800px);max-width:none;min-height:100dvh;padding:12px clamp(10px,1.4vw,24px) 24px}
.app-header{align-items:center;margin-bottom:10px;padding-bottom:10px}
.app-message{min-height:22px}
.main-menu-scene{max-width:1360px;margin:0 auto;min-height:min(720px,calc(100dvh - 112px));padding:clamp(10px,1.35vh,16px)}
.hero-menu{min-height:0;gap:clamp(10px,1.8vh,18px)}
.game-title{font-size:clamp(62px,7vw,96px)}
.menu-subtitle{margin-top:8px;font-size:clamp(15px,1.75vh,18px)}
.main-menu-buttons{gap:8px}
.menu-btn{min-height:clamp(44px,5.6vh,56px);padding:8px 16px;font-size:clamp(19px,2.5vh,24px)}
.submenu-btn{min-height:42px;padding:8px 12px}
.main-profile-panel{padding:12px}
.profile-title{padding-bottom:8px;margin-bottom:9px}
.profile-title b{font-size:26px}
#shop-screen,#collection-screen,#deck-screen,#help-screen,#options-screen,#results-screen{max-width:1680px;margin:0 auto}
.shop-grid,.catalog-grid,.ascended-shop-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.deck-builder{grid-template-columns:minmax(360px,.8fr) minmax(560px,1.2fr);gap:16px}
.saved-deck-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
body[data-screen="battle"]{height:100dvh;overflow:hidden}
body[data-screen="battle"] .app{height:100dvh;min-height:0;padding-top:8px;padding-bottom:10px;display:flex;flex-direction:column;overflow:hidden}
body[data-screen="battle"] .app-header{margin-bottom:6px;padding-bottom:6px}
body[data-screen="battle"] .app-message{height:0;min-height:0;overflow:hidden}
body[data-screen="battle"] main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
body[data-screen="battle"] .tag{display:none}
body[data-screen="battle"] h1{font-size:29px}
body[data-screen="battle"] .profile-strip span{padding:5px 8px;font-size:12px}
.battle-screen.active{display:flex;flex:1 1 auto;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden}
.battle-top{justify-content:flex-end;margin-bottom:4px}
body[data-screen="battle"] .battle-top .btn{min-height:28px;padding:5px 10px}
.scorebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:6px;margin-bottom:4px}
.scorebar .stat{padding:3px 7px}
.scorebar .stat b{font-size:14px;line-height:1.05}
.scorebar .stat .lbl{font-size:9px}
.stat{min-width:0}
.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:12px;align-items:stretch;flex:1 1 auto;height:100%;min-height:0;overflow:hidden}
.battle-board{min-width:0;min-height:0;height:100%;max-height:none;display:grid;grid-template-rows:minmax(170px,1fr) minmax(170px,1fr) minmax(clamp(260px,30dvh,340px),.72fr);gap:10px;padding:10px;border:1px solid #59472b;border-radius:10px;background:radial-gradient(120% 90% at 50% 18%,#27301e 0 30%,transparent 58%),linear-gradient(180deg,#17140f,#0e0d0b);box-shadow:inset 0 1px 0 #ffffff18,inset 0 0 42px #0009,0 18px 42px #0007;overflow:hidden}
.battle-board .side{margin:0;min-height:0;display:flex;flex-direction:column;overflow:visible}
.battle-board .side h2,.battle-panel .section-label{font-size:12px;color:#d3c49e;margin-bottom:5px}
.battle-board .field{width:100%;flex:1 1 auto;min-height:0;padding:9px;gap:9px;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;overflow:auto;background:linear-gradient(180deg,#1d281c,#11160f);border-style:solid;box-shadow:inset 0 0 36px #0009,0 1px 0 #ffffff0d}
.battle-board .enemy-zone .field{background:linear-gradient(180deg,#251715,#13100d)}
.battle-board .player-zone .field{background:linear-gradient(180deg,#14251d,#10140f)}
.battle-board .hand-zone{min-width:0;overflow:visible}
.battle-board .hand{flex:1 1 auto;min-height:260px;max-height:none;padding:28px 26px 30px 40px;overflow:visible;background:linear-gradient(180deg,#221a12,#110d09);border-color:#5b482d;box-shadow:inset 0 0 34px #0008}
.battle-board .card{width:154px;flex-basis:154px;padding:7px}
.battle-board .card.token{width:98px;flex-basis:98px}
.battle-board .card-art.asset-art{height:58px}
.battle-board .card.token .card-art.asset-art{height:38px}
.battle-board .card-nameplate{padding:4px 6px;margin:4px 0}
.battle-board .card-nameplate .nm,.battle-board .hcard .nm{font-size:11px}
.battle-board .card-badges,.battle-board .meta{font-size:10px;gap:3px;margin-bottom:4px}
.battle-board .pill{padding:1px 5px}
.battle-board .status-row{min-height:14px;margin-bottom:3px}
.battle-board .status{font-size:9px;padding:1px 4px}
.battle-board .hpbar{height:7px;margin:3px 0 2px}
.battle-board .hpnum{font-size:10px}
.battle-board .moves{gap:3px;margin-top:5px}
.battle-board .mv{font-size:10px;padding:4px 5px;line-height:1.18}
.battle-board .card-actions{margin-top:5px}
.battle-board .inspect-btn,.battle-board .lvlbtn{font-size:9px;padding:3px 5px}
.battle-board .hcard{width:204px;flex:0 0 204px;min-height:264px;margin-right:-24px;padding:8px}
.battle-board .hcard .card-art.asset-art{height:88px}
.battle-board .hcard .mini-move{min-height:40px;font-size:11px;padding:6px;line-height:1.22}
.battle-panel{height:100%;max-height:none;display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border:1px solid #544229;border-radius:10px;background:linear-gradient(180deg,#211b13,#100d0a);box-shadow:inset 0 1px 0 #ffffff12,0 16px 36px #0007;overflow:hidden}
.battle-panel .controls{display:grid;grid-template-columns:1fr;gap:7px;margin:0;flex:0 0 auto}
.battle-panel .controls .btn{width:100%;min-height:40px}
.battle-panel .hint{display:block;min-height:32px;padding:7px 9px;border:1px solid #352a1c;border-radius:8px;background:#090705;color:#c7bea8;font-style:normal;line-height:1.25}
.battle-panel #banner{min-height:0}
.battle-panel #banner:has(.match-review){flex:none}
.battle-panel #banner:has(.match-review)+#insight-hud{display:none}
.battle-panel #final-sequence:empty{display:none}
.battle-panel .banner{margin:0;padding:10px;font-size:17px}
.battle-panel .banner.match-review{max-width:none;padding:11px}
.battle-panel .review-title{font-size:26px}
.battle-panel .match-review p{margin-top:5px;font-size:13px;line-height:1.25}
.battle-panel .review-actions{display:grid;grid-template-columns:1fr;gap:8px}
.battle-panel .review-actions .btn{min-width:0;width:100%}
.final-sequence-panel{border:1px solid #5a4623;border-radius:8px;background:#0d0a07;overflow:hidden;flex:0 0 auto}
.final-sequence-panel .final-sequence-label{margin:0;padding:7px 10px;background:#171109;border-bottom:1px solid #5a4623!important}
.final-sequence-list{max-height:clamp(86px,16dvh,145px);overflow:auto;padding:7px 9px;font-size:12px;line-height:1.35}
.final-sequence-list div{padding:2px 0;border-bottom:1px dotted #2a261b}
.battle-panel .section-label{flex:0 0 auto;margin:0}
.battle-panel .log{height:auto;min-height:112px;flex:1 1 112px;padding:9px 11px}
.inspect-card{width:min(760px,calc(100vw - 32px));max-width:760px}

@media (min-width:1500px){
  .battle-layout{grid-template-columns:minmax(0,1fr) 380px}
  .battle-board{grid-template-rows:minmax(210px,1fr) minmax(210px,1fr) minmax(clamp(300px,29dvh,390px),.72fr)}
  .battle-board .card{width:176px;flex-basis:176px}
  .battle-board .card.token{width:112px;flex-basis:112px}
  .battle-board .card-art.asset-art{height:76px}
  .battle-board .card.token .card-art.asset-art{height:46px}
  .battle-board .hcard{width:232px;flex-basis:232px;min-height:294px;margin-right:-30px;padding:9px}
  .battle-board .hcard .card-art.asset-art{height:108px}
  .battle-board .hcard .mini-move{min-height:45px;font-size:12px;padding:6px}
}

@media (max-width:1180px){
  body[data-screen="battle"]{height:auto;overflow-x:hidden;overflow-y:auto}
  body[data-screen="battle"] .app{height:auto;min-height:100dvh;overflow:visible}
  body[data-screen="battle"] .app-message{height:auto;min-height:22px;overflow:visible}
  body[data-screen="battle"] main{display:block}
  .battle-screen.active{height:auto;min-height:auto;overflow:visible}
  .battle-layout{grid-template-columns:1fr}
  .battle-board{max-height:none;grid-template-rows:auto auto auto;overflow:visible}
  .battle-board .field{height:auto;min-height:180px;max-height:36dvh}
  .battle-board .hand{overflow-x:auto;overflow-y:visible}
  .battle-panel{position:static;max-height:none;overflow:visible}
  .battle-panel .controls{grid-template-columns:minmax(160px,max-content) minmax(140px,max-content) minmax(0,1fr);align-items:center}
  .battle-panel .controls .btn{width:auto}
  .battle-panel .hint{min-height:0}
  .battle-panel .log{height:220px;min-height:220px;flex:none}
  .battle-panel .review-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .deck-builder{grid-template-columns:1fr}
}

@media (max-width:700px){
  .app{width:100%;padding:12px 10px 44px}
  .app-header{align-items:flex-start}
  #shop-screen,#collection-screen,#deck-screen,#help-screen,#options-screen,#results-screen{max-width:none}
  .shop-grid,.catalog-grid,.ascended-shop-grid{grid-template-columns:1fr}
  .battle-screen.active{min-height:auto}
  .scorebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .battle-layout{gap:10px}
  .battle-board{padding:10px;gap:10px}
  .battle-board .field{min-height:190px;max-height:none;padding:10px;gap:10px;overflow:auto}
  .battle-board .hand{min-height:248px;max-height:none;padding:24px 18px 24px 22px}
  .battle-panel{padding:10px;gap:10px}
  .battle-panel .controls{grid-template-columns:1fr}
  .battle-panel .controls .btn{width:100%}
  .battle-panel .review-actions{grid-template-columns:1fr}
  .battle-panel .log{height:190px;min-height:190px}
  .final-sequence-list{max-height:150px}
  .hcard{width:204px;flex-basis:204px;margin-right:-18px;transform:translateY(var(--fan-y)) rotateZ(calc(var(--fan) * .55)) rotateX(3deg)}
  .card{width:176px;flex-basis:176px}
}

@media (max-width:420px){
  .scorebar{grid-template-columns:1fr}
  .battle-board .field{min-height:202px}
  .battle-board .hand{padding:22px 12px;min-height:254px}
  .hcard{width:190px;flex-basis:190px;margin-right:-12px}
  .card{width:164px;flex-basis:164px}
  .battle-panel .banner{font-size:16px}
}

/* Screen-fit/layout bug fix: desktop battle/menu should avoid page scroll until content truly overflows. */
@media (min-width:701px){
  .main-menu-scene{min-height:min(680px,calc(100dvh - 142px))}
}

@media (min-width:1181px){
  .final-sequence-list{max-height:clamp(72px,13dvh,118px)}
  .battle-panel .log{min-height:96px;flex-basis:96px}
}

@media (min-width:1181px) and (max-height:820px){
  .battle-board{grid-template-rows:minmax(185px,1fr) minmax(185px,1fr) minmax(190px,.55fr);gap:8px;padding:8px}
  .battle-board .field{padding:6px;gap:6px}
  .battle-board .hand{min-height:170px;padding:16px 24px 20px 34px}
  .battle-board .hcard{width:194px;flex-basis:194px;height:184px;min-height:184px;margin-right:-22px;padding:7px;transform:translateY(calc(var(--fan-y) + 6px)) rotateZ(calc(var(--fan) * .4)) rotateX(2deg)}
  .battle-board .hcard .card-art.asset-art{height:52px}
  .battle-board .hcard .card-badges{display:none}
  .battle-board .hcard .mini-move{min-height:31px;max-height:42px;overflow:hidden;font-size:9px;padding:5px}
  .battle-board .card{width:138px;flex-basis:138px;padding:5px}
  .battle-board .card.token{width:88px;flex-basis:88px}
  .battle-board .card-art.asset-art{height:28px;margin-bottom:3px}
  .battle-board .card.token .card-art.asset-art{height:24px}
  .battle-board .card-nameplate{padding:2px 5px;margin:2px 0}
  .battle-board .card-badges{display:none}
  .battle-board .status-row{min-height:0;max-height:12px;overflow:hidden;margin-bottom:2px}
  .battle-board .status-row:empty{display:none}
  .battle-board .status{font-size:8px;padding:0 3px}
  .battle-board .hpbar{height:6px;margin:2px 0}
  .battle-board .hpnum{font-size:9px}
  .battle-board .moves{gap:2px;margin-top:3px}
  .battle-board .mv{font-size:0;height:16px;min-height:16px;max-height:16px;padding:2px 4px;line-height:1;overflow:hidden}
  .battle-board .mv br{display:none}
  .battle-board .mv .mvn{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .battle-board .card-actions{gap:3px;margin-top:3px}
  .battle-board .inspect-btn,.battle-board .lvlbtn{font-size:7px;padding:2px 3px;line-height:1}
  .battle-panel .log{min-height:80px;flex-basis:80px}
}

/* Campaign Cosmetics: profile identity, wardrobe, and safe CSS-only previews. */
.menu-btn.cosmetics{background:linear-gradient(180deg,#5f744d,#28371f);color:#f4ead2}
.profile-identity{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:10px 12px;margin:0 0 10px;border:1px solid #57462a;border-radius:8px;background:#17120c;overflow:hidden}
.profile-identity::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0000 35%,#f4c45b12);pointer-events:none}
.profile-identity-main{position:relative;z-index:1;display:flex;align-items:center;gap:9px;min-width:0}.profile-badge{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #88692f;border-radius:50%;background:#18120b;color:#f5cf71;font-size:19px;box-shadow:0 0 12px #d6a84f33}.profile-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#fff3d7;font-family:var(--font-display);font-size:19px;white-space:nowrap}.profile-title-label{display:block;margin-top:2px;color:#e5d2a2;font-size:12px;line-height:1.2}.profile-banner-name{position:relative;z-index:1;max-width:45%;overflow:hidden;text-overflow:ellipsis;color:#d7c493;font-size:11px;text-align:right;white-space:nowrap}.profile-identity.compact{display:inline-flex;vertical-align:middle;margin:6px 0 0;padding:4px 8px;gap:6px;border-radius:6px;background:#14100b}.profile-identity.compact .profile-badge{width:22px;height:22px;font-size:13px}.profile-identity.compact .profile-name{font-size:12px}.profile-identity.compact .profile-title-label{display:inline;margin:0;color:#d7c493;font-size:11px}.profile-strip .profile-identity{margin:0;padding:3px 7px;border-color:#4e3a20;background:#120e09}.profile-strip .profile-identity::after{display:none}.profile-strip .profile-name{font-size:12px}.profile-strip .profile-title-label{font-size:10px}.profile-strip .profile-badge{width:22px;height:22px;font-size:13px}
.cosmetic-banner-holyKnights{border-color:#c5d8ef;background:linear-gradient(100deg,#13263e,#3d526e 55%,#16233a)}.cosmetic-banner-ratKingdom{border-color:#6e7b35;background:linear-gradient(100deg,#1a2111,#3c351b 58%,#273313)}.cosmetic-banner-gildedLedger{border-color:#a16532;background:linear-gradient(100deg,#1c1010,#3a1b16 52%,#23190f)}
.cosmetic-title-holyKnights{color:#dcecff}.cosmetic-title-ratKingdom{color:#b6c85e}.cosmetic-title-gildedLedger{color:#f3c15c}
.cosmetic-frame-holyKnights::before,.cosmetic-frame-ratKingdom::before,.cosmetic-frame-gildedLedger::before,.cosmetic-frame-neutral::before{content:"";position:absolute;z-index:4;inset:2px;border:2px solid;border-radius:6px;pointer-events:none}.cosmetic-frame-holyKnights::before{border-color:#c8d8ee;box-shadow:inset 0 0 9px #d9e6ff33,0 0 8px #84b5dd55}.cosmetic-frame-ratKingdom::before{border-color:#9e8c44;box-shadow:inset 0 0 9px #637b2d55,0 0 8px #7b6a2d55}.cosmetic-frame-gildedLedger::before{border-color:#d5a345;box-shadow:inset 0 0 9px #a62d2555,0 0 8px #d5a34555}.cosmetic-frame-neutral::before{border-color:#756044}
.deck-cosmetic-preview{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#11100c}.deck-cosmetic-preview>div:first-child{flex:1;min-width:0}.deck-cosmetic-preview h3,.deck-cosmetic-preview p{margin:0}.deck-cosmetic-preview h3{color:var(--gold);font-size:14px}.deck-cosmetic-preview p{margin-top:3px;color:var(--muted);font-size:12px}.card-back-preview,.card-back-pile{display:grid;place-items:center;min-width:76px;height:52px;border:2px solid #8b6631;border-radius:7px;background:repeating-linear-gradient(135deg,#21180d 0 7px,#392811 7px 14px);box-shadow:inset 0 0 0 2px #0008,0 5px 10px #0008;color:#efd58d;font-family:var(--font-display);font-size:10px;text-align:center}.card-back-pile{min-width:62px;height:30px;padding:0 6px;font-size:9px}.hand-zone-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.hand-zone-title h2{margin-right:auto}.cosmetic-cardback-holyKnights{border-color:#c9d7ef;background:repeating-linear-gradient(135deg,#132944 0 7px,#31567a 7px 14px)}.cosmetic-cardback-ratKingdom{border-color:#8c7b39;background:repeating-linear-gradient(135deg,#202810 0 7px,#57451d 7px 14px)}.cosmetic-cardback-gildedLedger{border-color:#d19a42;background:repeating-linear-gradient(135deg,#24100f 0 7px,#6b251d 7px 14px)}.cosmetic-cardback-neutral{border-color:#756044;background:repeating-linear-gradient(135deg,#1f1a14 0 7px,#3c3023 7px 14px)}
.battle-screen.cosmetic-battlefield-holyKnights .battle-board{background:radial-gradient(90% 80% at 50% 5%,#5f8abc42,transparent 56%),linear-gradient(180deg,#15243a,#0b101a)}.battle-screen.cosmetic-battlefield-ratKingdom .battle-board{background:radial-gradient(90% 80% at 50% 5%,#8a9e2740,transparent 56%),linear-gradient(180deg,#1e2716,#10150d)}.battle-screen.cosmetic-battlefield-gildedLedger .battle-board{background:radial-gradient(90% 80% at 50% 5%,#b3473038,transparent 56%),linear-gradient(180deg,#21110f,#100a09)}.battle-screen.cosmetic-battlefield-neutral .battle-board{background:radial-gradient(120% 90% at 50% 18%,#27301e 0 30%,transparent 58%),linear-gradient(180deg,#17140f,#0e0d0b)}
.cosmetics-panel{padding:14px;border:1px solid var(--line);border-radius:8px;background:#100d09}.cosmetics-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.cosmetic-filter{border:1px solid #57462a;border-radius:5px;background:#17120c;color:#d9c7a2;padding:7px 10px;cursor:pointer;font:inherit;font-size:12px}.cosmetic-filter.active{border-color:#d3a848;background:#4a3211;color:#fff0c5}.cosmetics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px}.cosmetic-card{display:flex;gap:12px;min-width:0;padding:12px;border:1px solid #4f4028;border-radius:8px;background:#18120d}.cosmetic-card.owned{border-color:#59784c}.cosmetic-card.equipped{border-color:#d5aa4d;box-shadow:0 0 16px #d5aa4d2b}.cosmetic-card.locked{opacity:.68;filter:saturate(.6)}.cosmetic-preview{display:grid;grid-template-rows:1fr auto;place-items:center;flex:0 0 66px;width:66px;height:66px;border:1px solid #6f552b;border-radius:8px;background:#15100b;color:#f2c768}.cosmetic-preview span{font-size:29px}.cosmetic-preview small{font-size:10px;color:#d1bf98;text-transform:uppercase}.cosmetic-preview.compact{flex-basis:34px;width:34px;height:34px;border-radius:6px}.cosmetic-preview.compact span{font-size:17px}.cosmetic-preview.compact small{display:none}.cosmetic-theme-holyKnights .cosmetic-preview{border-color:#b7c9e3;background:#182941}.cosmetic-theme-ratKingdom .cosmetic-preview{border-color:#829249;background:#222b16}.cosmetic-theme-gildedLedger .cosmetic-preview{border-color:#c28d3c;background:#291310}.cosmetic-card-body{min-width:0;flex:1}.cosmetic-card-head{display:flex;justify-content:space-between;gap:8px}.cosmetic-card h3{margin:0;color:#fff0cd;font-size:16px}.cosmetic-card-head p,.cosmetic-desc,.cosmetic-source{margin:3px 0 0;color:#c7b999;font-size:12px;line-height:1.35}.cosmetic-source{color:#9f947f}.cosmetic-card-actions{margin-top:10px}.cosmetic-equipped-mark,.cosmetic-owned-mark,.cosmetic-locked-mark{align-self:flex-start;flex:0 0 auto;border-radius:4px;padding:3px 5px;font-size:10px}.cosmetic-equipped-mark{background:#453415;color:#ffe0a3}.cosmetic-owned-mark{background:#17321f;color:#9ed9ac}.cosmetic-locked-mark{background:#2b241d;color:#b7a991}.cosmetic-lock{display:block;color:#c9b58c;font-size:12px;line-height:1.3}.campaign-cosmetic-rewards{display:grid;grid-template-columns:minmax(170px,.5fr) minmax(0,1.5fr);gap:12px;margin:0 0 18px;padding:12px;border:1px solid #57462a;border-radius:8px;background:#0f0c09}.campaign-cosmetic-rewards h3,.campaign-cosmetic-rewards p{margin:0}.campaign-cosmetic-rewards h3{color:var(--gold);font-size:16px}.campaign-cosmetic-rewards p{margin-top:4px;color:var(--muted);font-size:12px}.campaign-reward-cosmetics{display:flex;flex-wrap:wrap;gap:8px}.campaign-reward-cosmetic{display:flex;align-items:center;gap:6px;min-width:145px;max-width:215px;padding:5px;border:1px solid #514128;border-radius:6px;background:#17120d}.campaign-reward-cosmetic.owned{border-color:#5a8a61}.campaign-reward-cosmetic span{min-width:0}.campaign-reward-cosmetic b,.campaign-reward-cosmetic small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-reward-cosmetic b{color:#e9d7ad;font-size:11px}.campaign-reward-cosmetic small{margin-top:2px;color:#afa187;font-size:10px}.cosmetic-unlock-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#000a}.cosmetic-unlock-card{width:min(390px,100%);padding:22px;border:1px solid #d5aa4d;border-radius:10px;background:#17110b;box-shadow:0 22px 55px #000;text-align:center}.cosmetic-unlock-card .cosmetic-preview{margin:0 auto 10px;width:86px;height:86px}.cosmetic-unlock-card .cosmetic-preview span{font-size:38px}.cosmetic-unlock-card h2,.cosmetic-unlock-card p{margin:6px 0}.cosmetic-unlock-card h2{color:#ffe2a4}.cosmetic-kicker{color:#d5aa4d;font-family:var(--font-display);font-size:12px}
.cosmetic-unlock-overlay,.cosmetic-unlock-card{pointer-events:auto}
@media (max-width:700px){.deck-cosmetic-preview{align-items:flex-start;flex-wrap:wrap}.deck-cosmetic-preview .btn{width:auto}.cosmetic-card{align-items:flex-start}.campaign-cosmetic-rewards{grid-template-columns:1fr}.profile-banner-name{display:none}.profile-identity{padding:8px}.cosmetics-grid{grid-template-columns:1fr}}

/* Attack animation pass: visual-only event feedback for battle hits. */
.card.anim-attacker{outline:2px solid #ff3b3b;outline-offset:2px;box-shadow:0 0 0 2px #ff3b3b88,0 0 22px #ff2828d9,0 18px 34px #000c!important;z-index:120!important;will-change:transform,filter}
.card.ai-acting{outline:2px solid #f0b847;outline-offset:2px;box-shadow:0 0 0 2px #f0b84799,0 0 22px #f0b84799,0 16px 30px #000c!important;transform:translateY(-5px);z-index:110!important;animation:aiActingPulse 1.15s ease-in-out infinite}
.card.ai-target{outline-offset:3px;z-index:105!important;animation:aiTargetPulse 1s ease-in-out infinite}
.card.ai-target-hostile{outline:2px solid #ff5b4a;box-shadow:0 0 0 2px #ff5b4a88,0 0 20px #ff2f2f99!important}
.card.ai-target-friendly{outline:2px solid #71d79b;box-shadow:0 0 0 2px #71d79b88,0 0 20px #38c97888!important}
.card.ai-target-status{outline:2px solid #b78bff;box-shadow:0 0 0 2px #b78bff88,0 0 20px #b78bff88!important}
.ai-action-banner{display:grid;gap:3px;background:linear-gradient(180deg,#2a160f,#120b08);border-color:#c6493e;box-shadow:0 0 20px #c6493e30}.ai-action-banner span{font-size:11px;color:#ff8b74;text-transform:uppercase;letter-spacing:.16em}.ai-action-banner strong{display:block;color:#f8dfac;font-size:17px;line-height:1.2}.ai-action-banner small{color:#b9aa8a;font-family:system-ui,Segoe UI,sans-serif;font-size:12px}
.card.anim-lift{transform:translateY(-13px) scale(1.02)}
.card.anim-lunge{transform:translate(var(--anim-lunge-x,0),var(--anim-lunge-y,-20px)) scale(1.045);transition:transform calc(var(--anim-duration,600ms) * .34) cubic-bezier(.2,.9,.2,1),box-shadow .16s ease,filter .16s ease}
.card.token.anim-token-chip{outline-color:#ff7a2c;box-shadow:0 0 0 2px #ff7a2c88,0 0 14px #ff7a2cbb,0 10px 20px #000a!important}
.card.token.anim-lunge{transform:translate(var(--anim-lunge-x,0),var(--anim-lunge-y,-12px)) scale(1.035)}
.card.anim-hit-target{animation:animHitTarget var(--hit-duration,220ms) ease-out;box-shadow:0 0 0 2px #ff664c,0 0 18px #ff664c99!important}
.anim-ghost-hit{position:fixed;transform:translate(-50%,-50%);border:2px solid #ff6347;border-radius:10px;box-shadow:0 0 18px #ff3b3baa;background:#ff3b3b22;pointer-events:none;z-index:24;animation:ghostHit .34s ease-out forwards}
.anim-ghost-hit.source{border-color:#ff7a2c;box-shadow:0 0 14px #ff7a2caa;background:#ff7a2c20}
.card.effect-disease{animation:diseasePulse .5s ease-out}.card.effect-lock{animation:lockPulse .5s ease-out}.card.effect-mark{animation:markPulse .5s ease-out}.card.effect-debuff{animation:debuffPulse .5s ease-out}
@keyframes animHitTarget{0%{transform:translateX(0);filter:brightness(1)}22%{transform:translateX(-5px);filter:brightness(1.45)}48%{transform:translateX(5px)}72%{transform:translateX(-2px)}100%{transform:translateX(0);filter:brightness(1)}}
@keyframes aiActingPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}
@keyframes aiTargetPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
@keyframes ghostHit{0%{opacity:0;transform:translate(-50%,-50%) scale(.78)}32%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.22)}}
@keyframes diseasePulse{0%{box-shadow:0 0 0 0 #93b44b00}45%{box-shadow:0 0 0 4px #93b44baa,0 0 22px #7d41a688;filter:hue-rotate(35deg) brightness(1.25)}100%{box-shadow:0 0 0 0 #93b44b00}}
@keyframes lockPulse{0%{box-shadow:0 0 0 0 #d1a84a00}45%{box-shadow:0 0 0 4px #d1a84aaa,0 0 18px #d1a84a99;filter:brightness(1.25) saturate(1.15)}100%{box-shadow:0 0 0 0 #d1a84a00}}
@keyframes markPulse{0%{box-shadow:0 0 0 0 #b78bff00}45%{box-shadow:0 0 0 4px #b78bffaa,0 0 20px #b78bff99;filter:brightness(1.18)}100%{box-shadow:0 0 0 0 #b78bff00}}
@keyframes debuffPulse{0%{filter:brightness(1)}45%{filter:brightness(.78) saturate(.8);box-shadow:0 0 0 4px #a87be899,0 0 18px #a87be877}100%{filter:brightness(1)}}

/* Att the Timekeeper: compact Countdown/cooldown status and duration chooser. */
.status.countdown,.status.cooldown,.status.bond{color:#d1a84a}
.mv-note{color:var(--gold);font-size:10px}
.banner.countdown-panel{max-width:720px;margin:14px auto;padding:16px;background:linear-gradient(180deg,#20180d,#100c08)}
.countdown-panel p{margin:8px 0 0;font-size:16px;font-family:system-ui,Segoe UI,sans-serif}
.countdown-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.wake-track{position:relative;height:18px;max-width:420px;margin:16px auto 4px;border:1px solid var(--line);background:#080808;overflow:hidden}
.wake-zone{position:absolute;top:0;bottom:0;background:#74d7a8;box-shadow:0 0 12px #74d7a8}
.wake-marker{position:absolute;top:-3px;bottom:-3px;width:4px;background:#f5d76e;box-shadow:0 0 8px #f5d76e;animation:wake-sweep var(--wake-duration,1.7s) linear infinite}
.wake-timer{height:5px;max-width:420px;margin:8px auto 0;border:1px solid #4a3824;background:#0b0907;overflow:hidden}
.wake-timer span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#74d7a8,#f5d76e,#c04737);transform-origin:left center;animation:wake-countdown var(--wake-limit,10s) linear forwards}
@keyframes wake-sweep{from{left:0}to{left:100%}}
@keyframes wake-countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.countdown-choice{min-width:126px}
.card-art-theme-holy-defense{background:radial-gradient(78% 68% at 52% 20%,#dff5ff55 0 18%,transparent 42%),radial-gradient(90% 84% at 45% 68%,#70c9ff40 0 34%,transparent 74%),linear-gradient(135deg,#07111d,#142f4a 56%,#0c1118)}

/* Beast Tamer Leviathan Awakening — secret move styling */
.mv.secret-mv{border:1px solid #6b3fb5;background:linear-gradient(180deg,#1a1330,#120c20)}
.mv-secret,.secret-tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;color:#c8a6ff;background:#2a1d4a;border-radius:4px;padding:1px 5px;margin-left:4px;vertical-align:middle}
.move-line.secret-move{border-left:2px solid #6b3fb5;padding-left:8px}

/* Live AI vs AI Viewer */
#viewer-screen{max-width:860px;margin:0 auto}
.viewer-setup{display:flex;flex-direction:column;gap:14px;padding:16px 0}
.viewer-opt-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.viewer-opt-label{min-width:110px;color:var(--muted);font-size:13px}
#viewer-controls{flex:0 0 auto}
.viewer-ctrl-panel{display:flex;flex-direction:column;gap:8px;padding:8px 0}
.viewer-ctrl-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.viewer-label{font-size:11px;color:var(--muted);min-width:46px}
.viewer-speed-row{margin-bottom:2px}
.viewer-speed-btn{min-width:44px;padding:6px 8px;font-size:12px}
.hcard-viewer{display:inline-block;background:var(--card-bg,#1d1610);border:1px solid var(--line);border-radius:7px;padding:4px 8px;font-size:12px;font-family:var(--font-display);color:var(--ink);margin:2px}
.hcard-viewer small{color:var(--gold);font-size:10px;margin-left:3px}
.viewer-error-panel{margin:12px 0;padding:12px 16px;border:1px solid var(--blood,#b23);border-radius:8px;background:#2a1212;color:#f2c0c0;font-size:14px}

/* Battle Reports / Match History */
#reports-screen{max-width:1000px;margin:0 auto}

/* Roguelike run: Talent Cards + Items. */
#run-screen{max-width:1180px;margin:0 auto}.menu-btn.run{border-color:#70c9b0;background:linear-gradient(180deg,#173d39,#102b29);color:#d9fff4}.run-empty{max-width:620px;margin:32px auto;padding:24px;border:1px solid #54766d;background:#101b19;text-align:center}.run-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.run-stats>div{padding:12px;border:1px solid var(--line);background:#15120e}.run-stats span,.run-card small{display:block;color:var(--muted);font-size:12px}.run-stats b{display:block;color:#84e0c4;font-family:var(--font-display);font-size:24px}.run-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.run-note{padding:10px;border-left:3px solid #70c9b0;background:#12201d}.run-deck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.run-deck h3{grid-column:1/-1}.run-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);background:#15120e}.run-card.talented{border-color:#70c9b0;box-shadow:inset 3px 0 #70c9b0}.run-chip-row{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.run-chip{padding:2px 6px;border:1px solid #675d49;font-size:10px}.run-chip.talent{border-color:#70c9b0;color:#bff5e5}.run-chip.item{border-color:#d1a84a;color:#f4d98f}.run-chip.empty{opacity:.55}.talent-shop,.item-shop{max-width:980px}.talent-kicker,.talent-tier{color:#84e0c4;font-family:var(--font-display);font-size:11px;text-transform:uppercase}.talent-shop-stats{display:flex;gap:10px;margin-bottom:12px}.talent-shop-stats span{padding:7px 10px;border:1px solid var(--line)}.talent-deck-grid,.talent-options,.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.talent-card-choice,.talent-option{border:1px solid #516d65;background:#111a18;color:var(--ink);padding:10px;text-align:left;cursor:pointer;font:inherit}.talent-card-choice{display:grid;grid-template-columns:58px 1fr;gap:9px;align-items:center}.talent-card-choice small,.talent-option small{display:block;color:var(--muted);margin-top:3px}.talent-card-choice:disabled,.talent-card-choice.locked{opacity:.42;cursor:not-allowed}.talent-option{display:flex;flex-direction:column;min-height:190px}.talent-option>b{font-family:var(--font-display);font-size:18px;margin-top:8px}.talent-option p{flex:1}.talent-select{color:var(--gold);font-family:var(--font-display)}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-offer{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);background:#15120e;padding:10px}.item-offer h3{margin:2px 0}.item-offer p{margin:4px 0;color:var(--muted);font-size:13px}.item-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-family:var(--font-display);font-size:21px}.run-inspect{margin:14px 0;padding-top:10px;border-top:1px solid var(--line)}.run-inspect-line{display:grid;gap:2px;padding:7px 0;border-bottom:1px solid #ffffff12}.run-inspect-line span{color:var(--muted);font-size:13px}
@media(max-width:760px){.run-stats,.run-deck,.talent-deck-grid,.talent-options,.item-grid{grid-template-columns:1fr}.run-card{grid-template-columns:58px minmax(0,1fr)}.run-card>.inspect-link{grid-column:1/-1}.item-offer{grid-template-columns:42px minmax(0,1fr)}.item-offer>.btn{grid-column:1/-1}}
.acquirement-selector{margin:14px 0;padding:14px;border:1px solid var(--line);background:#12110f}.acquirement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.acquirement-choice{display:flex;min-height:112px;flex-direction:column;gap:5px;padding:11px;border:1px solid #554f43;background:#181611;color:var(--ink);text-align:left;cursor:pointer;font:inherit}.acquirement-choice>span{color:var(--muted);font-family:var(--font-display);font-size:10px}.acquirement-choice>b{color:#f0d486;font-family:var(--font-display);font-size:15px}.acquirement-choice>small{color:var(--muted);line-height:1.35}.acquirement-choice.active{border-color:#70c9b0;background:#14201d;box-shadow:inset 3px 0 #70c9b0}.acquirement-choice:disabled{opacity:.38;cursor:not-allowed}.insight-panel{margin:8px 0 12px;padding:10px;border:1px solid #557269;background:#101816}.insight-panel-head,.insight-panel-foot{display:flex;justify-content:space-between;gap:8px;align-items:center}.insight-panel-head>span{font-family:var(--font-display);color:#b9eadc;text-transform:uppercase}.insight-panel-head>b{color:#f0d486}.acquirement-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;margin-top:8px;padding-top:7px;border-top:1px solid #ffffff16}.acquirement-progress div{display:flex;gap:8px;align-items:baseline}.acquirement-progress b{font-size:12px}.acquirement-progress small{color:var(--muted);font-size:10px}.acquirement-progress>span{font-size:11px;color:#cbe9e0}.acquirement-progress i{grid-column:1/-1;height:4px;background:#ffffff14;overflow:hidden}.acquirement-progress em{display:block;height:100%;background:#70c9b0}.insight-panel-foot{margin-top:9px;padding-top:7px;border-top:1px solid #ffffff16;color:var(--muted);font-size:10px}.acquirement-empty{margin:8px 0;color:var(--muted);font-size:11px}
@media(max-width:760px){.acquirement-grid{grid-template-columns:1fr}.insight-panel-head,.insight-panel-foot{align-items:flex-start;flex-direction:column}.acquirement-progress{grid-template-columns:1fr}.acquirement-progress>span{grid-column:1}.acquirement-progress i{grid-column:1}}
.report-list{display:flex;flex-direction:column;gap:10px}
.report-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-left-width:4px;border-radius:10px;background:linear-gradient(180deg,var(--panel2),var(--panel))}
.report-card.win{border-left-color:var(--heal)}
.report-card.loss{border-left-color:var(--blood)}
.report-card-main{min-width:0;display:flex;flex-direction:column;gap:4px}
.report-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.report-result{font-family:var(--font-display);font-weight:700;font-size:13px;padding:1px 8px;border-radius:5px}
.report-result.win{background:#23351f;color:var(--heal)}
.report-result.loss{background:#351c18;color:var(--blood)}
.report-ruleset{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.report-tag{font-size:10px;padding:1px 6px;border-radius:4px;background:#2a2418;color:var(--muted);border:1px solid var(--line)}
.report-tag.ascended{color:#c8a6ff;border-color:#6b3fb5}
.report-deckname{font-family:var(--font-display);font-size:16px;color:var(--ink)}
.report-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.report-meta .report-score{color:var(--gold);font-weight:700}
.report-meta b{color:var(--ink)}
.report-time{font-size:11px;color:var(--muted);opacity:.8}
.report-card-actions{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}
/* detail */
.report-detail-summary{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);margin-bottom:14px;display:flex;flex-direction:column;gap:8px}
.report-detail-summary.win{border-left:4px solid var(--heal)}
.report-detail-summary.loss{border-left:4px solid var(--blood)}
.report-detail-result{display:flex;gap:10px;align-items:center}
.report-detail-result .report-result{font-size:18px;padding:2px 12px}
.report-detail-score{font-size:20px;color:var(--ink)}
.report-detail-score b{color:var(--gold)}
.report-detail-score span{font-size:12px;color:var(--muted)}
.report-detail-facts{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.report-detail-facts b{color:var(--ink)}
.report-decks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.report-decks h3,.report-secret h3,.report-cards h3,.report-log h3{font-size:13px;color:var(--gold);margin:0 0 6px}
.report-chips{display:flex;gap:5px;flex-wrap:wrap}
.report-chip{font-size:11px;padding:2px 7px;border-radius:5px;background:var(--panel);border:1px solid var(--line);color:var(--ink)}
.report-chip.rarity-Ascended{border-color:#6b3fb5;color:#c8a6ff}
.report-secret{margin-bottom:14px;font-size:13px;color:var(--ink)}
.report-secret div{margin-top:2px}
.report-cards{margin-bottom:14px}
.report-table-wrap{overflow-x:auto}
.report-table{width:100%;border-collapse:collapse;font-size:12px}
.report-table th,.report-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.report-table th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.report-table tr.mvp-row{background:#2a2412}
.report-note{display:inline-block;font-size:10px;padding:1px 5px;border-radius:4px;background:#2a2418;color:var(--gold);margin:1px}
.report-note-hint{font-size:11px;color:var(--muted);opacity:.8;margin-top:6px}
.report-log{margin-bottom:14px}
.report-log-box{max-height:160px;overflow-y:auto;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#0d0b08;font-size:12px;line-height:1.5}
.report-log-box.full{max-height:280px}
.report-log-box .sys{color:var(--gold)}
@media (max-width:700px){
  .report-card{flex-direction:column;align-items:stretch}
  .report-card-actions{flex-direction:row}
  .report-decks{grid-template-columns:1fr}
}

/* ===== Campaign Mode v1 ===== */
.menu-btn.campaign{background:linear-gradient(180deg,#c9a14c,#5e3c12);color:#1c1207}
.campaign-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.campaign-path-card{border:1px solid #7c5a2c;border-radius:10px;background:linear-gradient(180deg,#1c1610,#11100c);padding:16px;box-shadow:inset 0 1px 0 #fff1,0 12px 28px #0007;display:flex;flex-direction:column;gap:10px}
.campaign-path-card.locked{opacity:.6;border-color:#3d3222}
.campaign-path-card h3{margin:0;color:var(--gold);font-family:var(--font-display);font-size:24px}
.campaign-faction-tag{margin:0;color:#d7c493;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.campaign-path-blurb{margin:0;color:#d7cdb8;line-height:1.4}
.campaign-path-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.campaign-path-stats span{background:#090604;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:12px;color:var(--muted)}
.campaign-path-stats b{display:block;color:var(--gold);font-family:var(--font-display);font-size:18px}
.campaign-path-card .btn{margin-top:auto}
.campaign-route{display:flex;flex-direction:column;gap:18px}
.campaign-act{border:1px solid #3d3222;border-radius:10px;background:#0b090688;padding:14px}
.campaign-act h3{margin:0 0 12px;color:var(--gold)}
.campaign-node-row{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.campaign-node{flex:1 1 150px;min-width:150px;border:2px solid #3d3222;border-radius:10px;background:linear-gradient(180deg,#241d12,#120f0a);color:#efe2be;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;text-align:left;transition:transform .14s ease,filter .14s ease,border-color .14s ease}
.campaign-node:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}
.campaign-node.available{border-color:var(--gold);box-shadow:0 0 12px #d1a84a33}
.campaign-node.completed{border-color:#5aa471;background:linear-gradient(180deg,#16291c,#0d130e)}
.campaign-node.locked{opacity:.5;cursor:not-allowed}
.campaign-node-badge{font-size:18px}
.campaign-node-num{font-family:var(--font-display);font-size:13px;color:#d7c493;text-transform:uppercase;letter-spacing:.06em}
.campaign-node-title{font-size:16px;color:#fff3d7}
.campaign-node-unlock{font-size:11px;color:#8fd0a0}
.campaign-node-link{align-self:center;width:14px;height:2px;background:#5d4625}
.campaign-mission{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;align-items:start}
.campaign-mission-info{border:1px solid #7c5a2c;border-radius:10px;background:#0d0b09;padding:14px;display:flex;flex-direction:column;gap:8px}
.campaign-mission-stats{display:flex;gap:6px;flex-wrap:wrap}
.campaign-reward-line{margin:0;color:#d7cdb8}
.campaign-reward-line b{color:var(--gold)}
.campaign-mission-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.campaign-rival-preview{border:1px solid #a85c3d;border-left:4px solid #d8a14a;background:#17100d;padding:12px;border-radius:8px;margin:4px 0}.rival-preview-kicker{color:#efbd65;text-transform:uppercase;font-weight:800;font-size:.78rem;margin:0 0 7px}.rival-preview-card{display:flex;align-items:center;gap:10px}.rival-preview-card .card-art{width:58px;min-width:58px;min-height:58px}.campaign-rival-preview p{margin:8px 0 0;line-height:1.4}.admin-rival-preview-list{display:grid;gap:8px;margin:6px 0 10px}.admin-rival-preview{border:1px solid #6c4b30;background:#16110d;padding:8px;border-radius:6px;display:grid;gap:5px}.admin-rival-preview span{opacity:.82;font-size:.85em}
.campaign-enemy-preview,.campaign-your-preview{border:1px solid #3d3222;border-radius:10px;background:#0b0906;padding:12px}
.campaign-enemy-preview h3,.campaign-your-preview h3{margin:0 0 8px;color:var(--gold);font-size:16px}
.campaign-chip-row{display:flex;flex-wrap:wrap;gap:6px}
.campaign-note{color:var(--muted);font-size:12px;margin:4px 0 0}
.campaign-shop-tier{border:1px solid #3d3222;border-radius:10px;background:#0b090688;padding:14px;margin-bottom:14px}
.campaign-shop-tier.locked{opacity:.6}
.campaign-shop-tier h3{margin:0 0 10px;color:var(--gold)}
.campaign-shop-grid,.campaign-pool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.campaign-shop-offer,.campaign-pool-card{border:2px solid #3d3222;border-radius:10px;background:linear-gradient(180deg,#231c12,#110f0b);padding:10px;display:flex;flex-direction:column;gap:6px}
.campaign-pool-card.in-deck{border-color:#5aa471}
.campaign-offer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.campaign-offer-head h4{margin:0;font-size:15px;color:#fff3d7}
.campaign-deck-current,.campaign-deck-pool{border:1px solid #3d3222;border-radius:10px;background:#0b090688;padding:14px;margin-bottom:14px}
.campaign-deck-current h3,.campaign-deck-pool h3{margin:0 0 10px;color:var(--gold)}
.campaign-deck-chips{display:flex;flex-wrap:wrap;gap:8px}
.campaign-deck-chip{border:1px solid #7c5a2c;border-radius:999px;background:#1a140c;color:#fff3d7;padding:6px 12px;cursor:pointer;font-size:13px}
.campaign-deck-chip:hover{border-color:var(--blood);color:#ffd3c8}
.campaign-act-summary{margin:0 0 12px;color:#cbbfa6;font-size:13px;line-height:1.45;max-width:780px}
.campaign-act.coming-later{opacity:.55;border-style:dashed}
.campaign-node.boss{border-color:#e2483a;background:linear-gradient(180deg,#2a1410,#140a0a);box-shadow:0 0 14px #e2483a55}
.campaign-node.boss.completed{border-color:#5aa471}
.campaign-node.boss .campaign-node-num{color:#ffb3a6}
.campaign-act.aftermath{border-color:#c9b06a;background:linear-gradient(180deg,#1a1610,#0d0c0a);box-shadow:inset 0 0 0 1px #f4e3a122}
.campaign-act.aftermath.after-hours{border-color:#d6bd74;background:linear-gradient(180deg,#17140e,#09090a);box-shadow:inset 0 0 0 1px #fff1ad2b,0 0 18px #d6bd7430}
.campaign-node.post{border-color:#cbbf90;background:linear-gradient(180deg,#23200f,#13110b);box-shadow:0 0 12px #cbbf9044}
.campaign-node.post.completed{border-color:#5aa471}
.campaign-node.post .campaign-node-num{color:#e9dba0}
.campaign-node.finale{border-color:#f4c45b;background:linear-gradient(180deg,#2a200c,#15110a);box-shadow:0 0 18px #f4c45b66}
.campaign-node.finale.completed{border-color:#5aa471}
.campaign-node.finale .campaign-node-num{color:#ffe29a}
.campaign-act.post-route{opacity:.6;border-style:dashed}
.campaign-route-complete-banner{margin:6px 0 0;color:#f4c45b;font-family:var(--font-display);font-size:14px}
.campaign-route-complete{color:#f4c45b;margin:10px 0;font-size:15px;line-height:1.5}
/* Exclusive rarity — campaign-unlocked cards (bright platinum/gold) */
.rarity-Exclusive{border-color:#f4e3a1;box-shadow:inset 0 1px 0 #fff5,inset 0 -2px 0 #0007,0 0 18px #f4e3a155,0 0 0 1px #fff8c466,0 8px 18px #0008}
.rarity-Exclusive .card-nameplate::before{content:"EXCLUSIVE";font-family:"Cinzel";font-size:9px;color:#fff6cf;margin-right:4px}
.rarity-pill-Exclusive{border-color:#f4e3a1;color:#fff6cf;background:#3a3320}
.exclusive-info{color:#f4e3a1!important}
.campaign-warn{color:#ffb3a6}
.campaign-cleartext{color:#8fd0a0;margin:8px 0}
/* Act header (route map) */
.campaign-act-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.campaign-act-head h3{margin:0}
.campaign-act-tagline{margin:3px 0 0;color:#cbbfa6;font-size:13px;font-style:italic}
.campaign-act-head-side{display:flex;align-items:center;gap:10px;flex-shrink:0}
.campaign-act-progress{font-family:var(--font-display);color:var(--gold);font-size:16px}
.btn.small{min-height:0;padding:6px 10px;font-size:12px;width:auto}
/* Act Briefing story card */
.campaign-briefing{max-width:780px;margin:18px auto;border:1px solid #7c5a2c;border-radius:12px;background:linear-gradient(180deg,#1d160e,#100d0a);padding:22px;box-shadow:inset 0 1px 0 #fff1,0 18px 44px #0009}
.briefing-kicker{margin:0;color:#d7c493;text-transform:uppercase;letter-spacing:.14em;font-family:var(--font-display);font-size:12px}
.briefing-title{margin:4px 0 2px;color:var(--gold);font-family:var(--font-display);font-size:32px;text-shadow:0 0 18px #d1a84a33}
.briefing-subtitle{margin:0 0 14px;color:#efe2be;font-size:18px;font-style:italic}
.briefing-story{color:#ddd2b6;line-height:1.55;font-size:15px}
.briefing-stakes{margin:14px 0;color:#ffd9a0;border-left:3px solid var(--gold);padding-left:12px}
.briefing-stakes span{display:block;color:#d7c493;text-transform:uppercase;font-size:11px;letter-spacing:.1em}
.briefing-section{margin:14px 0}
.briefing-section h3{margin:0 0 8px;color:var(--gold);font-size:15px}
.briefing-featured{display:flex;flex-wrap:wrap;gap:10px}
.briefing-card-mini{width:84px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:#efe2be;text-align:center}
.briefing-card-mini .card-art,.briefing-card-mini .asset-art,.briefing-card-mini .pixel-art{width:80px;height:80px;min-width:80px;margin:0}
.briefing-unlocks{margin:0;padding-left:18px;color:#d7cdb8;line-height:1.5}
/* Story popup modal */
.campaign-story-modal{display:grid;place-items:center;min-height:60vh;padding:24px}
.campaign-story-card{max-width:520px;border:1px solid #7c5a2c;border-radius:12px;background:linear-gradient(180deg,#1c160f,#0e0b08);padding:24px;text-align:center;box-shadow:inset 0 1px 0 #fff1,0 18px 44px #0009}
.story-kicker{margin:0;color:#d7c493;text-transform:uppercase;letter-spacing:.16em;font-family:var(--font-display);font-size:11px}
.story-title{margin:6px 0 12px;color:var(--gold);font-family:var(--font-display);font-size:28px}
.story-text{color:#ddd2b6;line-height:1.55;margin:0 0 18px}
/* Mission Briefing block */
.campaign-briefing-block{border:1px solid #3d3222;border-radius:10px;background:#0b0906;padding:12px;margin:10px 0}
.campaign-briefing-block h3{margin:0 0 8px;color:var(--gold);font-size:16px}
.campaign-briefing-block p{margin:5px 0;color:#ddd2b6;line-height:1.45;font-size:13px}
.briefing-label{display:inline-block;min-width:108px;color:#d7c493;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
/* Cosmetics */
.campaign-cosmetics .campaign-note{margin-top:0}
.campaign-cosmetic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.campaign-cosmetic-card{display:flex;gap:10px;border:1px solid #3d3222;border-radius:10px;background:linear-gradient(180deg,#221c12,#110f0b);padding:10px}
.campaign-cosmetic-card.owned{border-color:#5aa471}
.cosmetic-icon{font-size:30px;line-height:1;flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border:1px solid #5d4625;border-radius:8px;background:#0d0b08}
.cosmetic-body{flex:1;min-width:0}
.cosmetic-body h4{margin:0 0 4px;color:#fff3d7;font-size:14px}
.cosmetic-desc{margin:6px 0;color:#cbbfa6;font-size:12px;line-height:1.4}
/* Admin campaign section */
.admin-campaign{border:1px solid #5a241e;border-radius:8px;background:#160c0b;padding:10px;margin:12px 0}
.admin-campaign .admin-kicker{color:#f0b070}
.admin-toggle{display:flex;align-items:center;gap:8px;color:#f0c088;font-size:13px;margin:8px 0}
.admin-campaign select{width:100%;background:#080604;border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:10px;font-size:14px}
@media(max-width:720px){.campaign-mission{grid-template-columns:1fr}.campaign-act-head{flex-direction:column}}

/* Redeem code modal */
.menu-btn.redeem{background:linear-gradient(180deg,#e0b24c,#6a3d10);color:#1b1007}

/* Cardfall Pro Circuit - Part 1 */
.menu-btn.esports{background:linear-gradient(180deg,#b53b32,#501518);color:#fff4df}
.submenu-btn.standard{background:#365e97}.submenu-btn.campaign{background:#7d6223}.submenu-btn.tournament{background:#8d2e2a}
#esports-screen{max-width:1500px;margin:0 auto}
.esports-shell{border-top:3px solid #c89536;background:#0d0d0f;min-height:calc(100dvh - 145px);padding:18px}
.esports-screen-head{border-bottom:1px solid #584526;padding-bottom:14px;margin-top:0}
.esports-screen-head h2{font-size:32px;color:#f2cf7a}.esports-kicker{margin:0 0 4px!important;color:#d45d50!important;font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:0}
.esports-event-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #806126;border-left:5px solid #c89536;background:#171510;padding:16px;margin:16px 0}
.esports-event-strip span,.esports-event-strip small{display:block;color:var(--muted);font-size:12px;text-transform:uppercase}.esports-event-strip b{display:block;color:#fff3d7;font-family:var(--font-display);font-size:25px;margin:3px 0}
.cpc-world-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#544333;border:1px solid #544333;margin:12px 0}.cpc-world-strip>div{min-width:0;background:#161517;padding:12px 14px}.cpc-world-strip span,.cpc-world-strip small{display:block;color:#aaa399;font-size:11px}.cpc-world-strip span{text-transform:uppercase}.cpc-world-strip b{display:block;color:#f2cf7a;font-family:var(--font-display);font-size:17px;overflow-wrap:anywhere;margin:4px 0}
.esports-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.esports-nav button{min-height:112px;border:1px solid #493a28;border-radius:6px;background:#151517;color:var(--ink);padding:15px;text-align:left;cursor:pointer}.esports-nav button:hover{border-color:#c89536;background:#1c1915}.esports-nav b,.esports-nav small{display:block}.esports-nav b{color:#f2cf7a;font-family:var(--font-display);font-size:19px}.esports-nav small{color:var(--muted);margin-top:8px;line-height:1.35}
.esports-event-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.esports-event-overview>div,.pro-profile-stats>div{border:1px solid #3b342b;background:#151517;padding:13px}.esports-event-overview span,.pro-profile-stats span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.esports-event-overview b,.pro-profile-stats b{display:block;color:#f2cf7a;font-family:var(--font-display);font-size:19px;margin-top:4px}
.esports-panel{border:1px solid #40372c;border-radius:6px;background:#141416;padding:15px}.esports-panel h3{margin:0 0 10px;color:#f2cf7a}.esports-panel p{color:#d5cdbf;line-height:1.55}.esports-panel small{color:var(--muted)}
.qualified-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;list-style:none;padding:0;margin:0}.qualified-list li{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;border-bottom:1px solid #302a23;padding:9px}.qualified-list li>span{color:#d45d50;font-family:var(--font-display)}.qualified-list li>small{color:var(--muted)}
.esports-coming-soon{border-left:3px solid #d45d50;background:#1a1112;color:#d9c8bf;padding:11px 13px;margin:14px 0}
.esports-table-wrap{overflow-x:auto;border:1px solid #40372c}.esports-table{width:100%;min-width:1040px;border-collapse:collapse;background:#111113}.esports-table th{background:#201717;color:#f2cf7a;text-align:left;font-size:11px;text-transform:uppercase;padding:10px;border-bottom:1px solid #755024}.esports-table td{padding:10px;border-bottom:1px solid #292529;color:#d8d2c8}.esports-table tbody tr:hover{background:#1b1a1c}.leaderboard-rank{color:#d45d50!important;font-family:var(--font-display)}.esports-player-link{border:0;background:transparent;color:#fff3d7;font-family:var(--font-display);font-size:15px;padding:0;cursor:pointer}.esports-player-link:hover{color:#f2cf7a}
.qualification-pill{display:inline-block;border:1px solid #5b5550;border-radius:999px;padding:4px 8px;font-size:11px;white-space:nowrap}.qualification-pill.qualified{border-color:#4d8a72;color:#90ddb7;background:#10231c}.qualification-pill.not-qualified{border-color:#87453f;color:#e9978d;background:#291313}
.pro-player-list{border:1px solid #40372c;background:#111113}.pro-player-row{display:grid;grid-template-columns:48px minmax(170px,1fr) minmax(260px,1.4fr) auto auto;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #302b2a}.pro-player-row:last-child{border-bottom:0}.pro-rank{color:#d45d50;font-family:var(--font-display);font-size:18px}.pro-player-main h3{margin:0;color:#fff3d7}.pro-player-main p{margin:3px 0 0;color:var(--muted);font-size:12px}.pro-player-meta{display:flex;gap:22px}.pro-player-meta span{color:var(--muted);font-size:11px;text-transform:uppercase}.pro-player-meta b{display:block;color:#ddd5c6;margin-top:3px}
.pro-profile-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;border-left:6px solid #d45d50;background:#191517;padding:20px;margin:16px 0}.pro-profile-label{color:var(--muted);text-transform:uppercase;font-size:11px}.pro-profile-hero h3{font-size:38px;color:#fff3d7;margin:4px 0}.pro-profile-hero p{color:#d7a69d;margin:0}.pro-profile-rank{text-align:right}.pro-profile-rank span,.pro-profile-rank small{display:block;color:var(--muted)}.pro-profile-rank b{display:block;color:#f2cf7a;font-family:var(--font-display);font-size:34px}
.pro-profile-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:12px}.pro-profile-stats small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.esports-profile-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:10px}.esports-profile-grid .esports-panel:last-child{grid-column:1 / -1}.recent-placements{display:flex;gap:6px;flex-wrap:wrap}.recent-placements span{border:1px solid #584526;background:#0c0b0b;color:#f2cf7a;padding:6px 10px}
.esports-placeholder{max-width:620px;margin:54px auto;border:1px solid #493a28;background:#151517;padding:28px;text-align:center}.esports-placeholder h3{color:#f2cf7a;font-size:28px;margin:0 0 8px}.esports-placeholder p{color:var(--muted);line-height:1.5}
@media(max-width:900px){.esports-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.esports-event-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-player-row{grid-template-columns:42px 1fr auto}.pro-player-meta{grid-column:2 / -1}.pro-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.esports-profile-grid{grid-template-columns:1fr}.esports-profile-grid .esports-panel:last-child{grid-column:auto}}
@media(max-width:620px){.esports-shell{padding:11px}.esports-nav,.qualified-list{grid-template-columns:1fr}.cpc-world-strip{grid-template-columns:1fr}.esports-event-strip,.pro-profile-hero{align-items:flex-start;flex-direction:column}.qualified-list li{grid-template-columns:38px 1fr}.qualified-list li>small{grid-column:2}.pro-player-row{grid-template-columns:36px 1fr}.pro-player-row>.qualification-pill,.pro-player-row>.btn{grid-column:2}.pro-player-meta{grid-column:2;flex-direction:column;gap:6px}.pro-profile-rank{text-align:left}.pro-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cpc-empty-event,.cpc-champion{max-width:760px;margin:34px auto;border:1px solid #806126;border-top:4px solid #c89536;background:#151311;padding:28px;text-align:center}.cpc-empty-event>span,.cpc-champion>span,.cpc-champion>small{display:block;color:#d45d50;font-family:var(--font-display);text-transform:uppercase}.cpc-empty-event h3,.cpc-champion h2{color:#f2cf7a;font-size:30px;margin:8px 0}.cpc-empty-event p,.cpc-champion p{color:#d8d0c2}.cpc-entry{display:flex;align-items:center;gap:12px;border:1px solid #694927;border-left:5px solid #d45d50;background:#1a1212;padding:15px;margin:12px 0}.cpc-entry>div{flex:1}.cpc-entry span,.cpc-next-match>span{color:#d45d50;font-size:11px;text-transform:uppercase}.cpc-entry h3,.cpc-next-match h3{margin:3px 0;color:#fff3d7}.cpc-entry p{margin:4px 0;color:var(--muted)}
.cpc-tabs{display:flex;gap:4px;overflow-x:auto;margin:14px 0;border-bottom:1px solid #584526}.cpc-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#aaa197;padding:10px 14px;cursor:pointer;font-family:var(--font-display)}.cpc-tabs button.active{border-color:#c89536;color:#f2cf7a}.cpc-controls{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.cpc-next-match{border:1px solid #806126;background:#18150f;padding:18px;margin:12px 0}.cpc-next-match p{color:#cfc5b6}.cpc-byes{border:1px solid #493a28;background:#121214;padding:13px;margin-bottom:12px}.cpc-byes h3{margin:0 0 9px;color:#f2cf7a}.cpc-byes>span{display:inline-flex;flex-direction:column;min-width:210px;padding:7px 12px;border-left:2px solid #c89536}.cpc-byes small{color:var(--muted)}
.cpc-brackets{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cpc-brackets>section{min-width:0}.cpc-brackets>section:last-child{grid-column:1 / -1}.cpc-brackets h3{color:#f2cf7a}.cpc-match-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:8px}.cpc-match-grid.finals{grid-template-columns:repeat(2,minmax(250px,420px))}.cpc-match{border:1px solid #3e3630;background:#121214;padding:9px}.cpc-match.ready{border-color:#b78531}.cpc-match.complete{border-color:#496140}.cpc-match header,.cpc-match footer,.cpc-match-player{display:flex;align-items:center;justify-content:space-between;gap:8px}.cpc-match header{border-bottom:1px solid #302a26;padding-bottom:6px;color:#cfc5b6;font-size:11px;text-transform:uppercase}.cpc-match header b{color:#f2cf7a}.cpc-match-player{padding:7px 4px;border-bottom:1px solid #272326}.cpc-match-player>span{width:28px;color:#d45d50}.cpc-match-player>b{flex:1;color:#ded8ce}.cpc-match-player.winner>b,.cpc-match-player.winner>strong{color:#e6c35f}.cpc-match footer{padding-top:7px;color:#9d958b;font-size:10px}.cpc-match footer small{color:#a9c59c}
.cpc-participant-list{border:1px solid #40372c;background:#111113}.cpc-participant-list article{display:grid;grid-template-columns:42px minmax(150px,1fr) 70px minmax(120px,auto);align-items:center;gap:10px;padding:11px;border-bottom:1px solid #302a26}.cpc-participant-list article:last-child{border-bottom:0}.cpc-participant-list article div b,.cpc-participant-list article div small{display:block}.cpc-participant-list article div b{color:#fff3d7}.cpc-participant-list article div small{color:var(--muted)}.cpc-participant-list article>strong{color:#c9b995;text-align:right}.cpc-history-list{display:grid;gap:6px}.cpc-history-list article,.cpc-history-event{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #3e3630;background:#121214;padding:11px}.cpc-history-list article div span,.cpc-history-list article div b,.cpc-history-list article div small,.cpc-history-list article div strong,.cpc-history-event span,.cpc-history-event b,.cpc-history-event small{display:block}.cpc-history-list article span,.cpc-history-list article small,.cpc-history-event span,.cpc-history-event small{color:var(--muted);font-size:11px}.cpc-history-list article b,.cpc-history-event b{color:#e2dbcf}.cpc-history-list article strong{color:#e6c35f}.cpc-history-event{margin-bottom:6px}.cpc-champion .cpc-controls{justify-content:center}
@media(max-width:1000px){.cpc-match-grid{grid-template-columns:1fr}.cpc-match-grid.finals{grid-template-columns:1fr}}
@media(max-width:720px){.cpc-entry{align-items:stretch;flex-direction:column}.cpc-brackets{grid-template-columns:1fr}.cpc-brackets>section:last-child{grid-column:auto}.cpc-participant-list article{grid-template-columns:34px 1fr auto}.cpc-participant-list article>strong{grid-column:2 / -1;text-align:left}.cpc-history-list article,.cpc-history-event{align-items:flex-start;flex-direction:column}.cpc-controls .btn{flex:1 1 180px}.cpc-byes>span{display:flex;min-width:0}.cpc-empty-event,.cpc-champion{padding:19px}}
.redeem-panel{max-width:520px}
.redeem-panel h2{margin:0 0 8px;color:var(--gold);font-size:30px}
.redeem-kicker{font-family:var(--font-display);color:#f0c46a;font-size:12px;letter-spacing:.16em}
.redeem-note{margin:0 0 10px;color:var(--muted)}
.redeem-result{margin-top:12px}
.redeem-result-box{border:1px solid var(--line);border-radius:8px;padding:10px;background:#090604}
.redeem-result-box.ok{border-color:#5aa471;background:#0d1a10}
.redeem-result-box.bad{border-color:#b94a3c;background:#1c0c09}
.redeem-result-box h3{margin:0 0 5px;color:var(--gold)}
.redeem-result-box p{margin:0;color:#efe2be}
.redeem-reward-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.redeem-reward-list li{display:flex;justify-content:space-between;gap:10px;border:1px solid #ffffff12;border-radius:6px;background:#0004;padding:7px 8px}
.redeem-reward-list b{color:var(--gold);white-space:nowrap}
.admin-code-tools{border:1px solid #5a241e;border-radius:8px;background:#160c0b;padding:10px;margin:12px 0}
.admin-code-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:10px 0}
.admin-code-row{border:1px solid #3d221c;border-radius:8px;background:#090604;padding:8px}
.admin-code-row.redeemed{border-color:#5aa471}
.admin-code-row b,.admin-code-row span{display:block}
.admin-code-row b{color:var(--gold)}
.admin-code-row span{color:var(--muted);font-size:12px;margin-top:2px}

/* Cardfall Pro Circuit - Part 3 */
.rank-move{display:inline-block;min-width:28px;font-family:var(--font-display);font-size:12px;text-align:center}.rank-move.up{color:#75d5a0}.rank-move.down{color:#ed8379}.rank-move.steady{color:#807a73}
.esports-player-link.team{font-family:inherit;font-size:13px;color:#c7bda9}.qualification-cut td{background:#281f12!important;color:#e6c35f!important;text-align:center!important;text-transform:uppercase;font-size:10px;letter-spacing:0!important;padding:6px!important}
.esports-home-lower{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-top:12px}.pro-team-link{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#dfd5c3;padding:0;cursor:pointer}.pro-team-link i{width:10px;height:22px;display:block}.pro-team-link:hover{color:#f2cf7a}
.esports-recent-results{margin-top:18px;border-top:1px solid #473b2f}.esports-recent-results h3{margin:12px 0 8px;color:#f2cf7a;font-family:var(--font-display);font-size:16px}.esports-recent-results>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,.7fr) minmax(110px,.6fr) auto;align-items:center;gap:12px;padding:8px 2px;border-bottom:1px solid #332e2a}.esports-recent-results span,.esports-recent-results small{color:var(--muted)}.esports-recent-results b{color:#eee5d7}.esports-recent-results .btn{min-width:72px}
@media(max-width:620px){.esports-recent-results>div{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.esports-recent-results>div b,.esports-recent-results>div small{grid-column:1}.esports-recent-results>div .btn{grid-column:2;grid-row:1 / 4}}
.pro-deck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pro-deck-grid button{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border:1px solid #3b342b;background:#0c0c0e;color:#e9e1d3;padding:9px;text-align:left;cursor:pointer}.pro-deck-grid button:hover{border-color:#c89536}.pro-deck-grid span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pro-deck-grid small{color:#8f887f!important;margin-top:3px}
.pro-rival-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;border-bottom:1px solid #302a26}.pro-rival-row:last-child{border-bottom:0}.pro-rival-row button{border:0;background:transparent;color:#f2cf7a;padding:0;text-align:left;cursor:pointer;font-family:var(--font-display)}.pro-rival-row span{color:#d9d2c6}.pro-rival-row small{grid-column:1 / -1}.career-notes{margin:0;padding-left:18px;color:#d5cdbf;line-height:1.55}
.pro-team-list{display:grid;gap:7px}.pro-team-row{display:grid;grid-template-columns:8px 42px minmax(220px,1fr) 90px 70px;align-items:center;gap:12px;border:1px solid #40372c;background:#121214;color:#ded7ca;padding:12px;text-align:left;cursor:pointer}.pro-team-row:hover{border-color:#c89536;background:#181719}.pro-team-row>i{align-self:stretch}.pro-team-row>span{color:#d45d50;font-family:var(--font-display)}.pro-team-row div b,.pro-team-row div small{display:block}.pro-team-row div b{color:#fff3d7;font-family:var(--font-display);font-size:17px}.pro-team-row div small,.pro-team-row>small{color:var(--muted)}.pro-team-row>strong{color:#f2cf7a;font-size:17px;text-align:right}
.pro-team-hero{display:flex;align-items:center;gap:18px;border-left:7px solid var(--team-a);border-bottom:2px solid var(--team-b);background:#151517;padding:19px;margin:16px 0}.pro-team-hero>span{display:grid;place-items:center;width:70px;height:70px;background:var(--team-a);color:#101012;font-family:var(--font-display);font-size:22px}.pro-team-hero h3{margin:0;color:#fff3d7;font-size:30px}.pro-team-hero p{margin:6px 0 0;color:#cfc6b8}.pro-team-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pro-team-roster article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;border:1px solid #40372c;background:#121214;padding:13px}.pro-team-roster article>span{color:#d45d50;font-family:var(--font-display)}.pro-team-roster h3{margin:0;color:#fff3d7}.pro-team-roster p{margin:3px 0 0;color:var(--muted);font-size:12px}
.esports-news-feed{display:grid;gap:8px}.esports-news-feed article{display:grid;grid-template-columns:100px 1fr;gap:14px;border-left:4px solid #d45d50;background:#151517;padding:13px}.esports-news-feed article>span{color:#e6c35f;font-family:var(--font-display);font-size:11px}.esports-news-feed h3{margin:0;color:#eee5d7;font-size:16px}.esports-news-feed p{margin:5px 0 0;color:var(--muted);font-size:12px}
.cpc-history-list article.clickable{cursor:pointer}.cpc-history-list article.clickable:hover{border-color:#c89536}.esports-match-score{display:grid;grid-template-columns:1fr 120px 1fr;align-items:stretch;gap:8px;margin:16px 0}.esports-match-score>article{display:grid;grid-template-columns:1fr auto;gap:5px;border:1px solid #40372c;background:#131315;padding:18px}.esports-match-score>article.winner{border-color:#9d7832;background:#19160f}.esports-match-score article small,.esports-match-score article span{color:var(--muted)}.esports-match-score h3{margin:0;color:#fff3d7;font-size:23px}.esports-match-score article b{grid-row:1 / 4;grid-column:2;font-family:var(--font-display);font-size:46px;color:#f2cf7a}.esports-match-score>div{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9d958b}.esports-match-score>div strong{font-family:var(--font-display);font-size:25px;color:#d45d50;margin:6px}.esports-match-score>div small{font-size:10px;text-transform:uppercase}
.cpc-history-list button.clickable,.cpc-history-event.clickable{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer}.cpc-history-list button.clickable{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #3e3630;background:#121214;padding:11px}.cpc-history-list button.clickable span,.cpc-history-list button.clickable small{display:block;color:var(--muted);font-size:11px}.cpc-history-list button.clickable b{display:block;color:#e2dbcf}.cpc-history-list button.clickable strong{display:block;color:#e6c35f}.cpc-history-list button.clickable:hover,.cpc-history-event.clickable:hover,.cpc-history-list button.clickable:focus-visible,.cpc-history-event.clickable:focus-visible{border-color:#c89536;outline:1px solid #c89536}
@media(max-width:720px){.cpc-history-list button.clickable{align-items:flex-start;flex-direction:column}}
@media(max-width:820px){.esports-home-lower,.pro-team-roster{grid-template-columns:1fr}.pro-team-row{grid-template-columns:8px 36px 1fr auto}.pro-team-row>small{grid-column:3}.esports-match-score{grid-template-columns:1fr}.esports-match-score>div{flex-direction:row;gap:8px;padding:5px}.esports-match-score>div strong{font-size:18px}.pro-deck-grid{grid-template-columns:1fr}}
@media(max-width:560px){.pro-team-row{grid-template-columns:7px 30px 1fr}.pro-team-row>strong,.pro-team-row>small{grid-column:3;text-align:left}.pro-team-hero{align-items:flex-start;flex-direction:column}.esports-news-feed article{grid-template-columns:1fr}.esports-match-score h3{font-size:18px}.esports-match-score article b{font-size:36px}}

/* Beginner tutorial, searchable Help, and contextual rules */
.tutorial-layer{position:fixed;inset:0;z-index:90;pointer-events:none}.tutorial-backdrop{position:absolute;inset:0;display:grid;place-items:center;padding:18px;background:#030201d9;pointer-events:auto}.tutorial-modal{width:min(680px,100%);max-height:min(84vh,760px);overflow:auto;padding:22px;border:2px solid #d1a84a;border-radius:8px;background:linear-gradient(180deg,#21190e,#0d0a07);box-shadow:0 24px 70px #000,inset 0 1px 0 #fff2;color:#f2e8cf}.tutorial-modal.compact{width:min(480px,100%)}.tutorial-modal.lesson{width:min(760px,100%)}.tutorial-modal h2,.tutorial-coach h2{margin:4px 0 10px;color:#f1c65d;font-family:var(--font-display);letter-spacing:0}.tutorial-copy p,.tutorial-coach p{line-height:1.5}.tutorial-kicker{color:#d76b50;font-family:var(--font-display);font-size:12px;text-transform:uppercase}.tutorial-note{color:var(--muted);font-size:13px}.tutorial-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}.tutorial-skip{border:0;background:transparent;color:#d3c6aa;text-decoration:underline;cursor:pointer;padding:8px;font:inherit}.tutorial-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;padding:0;list-style:none}.tutorial-checklist li::before{content:"OK";display:inline-block;margin-right:7px;color:#86cf92;font:700 10px var(--font-display)}.tutorial-coach{position:fixed;right:clamp(12px,3vw,42px);bottom:clamp(12px,3vh,34px);z-index:94;width:min(410px,calc(100vw - 24px));max-height:48vh;overflow:auto;padding:16px;border:2px solid #d1a84a;border-radius:8px;background:#151008f2;box-shadow:0 18px 54px #000,inset 0 1px 0 #fff2;pointer-events:auto}.tutorial-spotlight{position:fixed;z-index:91;border:3px solid #f2ca69;border-radius:8px;box-shadow:0 0 0 9999px #000b,0 0 22px #f2ca69;pointer-events:none;animation:tutorialPulse 1.5s ease-in-out infinite}.tutorial-focus{outline:3px solid #ffe095!important;outline-offset:3px!important}.tutorial-wait{color:#d8c798;font-size:13px}.keyword-link{display:inline;border:0;border-bottom:1px dotted #e4ba5a;background:transparent;color:#f0c96d;padding:0;cursor:pointer;font:inherit}.keyword-link:hover,.keyword-link:focus-visible{color:#fff2c6;border-bottom-style:solid}.status{font-family:inherit;line-height:1.2;cursor:pointer}.status:focus-visible,.keyword-link:focus-visible,.tutorial-skip:focus-visible{outline:2px solid #fff1b8;outline-offset:2px}.help-search-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.help-search-row input{flex:1;min-width:0;padding:11px;border:1px solid #725c32;border-radius:6px;background:#090705;color:var(--ink);font:inherit}.help-search-row span{color:var(--muted);font-size:12px;white-space:nowrap}.help-tab.active{background:#5c4118;color:#fff0be;border-color:#d1a84a}.tutorial-library{display:grid;grid-template-columns:minmax(170px,.4fr) minmax(0,1.6fr);gap:14px;align-items:start;margin:0 0 14px;padding:12px;border:1px solid #604b27;border-radius:7px;background:#130f09}.tutorial-library h3,.tutorial-library p{margin:0}.tutorial-library p{margin-top:4px;color:var(--muted);font-size:12px}.tutorial-library-actions{display:flex;gap:6px;flex-wrap:wrap}.help-article-head{display:flex;align-items:baseline;gap:9px}.help-article-head span{color:#c06b4d;font:700 10px var(--font-display);text-transform:uppercase}.help-section[hidden]{display:none}.help-section p+p{margin-top:8px}
.pill.tutorial-loaner{border-color:#d76b50;color:#ffd5c7;background:#3b1711}
@keyframes tutorialPulse{0%,100%{border-color:#f2ca69;filter:brightness(1)}50%{border-color:#fff1b3;filter:brightness(1.15)}}
@media(prefers-reduced-motion:reduce){.tutorial-spotlight{animation:none}}
body.reduce-animations .tutorial-spotlight{animation:none}
@media(max-width:700px){.tutorial-modal{padding:17px;max-height:88vh}.tutorial-coach{left:10px;right:10px;bottom:10px;width:auto;max-height:43vh}.tutorial-checklist{grid-template-columns:1fr}.tutorial-library{grid-template-columns:1fr}.help-search-row{align-items:stretch;flex-direction:column}.help-search-row span{white-space:normal}.tutorial-actions .btn{width:auto;flex:1 1 150px}}
/* CPC Part 4: human prospect and professional career */
.career-hero{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:18px;align-items:center;padding:22px;border:1px solid #795f3b;background:#171514;margin-bottom:14px}
.career-hero.signed{border-color:#b9954f;background:#1b1813}
.career-hero span,.career-score small{display:block;color:#bcae96;text-transform:uppercase;font-size:.72rem}
.career-hero h3{font-size:1.55rem;margin:5px 0 7px}.career-hero p{margin:0;color:#d4cab9}
.career-score{text-align:center;border-left:1px solid #4c4438;padding-left:18px}.career-score b{display:block;color:#f2cf73;font-size:1.25rem;line-height:1.2;margin:7px 0;overflow-wrap:anywhere}
.career-offer-alert{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;margin:14px 0;border:1px solid #a84235;background:#241615}
.career-offer-alert span,.career-offers article>span{color:#e66f58;text-transform:uppercase;font-size:.72rem}.career-offer-alert h3{margin:3px 0}.career-offer-alert p{margin:0;color:#cdbeb0}
.career-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin:10px 0}
.career-event-card{display:flex;min-height:88px;flex-direction:column;justify-content:center;padding:10px;border:1px solid #4a4339;background:#11100f}.career-event-card.champion{border-color:#ba8c34;background:#211a0e}
.career-event-card span,.career-event-card small{color:#a99f90;font-size:.72rem}.career-event-card b{color:#eee4d1;margin:4px 0}
.career-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px}.career-offers article{border:1px solid var(--team-a,#6d5a3f);border-top:4px solid var(--team-b,#c8a35a);padding:18px;background:#151413}
.career-offers h3{font-size:1.35rem;margin:5px 0}.career-offers p{min-height:62px;color:#c9bead}.career-offers small{display:block;color:#968d80;margin:10px 0 16px}
.you-tag{display:inline-block;color:#f1c75c;font-style:normal;font-size:.62rem;vertical-align:middle;margin-left:5px;border:1px solid #8d6d2f;padding:1px 4px}.pro-player-row.human-pro{border-color:#a77b31;background:#1b1811}
.career-offer-inline{color:#f1c75c}.esports-panel.wide{grid-column:1/-1}
.signing-announcement{max-width:720px;margin:18px auto;padding:36px 24px;text-align:center;border:1px solid var(--team-b,#c8a35a);border-top:7px solid var(--team-a,#292321);background:#141312}.signing-announcement>span{color:#d6b45d;text-transform:uppercase}.signing-announcement h2{font-size:2.2rem;margin:8px 0}.signing-roster{display:grid;gap:6px;max-width:320px;margin:24px auto;padding:15px;border-top:1px solid #51493e;border-bottom:1px solid #51493e}.signing-roster small{color:#9f9585;text-transform:uppercase;margin-bottom:4px}
@media(max-width:700px){.career-hero{grid-template-columns:1fr}.career-score{text-align:left;border-left:0;border-top:1px solid #4c4438;padding:14px 0 0}.career-offer-alert{align-items:stretch;flex-direction:column}.career-offers{grid-template-columns:1fr}}

/* Battle readability, live inspection, and Talent planning */
.score-stat{min-width:180px;flex:1 1 180px;border-color:#66522c;background:linear-gradient(180deg,#251f14,#12100c)}
.score-stat b{font-size:24px;line-height:1}.score-stat b small{font-size:12px;color:var(--muted)}
.score-stat i{display:block;height:5px;margin-top:7px;border-radius:4px;background:#000a;overflow:hidden}.score-stat i em{display:block;height:100%;background:currentColor}
.score-stat.you i em{background:var(--heal)}.score-stat.ai i em{background:var(--blood)}
.target-preview{position:absolute;z-index:12;left:5px;right:5px;bottom:5px;display:grid;gap:2px;padding:8px;border:1px solid #d1a84a;background:#080604ed;color:#eee5d1;text-align:left;line-height:1.1;box-shadow:0 8px 22px #000;border-radius:5px;font:inherit;cursor:pointer}
.target-preview>b{color:#ffd97a;font:700 15px var(--font-display)}.target-preview span,.target-preview small{font-size:10px;color:#d7c9aa}.target-preview i{font-size:9px;color:#9b9079;font-style:normal}.target-preview.illegal{border-color:#72584d;cursor:pointer}.target-preview.illegal>b{color:#d98574}.target-preview.illegal span{color:#e3c7c0}.card.target-illegal{opacity:.62}.card.guarded-target .target-preview{border-color:#6ea6d6}.card.guarded-target .target-preview::before{content:"BULWARK";color:#9bc8ed;font:700 9px var(--font-display)}
.card.selected-target{opacity:1;filter:none;border-color:var(--gold)!important;box-shadow:0 0 0 2px #d1a84aaa}
.card.selected-target::after{content:"SELECTED";position:absolute;top:5px;right:5px;padding:2px 4px;background:#221b0c;color:#f4d37a;border:1px solid #d1a84a;font:700 9px var(--font-display);pointer-events:none}
.preview-ko{color:#ff8a6c!important;font-family:var(--font-display)}.preview-win{color:#ffe58a!important;font:700 13px var(--font-display);text-shadow:0 0 10px #ffd85788}.preview-ignore{color:#9fd5ff!important}.guardian-protecting .card-nameplate::before{content:"SHIELDING ALLIES";position:absolute;z-index:6;top:70px;left:8px;padding:2px 5px;border:1px solid #6ea6d6;background:#0d1b25;color:#a8d8ff;font:700 8px var(--font-display)}
.token-source{margin:0 0 4px;color:#9f967e;font-size:9px}.token-label{border-color:#777;color:#bbb}.card-loadout-badges{display:flex;gap:4px;margin:3px 0}.loadout-chip{border:1px solid #62543d;background:#090704;color:#d1a84a;padding:2px 5px;border-radius:4px;font:700 9px var(--font-display);cursor:pointer}.talent-pips{color:#84e0c4;border-color:#4d806f}.item-pip{color:#f3cf70;border-color:#8a692b}
.float-text.command{color:#9fd6ff}.float-text.shieldBreak{color:#bfe1ff;font-size:18px}.float-text.damage.light{font-size:13px}.float-text.damage.heavy{font-size:24px;color:#ff775e}.float-text.damage.devastating{font-size:31px;color:#ffdf75;text-shadow:0 0 16px #ff4e2d}.card.effect-shieldBreak{box-shadow:0 0 0 4px #bfe1ff99,0 0 26px #6ea6d6!important}
.inspect-card{width:min(1120px,calc(100vw - 28px));max-width:1120px}.inspect-overhaul{min-width:0}.inspect-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.inspect-title h2{margin:2px 0 8px}.inspect-tabs{display:flex;gap:5px;overflow-x:auto;padding:4px 0 10px;border-bottom:1px solid var(--line)}.inspect-tab{border:1px solid var(--line);background:#0d0b08;color:#bfb49d;padding:8px 11px;white-space:nowrap;cursor:pointer;font:700 11px var(--font-display)}.inspect-tab.active{border-color:var(--gold);background:#3a2911;color:#ffe5a0}.inspect-tab-body{padding-top:12px}
.live-state-grid,.preview-confirm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.live-state-grid>div,.preview-confirm-stats>div{padding:10px;border:1px solid var(--line);background:#100d08}.live-state-grid span,.preview-confirm-stats span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.live-state-grid b,.preview-confirm-stats b{display:block;margin-top:3px;color:var(--gold);font-family:var(--font-display)}
.status-detail-list .status{display:block;width:100%;margin:5px 0;padding:8px;text-align:left;border-radius:4px;font-size:12px}.inspect-privacy{padding:9px;border-left:3px solid #6ea6d6;background:#111a22;color:#b9c9d6}.selected-talents{display:grid;gap:8px}.selected-talents article,.item-reference article{display:grid;gap:4px;padding:12px;border:1px solid var(--line);background:#120f0b}.selected-talents article>span,.item-reference article>span{color:#84e0c4;font:700 10px var(--font-display)}.selected-talents article>b,.item-reference article>b{color:#f3d27d;font-family:var(--font-display)}.selected-talents article p,.item-reference article p{margin:2px 0;color:#c4baa5}.selected-talents article.locked{opacity:.55}.item-reference{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.talent-tree-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.talent-tree-head h3{margin:2px 0}.talent-tree-head p{margin:4px 0;color:var(--muted)}.plan-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.plan-slot{padding:8px 12px;border:1px solid var(--line);background:#0d0b08;color:#c2b79e;cursor:pointer;font:700 11px var(--font-display)}.plan-slot.active{border-color:#84e0c4;color:#c8ffef;background:#14221e}.talent-tree-hand{margin:12px 0;padding:12px;border:1px solid #4e4331;background:#0e0c09}.talent-tree-hand>header{display:flex;justify-content:space-between;gap:10px;color:#84e0c4;font:700 11px var(--font-display)}.talent-tree-hand>header b{color:#d1a84a}.talent-tree-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.talent-tree-option{display:flex;min-height:174px;flex-direction:column;gap:5px;padding:11px;border:1px solid #4c5f58;background:#101816;color:#eee5d1;text-align:left;cursor:pointer;font:inherit}.talent-tree-option:hover{border-color:#84e0c4}.talent-tree-option.planned{border-color:#d1a84a;box-shadow:inset 4px 0 #d1a84a}.talent-tree-option>span,.talent-tree-option>small{color:#84e0c4;font-size:10px}.talent-tree-option>b{font:700 17px var(--font-display);color:#f4d98f}.talent-tree-option p{flex:1;margin:5px 0;color:#c8bea9;line-height:1.35}.talent-option.planned,.talent-card-choice.planned{border-color:#d1a84a;box-shadow:inset 4px 0 #d1a84a}
.deck-talent-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px;margin:10px 0 14px;border:1px solid #4d786b;background:#101b18}.deck-talent-plan h3{margin:0;color:#84e0c4}.deck-talent-plan p{margin:4px 0;color:var(--muted);font-size:12px}.plan-count{color:#d1a84a;font-family:var(--font-display)}.deck-plan-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.deck-plan-grid article{display:grid;gap:4px;padding:9px;border:1px solid var(--line);background:#0c0a08}.deck-plan-grid article span,.deck-plan-grid article small{color:var(--muted);font-size:11px}.damage-breakdown-list{display:grid;gap:2px;margin:12px 0}.damage-breakdown-list>div,.damage-total{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid #ffffff12}.damage-breakdown-list b{color:#e6cf9d}.damage-total{border:1px solid var(--gold);background:#221a0b;color:#ffe39b;font:700 18px var(--font-display)}.move-confirm-panel{max-width:620px;margin:auto}.segmented-control{display:flex;gap:5px;flex-wrap:wrap}
.mv-resource-short{display:inline-block;margin-top:4px;color:#ff9d82;font:700 9px var(--font-display)}
@media(max-width:760px){.talent-tree-head,.inspect-title{align-items:stretch;flex-direction:column}.talent-tree-options,.deck-plan-grid{grid-template-columns:1fr}.inspect-card{padding:12px}.target-preview{padding:6px}.target-preview>b{font-size:13px}.guardian-protecting .card-nameplate::before{display:none}.segmented-control{width:100%}.segmented-control .btn{flex:1}}

/* Phase 2 designed cosmetics: CSS/SVG only, with no gameplay surface changes. */
.cosmetic-svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.cosmetic-facets{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:-5px 0 14px;padding:10px;border:1px solid #3d3325;background:#0b0907}
.cosmetic-facet{display:grid;gap:4px;min-width:132px;color:#a99d88;font-size:10px;text-transform:uppercase}.cosmetic-facet select{min-height:34px;border:1px solid #65522f;border-radius:4px;background:#17120c;color:#eee0bf;padding:6px 28px 6px 8px;font:inherit}.cosmetic-face-toggle{margin-left:auto}
.cosmetic-card.locked{opacity:1;filter:none}.cosmetic-card.locked .cosmetic-card-body{opacity:.68}.cosmetic-card.locked .cosmetic-preview{filter:none}
.cosmetic-preview{position:relative;isolation:isolate;overflow:hidden;flex:0 0 132px;width:132px;height:146px;border-radius:6px;background:#0b0907}.cosmetic-preview-kind{position:absolute;z-index:8;right:5px;bottom:4px;padding:2px 4px;background:#050403c9;color:#c8b993!important;font-size:8px!important;letter-spacing:0}.cosmetic-preview.compact{flex-basis:58px;width:58px;height:58px}.cosmetic-preview.compact>*:not(.cosmetic-preview-kind){transform:scale(.48)}
.cosmetic-sample-card{position:relative;display:grid;grid-template-rows:1fr auto auto;gap:3px;width:82px;height:122px;padding:5px;border:2px solid #60748b;border-radius:5px;background:#16130f;box-shadow:0 5px 14px #000b;color:#ede3cb;text-align:left}.cosmetic-sample-art{display:grid;place-items:center;background:linear-gradient(145deg,#27221b,#090807);color:#806c45;font:700 24px var(--font-display)}.cosmetic-sample-card>b{font:700 9px var(--font-display)}.cosmetic-sample-card>i{color:#9ac98d;font-size:8px;font-style:normal}.cosmetic-sample-front{border-color:#776244}.cosmetic-sample-front>b{text-align:center}
.cosmetic-preview-icon{font-size:32px}.cosmetic-motif{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cosmetic-preview-cardback,.card-back-preview,.card-back-pile{position:relative;isolation:isolate;overflow:hidden}.cosmetic-preview-cardback{display:grid;place-items:center;width:82px;height:122px;border:3px double #947640;border-radius:5px;background:#16120e;color:#e2c26f;box-shadow:0 6px 18px #000b}.cosmetic-preview-cardback::before,.cosmetic-preview-cardback::after,.card-back-preview::before,.card-back-pile::before{content:"";position:absolute;pointer-events:none}.cosmetic-preview-cardback .cosmetic-motif{width:54px;height:54px}.cosmetic-preview-cardback>span{position:absolute;bottom:9px;font:700 8px var(--font-display);letter-spacing:0}
.cosmetic-preview-banner{position:relative;display:grid;grid-template-columns:48px 1fr;grid-template-rows:1fr 1fr;align-items:center;width:116px;height:72px;padding:8px;border:1px solid #8f773d;background:#21190e;color:#e9ce83;overflow:hidden}.cosmetic-preview-banner .cosmetic-motif{grid-row:1/3;width:38px;height:38px}.cosmetic-preview-banner>span{align-self:end;color:#b5a88e;font-size:7px!important}.cosmetic-preview-banner>b{align-self:start;font:700 9px var(--font-display)}
.cosmetic-preview-battlefield{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:118px;height:90px;padding:9px;border:1px solid #6b5937;background:#19150f;overflow:hidden}.cosmetic-preview-battlefield>i{z-index:2;border:1px solid #5b4f3d;background:#0b0907aa}.cosmetic-preview-battlefield>span{position:absolute;z-index:3;inset:0;display:grid;place-items:center;opacity:.42}.cosmetic-preview-battlefield .cosmetic-motif{width:52px;height:52px}
.cosmetic-preview-title{display:grid;gap:7px;text-align:center}.cosmetic-preview-title small{color:#a9997d;font-size:8px}.cosmetic-preview-title b{max-width:120px;color:#f1d985;font:700 13px var(--font-display)}

/* Frames */
.cosmetic-frame-cathedral-glass::before,.cosmetic-frame-sewer-crown::before,.cosmetic-frame-signed-in-gold::before,.cosmetic-frame-mausoleum-velvet::before,.cosmetic-frame-cpc-finalist::before,.cosmetic-frame-cpc-champion::before{content:"";position:absolute;z-index:5;inset:2px;border:2px solid;border-radius:5px;pointer-events:none}
.cosmetic-frame-cathedral-glass::before{border-color:#d7e9ff;box-shadow:inset 4px 0 #3b78b8,inset -4px 0 #a92f52,inset 0 4px #e3c864,0 0 10px #91d8ff88;background:linear-gradient(135deg,#ffffff35 0 17px,transparent 18px),linear-gradient(225deg,#d9bb4c33 0 15px,transparent 16px),linear-gradient(45deg,#457eb833 0 14px,transparent 15px),linear-gradient(315deg,#a92f5233 0 14px,transparent 15px)}
.cosmetic-frame-sewer-crown::before{border-color:#9ca73e;box-shadow:inset 0 0 0 3px #29350e,0 0 9px #a4c23d55;background:repeating-linear-gradient(90deg,transparent 0 13px,#b9ca4a30 13px 15px)}
.cosmetic-frame-signed-in-gold::before{border-color:#d8aa49;box-shadow:inset 0 0 0 2px #7e211c,0 0 10px #e6b85077;background:linear-gradient(120deg,transparent 55%,#efcc6244 56% 59%,transparent 60%)}
.cosmetic-frame-mausoleum-velvet::before{border-color:#8e6bad;box-shadow:inset 0 0 0 4px #24102f,inset 0 0 18px #852b7b66,0 0 9px #b388d866}
.cosmetic-frame-cpc-finalist::before{border-color:#bcc3ce;box-shadow:inset 0 0 0 2px #3e4653,0 0 12px #bdd4f177;background:linear-gradient(135deg,transparent 42%,#fff3 48%,transparent 54%)}
.cosmetic-frame-cpc-champion::before{border-color:#ffdc68;box-shadow:inset 0 0 0 2px #8e5a10,inset 0 0 14px #ffcf5155,0 0 14px #ffd76799;background:linear-gradient(115deg,transparent 30%,#fff7bd55 42%,transparent 52%)}
.inspect-card.cosmetic-frame-cathedral-glass::before,.inspect-card.cosmetic-frame-sewer-crown::before,.inspect-card.cosmetic-frame-signed-in-gold::before,.inspect-card.cosmetic-frame-mausoleum-velvet::before,.inspect-card.cosmetic-frame-cpc-finalist::before,.inspect-card.cosmetic-frame-cpc-champion::before{background:none;animation:none}
.inspect-card.cosmetic-frame-cathedral-glass,.inspect-card.cosmetic-frame-sewer-crown,.inspect-card.cosmetic-frame-signed-in-gold,.inspect-card.cosmetic-frame-mausoleum-velvet,.inspect-card.cosmetic-frame-cpc-finalist,.inspect-card.cosmetic-frame-cpc-champion{position:relative;isolation:isolate}

/* Card backs */
.cosmetic-cardback-stained-oath{border-color:#d6eaff!important;background:conic-gradient(from 45deg,#9d2448,#233d71,#d5b955,#355b87,#9d2448)!important}.cosmetic-cardback-stained-oath::before{inset:5px;border:2px solid #f0e4c4;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.cosmetic-cardback-ratwork{border-color:#aab35c!important;background:repeating-radial-gradient(circle at 50%,#8d933a 0 4px,#1c2610 5px 10px,#4d5520 11px 13px)!important}.cosmetic-cardback-ratwork::before{inset:8px;border:2px dashed #d0c56d;border-radius:50%;animation:cosmeticGear 16s linear infinite}
.cosmetic-cardback-terms-conditions{border-color:#d7a84f!important;background:repeating-linear-gradient(0deg,#e3d2a8 0 3px,#bda879 3px 4px,#dfcfa8 4px 8px)!important;color:#5b2419!important}.cosmetic-cardback-terms-conditions::before{inset:12px 9px;border:2px solid #7f2e25;background:linear-gradient(135deg,transparent 43%,#9b3028 44% 56%,transparent 57%);opacity:.8}
.cosmetic-cardback-last-rites{border-color:#8f6aaa!important;background:radial-gradient(circle at 50% 30%,#634176 0 5%,#1e1029 25%,#08060a 72%)!important}.cosmetic-cardback-last-rites::before{inset:9px;border:1px solid #ac80c0;box-shadow:inset 0 0 18px #9740ac66}.cosmetic-cardback-last-rites::after{content:"";position:absolute;left:48%;top:16%;width:5%;height:63%;background:#d5c2a2;box-shadow:-10px 19px 0 -1px #d5c2a2,10px 19px 0 -1px #d5c2a2}

/* Banners */
.cosmetic-banner-royal-procession{border-color:#d5dff0!important;background:linear-gradient(120deg,#13243a 0 28%,#e1e6eb 29% 33%,#781f35 34% 66%,#d7b958 67% 72%,#152b45 73%)!important}.cosmetic-banner-the-undercity{border-color:#7d8a36!important;background:repeating-linear-gradient(165deg,#11180b 0 10px,#293411 10px 20px,#4e4a20 20px 22px)!important}.cosmetic-banner-hostile-acquisition{border-color:#d3a041!important;background:linear-gradient(105deg,#1c1410 0 44%,#7c211c 45% 60%,#d9ab49 61% 64%,#17100d 65%)!important;animation:cosmeticHostileSweep 7s ease-in-out infinite}.cosmetic-banner-hostile-acquisition::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,#ffe9a133 48%,transparent 60%);animation:cosmeticContractGlint 4.5s ease-in-out infinite}

/* Battlefields */
.battle-screen.cosmetic-battlefield-cathedral-order .battle-board,.cosmetic-preview-battlefield.cosmetic-battlefield-cathedral-order{background-color:#121b26;background-image:linear-gradient(90deg,transparent 47%,#e0c56a22 48% 52%,transparent 53%),repeating-linear-gradient(135deg,#172a3d 0 22px,#213951 22px 24px,#281b2e 24px 45px)}
.battle-screen.cosmetic-battlefield-drowned-sewer .battle-board,.cosmetic-preview-battlefield.cosmetic-battlefield-drowned-sewer{background-color:#11180c;background-image:radial-gradient(ellipse at 50% 55%,#7fa12b55 0 8%,transparent 9%),repeating-linear-gradient(90deg,#17200e 0 28px,#293218 28px 31px)}
.battle-screen.cosmetic-battlefield-the-boardroom .battle-board,.cosmetic-preview-battlefield.cosmetic-battlefield-the-boardroom{background-color:#180e0b;background-image:linear-gradient(90deg,#110a08cc,#7d251a44 50%,#110a08cc),repeating-linear-gradient(0deg,transparent 0 24px,#d4a34717 24px 25px)}
.cosmetic-preview-battlefield.cosmetic-battlefield-cathedral-order{border-color:#b6cbe2;color:#e5cd73}.cosmetic-preview-battlefield.cosmetic-battlefield-drowned-sewer{border-color:#879a35;color:#adbd4d}.cosmetic-preview-battlefield.cosmetic-battlefield-the-boardroom{border-color:#c9963b;color:#dfb657}

/* CPC badge silhouettes */
.profile-badge.cosmetic-badge-cpc-contender{border-radius:4px;transform:rotate(45deg);border-color:#9ca5b1;background:#242932;color:#d9e0e8}.profile-badge.cosmetic-badge-cpc-contender>span{transform:rotate(-45deg);font-size:10px}
.profile-badge.cosmetic-badge-cpc-finalist{border-radius:50% 50% 14% 14%;border-color:#e3c46a;background:#3b2c16;color:#fff0a5;box-shadow:0 0 12px #e9cb6d66}.profile-badge.cosmetic-badge-cpc-finalist>span{font-size:14px}
.profile-badge.cosmetic-badge-cpc-champion{border-radius:48% 48% 24% 24%;border:2px solid #ffdf68;background:linear-gradient(#744c11,#211508);color:#fff3ae;box-shadow:0 0 15px #ffd45a99}.profile-badge.cosmetic-badge-cpc-champion::before{content:"";position:absolute;width:115%;height:40%;top:-28%;clip-path:polygon(0 100%,10% 0,36% 65%,50% 0,64% 65%,90% 0,100% 100%);background:#e7bd3f}.profile-badge{position:relative}.preview-badge{width:66px;height:66px;font-size:25px}

/* Titles */
.cosmetic-title-the-contender{color:#cfd7e1!important;text-shadow:0 1px #17202b}.cosmetic-title-final-table{color:#ead28a!important;text-shadow:0 0 7px #b68a3266}.cosmetic-title-cpc-champion{color:#ffe17b!important;text-shadow:0 0 9px #e0aa2866}.cosmetic-title-faction-loyalist{color:#d4c4a1!important;text-shadow:0 1px #2a2115}

@keyframes cosmeticGear{to{transform:rotate(360deg)}}
@keyframes cosmeticHostileSweep{0%,100%{background-position:0 0}50%{background-position:22px 0}}
@keyframes cosmeticContractGlint{0%,30%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}
@media(prefers-reduced-motion:reduce){.cosmetic-cardback-ratwork::before,.cosmetic-banner-hostile-acquisition,.cosmetic-banner-hostile-acquisition::after{animation:none!important}.cosmetic-banner-hostile-acquisition{background-position:11px 0!important}.cosmetic-banner-hostile-acquisition::after{transform:translateX(0)!important;opacity:.2}}
body.reduce-animations .cosmetic-cardback-ratwork::before,body.reduce-animations .cosmetic-banner-hostile-acquisition,body.reduce-animations .cosmetic-banner-hostile-acquisition::after{animation:none!important}body.reduce-animations .cosmetic-banner-hostile-acquisition{background-position:11px 0!important}body.reduce-animations .cosmetic-banner-hostile-acquisition::after{transform:translateX(0)!important;opacity:.2}
@media(max-width:700px){.cosmetic-facets{align-items:stretch}.cosmetic-facet{flex:1 1 44%}.cosmetic-face-toggle{width:100%;margin-left:0}.cosmetic-preview{flex-basis:104px;width:104px;height:132px}.cosmetic-preview-banner,.cosmetic-preview-battlefield{width:94px}.cosmetic-card{gap:9px}.cosmetic-card-head{flex-direction:column}.cosmetic-card-head>span{align-self:flex-start}}
@media(max-width:420px){.cosmetic-card{display:grid;grid-template-columns:88px minmax(0,1fr);padding:9px}.cosmetic-preview{width:86px;height:116px;flex-basis:86px}.cosmetic-sample-card,.cosmetic-preview-cardback{transform:scale(.82)}.cosmetic-preview-banner,.cosmetic-preview-battlefield{transform:scale(.82)}.cosmetic-facet{flex-basis:100%}}

/* Quiet material motion for premium cosmetics; every effect is transform/background/filter only. */
.cosmetic-frame-cathedral-glass::before{background-size:220% 100%;animation:cosmeticTrimPass 7s ease-in-out infinite}.cosmetic-frame-sewer-crown::before{animation:cosmeticIndicator 5.5s steps(1,end) infinite}.cosmetic-frame-signed-in-gold::before{background-size:240% 100%;animation:cosmeticTicker 8s linear infinite}.cosmetic-frame-mausoleum-velvet::before{animation:cosmeticRunePulse 5s ease-in-out infinite}.cosmetic-frame-cpc-finalist::before{background-size:240% 100%;animation:cosmeticScan 6s ease-in-out infinite}.cosmetic-frame-cpc-champion::before{background-size:260% 100%;animation:cosmeticChampionRail 6.5s linear infinite}
.cosmetic-cardback-stained-oath::before{animation:cosmeticGlassShimmer 7s ease-in-out infinite}.cosmetic-cardback-terms-conditions::before{animation:cosmeticSealCatch 6s ease-in-out infinite}.cosmetic-cardback-last-rites::after{animation:cosmeticCandle 2.8s ease-in-out infinite}
.cosmetic-banner-royal-procession{transform-origin:50% 0;animation:cosmeticCloth 7s ease-in-out infinite}.cosmetic-banner-the-undercity{animation:cosmeticIndicator 6s steps(1,end) infinite}
.cosmetic-preview-battlefield.cosmetic-battlefield-cathedral-order{background-size:160% 100%;animation:cosmeticGlassLight 9s ease-in-out infinite}.cosmetic-preview-battlefield.cosmetic-battlefield-drowned-sewer{background-size:130% 100%;animation:cosmeticWater 7s ease-in-out infinite}.cosmetic-preview-battlefield.cosmetic-battlefield-the-boardroom{background-size:150% 100%;animation:cosmeticBoardTicker 10s linear infinite}
@keyframes cosmeticTrimPass{0%,60%,100%{background-position:130% 0}78%{background-position:-80% 0}}@keyframes cosmeticTicker{to{background-position:240% 0}}@keyframes cosmeticScan{0%,100%{background-position:130% 0}50%{background-position:-90% 0}}@keyframes cosmeticChampionRail{to{background-position:260% 0}}@keyframes cosmeticRunePulse{0%,100%{filter:brightness(.78)}50%{filter:brightness(1.18)}}@keyframes cosmeticIndicator{0%,76%,82%,100%{filter:brightness(1)}78%,80%{filter:brightness(1.55)}}@keyframes cosmeticGlassShimmer{0%,65%,100%{opacity:.55;filter:brightness(1)}78%{opacity:1;filter:brightness(1.35)}}@keyframes cosmeticSealCatch{0%,70%,100%{filter:brightness(.82)}82%{filter:brightness(1.3)}}@keyframes cosmeticCandle{0%,100%{filter:brightness(.9);transform:scaleY(.97)}50%{filter:brightness(1.2);transform:scaleY(1.02)}}@keyframes cosmeticCloth{0%,100%{transform:skewX(0)}50%{transform:skewX(.6deg)}}@keyframes cosmeticGlassLight{0%,100%{background-position:0 0}50%{background-position:45% 0}}@keyframes cosmeticWater{0%,100%{background-position:0 0}50%{background-position:12px 0}}@keyframes cosmeticBoardTicker{to{background-position:150% 0}}
@media(max-width:820px){.cosmetics-grid{grid-template-columns:1fr}.cosmetics-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.cosmetic-filter{flex:0 0 auto}.cosmetic-facets{align-items:stretch}.cosmetic-facet{flex:1 1 150px}.cosmetic-face-toggle{width:100%;margin-left:0}}

/* Phase 3 cosmetic progression, mastery, prestige, and showcase surfaces. */
.cosmetic-challenges{margin:0 0 16px;padding:14px;border:1px solid #554424;border-radius:8px;background:#100d09}.cosmetic-challenge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px}.cosmetic-challenge-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #433722;border-radius:7px;background:#17120d}.cosmetic-challenge-card.complete{border-color:#486b4d}.cosmetic-challenge-card.near{border-color:#c99a3d;box-shadow:inset 3px 0 #c99a3d}.cosmetic-challenge-card>div:first-child{min-width:0}.cosmetic-challenge-card>div:first-child>span,.cosmetic-origin{color:#c69c49;font-size:9px;text-transform:uppercase}.cosmetic-challenge-card h3{margin:3px 0;color:#f4dfb4;font-size:14px}.cosmetic-challenge-card p{margin:0;color:#b9ab8e;font-size:11px;line-height:1.35}.cosmetic-challenge-card .cosmetic-requirement{grid-column:1/-1}.challenge-actions{grid-column:1/-1;display:flex;align-items:center;gap:6px}.challenge-actions>b{color:#80bc88;font-size:10px}.cosmetic-requirement{margin-top:9px;padding:8px;border-left:2px solid #665537;background:#0e0b08}.cosmetic-requirement.near{border-left-color:#d2a649}.cosmetic-requirement>span{color:#a89164;font-size:9px}.cosmetic-requirement p{margin:2px 0 7px;color:#cabb9b;font-size:11px}.cosmetic-requirement em{display:block;margin-top:4px;color:#e7bc62;font-size:9px;font-style:normal;text-transform:uppercase}.cosmetic-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.cosmetic-progress-row>b{color:#d9c8a4;font-size:10px}.cosmetic-progress-track{height:6px;overflow:hidden;border:1px solid #403724;border-radius:3px;background:#080706}.cosmetic-progress-track>i{display:block;height:100%;background:#b68a35}.pinned-cosmetic-goals{margin:0 0 11px;padding:9px;border:1px solid #4c3d24;background:#0c0a08}.pinned-cosmetic-goals h3{margin:0 0 7px;color:#cfad65;font-size:12px}.pinned-cosmetic-goals>div{display:flex;gap:7px;flex-wrap:wrap}.pinned-cosmetic-goals button{display:flex;gap:9px;justify-content:space-between;min-width:150px;padding:7px 9px;border:1px solid #55472d;border-radius:5px;background:#18130e;color:#d9c8a6;font:inherit;font-size:10px;cursor:pointer}.pinned-cosmetic-goals button b{color:#e0b755}.secret-cosmetic-silhouette{display:grid;place-items:center;flex:0 0 132px;width:132px;height:146px;border:1px solid #51446a;border-radius:7px;background:#0c0910;color:#7d6896;font:700 42px var(--font-display);box-shadow:inset 0 0 30px #4a226033}.secret-cosmetic-silhouette.small{width:58px;height:58px;flex-basis:58px;font-size:23px}.cosmetic-detail>.cosmetic-preview,.cosmetic-detail>.secret-cosmetic-silhouette{margin:0 auto 10px}.cosmetic-unlock-overlay.secret-discovery{background:#090510e8}.cosmetic-unlock-overlay.secret-discovery .cosmetic-unlock-card{border-color:#9f6ed2;box-shadow:0 22px 65px #000,0 0 30px #7b37a955}.cosmetic-result-progress{margin:10px 0;padding:10px;border:1px solid #514327;background:#0f0c08;text-align:left}.cosmetic-result-progress h3,.cosmetic-result-progress p{margin:3px 0}.cosmetic-result-progress h3{color:#d9b35f;font-size:14px}.cosmetic-result-progress p{color:#c5b696;font-size:11px}

.profile-identity{flex-wrap:wrap}.profile-favorite-card{position:relative;z-index:1;display:grid;gap:1px;min-width:145px;padding:6px 9px;border:1px solid #5c492a;border-radius:5px;background:#100d09;color:#d7c59e;text-align:left;cursor:pointer}.profile-favorite-card span{color:#9f8d6c;font-size:8px;text-transform:uppercase}.profile-favorite-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.profile-favorite-card small{color:#d2a94f;font-size:9px}.profile-achievement-showcase{position:relative;z-index:1;display:flex;gap:5px;margin-left:auto}.profile-achievement-showcase button{display:grid;place-items:center;gap:3px;width:68px;padding:4px;border:0;background:transparent;color:#b9aa8c;font:inherit;font-size:8px;cursor:pointer}.profile-achievement-showcase .preview-badge{width:30px;height:30px;font-size:13px}.profile-identity.compact small{color:#bcae90;font-size:9px}.mastery-next-reward{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;margin:12px 0;padding:10px;border:1px solid #6d5428;background:#151009}.mastery-next-reward>span{color:#ad9567;font-size:9px;text-transform:uppercase}.mastery-next-reward>b{color:#f0d18d;font-size:13px}.mastery-next-reward>p{margin:0;color:#b6a685;font-size:10px}.mastery-next-reward>.cosmetic-preview{grid-column:2;grid-row:1/4}.mastery-challenges{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:7px;margin-bottom:12px}.mastery-challenges article{padding:8px;border:1px solid #403623;background:#100d09}.mastery-challenges span{color:#e3c36f;font-size:10px}.mastery-challenges p{min-height:30px;margin:3px 0;color:#ab9e86;font-size:9px;line-height:1.3}.mastery-challenges b{font-size:10px}

.cosmetic-frame-dead-mans-sunset::before,.cosmetic-frame-drowned-admiral::before,.cosmetic-frame-curtain-never-falls::before,.cosmetic-frame-ancestral-jade::before,.cosmetic-frame-cpc-three-time::before,.cosmetic-frame-cpc-dynasty::before,.cosmetic-frame-three-legends::before{content:"";position:absolute;z-index:5;inset:2px;border:2px solid;border-radius:5px;pointer-events:none}.cosmetic-frame-dead-mans-sunset::before{border-color:#b87632;box-shadow:inset 0 0 0 3px #25160e,0 0 11px #e06a2f66;background:radial-gradient(circle at 18% 20%,#090705 0 2px,transparent 3px),radial-gradient(circle at 82% 73%,#090705 0 2px,transparent 3px),linear-gradient(0deg,#de6e2b22,transparent 42%)}.cosmetic-frame-drowned-admiral::before{border-color:#72b3ad;box-shadow:inset 0 0 0 3px #102c31,0 0 12px #5eb7bb66;background:repeating-radial-gradient(circle at 50% 110%,transparent 0 10px,#a9d6c51f 11px 12px)}.cosmetic-frame-curtain-never-falls::before{border-color:#c1a15a;box-shadow:inset 5px 0 #321845,inset -5px 0 #321845,0 0 11px #8f55b566;background:repeating-linear-gradient(90deg,transparent 0 18px,#c7a1dc22 19px 20px)}.cosmetic-frame-ancestral-jade::before{border-color:#76ad7b;box-shadow:inset 0 0 0 3px #143023,0 0 13px #70d08a66;background:linear-gradient(45deg,transparent 43%,#b9e4b129 44% 48%,transparent 49%)}.cosmetic-frame-cpc-three-time::before{border-color:#e1bd56;box-shadow:inset 0 0 0 3px #171717,0 0 13px #e4bb5477;background:linear-gradient(90deg,transparent 20%,#e4bd4938 21% 23%,transparent 24% 48%,#e4bd4938 49% 51%,transparent 52% 76%,#e4bd4938 77% 79%,transparent 80%)}.cosmetic-frame-cpc-dynasty::before{border-color:#f1d170;box-shadow:inset 0 0 0 4px #090909,inset 0 0 16px #b58b2855,0 0 16px #e7c35c88;background:repeating-linear-gradient(135deg,transparent 0 13px,#d4ae3b24 14px 15px)}.cosmetic-frame-three-legends::before{border-color:#78c8c1;box-shadow:inset 4px 0 #7d3d9b,inset -4px 0 #c69a3b,0 0 13px #68bdbb77}.cosmetic-frame-dead-mans-sunset::before,.cosmetic-frame-curtain-never-falls::before,.cosmetic-frame-ancestral-jade::before,.cosmetic-frame-cpc-dynasty::before{animation:prestigeFramePulse 7s ease-in-out infinite}

.cosmetic-cardback-high-noon{border-color:#db9448!important;background:linear-gradient(#dc7131 0 28%,#803b24 29% 44%,#17100d 45% 100%)!important;color:#ffe0a0!important}.cosmetic-cardback-high-noon::before{inset:13px;border:1px solid #f0bb64;border-radius:50%;box-shadow:0 0 18px #ffac45}.cosmetic-banner-world-number-one,.cosmetic-banner-perfect-40,.cosmetic-banner-master-of-many,.cosmetic-banner-money-talks{border-color:#d1aa4f!important;background:#17130d!important;box-shadow:inset 0 0 0 2px #5c4823}.cosmetic-banner-world-number-one{color:#ffe68b!important;background-image:repeating-linear-gradient(135deg,transparent 0 14px,#d9bd4530 15px 16px)!important}.cosmetic-banner-perfect-40{color:#9fd9df!important;border-color:#70aeb5!important}.cosmetic-banner-master-of-many{color:#c7a8e1!important;border-color:#8a68a5!important}.cosmetic-banner-money-talks{color:#f0c868!important;background-image:repeating-linear-gradient(90deg,transparent 0 12px,#b68b2c2a 13px 14px)!important}

.cosmetic-title-world-number-one,.cosmetic-title-cpc-champion,.cosmetic-title-unbeaten,.cosmetic-title-last-life,.cosmetic-title-pro-player{color:#f5d26b!important;text-shadow:0 0 8px #c3922d66}.cosmetic-title-orders-blade{color:#bedcf3!important}.cosmetic-title-undercity-royalty{color:#b5cb68!important}.cosmetic-title-paid-in-full{color:#e0b25d!important}.cosmetic-title-big-game,.cosmetic-title-maximum-potential,.cosmetic-title-the-collector,.cosmetic-title-one-trick{color:#dbc690!important}.cosmetic-title-the-last-laugh{color:#c891df!important;text-shadow:0 0 8px #7c3b9a88}.profile-badge.cosmetic-badge-reset-survivor,.profile-badge.cosmetic-badge-no-scratch,.profile-badge.cosmetic-badge-full-house,.profile-badge.cosmetic-badge-last-card-standing,.profile-badge.cosmetic-badge-giant-killer,.profile-badge.cosmetic-badge-ascension-master,.profile-badge.cosmetic-badge-old-friend{border-color:#d0ab57;background:#241b0f;color:#f1d48e}.profile-badge.cosmetic-badge-old-friend{border-color:#74aa7d;background:#102117;color:#9cd1a1}.profile-badge.cosmetic-badge-giant-killer{border-color:#ba7182;background:#291017;color:#ef9dac}

.cosmetic-banner-team-nightglass,.cosmetic-cardback-team-nightglass,.cosmetic-badge-team-nightglass{--team-a:#090b10;--team-b:#aeb7c5;--team-c:#183b68}.cosmetic-banner-team-emberfox,.cosmetic-cardback-team-emberfox,.cosmetic-badge-team-emberfox{--team-a:#f06a21;--team-b:#a51f24;--team-c:#fff0d2}.cosmetic-banner-team-monolith,.cosmetic-cardback-team-monolith,.cosmetic-badge-team-monolith{--team-a:#777a78;--team-b:#203d2d;--team-c:#f5f5ef}.cosmetic-banner-team-oddity,.cosmetic-cardback-team-oddity,.cosmetic-badge-team-oddity{--team-a:#7b3fb0;--team-b:#b8e33b;--team-c:#101010}.cosmetic-banner-team-volt,.cosmetic-cardback-team-volt,.cosmetic-badge-team-volt{--team-a:#f4da26;--team-b:#111;--team-c:#25dbe8}.cosmetic-banner-team-crown,.cosmetic-cardback-team-crown,.cosmetic-badge-team-crown{--team-a:#d4a82d;--team-b:#641f32;--team-c:#101010}.cosmetic-banner-team-static,.cosmetic-cardback-team-static,.cosmetic-badge-team-static{--team-a:#526274;--team-b:#f4f8fa;--team-c:#1cd6cc}.cosmetic-banner-team-lowtide,.cosmetic-cardback-team-lowtide,.cosmetic-badge-team-lowtide{--team-a:#102b4f;--team-b:#8fd6c4;--team-c:#f5f8f5}.cosmetic-preview-banner[class*="cosmetic-banner-team-"],.profile-identity[class*="cosmetic-banner-team-"]{border-color:var(--team-b)!important;background:linear-gradient(120deg,var(--team-a) 0 46%,var(--team-b) 47% 56%,var(--team-c) 57%)!important;color:var(--team-c)!important}.cosmetic-preview-cardback[class*="cosmetic-cardback-team-"],.card-back-preview[class*="cosmetic-cardback-team-"],.card-back-pile[class*="cosmetic-cardback-team-"]{border-color:var(--team-b)!important;background:repeating-linear-gradient(135deg,var(--team-a) 0 13px,var(--team-b) 14px 17px,var(--team-c) 18px 28px)!important;color:var(--team-c)!important}.profile-badge[class*="cosmetic-badge-team-"]{border-color:var(--team-b);background:var(--team-a);color:var(--team-c);box-shadow:inset 0 0 0 2px var(--team-b)}

@keyframes prestigeFramePulse{0%,100%{filter:brightness(.92)}50%{filter:brightness(1.16)}}
@media(prefers-reduced-motion:reduce){.cosmetic-frame-dead-mans-sunset::before,.cosmetic-frame-curtain-never-falls::before,.cosmetic-frame-ancestral-jade::before,.cosmetic-frame-cpc-dynasty::before{animation:none!important}}body.reduce-animations .cosmetic-frame-dead-mans-sunset::before,body.reduce-animations .cosmetic-frame-curtain-never-falls::before,body.reduce-animations .cosmetic-frame-ancestral-jade::before,body.reduce-animations .cosmetic-frame-cpc-dynasty::before{animation:none!important}
@media(max-width:700px){.cosmetic-challenge-grid{grid-template-columns:1fr}.profile-favorite-card{order:3;flex:1 1 150px}.profile-achievement-showcase{order:4;width:100%;margin-left:0;justify-content:flex-start}.mastery-challenges{grid-template-columns:1fr}.cosmetic-result-progress{text-align:left}}

/* Phase 4 cosmetics: premium skins, gallery, profile identity, and battle presentation. */
.card-art[data-card-skin]{border-color:#d4ad52;box-shadow:inset 0 0 0 1px #f0d27a55,0 0 10px #c9963944}.card-art[data-card-skin] .card-art-img{image-rendering:pixelated;image-rendering:crisp-edges;object-fit:contain}.card-skin-ghostfire-marshal{--skin-glow:#70d5b5}.card-skin-heavenly-rebel{--skin-glow:#f4d05a}.card-skin-siege-variant{--skin-glow:#dc683d}.card-skin-moon-rabbit{--skin-glow:#a8c7ef}.card-skin-hells-kitchen{--skin-glow:#ef4a2f}.card-skin-funeral-king{--skin-glow:#a989ce}.card-art[data-card-skin]{box-shadow:inset 0 0 0 1px #f0d27a55,0 0 11px color-mix(in srgb,var(--skin-glow,#d4ad52) 45%,transparent)}
.cosmetic-collection-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,280px);gap:18px;align-items:center;margin-bottom:12px;padding:18px;border:1px solid #66502b;background:linear-gradient(110deg,#100d09 0 64%,#261a0d 65%);box-shadow:inset 3px 0 #d1a84a}.cosmetic-collection-hero h2{margin:2px 0;color:#f1d692}.cosmetic-collection-hero p{margin:4px 0;color:#b8aa8e}.collection-completion{display:grid;gap:5px}.collection-completion>b{color:#f0c963;font:700 30px var(--font-display)}.collection-completion>span{color:#c9b991;font-size:10px;text-transform:uppercase}.collection-completion>i{height:8px;border:1px solid #5b4728;background:#080705}.collection-completion>i>em{display:block;height:100%;background:#c99e3f}
.cosmetic-top-grid{display:grid;grid-template-columns:1fr 1fr minmax(180px,.55fr);gap:10px;margin-bottom:12px}.cosmetic-top-grid>article{min-width:0;padding:11px;border:1px solid #47391f;background:#0e0c09}.cosmetic-top-grid h3{margin:0 0 9px;color:#d8b766;font-size:13px}.cosmetic-mini-grid{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.cosmetic-mini-tile{display:grid;flex:0 0 92px;gap:3px;padding:5px;border:1px solid #4e4129;background:#15110c;color:#d6c6a5;text-align:left;cursor:pointer}.cosmetic-mini-tile .cosmetic-preview{width:80px;height:82px;min-height:0;flex-basis:auto}.cosmetic-mini-tile b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.cosmetic-mini-tile span{color:#9c8963;font-size:7px}.favorite-cosmetic{display:grid;justify-items:center;align-content:start;gap:6px;text-align:center}.favorite-cosmetic .cosmetic-preview{height:118px}
.premium-bundle-card{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr) auto;gap:14px;align-items:center;margin:12px 0;padding:14px;border:1px solid #d0a54b;background:linear-gradient(120deg,#191008,#2c1d0f 48%,#11100d);box-shadow:inset 0 0 0 2px #6d4b1d}.premium-bundle-card h3{margin:2px 0;color:#ffe39b;font:700 20px var(--font-display)}.premium-bundle-card p,.premium-bundle-card span{color:#c4b38d;font-size:10px}.bundle-miniatures{display:grid;grid-template-columns:repeat(6,minmax(54px,1fr));gap:5px}.bundle-miniatures button{min-width:0;padding:3px;border:1px solid #594424;background:#0b0907;color:#cdbb96;cursor:pointer}.bundle-miniatures img{display:block;width:100%;aspect-ratio:1;object-fit:contain;image-rendering:pixelated}.bundle-miniatures span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.bundle-preview-grid,.bundle-reveal-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;margin:14px 0}.bundle-preview-grid>button,.bundle-reveal-grid>article{display:grid;gap:5px;padding:8px;border:1px solid #5b4726;background:#100d09;color:#d8c7a4;text-align:left}.bundle-preview-grid .cosmetic-preview,.bundle-reveal-grid .cosmetic-preview{width:100%;height:180px}.bundle-unlock-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:#050403e8}.bundle-unlock-overlay>section{width:min(900px,96vw);max-height:92vh;overflow:auto;padding:20px;border:2px solid #e2b950;background:#100c08;box-shadow:0 20px 80px #000,0 0 30px #d6a33b55}.bundle-reveal-grid>article{animation:bundleReveal .45s ease-out both;animation-delay:calc(var(--reveal-index)*90ms)}@keyframes bundleReveal{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
.bundle-miniatures .cosmetic-preview{width:100%;height:76px;min-height:0}.bundle-miniatures .cosmetic-preview-kind{display:none}.bundle-miniatures .cosmetic-skin-preview{min-height:0}
.opponent-hidden-hand{display:flex;align-items:center;gap:9px;min-height:48px;padding:4px 0;color:#b5a37d;font-size:10px}.opponent-hidden-cards{display:flex;gap:4px;flex-wrap:wrap}.opponent-hidden-card.card-back-preview{width:31px;min-width:31px;height:42px;border-radius:4px}.opponent-hidden-card span{font-size:5px}.opponent-hidden-card::before{inset:5px}@media(max-width:560px){.opponent-hidden-hand{align-items:flex-start;flex-direction:column;gap:3px}}
.cosmetic-set-grid,.cosmetic-loadout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.cosmetic-sets,.cosmetic-loadouts{margin:12px 0;padding:12px;border:1px solid #493b25;background:#0d0b08}.cosmetic-set-card,.cosmetic-loadout-grid>article{padding:10px;border:1px solid #4b3d27;background:#15110d;color:#cdbc99;text-align:left}.cosmetic-set-card{font:inherit;cursor:pointer}.cosmetic-set-card.complete{border-color:#cba147;box-shadow:inset 3px 0 #d8b24e}.cosmetic-set-card>span,.cosmetic-loadout-grid>article>span{color:#cda34c;font-size:8px;text-transform:uppercase}.cosmetic-set-card h3,.cosmetic-loadout-grid h3{margin:4px 0;color:#ead49f}.cosmetic-set-card p,.cosmetic-loadout-grid p{min-height:30px;margin:3px 0;color:#a99c84;font-size:9px}.cosmetic-loadout-grid>article.active{border-color:#d4aa4c}.cosmetic-loadout-actions{display:flex;gap:5px;flex-wrap:wrap}.set-member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.set-member-grid button{padding:6px;border:1px solid #504126;background:#110e0a;color:#c8b793}.set-member-grid button.locked{filter:grayscale(1);opacity:.55}.set-member-grid .cosmetic-preview{width:100%;height:130px}.set-reward{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px;border:1px solid #9d7b35;background:#21180c}.set-reward .cosmetic-preview{width:80px;height:80px}
.cosmetic-skin-preview{position:relative;display:grid;width:100%;height:100%;place-items:center;overflow:hidden;background:#080706}.cosmetic-skin-preview img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.cosmetic-skin-preview>span{position:absolute;right:4px;bottom:4px;left:4px;padding:3px;background:#090706d9;color:#e0c882;font-size:8px;text-align:center}.appearance-panel{display:grid;gap:9px}.appearance-choice{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px;border:1px solid #493c27;background:#100d09}.appearance-choice.active{border-color:#d1a64b;box-shadow:inset 3px 0 #d1a64b}.appearance-choice>.card-art,.appearance-choice>.cosmetic-preview{width:118px;height:130px}.appearance-choice span{color:#c9a24f;font-size:8px}.appearance-choice b{display:block;color:#e4d2ac}.appearance-choice p{color:#ad9f84;font-size:10px}.favorite-star{color:#f0c64f}.profile-featured-badges{display:flex;gap:5px}.profile-featured-badges .profile-badge{width:32px;height:32px}.profile-view-btn{position:relative;z-index:2}.profile-custom-grid,.profile-badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.profile-custom-choice,.profile-badge-choice{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:8px;border:1px solid #493b25;background:#100d09;color:#cfc09e;font:inherit;cursor:pointer}.profile-custom-choice.active,.profile-badge-choice.active{border-color:#d0a64b}.profile-badge-choice .profile-badge{width:30px;height:30px}.profile-frame-note{padding:8px;border-left:2px solid #82672f;color:#aa9d83}.result-featured-card{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px auto;padding:8px;border:1px solid #5a4728;background:#100d09}.result-featured-card .card-art{width:72px;height:72px}.result-featured-card span,.result-featured-card small{display:block;color:#b89e68;font-size:8px}.result-featured-card b{display:block;color:#ecd59e}
.battle-intro-overlay{position:fixed;z-index:950;inset:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:7vw;background:#050403e8;animation:introFade .24s ease-out}.battle-intro-player,.battle-intro-opponent{display:flex;align-items:center;gap:12px;min-height:120px;padding:18px;border:1px solid #6a522a;background:#120f0b}.battle-intro-opponent{justify-content:flex-end;text-align:right;border-color:#7d352b}.battle-intro-overlay h2{margin:3px 0;color:#f1d795;font:700 clamp(20px,3vw,42px) var(--font-display)}.battle-intro-overlay small,.battle-intro-overlay span{display:block;color:#aa9a7c;font-size:9px;text-transform:uppercase}.battle-intro-vs{text-align:center}.battle-intro-vs>b{display:block;color:#d44f34;font:700 46px var(--font-display)}.battle-intro-overlay>button{position:absolute;right:18px;bottom:18px;padding:8px 12px;border:1px solid #6c5730;background:#14100b;color:#cbb98e}.battle-intro-cardback{display:grid;width:64px;height:86px;place-items:center;border:2px solid #b28c42;background:#18120b;color:#d8b45c;font-size:8px}.skin-deploy-effect{position:fixed;z-index:920;display:grid;width:160px;height:160px;place-items:center;transform:translate(-50%,-50%);pointer-events:none}.skin-deploy-effect i{position:absolute;inset:18%;border:2px solid var(--skin-color,#d4ae54);transform:rotate(45deg);animation:skinDeployBurst .8s ease-out both;box-shadow:0 0 22px var(--skin-color,#d4ae54)}.skin-deploy-effect b{position:absolute;bottom:0;padding:4px 7px;background:#0b0805e8;color:#f2d994;font-size:9px;text-transform:uppercase}.skin-deploy-ghostfire{--skin-color:#63d9b2}.skin-deploy-celestial{--skin-color:#f1cf55}.skin-deploy-industrial{--skin-color:#d66739}.skin-deploy-lunar{--skin-color:#b9d4ef}.skin-deploy-infernal{--skin-color:#ef4a2f}.skin-deploy-funeral{--skin-color:#9f81c5}.victory-cosmetic-effect{position:fixed;z-index:940;left:50%;top:30%;display:flex;align-items:center;gap:12px;padding:14px 20px;border:2px solid #d8b14d;background:#0d0905e8;color:#f6dd8a;transform:translate(-50%,-50%);animation:victoryPresent 1.6s ease-out both}.victory-cosmetic-effect>b{font:700 34px var(--font-display)}.victory-cosmetic-effect .card-art{width:68px;height:68px}.human-prestige-inline{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:middle}.human-prestige-inline .profile-badge{width:20px;height:20px}.human-prestige-inline em,.human-prestige-inline strong{color:#d9b957;font-size:7px;font-style:normal}.cpc-match-player.human{box-shadow:inset 3px 0 #d3aa4f}
@keyframes introFade{from{opacity:0}to{opacity:1}}@keyframes skinDeployBurst{from{opacity:0;transform:rotate(0) scale(.3)}55%{opacity:1}to{opacity:0;transform:rotate(135deg) scale(1.25)}}@keyframes victoryPresent{0%{opacity:0;transform:translate(-50%,-35%) scale(.86)}20%,72%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-62%) scale(1.04)}}
@media(max-width:850px){.cosmetic-top-grid{grid-template-columns:1fr}.premium-bundle-card{grid-template-columns:1fr}.bundle-miniatures{grid-template-columns:repeat(3,1fr)}.battle-intro-overlay{grid-template-columns:1fr;padding:16px}.battle-intro-player,.battle-intro-opponent{min-height:90px}.battle-intro-vs>b{font-size:30px}.appearance-choice{grid-template-columns:90px minmax(0,1fr)}.appearance-choice>.btn{grid-column:1/-1}.appearance-choice>.card-art,.appearance-choice>.cosmetic-preview{width:88px;height:104px}}
@media(max-width:560px){.cosmetic-collection-hero{grid-template-columns:1fr}.bundle-preview-grid,.bundle-reveal-grid{grid-template-columns:repeat(2,minmax(105px,1fr))}.premium-bundle-card .menu-actions{display:grid}.battle-intro-overlay{align-content:center}.battle-intro-player,.battle-intro-opponent{padding:11px}.battle-intro-cardback{display:none}.cosmetic-loadout-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.bundle-reveal-grid>article,.skin-deploy-effect i,.victory-cosmetic-effect,.battle-intro-overlay{animation:none!important}}body.reduce-animations .bundle-reveal-grid>article,body.reduce-animations .skin-deploy-effect i,body.reduce-animations .victory-cosmetic-effect,body.reduce-animations .battle-intro-overlay{animation:none!important}
.report-tabs, .analyzer-controls { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
.report-tabs .btn { min-height: 36px; }
.report-tab-body { width: 100%; min-width: 0; }
.report-search input, .analyzer-controls input, .analyzer-controls select { background: #1d1b18; border: 1px solid #64594a; color: #f3e8d0; border-radius: 4px; padding: 8px; min-height: 38px; }
.report-search input { width: min(100%, 480px); }
.analyzer-controls input[type="number"] { width: 80px; }
.report-score-graph { width: 100%; max-height: 220px; background: #171813; border: 1px solid #4e493d; border-radius: 4px; }
.report-score-graph path { fill: none; stroke-width: 3; vector-effect: non-scaling-stroke; }
.report-timeline { max-height: 420px; overflow: auto; border: 1px solid #4e493d; padding: 8px; }
.report-timeline > div { padding: 5px 3px; border-bottom: 1px solid #342f28; }
#balance-analyzer-screen .report-table-wrap { max-height: 68vh; overflow: auto; }
#balance-analyzer-screen .report-table { min-width: 1020px; }
@media (max-width: 700px) { .report-tabs .btn { flex: 1 1 110px; } .analyzer-controls > * { flex: 1 1 130px; } }
.character-lore{max-width:760px;color:#dfd2bb}.character-lore h3{margin:18px 0 7px;color:var(--gold);font:700 12px var(--font-display)}.character-lore h3:first-child{margin-top:4px}.character-lore p{font-size:14px;line-height:1.6;max-width:70ch}.character-lore small{color:#bca26c}.character-relations{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:7px}.character-relation{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:57px;padding:9px;border:1px solid #5e4b2d;background:#17120c;color:#e7d6b2;cursor:pointer;text-align:left}.character-relation span{font:700 9px var(--font-display);color:#bba05c}.character-relation b{font-size:12px}.character-relation:hover{border-color:var(--gold)}
.character-lore,.lore-teaser{overflow-wrap:anywhere}.character-lore .lore-short{color:#f0e3c6}.lore-quote{margin:10px 0 4px;padding:6px 12px;border-left:2px solid #8c7040;color:#cdb98e;font-style:italic;font-size:13px}.lore-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 12px;margin:12px 0 0}.lore-facts div{min-width:0}.lore-facts dt{font:700 9px var(--font-display);color:#bba05c;text-transform:uppercase}.lore-facts dd{margin:2px 0 0;font-size:13px;line-height:1.45;color:#dfd2bb}.lore-biography p{margin:0 0 10px}.lore-teaser{margin-top:12px;padding:10px 12px;border:1px solid #4d3e27;background:#15110c}.lore-teaser>span{display:block;font:700 10px var(--font-display);color:var(--gold)}.lore-teaser p{margin:6px 0;font-size:13px;line-height:1.5;color:#dfd2bb;font-style:italic}
.character-subtitle{position:fixed;z-index:30;transform:translate(-50%,-100%);max-width:min(260px,calc(100vw - 20px));min-width:110px;padding:7px 9px;border:1px solid #bc9c59;background:#100d09ef;box-shadow:0 5px 16px #000b;color:#f0e4c9;text-align:center;pointer-events:none;overflow-wrap:anywhere}.character-subtitle.enemy{border-color:#a75d50}.character-subtitle b{display:block;color:#d7b765;font:700 9px var(--font-display);margin-bottom:3px}.character-subtitle.enemy b{color:#e58f7a}.character-subtitle span{display:block;font-size:13px;line-height:1.3}.character-subtitle-small span{font-size:11px}.character-subtitle-large span{font-size:17px}@media(max-width:600px){.character-subtitle{max-width:min(190px,calc(100vw - 16px));padding:5px 7px}}
.deck-build-dialog{width:min(560px,calc(100vw - 40px));max-height:75vh;overflow:auto}.deck-build-dialog textarea,.deck-build-dialog input{width:100%;min-height:42px;padding:10px;background:#15120f;border:1px solid #806b45;color:#f1e5ca;overflow-wrap:anywhere}.deck-build-dialog textarea{min-height:92px;resize:vertical}.deck-build-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.deck-build-preview{margin-top:10px;border-top:1px solid #655338;padding-top:10px}.deck-build-preview ol{max-height:220px;overflow:auto;padding-left:25px}.deck-build-preview li{margin:3px 0}
/* The remote battle owns its scrolling surface; the local shell stays navigable. */
#multiplayer-screen .multiplayer-layout{width:100%}
#multiplayer-screen .multiplayer-connect{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
#multiplayer-server-url{min-width:260px;max-width:480px;flex:1;background:#181c1a;border:1px solid #677168;color:#f0e8d8;padding:10px;font:inherit}
#multiplayer-service-status{font-size:13px;color:#c9b891}
#multiplayer-frame{display:block;width:100%;height:calc(100vh - 185px);min-height:580px;border:1px solid #625940;background:#101211}
body.multiplayer-battle-open #multiplayer-frame{position:fixed;inset:0;z-index:1000;width:100vw;height:100dvh;min-height:0;border:0}
@media(max-width:700px){#multiplayer-server-url{min-width:0;width:100%;max-width:none}#multiplayer-frame{height:calc(100vh - 160px);min-height:560px}}
