:root{--bg:#06110c;--bg2:#0a1a12;--panel:#0b2117e8;--panel2:#0c281be8;--line:#315b43;--line2:#55705b;--text:#f1f4ed;--muted:#98aa9b;--gold:#e5bd63;--gold2:#b88b38;--green:#63c86a;--cyan:#78d8d2;--danger:#f06c67;--sidebar:238px;--top:72px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#04100b;color:var(--text)}body{background:radial-gradient(circle at 70% -10%,#163924 0,#07150f 38%,#020906 100%);font-size:15px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.mobile-only{display:none}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.micro{font-size:11px;color:var(--muted)}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;color:#9dac9f}.eyebrow.gold,.section-kicker{color:var(--gold)}.btn{border:1px solid #44634f;background:#10251a;color:var(--text);border-radius:10px;padding:11px 16px;font-weight:750;transition:.18s}.btn:hover{transform:translateY(-1px);filter:brightness(1.12)}.btn.primary{background:linear-gradient(180deg,#f0c66a,#c7983f);border-color:#e1ba61;color:#1a1409;box-shadow:0 7px 24px #b5852430}.btn.ghost{background:#0b1c13}.btn.wide{width:100%}.text-link{border:0;background:none;color:#d6dfd6;font-weight:700;padding:4px}.text-link:hover{color:var(--gold)}input,select,textarea{background:#07170f;border:1px solid #365743;color:var(--text);border-radius:9px;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:#87a66f;box-shadow:0 0 0 2px #9aba7130}.full{width:100%}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden}.auth-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,#020a07eb 0,#06120be2 42%,#07140b70),url('/assets/trial-hero.webp') center/cover;filter:saturate(.85)}.auth-card{position:relative;width:min(1120px,100%);min-height:640px;border:1px solid #416048;border-radius:24px;background:linear-gradient(135deg,#07140eea,#092016d6);box-shadow:0 30px 100px #000b;padding:34px;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto 1fr;gap:40px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{width:52px;height:52px;border:1px solid #8c7a4d;border-radius:15px;display:grid;place-items:center;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.08em;background:#0b1911}.brand-lockup strong{display:block;font-family:Georgia,serif;font-size:23px;line-height:.9;letter-spacing:.04em}.brand-lockup span{display:block;font-size:9px;letter-spacing:.18em;color:#c5b17e;margin-top:7px}.brand-lockup.compact strong{font-size:17px;white-space:nowrap}.brand-lockup.compact .brand-mark{width:38px;height:38px;border-radius:10px}.auth-copy{align-self:center;max-width:560px}.auth-copy h1{font-family:Georgia,serif;font-size:58px;line-height:.95;margin:15px 0}.auth-copy h1 em{font-style:normal;color:var(--gold)}.auth-copy p{color:#c2cec5;max-width:520px;font-size:17px;line-height:1.6}.auth-form{align-self:center;background:#06140de6;border:1px solid #39563f;border-radius:18px;padding:28px;box-shadow:0 22px 60px #0007}.auth-form label{display:block;color:#c5d1c7;font-size:12px;font-weight:700;margin:12px 0}.auth-form input{display:block;width:100%;margin-top:7px;padding:13px}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.form-msg{min-height:20px;color:#ff9f98}
.app-shell{min-height:100vh}.topbar{height:var(--top);position:fixed;inset:0 0 auto 0;z-index:50;background:#06130dec;border-bottom:1px solid #264532;backdrop-filter:blur(16px);display:flex;align-items:center;padding:0 22px;gap:28px}.topnav{display:flex;align-self:stretch}.nav-tab{min-width:100px;border:0;border-bottom:2px solid transparent;color:#87988b;background:transparent;font-size:12px;font-weight:800;letter-spacing:.05em}.nav-tab.active{color:#f4f3e9;border-color:var(--gold);background:linear-gradient(#8a713b15,#8a713b08)}.disabled{opacity:.42;pointer-events:none}.topresources{margin-left:auto;display:flex;gap:8px}.top-chip{display:flex;align-items:center;gap:6px;border:1px solid #355a43;border-radius:999px;padding:7px 11px;background:#081911;font-size:12px}.top-chip b{color:#fff}.top-chip.gold i{color:#ffd35f}.top-chip.blue i{color:#87c9ff}.identity-wrap{display:flex;align-items:center;gap:8px;color:#c8d2cb;font-size:12px}.identity-wrap #identity{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{border:0;background:#11241a;color:#d8e0db;border-radius:10px;padding:8px 10px}.sidebar{position:fixed;left:0;top:var(--top);bottom:0;width:var(--sidebar);background:#05100bdc;border-right:1px solid #233e2d;padding:22px 14px;z-index:40;display:flex;flex-direction:column;backdrop-filter:blur(14px)}.side-link{display:flex;align-items:center;gap:12px;color:#a5b2a8;background:transparent;border:0;border-left:3px solid transparent;border-radius:9px;padding:12px 15px;text-align:left;margin:2px 0}.side-link span{width:22px;text-align:center;font-size:17px}.side-link.active{color:#fff;background:linear-gradient(90deg,#314a2b,#1d3525);border-left-color:var(--gold)}.side-link:hover{background:#11251a;color:#fff}.side-spacer{flex:1}.server-badge{font-size:11px;color:#839387;padding:12px}.server-badge small{display:block;margin-top:5px}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#36d44a;margin-right:5px;box-shadow:0 0 10px #36d44a}.workspace{margin-left:var(--sidebar);padding-top:var(--top);min-height:100vh}.view{display:none;padding:22px 24px 60px;max-width:1500px;margin:0 auto}.view.active{display:block}.trial-hero{min-height:255px;border:1px solid #34573f;border-radius:20px;overflow:hidden;background:linear-gradient(90deg,#07150ff5 0,#07150fc8 46%,#07150f32),url('/assets/trial-hero.webp') center/cover;display:grid;grid-template-columns:1fr 310px;gap:20px;padding:33px;box-shadow:0 20px 60px #0005}.hero-content h1{font-family:Georgia,serif;font-size:44px;line-height:1;margin:4px 0 8px}.hero-content>p{color:#b8c6bb;max-width:800px;line-height:1.5}.prealpha-note{align-self:center;background:#06170fc9;border:1px solid #3c6048;border-radius:16px;padding:20px}.prealpha-note>b{font-size:20px;letter-spacing:.06em}.prealpha-note p{font-size:12px;color:#b7c5ba;line-height:1.5}.resource-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.resource-chip{min-width:150px;padding:12px 15px;border-radius:12px;border:1px solid #49674f;background:#07180fe6;display:flex;align-items:center;gap:9px}.resource-chip i{font-style:normal;font-size:19px}.resource-chip small{display:block;color:#98a99b;font-size:10px}.resource-chip b{display:block;font-size:14px}.dash-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.7fr);gap:16px;margin-top:16px}.game-panel{background:linear-gradient(180deg,#0b2118e8,#071911e8);border:1px solid #2d543d;border-radius:16px;padding:17px;box-shadow:0 14px 50px #0003}.panel-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.panel-title.slim{align-items:center}.panel-title h2,.panel-title h3{margin:2px 0}.panel-title p{margin:4px 0;color:#9daf9f;font-size:12px}.info-pill,.counter{font-size:10px;color:#d1d9d2;border:1px solid #47624e;border-radius:999px;padding:6px 9px;white-space:nowrap}.starter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.creature-card{position:relative;border:1px solid #3b6047;border-radius:14px;overflow:hidden;background:#07170f;transition:.2s;min-width:0}.creature-card:hover{transform:translateY(-3px);border-color:#789269;box-shadow:0 12px 30px #0006}.creature-art{aspect-ratio:4/3;background:#07140e;position:relative;overflow:hidden}.creature-art img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.03)}.creature-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#07170fed)}.sex-badge{position:absolute;left:10px;top:9px;z-index:2;font-weight:900;font-size:18px;color:#8fd2ff;text-shadow:0 2px 10px #000}.sex-badge.female{color:#ffa0d1}.rarity-badge{position:absolute;right:8px;top:9px;z-index:2;border:1px solid currentColor;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:900;background:#07130eea}.rarity-STARTER{color:#e0bd62}.rarity-COMMON{color:#a5afa9}.rarity-UNCOMMON{color:#6cda7b}.rarity-RARE{color:#61bfff}.rarity-EPIC{color:#bc79ff}.rarity-LEGENDARY{color:#f5b543}.rarity-MYTHIC{color:#ff657b}.creature-info{padding:11px 12px 13px}.creature-name{font-size:17px;font-weight:850;display:flex;align-items:center;justify-content:space-between}.creature-meta{font-size:10px;color:#99aa9e;margin:3px 0 9px}.trait-row{display:flex;gap:4px;flex-wrap:wrap;min-height:24px}.trait{border:1px solid #41694d;background:#081b11;border-radius:999px;padding:3px 6px;font-size:9px;color:#dbe6dc}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border-top:1px solid #274532;margin-top:10px;padding-top:9px}.stat-mini{text-align:center}.stat-mini small{display:block;font-size:8px;color:#839489}.stat-mini b{font-size:13px}.card-action{width:100%;border:0;border-top:1px solid #385a42;background:#162b1e;color:#d5dcd6;padding:9px;font-size:11px;font-weight:800}.card-action:hover{background:#9a7939;color:#fff}.dash-aside{display:grid;gap:16px;align-content:start}.next-panel{background:radial-gradient(circle at 100% 0,#375b4335,#0a2117 55%)}.next-panel h2{font-size:24px;margin:4px 0}.next-panel p{font-size:12px;color:#9fb0a3;line-height:1.5}.checkitem{display:flex;gap:9px;align-items:center;padding:7px 0;color:#aab7ad;font-size:12px;border-bottom:1px solid #203d2c}.checkitem:last-child{border-bottom:0}.checkitem span:first-child{display:grid;place-items:center;width:17px;height:17px;border:1px solid #728072;border-radius:50%;font-size:10px}.checkitem.done{color:#e4ede6}.checkitem.done span:first-child{background:#406e42;color:#fff;border-color:#6a996b}.lineage-panel{grid-column:1}.recent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.recent-card{border:1px solid #345941;border-radius:12px;overflow:hidden;background:#07170f;cursor:pointer}.recent-card img{width:100%;aspect-ratio:1.45;object-fit:cover;display:block}.recent-card div{padding:7px}.recent-card b{font-size:11px;display:block}.recent-card span{font-size:9px}.goals-panel{grid-column:2}.goal-grid{display:grid;grid-template-columns:1fr;gap:7px}.goal-chip{display:flex;justify-content:space-between;gap:10px;border:1px solid #315541;border-radius:9px;padding:9px 10px;font-size:11px;color:#a6b4a8}.goal-chip.done{color:#dcf3df;border-color:#4d8557;background:#0d2718}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:12px 0 20px}.page-head h1{font-family:Georgia,serif;font-size:38px;margin:3px 0}.page-head p{color:#95a79a;margin:0}.big-counter{border:1px solid #3c6048;border-radius:14px;padding:13px 18px;background:#0b1e15;color:#ccd7ce}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}.collection-grid .creature-card .creature-art{aspect-ratio:4/3}.breeding-layout{display:grid;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);gap:18px;align-items:stretch}.breeder-card{min-height:480px}.breeder-card select{width:100%;margin:9px 0 14px}.parent-label{font-size:10px;letter-spacing:.13em;color:var(--gold)}.parent-visual .creature-art{height:270px}.breed-core{align-self:center;text-align:center}.dna-orb{width:100px;height:100px;border-radius:50%;border:1px solid #6aa277;margin:0 auto 18px;display:grid;place-items:center;color:#8de298;font-weight:900;letter-spacing:.14em;background:radial-gradient(circle,#1f5732,#07180f 70%);box-shadow:0 0 50px #4fb46430}.breed-btn{width:130px;padding:15px}.birth-zone{margin-top:18px}.birth-reveal{display:grid;grid-template-columns:420px 1fr;gap:20px;border:1px solid #a28344;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#372b0f,#0a2117);box-shadow:0 20px 60px #0006}.birth-reveal img{width:100%;height:100%;min-height:330px;object-fit:cover}.birth-copy{padding:28px}.birth-copy h2{font-family:Georgia,serif;font-size:36px;margin:4px 0}.birth-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0}.birth-stat{border:1px solid #755e32;border-radius:9px;padding:10px;text-align:center}.metricgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}.metric{background:#07140d;border:1px solid #315741;border-radius:12px;padding:12px}.metric b{font-size:22px}.admincols{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.adminrow,.adminitem{border-bottom:1px solid #294a35;padding:9px 4px}.adminrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.adminitem p{white-space:pre-wrap;margin:.6em 0}.adminitem button{padding:6px 9px;font-size:12px}.tag{display:inline-block;padding:4px 8px;border:1px solid #477252;border-radius:999px;margin:3px;font-size:11px}.good{color:#8fdb91}.bad{color:#ff928f}.tiny{font-size:11px;color:#91a498}.bug-panel{max-width:900px}.bug-panel textarea,.bug-panel input{width:100%;margin-top:10px}.buggrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.buggrid.top{margin-bottom:2px}.character-modal{width:min(900px,calc(100vw - 30px));border:1px solid #55705b;border-radius:18px;padding:0;background:#07180f;color:#fff;box-shadow:0 30px 120px #000d}.character-modal::backdrop{background:#000b;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:12px;top:10px;border:0;background:#1b3022;color:#fff;border-radius:50%;width:34px;height:34px;font-size:21px;z-index:2}.modal-layout{display:grid;grid-template-columns:45% 55%}.modal-art{min-height:520px}.modal-art img{width:100%;height:100%;object-fit:cover}.modal-details{padding:30px}.modal-details h2{font-family:Georgia,serif;font-size:38px;margin:3px 0}.genetic-bars{display:grid;gap:9px;margin:20px 0}.gbar{display:grid;grid-template-columns:50px 1fr 45px;align-items:center;gap:9px;font-size:11px}.gtrack{height:7px;border-radius:99px;background:#132b1d;overflow:hidden}.gfill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6d884e,#dbb55a)}.carrier-box{border-top:1px solid #294932;margin-top:18px;padding-top:16px;color:#8fa393;font-size:11px}.bottom-nav{display:none}
@media(max-width:1100px){:root{--sidebar:205px}.topnav{display:none}.starter-grid{grid-template-columns:repeat(2,1fr)}.starter-grid .creature-card:last-child{grid-column:1/-1;max-width:50%}.dash-grid{grid-template-columns:1fr}.lineage-panel,.goals-panel{grid-column:auto}.goals-panel{order:4}.dash-aside{grid-template-columns:1fr 1fr}.breeding-layout{grid-template-columns:1fr 110px 1fr}}
@media(max-width:760px){:root{--top:62px}.desktop-only{display:none!important}.mobile-only{display:flex}.topbar{padding:0 10px;gap:8px}.brand-lockup.compact .brand-mark{display:none}.brand-lockup.compact strong{font-size:14px}.brand-lockup.compact span{display:none}.topresources{gap:4px;margin-left:auto}.top-chip{padding:5px 7px}.top-chip small,.top-chip i{display:none}.identity-wrap #identity{display:none}.sidebar{transform:translateX(-105%);transition:.2s;width:230px;z-index:70}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0;padding-bottom:70px}.view{padding:12px 12px 36px}.trial-hero{grid-template-columns:1fr;padding:20px;min-height:370px}.prealpha-note{align-self:end}.hero-content h1{font-size:32px}.resource-chip{min-width:calc(50% - 6px);flex:1}.dash-grid{display:block}.game-panel{margin-top:12px}.starter-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.starter-grid .creature-card,.starter-grid .creature-card:last-child{min-width:78%;max-width:none;grid-column:auto;scroll-snap-align:start}.dash-aside{display:block}.recent-grid{grid-template-columns:repeat(2,1fr)}.page-head h1{font-size:31px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collection-grid .creature-name{font-size:13px}.collection-grid .trait-row{display:none}.collection-grid .stat-grid{grid-template-columns:repeat(2,1fr)}.breeding-layout{grid-template-columns:1fr}.breed-core{padding:12px}.dna-orb{width:70px;height:70px}.birth-reveal{grid-template-columns:1fr}.birth-reveal img{min-height:240px}.admincols,.buggrid{grid-template-columns:1fr}.modal-layout{grid-template-columns:1fr}.modal-art{min-height:280px;max-height:340px}.modal-details{padding:20px}.bottom-nav{position:fixed;display:flex;left:0;right:0;bottom:0;height:64px;background:#05120dea;border-top:1px solid #304a38;z-index:80;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{flex:1;border:0;background:transparent;color:#89988d;display:grid;place-items:center;font-size:18px}.bottom-nav button span{font-size:9px;margin-top:-8px}.bottom-nav button.active{color:#f1d07a}.auth-shell{padding:10px}.auth-card{min-height:calc(100vh - 20px);grid-template-columns:1fr;padding:22px;gap:16px}.auth-copy h1{font-size:42px}.auth-copy{align-self:end}.auth-form{align-self:start}.auth-actions{grid-template-columns:1fr}.brand-lockup strong{font-size:18px}}

/* 0.9.1 Character asset system: standalone warrior-pea SVGs, no collage crops */
.auth-backdrop{background:radial-gradient(circle at 72% 25%,#245a3430,transparent 32%),linear-gradient(135deg,#020a07 0,#07180f 55%,#0c2417 100%)}
.trial-hero{background:radial-gradient(circle at 75% 20%,#3d7b4b30,transparent 27%),linear-gradient(110deg,#07150ff8 0,#0a2117ee 55%,#10291ccf)}
.trial-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(60deg,transparent 49%,#86a36b0a 50%,transparent 51%),linear-gradient(-60deg,transparent 49%,#86a36b08 50%,transparent 51%);background-size:48px 84px;opacity:.35}.trial-hero{position:relative}.trial-hero>*{position:relative;z-index:1}
.creature-art{aspect-ratio:4/3;background:radial-gradient(circle at 50% 70%,#1d4b2f 0,#0c2116 44%,#06130d 77%);position:relative;overflow:hidden}
.creature-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,#07170fdc 100%);z-index:1;pointer-events:none}
.pea-portrait{position:absolute;inset:3% 5% 0;display:flex;align-items:flex-end;justify-content:center;transform-origin:50% 84%;transform:translateY(var(--morph-shift,0)) scale(var(--morph-art,1));z-index:0;transition:transform .25s ease,filter .25s ease}
.pea-portrait img{width:100%;height:100%;object-fit:contain!important;object-position:center bottom!important;display:block;filter:saturate(.98) contrast(1.04) drop-shadow(0 18px 18px #0008)!important;transform:scaleX(var(--morph-x,1)) scaleY(var(--morph-y,1));transform-origin:50% 82%}
.creature-card:hover .pea-portrait{transform:translateY(calc(var(--morph-shift,0px) - 4px)) scale(calc(var(--morph-art,1) * 1.025))}
.build-tank{inset:-2% -1% -2%}.build-speed{inset:3% 11% 0}.build-attack{inset:1% 5% -1%}.build-balanced{inset:2% 7% 0}
.trait-furious:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 58%,#ff3b1f22,transparent 48%);box-shadow:inset 0 0 45px #ff372612;pointer-events:none;z-index:0}
.trait-leader:after{content:"✦";position:absolute;left:50%;top:7%;transform:translateX(-50%);color:#f1cf6c;text-shadow:0 0 10px #dfb43e;font-size:18px;z-index:1}
.trait-guardian{box-shadow:inset 0 0 0 1px #82b99328}.trait-hunter .pea-portrait{filter:drop-shadow(0 0 10px #8ac46b1e)}
.sex-badge,.rarity-badge{z-index:3}.creature-info,.card-action{position:relative;z-index:3}
.recent-card{position:relative}.recent-card>.pea-portrait{position:relative;inset:auto;width:100%;height:115px;background:radial-gradient(circle,#204e31,#08170f 70%);overflow:hidden}.recent-card>.pea-portrait img{object-fit:contain!important}.recent-card>div:not(.pea-portrait){padding:7px}
.modal-art{min-height:520px;background:radial-gradient(circle at 50% 70%,#245738,#0a1d13 58%,#06110c 100%);position:relative;overflow:hidden}.modal-art .pea-portrait{inset:1% 4% 0}.modal-art .pea-portrait img{object-fit:contain!important}
.birth-art{min-height:350px;background:radial-gradient(circle at 50% 65%,#6b6a2e55,#18351f 50%,#0a1710 100%);position:relative;overflow:hidden}.birth-art .pea-portrait{inset:1% 7% 0}.birth-art .pea-portrait img{object-fit:contain!important}
/* morphology readability ring */
.creature-art .pea-portrait:after{content:"";position:absolute;left:18%;right:18%;bottom:2%;height:11%;border-radius:50%;background:#0005;filter:blur(8px);z-index:-1}
@media(max-width:760px){.build-tank{inset:-1% 0 -1%}.build-speed{inset:4% 8% 0}.build-attack{inset:1% 4% -1%}.modal-art .pea-portrait{inset:1% 9% 0}.birth-art{min-height:260px}.birth-art .pea-portrait{inset:2% 10% 0}}

/* 0.10.2 dark-fantasy warrior-pea assets */
.pea-portrait .portrait-base,.pea-portrait .portrait-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important;object-position:center bottom!important;display:block;transform-origin:50% 82%;}
.pea-portrait .portrait-base{filter:saturate(.88) contrast(1.12) brightness(.92) drop-shadow(0 18px 18px #000b)!important;transform:scaleX(var(--morph-x,1)) scaleY(var(--morph-y,1));}
.pea-portrait .portrait-layer{pointer-events:none;z-index:2;transform:scaleX(var(--morph-x,1)) scaleY(var(--morph-y,1));filter:drop-shadow(0 0 7px #0004)}
.pea-portrait .layer-1{z-index:3}.pea-portrait .layer-2{z-index:4}.pea-portrait .layer-3{z-index:5}
.build-tank{inset:-6% -4% -2%!important}.build-speed{inset:4% 10% 0!important}.build-attack{inset:-1% 3% -1%!important}.build-balanced{inset:1% 6% 0!important}
.creature-art{background:radial-gradient(circle at 50% 68%,#132b1d 0,#07150e 52%,#020906 86%)}

/* v4 class+gender portraits: fixed art only, no continuous stat scaling */
.pea-portrait{inset:2% 4% 0!important;transform:none!important;filter:none!important}
.pea-portrait img,.pea-portrait .portrait-base,.pea-portrait .portrait-layer{transform:none!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important}
.creature-card:hover .pea-portrait{transform:translateY(-4px) scale(1.01)!important}
.build-tank,.build-speed,.build-attack,.build-balanced{inset:2% 4% 0!important}

/* v5 production character presentation: transparent assets + fixed class scenes */
.creature-art,.modal-art,.birth-art,.recent-card>.pea-portrait{isolation:isolate}
.creature-art{background-color:#06110c!important;background-image:
  radial-gradient(ellipse at 50% 82%,rgba(112,142,88,.22) 0,rgba(22,52,34,.22) 33%,transparent 58%),
  linear-gradient(180deg,rgba(5,19,13,.08),rgba(3,12,8,.74))!important}
.creature-art::before,.modal-art::before,.birth-art::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:
  linear-gradient(180deg,rgba(255,255,255,.025),transparent 26%),
  repeating-linear-gradient(90deg,transparent 0 42px,rgba(190,220,187,.018) 43px 44px),
  linear-gradient(180deg,transparent 0 74%,rgba(0,0,0,.26) 74% 100%)}
.creature-art::after{background:linear-gradient(180deg,transparent 61%,rgba(4,15,9,.82) 100%)!important}
.creature-art.art-tank,.modal-art.art-tank,.recent-card.art-tank>.pea-portrait{--scene-glow:rgba(193,155,83,.22);--scene-edge:#6a5836}
.creature-art.art-speed,.modal-art.art-speed,.recent-card.art-speed>.pea-portrait{--scene-glow:rgba(79,174,128,.22);--scene-edge:#315e48}
.creature-art.art-attack,.modal-art.art-attack,.recent-card.art-attack>.pea-portrait{--scene-glow:rgba(184,66,49,.23);--scene-edge:#67332e}
.creature-art.art-balanced,.modal-art.art-balanced,.recent-card.art-balanced>.pea-portrait{--scene-glow:rgba(83,128,173,.20);--scene-edge:#344f63}
.creature-art[class*="art-"]{box-shadow:inset 0 -1px 0 var(--scene-edge),inset 0 0 42px var(--scene-glow)}
.creature-art[class*="art-"]::before,.modal-art[class*="art-"]::before{background:
  radial-gradient(circle at 50% 72%,var(--scene-glow) 0,transparent 45%),
  linear-gradient(180deg,rgba(255,255,255,.025),transparent 27%),
  linear-gradient(180deg,transparent 0 72%,rgba(0,0,0,.32) 72% 100%)}
.pea-portrait{inset:0 3% 0!important;transform:none!important;filter:none!important}
.pea-portrait picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.pea-portrait img,.pea-portrait .portrait-base{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;transform:none!important;filter:drop-shadow(0 18px 18px rgba(0,0,0,.62))!important}
.creature-card:hover .pea-portrait{transform:translateY(-3px)!important}
.modal-art{background:#07120d!important;box-shadow:inset 0 0 90px var(--scene-glow,rgba(65,114,78,.18))}
.modal-art .pea-portrait{inset:1% 5% 0!important}
.recent-card>.pea-portrait{background:#07140e!important;box-shadow:inset 0 0 34px var(--scene-glow,rgba(65,114,78,.15))}
@media(max-width:760px){.pea-portrait{inset:1% 2% 0!important}.modal-art .pea-portrait{inset:2% 7% 0!important}}

/* user supplied characters v6 */
.creature-art,.modal-art,.birth-art,.recent-card>.pea-portrait{--scene-tint:rgba(7,24,15,.32);background-color:#07140e!important;background-image:linear-gradient(180deg,rgba(2,10,6,.10),rgba(2,10,6,.46)),url('/assets/backgrounds/pea-temple-arena.webp?v=user-assets-v7')!important;background-size:cover!important;background-position:center 52%!important;background-repeat:no-repeat!important}
.creature-art::before,.modal-art::before,.birth-art::before{background:radial-gradient(circle at 50% 48%,transparent 0 35%,var(--scene-tint) 82%)!important}
.art-guardian{--scene-tint:rgba(190,151,69,.20)}.art-assassin{--scene-tint:rgba(48,158,100,.18)}.art-archer{--scene-tint:rgba(73,137,86,.17)}.art-knight{--scene-tint:rgba(74,109,157,.18)}.art-mage{--scene-tint:rgba(129,77,174,.22)}
.pea-portrait{inset:2% 7% 0!important}.pea-portrait img,.pea-portrait .portrait-base{object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 16px 16px rgba(0,0,0,.58))!important}.recent-card>.pea-portrait{background-position:center 58%!important}@media(max-width:760px){.pea-portrait{inset:3% 5% 0!important}}

/* =========================================================
   MENDEL'S MONSTER — PROFESSIONAL UI OVERHAUL v9
   Brand shell + navigation + dashboard + character cards
   ========================================================= */
:root{
  --bg:#0d0e16;--bg2:#11131e;--panel:#171824ee;--panel2:#1c1e2cee;
  --line:#34364a;--line2:#555975;--text:#f1ede4;--muted:#aaa9b5;
  --gold:#d8ae5d;--gold2:#a77b39;--violet:#7564a8;--violet2:#493d72;
  --danger:#d96b72;--green:#71b883;--cyan:#79b9c9;--top:72px;--sidebar:246px;
}
html,body{background:
  radial-gradient(circle at 72% 0,#392f5c35,transparent 31%),
  radial-gradient(circle at 0 80%,#8a63341c,transparent 30%),
  #0d0e16!important;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#0005,transparent 45%)}
h1,h2,h3,.brand-lockup strong{font-family:Georgia,"Times New Roman",serif;letter-spacing:.01em}
button,input,select,textarea{font:inherit}

/* BRAND + TOP BAR */
.topbar{height:var(--top)!important;background:#0e1019eb!important;border-bottom:1px solid #34364a!important;box-shadow:0 10px 35px #0005;backdrop-filter:blur(22px)!important;padding:0 22px!important;gap:20px!important}
.topnav{display:none!important}
.brand-lockup.compact{min-width:216px}
.brand-lockup.compact .brand-mark,.brand-mark{width:44px!important;height:44px!important;border:0!important;border-radius:14px!important;background:url('/assets/brand/mark.svg?v=gameplay-v12') center/contain no-repeat!important;box-shadow:0 8px 24px #0007!important}
.brand-lockup.compact strong{font-size:18px!important;color:#f4efe5;text-transform:uppercase;letter-spacing:.065em!important}
.brand-lockup.compact span{display:block!important;color:#9f91c7!important;font-size:8px!important;letter-spacing:.23em!important;margin-top:5px!important}
.topresources{margin-left:auto!important;gap:7px!important}
.top-chip{background:#151724d9!important;border:1px solid #373a50!important;padding:8px 11px!important;color:#c8c6cf!important;box-shadow:inset 0 1px #ffffff08}
.top-chip.gold{border-color:#775f35!important}.top-chip.violet{border-color:#51476e!important}
.ui-svg{display:inline-block;width:1em;height:1em;background:currentColor;vertical-align:-.13em;mask-repeat:no-repeat;mask-size:contain;mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center}
.ui-home{mask-image:url('/assets/icons/home.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/home.svg?v=gameplay-v12')}
.ui-creatures{mask-image:url('/assets/icons/creatures.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/creatures.svg?v=gameplay-v12')}
.ui-breeding{mask-image:url('/assets/icons/breeding.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/breeding.svg?v=gameplay-v12')}
.ui-campaign{mask-image:url('/assets/icons/campaign.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/campaign.svg?v=gameplay-v12')}
.ui-ranked{mask-image:url('/assets/icons/ranked.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/ranked.svg?v=gameplay-v12')}
.ui-market{mask-image:url('/assets/icons/market.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/market.svg?v=gameplay-v12')}
.ui-research{mask-image:url('/assets/icons/research.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/research.svg?v=gameplay-v12')}
.ui-inventory{mask-image:url('/assets/icons/inventory.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/inventory.svg?v=gameplay-v12')}
.ui-admin{mask-image:url('/assets/icons/admin.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/admin.svg?v=gameplay-v12')}
.ui-bug{mask-image:url('/assets/icons/bug.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/bug.svg?v=gameplay-v12')}
.ui-coin{mask-image:url('/assets/icons/coin.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/coin.svg?v=gameplay-v12')}
.ui-catalyst{mask-image:url('/assets/icons/catalyst.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/catalyst.svg?v=gameplay-v12')}
.ui-token{mask-image:url('/assets/icons/token.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/token.svg?v=gameplay-v12')}
.ui-hp{mask-image:url('/assets/icons/hp.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/hp.svg?v=gameplay-v12')}
.ui-attack{mask-image:url('/assets/icons/attack.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/attack.svg?v=gameplay-v12')}
.ui-defense{mask-image:url('/assets/icons/defense.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/defense.svg?v=gameplay-v12')}
.ui-speed{mask-image:url('/assets/icons/speed.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/speed.svg?v=gameplay-v12')}
.ui-dna{mask-image:url('/assets/icons/dna.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/dna.svg?v=gameplay-v12')}
.ui-male{mask-image:url('/assets/icons/male.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/male.svg?v=gameplay-v12')}
.ui-female{mask-image:url('/assets/icons/female.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/female.svg?v=gameplay-v12')}
.ui-profile{mask-image:url('/assets/icons/profile.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/profile.svg?v=gameplay-v12')}
.ui-logout{mask-image:url('/assets/icons/logout.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/logout.svg?v=gameplay-v12')}
.ui-lock{mask-image:url('/assets/icons/lock.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/lock.svg?v=gameplay-v12')}
.top-chip .ui-svg{width:14px;height:14px;color:var(--gold)}
.top-chip.violet .ui-svg{color:#a995dc}
.identity-wrap{padding-left:10px;border-left:1px solid #34364a;color:#d0ced7!important}
.profile-orb{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2a2b3d,#171822);border:1px solid #494c64;color:#cdb273}
.profile-orb .ui-svg{width:14px;height:14px}
.icon-btn{background:#191b28!important;border:1px solid #33364a!important;color:#b9b7c3!important}

/* SIDEBAR */
.sidebar{top:var(--top)!important;width:var(--sidebar)!important;background:linear-gradient(180deg,#11131dec,#0b0c13f4)!important;border-right:1px solid #2c2e3e!important;padding:20px 13px!important;box-shadow:16px 0 40px #0002}
.side-link{min-height:45px!important;border:1px solid transparent!important;border-left:0!important;border-radius:12px!important;color:#aaa9b4!important;padding:0 13px!important;gap:12px!important;position:relative;transition:.18s ease!important}
.side-link>span{width:19px!important;height:19px!important;font-size:0!important;background:#7f7e8b;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}
.side-link[data-icon="home"]>span{mask-image:url("/assets/icons/home.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/home.svg?v=gameplay-v12")}
.side-link[data-icon="creatures"]>span{mask-image:url("/assets/icons/creatures.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/creatures.svg?v=gameplay-v12")}
.side-link[data-icon="breeding"]>span{mask-image:url("/assets/icons/breeding.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/breeding.svg?v=gameplay-v12")}
.side-link[data-icon="campaign"]>span{mask-image:url("/assets/icons/campaign.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/campaign.svg?v=gameplay-v12")}
.side-link[data-icon="ranked"]>span{mask-image:url("/assets/icons/ranked.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/ranked.svg?v=gameplay-v12")}
.side-link[data-icon="market"]>span{mask-image:url("/assets/icons/market.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/market.svg?v=gameplay-v12")}
.side-link[data-icon="research"]>span{mask-image:url("/assets/icons/research.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/research.svg?v=gameplay-v12")}
.side-link[data-icon="inventory"]>span{mask-image:url("/assets/icons/inventory.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/inventory.svg?v=gameplay-v12")}
.side-link[data-icon="admin"]>span{mask-image:url("/assets/icons/admin.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/admin.svg?v=gameplay-v12")}
.side-link[data-icon="bug"]>span{mask-image:url("/assets/icons/bug.svg?v=gameplay-v12");-webkit-mask-image:url("/assets/icons/bug.svg?v=gameplay-v12")}
.side-link b{font-weight:650;font-size:13px}
.side-link em{margin-left:auto;font-style:normal;font-size:8px;letter-spacing:.12em;color:#77788a;border:1px solid #343649;border-radius:999px;padding:3px 6px}
.side-link.active{background:linear-gradient(90deg,#28263b,#1b1c29)!important;border-color:#48445f!important;color:#f4efe6!important;box-shadow:inset 3px 0 var(--gold),0 7px 20px #0002}
.side-link.active>span{background:var(--gold)!important}
.side-link:hover{background:#1b1c29!important;color:#fff!important}
.side-link.disabled{opacity:.46}
#adminbtn{margin-top:9px;border-top:1px solid #2d2f40!important;border-radius:0!important;padding-top:15px!important}
.server-badge{color:#767784!important;border-top:1px solid #292b39;margin-top:8px}
.workspace{margin-left:var(--sidebar)!important;padding-top:var(--top)!important}
.view{max-width:1540px!important;padding:28px 28px 70px!important}

/* HERO / BANNER */
.trial-hero{min-height:300px!important;border-radius:24px!important;border:1px solid #55506e!important;padding:38px 40px!important;grid-template-columns:minmax(0,1fr) 330px!important;background-image:
 linear-gradient(90deg,#11111bef 0%,#141522df 36%,#17152499 70%,#17152452),
 linear-gradient(180deg,transparent 55%,#0d0e16cc),
 url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12')!important;
background-position:center 54%!important;background-size:cover!important;box-shadow:0 26px 80px #0006,inset 0 1px #ffffff10!important}
.trial-hero:before{display:none!important}
.hero-content h1{font-size:48px!important;max-width:850px;text-shadow:0 3px 22px #000b}
.hero-content>p{color:#c5c2cc!important;font-size:14px!important;max-width:720px}
.section-kicker{color:var(--gold)!important;letter-spacing:.18em!important;font-size:10px!important;font-weight:800}
.prealpha-note{background:#151522d9!important;border:1px solid #5b5574!important;border-radius:18px!important;box-shadow:0 14px 35px #0004!important}
.prealpha-note>b{color:#f1d9a4}
.resource-chip{background:#141622d9!important;border:1px solid #45485f!important;box-shadow:inset 0 1px #fff08!important}
.resource-chip .ui-svg{width:17px;height:17px;color:#caaa64}
.resource-chip small{color:#9795a3!important}

/* PANELS / DASHBOARD */
.dash-grid{grid-template-columns:minmax(0,1.9fr) minmax(320px,.72fr)!important;gap:18px!important}
.game-panel{background:linear-gradient(180deg,#191a27ee,#13141fee)!important;border:1px solid #37394b!important;border-radius:18px!important;box-shadow:0 16px 46px #00027,inset 0 1px #ffffff07!important}
.panel-title p,.next-panel p,.page-head p{color:#9d9ba8!important}
.info-pill,.counter{border-color:#4a4c61!important;color:#c6c3cd!important;background:#12131d!important}
.next-panel{background:radial-gradient(circle at 100% 0,#695a9630,transparent 42%),linear-gradient(180deg,#1b1c2a,#151620)!important}
.next-panel .primary,#nextButton{background:linear-gradient(180deg,#e0b965,#c79644)!important;color:#15120c!important;border:1px solid #f3d38a!important;box-shadow:0 8px 25px #0004;font-weight:800}
.test-tools-drawer{margin-top:18px;border:1px solid #323445;background:#11121be8;border-radius:16px;overflow:hidden}
.test-tools-drawer>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 17px;color:#aaa8b4;font-size:12px;list-style:none}
.test-tools-drawer>summary::-webkit-details-marker{display:none}
.test-tools-drawer>summary span{font-weight:800;color:#d6d2dc}.test-tools-drawer>summary small{color:#7f7d89}
.test-tools-body{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 14px 14px}
.test-tools-body .game-panel{margin:0!important;background:#151620!important}
.checkitem{border-color:#303140!important;color:#92919d!important}.checkitem.done span:first-child{background:#5f547a!important;border-color:#8f80bb!important}

/* CHARACTER CARDS */
.starter-grid{gap:14px!important}
.creature-card{border-radius:18px!important;border:1px solid #414357!important;background:#12131d!important;box-shadow:0 12px 35px #00035!important;overflow:hidden!important}
.creature-card:hover{transform:translateY(-5px)!important;border-color:#77718f!important;box-shadow:0 22px 50px #00065!important}
.creature-art{aspect-ratio:4/3!important;background-image:
 linear-gradient(180deg,rgba(18,16,30,.02),rgba(10,10,18,.48)),
 url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12')!important;
background-size:cover!important;background-position:center 60%!important}
.creature-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 20%,#19152c26 75%,#0a0a11aa 100%)!important;z-index:1;pointer-events:none}
.creature-art:after{background:linear-gradient(180deg,transparent 48%,#11121dec 100%)!important;z-index:2!important}
.pea-portrait{z-index:1!important;inset:1% 4% 0!important}
.pea-portrait img{filter:drop-shadow(0 19px 18px #000b) saturate(1.05) contrast(1.04)!important}
.sex-badge,.rarity-badge{z-index:4!important}
.sex-badge{display:grid!important;place-items:center!important;width:28px;height:28px;border-radius:50%;background:#12131dcc!important;border:1px solid #4d4e61;font-size:0!important}
.sex-badge .sex-icon{width:14px;height:14px;color:#7dc4ec}.sex-badge.female .sex-icon{color:#e88cb8}
.rarity-badge{border-radius:999px!important;background:#10111bd9!important;padding:5px 9px!important;letter-spacing:.06em}
.creature-info{padding:13px 14px 15px!important}
.creature-name{font-size:18px!important}.gps-badge{font-family:ui-sans-serif,system-ui;font-size:9px;color:#d6b86c;border:1px solid #695936;border-radius:999px;padding:4px 7px}
.creature-meta{color:#8e8c98!important;font-size:10px!important}
.trait{border-color:#48495b!important;background:#171823!important;color:#cac7d1!important}
.stat-grid{border-top:1px solid #303140!important;gap:6px!important;padding-top:11px!important}
.stat-mini{position:relative;border:1px solid #2f3142;border-radius:10px;padding:7px 4px 8px;background:#151620}
.stat-mini>.ui-svg{width:12px;height:12px;color:#9c91bb}.stat-mini small{display:inline!important;margin-left:3px;color:#82818d!important}.stat-mini b{display:block;font-size:14px!important;margin-top:2px}
.mini-track{display:block;height:2px;background:#282a38;margin:5px 4px 0;border-radius:9px;overflow:hidden}.mini-track i{display:block;height:100%;background:linear-gradient(90deg,#7868a7,#d4ab5e)}
.card-action{border-top:1px solid #353747!important;background:#181925!important;color:#c9c5d0!important;padding:11px!important;display:flex;align-items:center;justify-content:center;gap:7px}
.card-action .ui-svg{width:13px;height:13px}.card-action:hover{background:#262334!important;color:#f5e8ca!important}
.rarity-frame-LEGENDARY{box-shadow:0 0 0 1px #ad783b66,0 18px 45px #0004!important}
.rarity-frame-MYTHIC{box-shadow:0 0 0 1px #8c5bb866,0 18px 45px #0004!important}
.rarity-frame-EPIC{box-shadow:0 0 0 1px #70549a55,0 18px 45px #0004!important}

/* COLLECTION / HEADERS */
.page-head{margin:8px 0 24px!important}.page-head h1{font-size:40px!important;color:#f2eee6}.big-counter{background:#151620!important;border-color:#414357!important;color:#bcb9c4!important}
.collection-grid{gap:16px!important}

/* CHARACTER DETAIL */
.character-modal{width:min(1040px,calc(100vw - 32px))!important;background:#11121b!important;border:1px solid #4a4b60!important;border-radius:24px!important;box-shadow:0 36px 140px #000e!important}
.character-modal::backdrop{background:#07070dbd!important;backdrop-filter:blur(10px)!important}
.modal-close{background:#1c1d2b!important;border:1px solid #404257!important;color:#d8d5df!important}
.modal-layout{grid-template-columns:46% 54%!important;min-height:610px}
.modal-art{min-height:610px!important;background-image:
 linear-gradient(180deg,rgba(15,13,24,.06),rgba(8,8,14,.42)),
 url('/assets/backgrounds/arena-background-portrait.webp?v=gameplay-v12')!important;background-size:cover!important;background-position:center 49%!important}
.modal-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,#10111bd8 100%);pointer-events:none;z-index:2}
.modal-art-caption{position:absolute;left:18px;right:18px;bottom:17px;z-index:4;display:flex;justify-content:space-between;color:#dbd7df;font-size:10px;font-weight:750;letter-spacing:.07em}
.modal-rarity-glow{position:absolute;inset:0;opacity:.12;z-index:0;background:radial-gradient(circle at 50% 50%,currentColor,transparent 55%)}
.modal-details{padding:34px!important}
.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.modal-details h2{font-size:42px!important}.modal-rarity{position:static!important;white-space:nowrap}
.detail-tabs{display:flex;gap:4px;border-bottom:1px solid #333545;margin:18px 0 22px}.detail-tabs button{border:0;background:transparent;color:#807f8b;padding:10px 10px 11px;font-size:11px;font-weight:750;border-bottom:2px solid transparent}.detail-tabs button.active{color:#f2e6cb;border-color:var(--gold)}.detail-tabs button:disabled{opacity:.34}
.detail-panel{display:none}.detail-panel.active{display:block}
.gbar{grid-template-columns:18px 44px 1fr 46px!important;color:#b5b2bd!important}.gbar>.ui-svg{color:#9b8fc0}.gtrack{background:#292a39!important;height:6px!important}.gfill{background:linear-gradient(90deg,#7465a2,#d5ab5e)!important}
.detail-callouts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.detail-callouts>div{border:1px solid #353747;border-radius:11px;padding:12px;background:#161722}.detail-callouts small{display:block;color:#777683;font-size:9px}.detail-callouts b{font-size:14px}
.carrier-box{border:1px solid #343647!important;border-radius:12px;background:#151620;padding:16px!important;color:#aaa7b3!important}.carrier-box p{line-height:1.6}
.modal-traits{gap:7px!important}.modal-traits .trait{font-size:11px;padding:6px 9px}

/* BREEDING / BIRTH */
.breeder-card,.bug-panel{background:linear-gradient(180deg,#191a27,#13141f)!important;border-color:#393b4d!important}
.dna-orb{border-color:#786aa6!important;color:#c9b9f2!important;background:radial-gradient(circle,#3c315a,#151520 68%)!important;box-shadow:0 0 55px #7564a83d!important}
.birth-reveal{background:linear-gradient(135deg,#282038,#171824)!important;border-color:#725f88!important}.birth-art{background-image:linear-gradient(180deg,#1b17285c,#10111bc9),url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12')!important;background-size:cover!important;background-position:center 56%!important}

/* AUTH */
.auth-backdrop{background:radial-gradient(circle at 70% 20%,#5e4c8c35,transparent 35%),linear-gradient(135deg,#0b0c13 0,#11121d 58%,#181522 100%)!important}
.auth-card{background:linear-gradient(135deg,#131420ed,#181824ed)!important;border-color:#484a60!important}.auth-form{background:#10111ae8!important;border-color:#3f4155!important}

/* MOBILE */
@media(max-width:1100px){:root{--sidebar:214px}.dash-grid{grid-template-columns:1fr!important}.test-tools-body{grid-template-columns:1fr}}
@media(max-width:760px){
 :root{--top:62px}.topbar{background:#0f1019f3!important}.brand-lockup.compact{min-width:auto}.brand-lockup.compact .brand-mark{display:block!important;width:34px!important;height:34px!important}.brand-lockup.compact strong{font-size:13px!important}.brand-lockup.compact span{display:none!important}
 .sidebar{width:238px!important}.workspace{margin-left:0!important}.view{padding:14px 12px 88px!important}
 .trial-hero{min-height:430px!important;padding:23px!important;grid-template-columns:1fr!important;background-position:57% 55%!important}.hero-content h1{font-size:34px!important}
 .starter-grid .creature-card,.starter-grid .creature-card:last-child{min-width:82%!important}
 .collection-grid{grid-template-columns:1fr 1fr!important}.collection-grid .stat-mini{padding:5px 2px}.collection-grid .stat-mini>.ui-svg{display:none}
 .modal-layout{grid-template-columns:1fr!important}.modal-art{min-height:340px!important;max-height:370px!important}.modal-details{padding:21px!important}.modal-heading{display:block}.modal-rarity{margin-top:8px;display:inline-block!important}.detail-tabs{overflow-x:auto}
 .bottom-nav{background:#10111aed!important;border-top-color:#353747!important;backdrop-filter:blur(18px)}
}


/* =========================================================
   PREMIUM POLISH v10
   rarity frames + recent offspring + type + objective polish
   ========================================================= */
:root{
 --rarity-starter:#b98a4e;--rarity-common:#8f98a8;--rarity-uncommon:#38a998;
 --rarity-rare:#3b82e6;--rarity-epic:#8b5bd2;--rarity-legendary:#d59b38;--rarity-mythic:#d94f78;
}
body{font-size:15.5px!important}
.micro,.tiny{font-size:12px!important;line-height:1.45!important}
.side-link b{font-size:14px!important}.panel-title p,.next-panel p{font-size:13px!important;line-height:1.55!important}.creature-meta{font-size:11px!important}.trait{font-size:10px!important;padding:4px 7px!important}.stat-mini small{font-size:9px!important}.card-action{font-size:11.5px!important}

/* Hero: world-facing title, test status demoted to a badge. */
.hero-content h1{margin-bottom:9px!important;letter-spacing:.035em!important}.hero-test-badge{display:inline-flex;margin:0 0 7px;padding:5px 9px;border-radius:999px;border:1px solid #675b82;background:#181726cc;color:#bcb1d8;font-size:9px;font-weight:850;letter-spacing:.12em}.trial-hero{background-position:center 52%!important}.prealpha-note{border-color:#655c7d!important}

/* Next Objective behaves like an actual progression card. */
.next-panel{border-color:#49465f!important;position:relative;overflow:hidden}.next-panel:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-90px;background:#7564a820;filter:blur(6px);pointer-events:none}.next-panel>*{position:relative;z-index:1}.objective-meter{margin:15px 0 16px;padding:12px;border:1px solid #3e4053;border-radius:12px;background:#12131d}.objective-label{display:flex;justify-content:space-between;color:#b9b6c1;font-size:11px}.objective-label b{color:#e0c37e}.objective-track{height:5px;border-radius:99px;background:#292a39;overflow:hidden;margin:8px 0}.objective-track i{display:block;height:100%;background:linear-gradient(90deg,#7564a8,#d8ae5d);border-radius:inherit}.objective-meter small{color:#777684;font-size:10px}

/* Rarity system. Starter is visually distinct but remains outside normal rarity progression. */
.rarity-frame-STARTER{--rarity-color:var(--rarity-starter);--rarity-glow:#b98a4e28}
.rarity-frame-COMMON{--rarity-color:var(--rarity-common);--rarity-glow:#8f98a820}
.rarity-frame-UNCOMMON{--rarity-color:var(--rarity-uncommon);--rarity-glow:#38a99828}
.rarity-frame-RARE{--rarity-color:var(--rarity-rare);--rarity-glow:#3b82e630}
.rarity-frame-EPIC{--rarity-color:var(--rarity-epic);--rarity-glow:#8b5bd234}
.rarity-frame-LEGENDARY{--rarity-color:var(--rarity-legendary);--rarity-glow:#d59b3838}
.rarity-frame-MYTHIC{--rarity-color:var(--rarity-mythic);--rarity-glow:#d94f783c}
.creature-card[class*="rarity-frame-"]{border-color:var(--rarity-color)!important;box-shadow:0 0 0 1px #0008,0 16px 40px #00045,inset 0 0 22px var(--rarity-glow)!important}
.creature-card[class*="rarity-frame-"]:before{content:"";position:absolute;inset:0;border:1px solid var(--rarity-color);border-radius:17px;opacity:.42;pointer-events:none;z-index:7;box-shadow:inset 0 0 18px var(--rarity-glow)}
.rarity-corner{position:absolute;right:0;top:0;width:52px;height:52px;z-index:7;pointer-events:none;background:linear-gradient(225deg,var(--rarity-color) 0 2px,transparent 2px 10px,var(--rarity-color) 10px 11px,transparent 11px);opacity:.72;clip-path:polygon(0 0,100% 0,100% 100%)}
.creature-card[class*="rarity-frame-"]:hover{box-shadow:0 0 0 1px var(--rarity-color),0 0 26px var(--rarity-glow),0 24px 55px #00070!important}
.creature-card[class*="rarity-frame-"] .rarity-badge{color:var(--rarity-color)!important;border-color:var(--rarity-color)!important;box-shadow:0 0 14px var(--rarity-glow)!important}
.rarity-STARTER{color:var(--rarity-starter)!important}.rarity-COMMON{color:var(--rarity-common)!important}.rarity-UNCOMMON{color:var(--rarity-uncommon)!important}.rarity-RARE{color:var(--rarity-rare)!important}.rarity-EPIC{color:var(--rarity-epic)!important}.rarity-LEGENDARY{color:var(--rarity-legendary)!important}.rarity-MYTHIC{color:var(--rarity-mythic)!important}

/* Make fighter silhouette lead, scenery support. */
.creature-art{background-image:linear-gradient(180deg,rgba(8,8,14,.26),rgba(8,8,14,.40) 52%,rgba(7,7,12,.72)),url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12')!important;background-position:center 57%!important}
.creature-art:before{background:radial-gradient(circle at 50% 45%,transparent 15%,rgba(15,12,25,.18) 55%,rgba(5,5,10,.70) 100%)!important}.pea-portrait img{filter:drop-shadow(0 21px 19px #000d) saturate(1.08) contrast(1.06) brightness(1.04)!important}.creature-card:hover .pea-portrait{transform:translateY(-3px) scale(1.018)!important}

/* Recent Offspring: remove old pea-temple green scene and use full-width premium mini cards. */
.lineage-panel,.recent-offspring-panel{grid-column:1/-1!important;width:100%!important}.recent-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.recent-card{position:relative!important;overflow:hidden!important;border:1px solid var(--rarity-color,#424457)!important;border-radius:14px!important;background:#12131d!important;box-shadow:0 10px 28px #0003,inset 0 0 16px var(--rarity-glow,transparent)!important;transition:.18s ease}.recent-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px #00055,0 0 18px var(--rarity-glow,transparent)!important}.recent-visual{height:150px;position:relative;overflow:hidden;background-image:linear-gradient(180deg,rgba(10,9,17,.16),rgba(8,8,13,.58)),url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12')!important;background-size:cover!important;background-position:center 57%!important}.recent-visual .pea-portrait,.recent-card>.pea-portrait{position:absolute!important;inset:3% 7% 0!important;width:auto!important;height:auto!important;background:transparent!important;background-image:none!important;box-shadow:none!important}.recent-visual .pea-portrait img,.recent-card>.pea-portrait img{object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 13px 12px #000c) saturate(1.06)!important}.recent-rarity{position:absolute;top:8px;right:8px;z-index:5;padding:4px 7px;border:1px solid currentColor;border-radius:999px;background:#11121bd9;font-size:8px;font-weight:850;letter-spacing:.08em}.recent-copy{padding:9px 10px 11px!important;display:flex!important;justify-content:space-between;align-items:center;gap:8px}.recent-copy b{font-size:12px!important;display:flex!important;align-items:center;gap:5px}.recent-copy b .ui-svg{width:11px;height:11px}.recent-copy span{font-size:9.5px!important;color:#8d8b97!important;white-space:nowrap}

/* Panel spacing and density. */
.game-panel{padding:18px!important}.panel-title{margin-bottom:15px!important}.starter-grid{gap:15px!important}.dash-grid{align-items:start}.gps-badge{font-size:10px!important;padding:5px 8px!important}.creature-name{font-size:18.5px!important}.stat-mini b{font-size:15px!important}.mini-track{height:3px!important}.page-head p{font-size:13px!important}.bottom-nav button span{font-size:10px!important}

/* Test tools remain developer-facing and visually secondary. */
.test-tools-drawer{grid-column:1/-1!important;opacity:.84}.test-tools-drawer[open]{opacity:1}.test-tools-drawer>summary{min-height:42px}

@media(max-width:1100px){.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){body{font-size:15px!important}.recent-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.recent-card{min-width:72%;scroll-snap-align:start}.recent-visual{height:165px}.creature-meta{font-size:10.5px!important}.trait{font-size:9.5px!important}.hero-test-badge{font-size:8px}.game-panel{padding:15px!important}}


/* =========================================================
   GAMEPLAY VERTICAL SLICE v11 — Campaign / Battle / Training
   ========================================================= */
.ui-training{mask-image:url('/assets/icons/training.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/training.svg?v=gameplay-v12')}
.side-link[data-icon="training"]>span{mask-image:url('/assets/icons/training.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/training.svg?v=gameplay-v12')}
.training-chip .ui-svg{color:#a995dc}

/* Campaign */
.campaign-head{align-items:center!important}.campaign-record,.training-resource{min-width:126px;border:1px solid #47495d;border-radius:14px;background:#151620;padding:11px 15px;text-align:right}.campaign-record span,.training-resource span{display:block;color:#7e7d89;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.campaign-record b,.training-resource b{font-size:19px;color:#e7d5a8}
.campaign-team-panel{margin-bottom:18px}.team-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.team-pick{position:relative;display:grid;grid-template-columns:66px 1fr;align-items:center;gap:10px;text-align:left;border:1px solid #343647;border-radius:13px;background:#14151f;color:#d5d2dc;padding:7px 34px 7px 7px;min-height:82px;transition:.16s}.team-pick:hover{border-color:#5a5870;background:#1a1b28}.team-pick.selected{border-color:#b38f4e;background:linear-gradient(100deg,#211d22,#191927);box-shadow:inset 3px 0 #d8ae5d}.team-pick-art{height:66px;position:relative;overflow:hidden;border-radius:9px;background:linear-gradient(#252136,#11121b)}.team-pick-art .pea-portrait{inset:0!important}.team-pick-copy b{display:block;font-size:13px}.team-pick-copy span,.team-pick-copy small{display:block;color:#898895;font-size:9px;margin-top:3px}.team-pick-copy span .ui-svg{width:10px;height:10px}.team-slot-mark{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid #4a4c60;color:#8d8b98}.team-pick.selected .team-slot-mark{color:#16120b;background:#d8ae5d;border-color:#f0ce83}.campaign-team-actions{display:flex;align-items:center;gap:12px;margin-top:13px}
.campaign-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.62fr);gap:18px;align-items:start}.stage-list{display:grid;gap:8px}.stage-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;text-align:left;background:#14151f;border:1px solid #343647;border-radius:13px;padding:11px 13px;color:#c8c5ce;transition:.16s}.stage-card:hover:not(:disabled){background:#1a1b28;border-color:#56576c}.stage-card.selected{border-color:#8d744b;box-shadow:inset 3px 0 #d8ae5d;background:#1d1b24}.stage-card.completed{border-color:#405b4f}.stage-card.locked{opacity:.38}.stage-number{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#202130;border:1px solid #3e4052;color:#d8ae5d;font-size:12px;font-weight:900}.stage-card b{display:block;font-size:13px;color:#eee9df}.stage-card small{display:block;color:#9997a3;font-size:10px;margin-top:2px}.stage-card div>span{display:block;color:#6f6f7c;font-size:9px;margin-top:5px}.stage-card em{font-style:normal;font-size:8px;font-weight:850;letter-spacing:.1em;color:#8e8c99}.stage-card.completed em{color:#72b48b}.stage-preview-panel{position:sticky;top:calc(var(--top) + 20px)}.stage-preview-panel h2{font-size:28px;margin:5px 0}.stage-preview-panel>p{color:#9a98a4;font-size:12px;line-height:1.55}.enemy-preview{display:grid;gap:7px;margin:15px 0}.enemy-preview-unit{display:flex;align-items:center;gap:8px;border:1px solid #353747;background:#14151f;border-radius:10px;padding:9px}.enemy-preview-unit span{font-size:11px;font-weight:750;color:#ddd9e1}.enemy-preview-unit small{margin-left:auto;color:#a388be;font-size:8px}.enemy-preview-unit b{font-size:8px;color:#777582}.stage-reward{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.stage-reward>div{border:1px solid #413f50;border-radius:10px;background:#11121b;padding:10px}.stage-reward .ui-svg{color:#d8ae5d;margin-right:5px}.stage-reward b{font-size:14px}.stage-reward small{display:block;color:#73717e;font-size:8px;margin-top:4px}

/* Battle replay */
.battle-panel{margin-top:18px!important;background:linear-gradient(180deg,#171824,#10111a)!important}.battle-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.battle-head h2{margin:3px 0;font-size:27px}.replay-controls{display:flex;border:1px solid #383a4d;border-radius:10px;overflow:hidden}.replay-controls button{border:0;border-right:1px solid #383a4d;background:#12131d;color:#84828f;padding:7px 10px;font-size:10px}.replay-controls button:last-child{border-right:0}.replay-controls button.active{background:#2d2940;color:#e8dcbf}.battle-result-banner{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:13px 0;border:1px solid #3b3d4e;border-radius:11px;background:#12131c;padding:10px 13px;color:#92909d}.battle-result-banner b{font-family:Georgia,serif;font-size:21px;letter-spacing:.07em}.battle-result-banner.victory{border-color:#5a765f;background:#17231d;color:#bce0c3}.battle-result-banner.victory b{color:#7dc58b}.battle-result-banner.defeat{border-color:#744b55;background:#25171c;color:#deb8c0}.battle-result-banner.defeat b{color:#df6a7c}.battle-arena{min-height:380px;display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:12px;border:1px solid #393a4c;border-radius:17px;padding:18px;background-image:linear-gradient(90deg,#151623d8,#15162393 42%,#20162093 58%,#16131ed8),url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12');background-size:cover;background-position:center 57%;overflow:hidden}.battle-side-label{display:block;color:#9e99ab;font-size:9px;letter-spacing:.14em;margin-bottom:8px}.enemy-label{text-align:right;color:#bc8693}.battle-team{display:flex;align-items:flex-end;gap:7px;justify-content:flex-start}.enemy-team{justify-content:flex-end;flex-direction:row-reverse}.battle-vs{text-align:center;font-family:Georgia,serif;font-size:24px;color:#d4ad63;text-shadow:0 3px 15px #000}.battle-fighter{width:min(118px,19%);min-width:76px;transition:.13s;position:relative;text-align:center}.battle-fighter-art{height:180px;position:relative;overflow:hidden;border-radius:12px 12px 5px 5px;background:linear-gradient(180deg,#29253b88,#10111add);border:1px solid #4b4860}.battle-fighter.enemy .battle-fighter-art{border-color:#654654;background:linear-gradient(180deg,#3b243088,#121019dd)}.battle-fighter-art .pea-portrait{inset:1% 1% 0!important}.battle-fighter.enemy .portrait-base{filter:drop-shadow(0 17px 15px #000c) saturate(.92) contrast(1.08) hue-rotate(18deg)!important}.battle-fighter>b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;margin:5px 0 3px}.battle-hp{height:5px;border-radius:99px;background:#342f39;overflow:hidden}.battle-hp i{display:block;height:100%;background:linear-gradient(90deg,#65a96d,#98d178);transition:width .18s}.battle-fighter.enemy .battle-hp i{background:linear-gradient(90deg,#b25062,#df7b86)}.battle-fighter small{font-size:7px;color:#898691}.battle-fighter.acting{transform:translateY(-5px) scale(1.035)}.battle-fighter.hit{animation:battleHit .2s linear}.battle-fighter.defeated{filter:grayscale(.7);opacity:.33;transform:translateY(7px)}@keyframes battleHit{0%{filter:brightness(1)}45%{filter:brightness(1.8) saturate(.5)}100%{filter:brightness(1)}}.battle-feed-wrap{border:1px solid #303242;border-radius:11px;background:#101119;margin-top:12px;min-height:112px;overflow:hidden}.battle-feed{padding:8px 11px;display:grid;gap:4px}.battle-event{font-size:9px;color:#92909b;border-bottom:1px solid #232431;padding:4px 0}.battle-event:last-child{border-bottom:0}.battle-event b{color:#d3ced8}.battle-event strong{color:#d8ae5d}.battle-event.crit strong{color:#e07a8d}.battle-event small{color:#8d78b2;margin-left:5px}

/* Training */
.training-layout{display:grid;grid-template-columns:minmax(300px,.55fr) minmax(0,1.35fr);gap:18px}.training-roster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.training-roster-card{border:1px solid #353747;border-radius:12px;background:#14151f;color:#c7c4cd;padding:7px;text-align:left}.training-roster-card>div{height:115px;position:relative;overflow:hidden;border-radius:8px;background-image:linear-gradient(#15152199,#10111dcc),url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12');background-size:cover;background-position:center}.training-roster-card .pea-portrait{inset:1% 4% 0!important}.training-roster-card b{display:block;font-size:11px;margin-top:6px}.training-roster-card span{display:block;font-size:8px;color:#85838f}.training-roster-card.selected{border-color:#d1a957;box-shadow:inset 0 0 15px #d8ae5d16}.training-character-head{display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:center;border-bottom:1px solid #303242;padding-bottom:16px;margin-bottom:14px}.training-character-art{height:205px;position:relative;border-radius:13px;overflow:hidden;background-image:linear-gradient(#12121b33,#10111da8),url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12');background-size:cover;background-position:center}.training-character-art .pea-portrait{inset:0!important}.training-character-head h2{font-size:30px;margin:5px 0}.training-character-head p{color:#92909b;font-size:11px}.training-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.training-stat{border:1px solid #353747;border-radius:12px;background:#14151f;padding:12px}.training-stat-head{display:grid;grid-template-columns:17px 1fr auto;gap:7px;align-items:center}.training-stat-head .ui-svg{color:#998abf}.training-stat-head b{font-size:12px}.training-stat-head span{font-size:11px;color:#e1d4b3}.training-progress{height:6px;background:#2a2b39;border-radius:99px;overflow:hidden;margin:10px 0 5px}.training-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#7564a8,#d8ae5d)}.training-stat small{color:#85838f;font-size:9px}.training-stat button{width:100%;margin-top:11px;font-size:9px;padding:8px}.training-stat button:disabled{opacity:.42;cursor:not-allowed}

/* Bottom navigation icons for gameplay slice */
.bottom-nav button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important}.bottom-nav button>span{width:18px!important;height:18px!important;background:#83818e;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.bottom-nav button[data-icon="home"]>span{mask-image:url('/assets/icons/home.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/home.svg?v=gameplay-v12')}.bottom-nav button[data-icon="campaign"]>span{mask-image:url('/assets/icons/campaign.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/campaign.svg?v=gameplay-v12')}.bottom-nav button[data-icon="creatures"]>span{mask-image:url('/assets/icons/creatures.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/creatures.svg?v=gameplay-v12')}.bottom-nav button[data-icon="breeding"]>span{mask-image:url('/assets/icons/breeding.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/breeding.svg?v=gameplay-v12')}.bottom-nav button[data-icon="training"]>span{mask-image:url('/assets/icons/training.svg?v=gameplay-v12');-webkit-mask-image:url('/assets/icons/training.svg?v=gameplay-v12')}.bottom-nav button.active>span{background:#e2c071}.bottom-nav button small{font-size:8px;color:inherit}

@media(max-width:1050px){.campaign-layout,.training-layout{grid-template-columns:1fr}.stage-preview-panel{position:static}.battle-arena{grid-template-columns:1fr;gap:8px}.battle-vs{font-size:15px}.battle-side-label,.enemy-label{text-align:left}.enemy-team{justify-content:flex-start;flex-direction:row}.battle-fighter{width:110px}.training-roster-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.team-picker{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.team-pick{min-width:78%;scroll-snap-align:start}.stage-card{grid-template-columns:42px 1fr}.stage-card em{grid-column:2}.campaign-record,.training-resource{min-width:100px}.battle-arena{padding:10px}.battle-team,.enemy-team{overflow-x:auto;padding-bottom:5px}.battle-fighter{min-width:92px;width:92px}.battle-fighter-art{height:145px}.training-roster-grid{display:flex;overflow-x:auto}.training-roster-card{min-width:42%}.training-character-head{grid-template-columns:130px 1fr;gap:12px}.training-character-art{height:160px}.training-stats{grid-template-columns:1fr}.stage-reward{grid-template-columns:1fr 1fr}.bottom-nav{height:68px!important}.bottom-nav button small{font-size:8px!important}}
.formation-order{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 11px}.formation-chip{display:flex;align-items:center;gap:7px;border:1px solid #3b3d4e;border-radius:999px;background:#11121b;padding:5px 7px 5px 5px}.formation-chip>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#d8ae5d;color:#17130d;font-size:9px;font-weight:900}.formation-chip b{font-size:10px;color:#d4d1d9}.formation-chip button{border:0;background:#232432;color:#9795a2;border-radius:50%;width:22px;height:22px;padding:0}.formation-chip button:disabled{opacity:.25}.formation-chip button:hover:not(:disabled){background:#353647;color:#eee9df}
@media(max-width:760px){.formation-order{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.formation-chip{min-width:max-content}}

/* =========================================================
   v12 STRATEGY + 3D BATTLEFIELD
   ========================================================= */
.team-power-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.team-power-pill{min-width:122px;border:1px solid #5e536f;border-radius:12px;padding:8px 11px;background:linear-gradient(180deg,#1f1c2c,#151620);box-shadow:inset 0 1px #ffffff0b;text-align:right}
.team-power-pill small{display:block;font-size:8px;letter-spacing:.14em;color:#8f879b}.team-power-pill b{display:block;margin-top:2px;font-size:18px;color:#f1d08a;letter-spacing:.03em}
.team-pick-copy em{display:block;margin-top:5px;font-style:normal;font-size:8px;letter-spacing:.10em;color:#c8a963}
.power-compare{display:grid;grid-template-columns:1fr 42px 1fr;gap:8px;align-items:stretch;margin:15px 0 8px}
.power-side{border:1px solid #3f4154;border-radius:12px;background:#13141e;padding:11px 12px;display:flex;justify-content:space-between;align-items:end;gap:10px}.power-side small{font-size:8px;letter-spacing:.13em;color:#777582}.power-side b{font-size:20px}.power-side.player b{color:#ead19c}.power-side.enemy{border-color:#57404d}.power-side.enemy b{color:#e39aab}.power-vs{display:grid;place-items:center;color:#7f7b88;font-size:10px;font-weight:900}.power-disclaimer{font-size:9px!important;color:#797783!important;line-height:1.45!important;margin:0 0 14px!important}

/* 3D perspective battlefield. Character art remains a transparent billboard so
   the existing collectible artwork is preserved while the battlefield gains depth. */
.battle-arena-3d{height:610px!important;min-height:610px!important;display:block!important;position:relative!important;padding:0!important;perspective:1050px;perspective-origin:50% 36%;overflow:hidden!important;background-image:linear-gradient(180deg,#0c0d17a8 0%,#17132245 38%,#090a11d8 100%),url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12')!important;background-size:cover!important;background-position:center 54%!important;isolation:isolate}
.battle-arena-3d:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#5b51871a,transparent 28%,transparent 72%,#8a445119),radial-gradient(circle at 50% 45%,transparent 0 26%,#0809105e 78%);z-index:1;pointer-events:none}
.arena-depth-haze{position:absolute;left:5%;right:5%;top:34%;height:22%;background:radial-gradient(ellipse at center,#b7a6d51c,transparent 68%);filter:blur(18px);z-index:1;pointer-events:none}
.arena-floor-3d{position:absolute;left:-14%;right:-14%;bottom:-27%;height:76%;transform:rotateX(68deg) translateZ(-70px);transform-origin:50% 100%;background:radial-gradient(circle at 50% 25%,#aa8bcb26,transparent 28%),repeating-radial-gradient(ellipse at 50% 12%,#b99a5e22 0 2px,transparent 2px 78px),linear-gradient(90deg,transparent 49.8%,#d4ae6b23 50%,transparent 50.2%);border-top:1px solid #9d80604a;box-shadow:inset 0 35px 80px #0009;z-index:1;pointer-events:none}
.arena-center-rune{position:absolute;left:50%;bottom:15%;width:190px;height:92px;transform:translateX(-50%) rotateX(67deg);border:2px solid #a98b6070;border-radius:50%;box-shadow:0 0 28px #7e6bb12e,inset 0 0 25px #b7955e19;z-index:2;pointer-events:none}.arena-center-rune:after{content:"";position:absolute;inset:20%;border:1px solid #a98b6060;transform:rotate(45deg)}
.battle-power-hud{position:absolute;top:18px;z-index:8;display:flex;align-items:center;gap:9px;border:1px solid #47495d;border-radius:999px;padding:8px 12px;background:#10111bdb;backdrop-filter:blur(9px);box-shadow:0 8px 24px #0005}.battle-power-hud span{font-size:8px;letter-spacing:.13em;color:#85838f}.battle-power-hud b{font-size:15px}.battle-power-hud.player{left:18px}.battle-power-hud.player b{color:#ecd18f}.battle-power-hud.enemy{right:18px;border-color:#5a414c}.battle-power-hud.enemy b{color:#e78ca1}
.battle-label-player,.battle-label-enemy{position:absolute!important;top:64px!important;z-index:8!important;margin:0!important}.battle-label-player{left:22px}.battle-label-enemy{right:22px;text-align:right!important}.battle-vs-3d{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:3;font-size:27px!important;color:#d6b56d!important;opacity:.56;text-shadow:0 5px 22px #000!important}
.battle-team-3d{position:absolute!important;inset:0!important;display:block!important;z-index:5!important;overflow:visible!important}
.battle-fighter{position:absolute!important;width:142px!important;min-width:0!important;text-align:center!important;transition:opacity .28s,filter .28s!important;z-index:5;transform-style:preserve-3d}
.battle-avatar{position:relative;transition:transform .20s cubic-bezier(.2,.8,.2,1),filter .16s;transform-style:preserve-3d;will-change:transform}
.battle-fighter-art{height:210px!important;position:relative;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;filter:none!important}
.battle-fighter-art .pea-portrait{inset:-2% -4% 0!important}.battle-fighter-art .portrait-base{filter:drop-shadow(0 19px 13px #000d) saturate(1.04) contrast(1.03)!important}
.battle-shadow{position:absolute;left:17%;right:17%;bottom:37px;height:20px;border-radius:50%;background:#000b;filter:blur(9px);transform:rotateX(72deg);z-index:-1}
.battle-nameplate{position:relative;z-index:3;margin:-7px auto 0;width:92%;padding:6px 8px 7px;border:1px solid #45475a;border-radius:9px;background:#10111bdc;box-shadow:0 8px 18px #0006;backdrop-filter:blur(6px)}.battle-fighter.enemy .battle-nameplate{border-color:#604553;background:#171019df}.battle-nameplate>b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;margin:0 0 4px;color:#e2dee6}.battle-hp{height:5px!important}.battle-nameplate small{display:block;margin-top:3px;font-size:7px;color:#85838f}
/* formation depth: slot 0 is closest to center, rear slots step backward and upward */
.player-team .slot-0{left:39%;bottom:13%;z-index:9;transform:scale(1.08)}.player-team .slot-1{left:27%;bottom:7%;z-index:8;transform:scale(.98)}.player-team .slot-2{left:18%;bottom:25%;z-index:7;transform:scale(.88)}.player-team .slot-3{left:7%;bottom:14%;z-index:6;transform:scale(.80)}.player-team .slot-4{left:4%;bottom:36%;z-index:5;transform:scale(.70)}
.enemy-team .slot-0{right:39%;bottom:13%;z-index:9;transform:scale(1.08)}.enemy-team .slot-1{right:27%;bottom:7%;z-index:8;transform:scale(.98)}.enemy-team .slot-2{right:18%;bottom:25%;z-index:7;transform:scale(.88)}.enemy-team .slot-3{right:7%;bottom:14%;z-index:6;transform:scale(.80)}.enemy-team .slot-4{right:4%;bottom:36%;z-index:5;transform:scale(.70)}
.battle-fighter.player.acting .battle-avatar{transform:translate3d(48px,-11px,90px) scale(1.08);filter:brightness(1.08)}.battle-fighter.enemy.acting .battle-avatar{transform:translate3d(-48px,-11px,90px) scale(1.08);filter:brightness(1.08)}
.battle-fighter.hit .battle-avatar{animation:v12Hit .26s linear}.battle-fighter.critical-hit .battle-avatar{filter:brightness(1.5) saturate(1.3)}.battle-fighter.defeated{opacity:.22!important;filter:grayscale(.8)!important}.battle-fighter.defeated .battle-avatar{transform:translateY(18px) rotateZ(7deg) scale(.92)!important}
@keyframes v12Hit{0%{transform:translateX(0)}25%{transform:translateX(-7px) rotateZ(-2deg)}50%{transform:translateX(7px) rotateZ(2deg)}100%{transform:translateX(0)}}
.battle-event small{color:#a999cc!important}

@media(max-width:1050px){.battle-arena-3d{height:560px!important;min-height:560px!important}.battle-fighter{width:118px!important}.battle-fighter-art{height:180px!important}.player-team .slot-0{left:37%}.enemy-team .slot-0{right:37%}.player-team .slot-4{left:1%}.enemy-team .slot-4{right:1%}}
@media(max-width:760px){.team-power-summary{width:100%;justify-content:flex-start}.team-power-pill{text-align:left}.power-compare{grid-template-columns:1fr 32px 1fr}.battle-arena-3d{height:500px!important;min-height:500px!important;perspective:800px}.battle-fighter{width:86px!important}.battle-fighter-art{height:138px!important}.battle-nameplate{padding:4px 5px}.battle-nameplate>b{font-size:7px}.battle-power-hud{top:10px;padding:6px 8px}.battle-power-hud span{font-size:6px}.battle-power-hud b{font-size:11px}.battle-label-player,.battle-label-enemy{top:49px!important;font-size:7px!important}.player-team .slot-0{left:36%;bottom:17%;transform:scale(1.02)}.player-team .slot-1{left:24%;bottom:9%;transform:scale(.90)}.player-team .slot-2{left:14%;bottom:29%;transform:scale(.81)}.player-team .slot-3{left:3%;bottom:17%;transform:scale(.70)}.player-team .slot-4{left:1%;bottom:42%;transform:scale(.61)}.enemy-team .slot-0{right:36%;bottom:17%;transform:scale(1.02)}.enemy-team .slot-1{right:24%;bottom:9%;transform:scale(.90)}.enemy-team .slot-2{right:14%;bottom:29%;transform:scale(.81)}.enemy-team .slot-3{right:3%;bottom:17%;transform:scale(.70)}.enemy-team .slot-4{right:1%;bottom:42%;transform:scale(.61)}.battle-vs-3d{font-size:18px!important}}
.tactical-summary{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.tactic-chip{font-size:8px;line-height:1.35;color:#aaa8b3;border:1px solid #3c3e50;border-radius:999px;padding:6px 8px;background:#12131c}.tactic-chip.shield,.tactic-chip.leader{color:#dbc78f;border-color:#6e5b35}.tactic-chip.warning{color:#e3a0aa;border-color:#65404a}.tactic-chip.hunter,.tactic-chip.speed,.tactic-chip.target,.tactic-chip.attack,.tactic-chip.formation{color:#b9add8;border-color:#51476a}.enemy-preview-unit em{display:block;width:100%;font-style:normal;font-size:7px;color:#9b88bc;letter-spacing:.03em;margin-top:3px}

/* =========================================================
   v13 ROSTER MANAGEMENT + DRAG FORMATION + REPLAY PACE
   ========================================================= */
.ui-recycle{mask-image:url('/assets/icons/recycle.svg?v=roster-v13-2');-webkit-mask-image:url('/assets/icons/recycle.svg?v=roster-v13-2')}
.ui-rename{mask-image:url('/assets/icons/rename.svg?v=roster-v13-2');-webkit-mask-image:url('/assets/icons/rename.svg?v=roster-v13-2')}
.ui-filter{mask-image:url('/assets/icons/filter.svg?v=roster-v13-2');-webkit-mask-image:url('/assets/icons/filter.svg?v=roster-v13-2')}
.ui-sort{mask-image:url('/assets/icons/sort.svg?v=roster-v13-2');-webkit-mask-image:url('/assets/icons/sort.svg?v=roster-v13-2')}
.ui-fragment{mask-image:url('/assets/icons/fragment.svg?v=roster-v13-2');-webkit-mask-image:url('/assets/icons/fragment.svg?v=roster-v13-2')}
.top-chip.fragments .ui-svg,.fragment-chip .ui-svg{color:#d8a86e}

/* Collection filters */
.collection-toolbar{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(5,minmax(120px,.72fr)) auto;gap:9px;align-items:center;padding:12px!important;margin:-7px 0 17px;background:linear-gradient(180deg,#171824,#12131c)!important}
.collection-toolbar input,.collection-toolbar select,.team-roster-toolbar input,.team-roster-toolbar select{width:100%;height:38px;border:1px solid #3b3d50;border-radius:10px;background:#10111a;color:#d7d4de;padding:0 10px;outline:none}
.collection-toolbar input:focus,.collection-toolbar select:focus,.team-roster-toolbar input:focus,.team-roster-toolbar select:focus{border-color:#7564a8;box-shadow:0 0 0 2px #7564a824}
.collection-search{position:relative}.collection-search .ui-svg{position:absolute;left:11px;top:12px;color:#8f889f;width:14px;height:14px}.collection-search input{padding-left:34px}
.compact-btn{height:38px;padding:0 13px!important}.empty-roster{grid-column:1/-1;display:grid;place-items:center;text-align:center;min-height:180px;border:1px dashed #3b3d4f;border-radius:15px;color:#8e8c99;background:#11121a}.empty-roster b{color:#d1ced8}.empty-roster span{font-size:11px}.empty-roster.compact{min-height:90px}

/* Campaign roster filters */
.team-roster-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 150px 150px;gap:8px;margin:13px 0 10px}.team-picker{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px!important;overflow:visible!important}.team-pick{min-width:0!important}

/* Formation board: battle-scene-like, draggable front/rear order */
.formation-order{display:block!important;margin:4px 0 12px!important;overflow:visible!important}.formation-stage{border:1px solid #414256;border-radius:17px;overflow:hidden;background:#101119;box-shadow:inset 0 1px #ffffff08}.formation-stage-top{height:38px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 14px;border-bottom:1px solid #323344;color:#817f8b;font-size:9px;letter-spacing:.12em}.formation-stage-top span:last-child{text-align:right;color:#d8ae5d}.formation-stage-top small{font-size:9px;color:#aaa6b2;letter-spacing:.02em}.formation-arena{height:360px;position:relative;overflow:hidden;isolation:isolate;background-image:linear-gradient(180deg,#0f101a42,#11121bc4),url('/assets/backgrounds/arena-background-wide.webp?v=roster-v13-2');background-size:cover;background-position:center 57%;perspective:900px}.formation-arena:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 62% 70%,transparent 0 22%,#0b0c1455 72%);z-index:0;pointer-events:none}.formation-depth-grid{position:absolute;left:7%;right:7%;bottom:-35%;height:78%;transform:rotateX(68deg);transform-origin:center top;border:1px solid #c7a65b22;background-image:linear-gradient(#c7a65b14 1px,transparent 1px),linear-gradient(90deg,#c7a65b14 1px,transparent 1px);background-size:44px 44px;z-index:0}.formation-direction{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.22em;color:#9d875e;z-index:2}
.formation-drop-slot{position:absolute;width:150px;height:205px;z-index:2;transition:.18s ease;border-radius:15px}.formation-drop-slot.empty{border:1px dashed #7b75933d;background:#17172555}.formation-drop-slot.drag-over{outline:2px solid #d8ae5d;box-shadow:0 0 28px #d8ae5d3b;background:#d8ae5d12}.formation-drop-slot.slot-0{right:8%;bottom:10%;transform:scale(1.05)}.formation-drop-slot.slot-1{right:27%;bottom:7%;transform:scale(.93)}.formation-drop-slot.slot-2{left:42%;bottom:22%;transform:scale(.83)}.formation-drop-slot.slot-3{left:22%;bottom:13%;transform:scale(.73)}.formation-drop-slot.slot-4{left:5%;bottom:35%;transform:scale(.64)}
.formation-fighter{position:absolute;inset:0;touch-action:none;user-select:none;cursor:grab;border:1px solid #4c4d61;border-radius:14px;background:linear-gradient(180deg,#25243866,#11121bd9);box-shadow:0 14px 25px #0007;overflow:hidden}.formation-fighter:active,.formation-fighter.dragging{cursor:grabbing;opacity:.8;box-shadow:0 0 0 2px #d8ae5d,0 20px 45px #0009}.formation-mini-art{height:142px;position:relative;overflow:hidden}.formation-mini-art .pea-portrait{inset:0!important}.formation-mini-copy{position:absolute;left:7px;right:7px;bottom:7px;background:#10111bdc;border:1px solid #353647;border-radius:8px;padding:5px 7px}.formation-mini-copy b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.formation-mini-copy span{display:block;font-size:7px;color:#908e99;margin-top:2px}.formation-number{position:absolute;left:7px;top:7px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#d8ae5d;color:#17130d;font-size:10px;font-weight:900;z-index:6}.formation-remove{position:absolute;right:6px;top:6px;width:24px;height:24px;border:1px solid #545467;border-radius:50%;background:#10111bd9;color:#a7a4af;z-index:6;line-height:1;padding:0}.formation-remove:hover{color:#fff;background:#6a3540}.formation-empty{position:absolute;inset:0;display:grid;place-items:center;align-content:center;color:#6f6c79;gap:5px}.formation-empty span{width:32px;height:32px;border:1px dashed #777285;border-radius:50%;display:grid;place-items:center}.formation-empty b{font-size:7px;letter-spacing:.12em}.formation-hint{margin:0;padding:8px 12px;border-top:1px solid #303141;color:#807e8a;font-size:9px;background:#12131c}.formation-dragging{cursor:grabbing!important}

/* Character owner actions */
.character-classline{display:flex;gap:8px;align-items:center;margin-top:7px}.character-classline span{font-size:10px;color:#a9a5b0}.character-classline b{font-size:9px;color:#d8ae5d;border:1px solid #5c4d32;border-radius:999px;padding:4px 7px}.owner-character-actions{margin-top:22px;padding-top:17px;border-top:1px solid #343647;display:grid;gap:10px}.owner-character-actions .btn{display:inline-flex;align-items:center;gap:7px}.owner-character-actions .ui-svg{width:13px;height:13px}.rename-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rename-editor{display:flex;gap:7px;flex:1;min-width:260px}.rename-editor input{flex:1;min-width:130px;height:38px;border:1px solid #3c3e51;border-radius:9px;background:#10111a;color:#eeeaf2;padding:0 10px}.btn.danger{background:linear-gradient(180deg,#743e4c,#5a2e39)!important;border:1px solid #9c5968!important;color:#f7dfe4!important}.btn.danger:disabled{opacity:.35;filter:grayscale(.4)}.recycle-note{margin:0!important}.recycle-btn{justify-self:start}

/* Professional confirm modal */
.confirm-modal{width:min(480px,calc(100vw - 28px));border:1px solid #4b4c60;border-radius:20px;background:#11121b;color:#f1edf4;padding:0;box-shadow:0 32px 120px #000d}.confirm-modal::backdrop{background:#07070dc4;backdrop-filter:blur(7px)}.confirm-card{padding:26px}.confirm-card h2{font-size:27px;margin:5px 0 9px}.confirm-card p{font-size:12px;line-height:1.6;color:#aaa7b2}.confirm-reward{border:1px solid #574c36;background:#1a1720;border-radius:12px;padding:13px;display:flex;gap:8px;align-items:center;color:#d8ae5d}.confirm-reward .ui-svg{width:17px;height:17px}.confirm-reward span{margin-left:auto;font-size:9px;color:#918d99}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

/* Toasts */
.toast-stack{position:fixed;right:20px;bottom:22px;z-index:250;display:grid;gap:8px}.toast{min-width:260px;max-width:390px;padding:11px 14px;border:1px solid #414356;border-radius:11px;background:#151621;color:#d5d1da;box-shadow:0 16px 48px #0008;opacity:0;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}.toast.success{border-color:#4d7359}.toast.error{border-color:#81515d;color:#f1c8d0}

/* Replay pacing: 1x deliberately cinematic; 4x approximately old normal speed */
#battleReplay{--battle-motion:.72s}.battle-fighter{transition:transform var(--battle-motion) ease,opacity .28s,filter .28s!important}.battle-fighter.hit{animation-duration:var(--battle-motion)!important}.battle-hp i{transition:width var(--battle-motion) ease!important}

@media(max-width:1100px){.collection-toolbar{grid-template-columns:1fr 1fr 1fr}.collection-search{grid-column:1/-1}.team-roster-toolbar{grid-template-columns:1fr 1fr}.team-roster-toolbar .collection-search{grid-column:1/-1}.formation-arena{height:335px}.formation-drop-slot{width:134px;height:188px}}
@media(max-width:760px){.collection-toolbar{grid-template-columns:1fr 1fr;gap:7px}.collection-toolbar .collection-search{grid-column:1/-1}.collection-toolbar .compact-btn{grid-column:1/-1}.team-roster-toolbar{grid-template-columns:1fr 1fr}.team-roster-toolbar .collection-search{grid-column:1/-1}.team-picker{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory}.team-pick{min-width:78%!important;scroll-snap-align:start}.formation-stage-top{grid-template-columns:auto 1fr auto;padding:0 8px}.formation-stage-top small{text-align:center}.formation-arena{height:290px}.formation-drop-slot{width:105px;height:154px}.formation-mini-art{height:105px}.formation-drop-slot.slot-0{right:2%;bottom:9%;transform:scale(.96)}.formation-drop-slot.slot-1{right:22%;bottom:5%;transform:scale(.86)}.formation-drop-slot.slot-2{left:37%;bottom:24%;transform:scale(.75)}.formation-drop-slot.slot-3{left:17%;bottom:14%;transform:scale(.66)}.formation-drop-slot.slot-4{left:0;bottom:38%;transform:scale(.57)}.formation-mini-copy span{display:none}.rename-editor{min-width:100%;flex-wrap:wrap}.toast-stack{left:10px;right:10px;bottom:78px}.toast{min-width:0;max-width:none}.confirm-reward{align-items:flex-start;flex-wrap:wrap}.confirm-reward span{width:100%;margin-left:25px}}

@media(max-width:760px){.top-chip.fragments{display:none!important}}
.formation-drag-ghost{position:fixed!important;width:140px!important;height:190px!important;z-index:999!important;pointer-events:none!important;transform:translate(-50%,-50%) scale(.86)!important;opacity:.9!important;box-shadow:0 0 0 2px #d8ae5d,0 24px 70px #000d!important;background:#151621!important;border-radius:14px!important;overflow:hidden!important}.formation-drag-ghost .formation-mini-art{height:132px!important}


/* v13.1 Formation drag reliability + compact icon stats */
.team-pick-copy{min-width:0}
.team-pick-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-pick-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:6px;max-width:190px}
.team-pick-stat{height:23px;display:flex!important;align-items:center;justify-content:center;gap:4px!important;border:1px solid #313344;border-radius:7px;background:#11121b!important;color:#bab7c2!important;margin:0!important;font-size:8px!important}
.team-pick-stat .ui-svg{width:10px!important;height:10px!important;color:#9b8fc0!important;flex:0 0 auto}
.team-pick-stat b{font-size:9px!important;color:#e6e2e9!important;line-height:1!important}
.team-pick-copy em{margin-top:6px!important}
.formation-fighter,.formation-fighter *{-webkit-user-drag:none!important}
.formation-fighter{touch-action:none!important;cursor:grab!important}
.formation-dragging,.formation-dragging *{cursor:grabbing!important;user-select:none!important}
.formation-drop-slot.drag-active{outline:1px dashed #7c708d55;outline-offset:2px}
.formation-drop-slot.drag-source{opacity:.38;filter:saturate(.55)}
.formation-drop-slot.drag-over{outline:3px solid #d8ae5d!important;outline-offset:3px!important;box-shadow:0 0 0 1px #fff2,0 0 34px #d8ae5d66!important;background:#d8ae5d18!important}
.formation-drag-ghost{z-index:10000!important;pointer-events:none!important;will-change:left,top;filter:drop-shadow(0 26px 28px #000b)}
.formation-stage-top small:after{content:' · grab a fighter and drop it on another slot';color:#6f6c79}
@media(max-width:760px){.team-pick-stats{max-width:none}.formation-stage-top small:after{content:''}.formation-fighter{touch-action:none!important}}


/* =========================================================
   v13.2 FORMATION CLARITY + ROSTER STAT ALIGNMENT
   ========================================================= */

/* Typography clarity across tactical UI */
.formation-stage,
.formation-stage-top,
.formation-mini-copy,
.formation-hint,
.team-pick,
.team-pick-copy,
.team-pick-stats{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
}

/*
 * Important: v13.1 scaled the whole formation slot to create depth.
 * That also raster-scaled name/power text and made it blurry.
 * v13.2 uses true dimensions instead, so HUD text stays native-resolution.
 */
.formation-drop-slot{
  transform:none!important;
  transform-origin:center bottom!important;
  transition:left .18s ease,right .18s ease,bottom .18s ease,width .18s ease,height .18s ease,opacity .18s ease,filter .18s ease!important;
}
.formation-drop-slot.slot-0{right:7%!important;left:auto!important;bottom:8%!important;width:158px!important;height:218px!important}
.formation-drop-slot.slot-1{right:25.5%!important;left:auto!important;bottom:7%!important;width:144px!important;height:198px!important}
.formation-drop-slot.slot-2{left:42%!important;right:auto!important;bottom:21%!important;width:130px!important;height:180px!important}
.formation-drop-slot.slot-3{left:22.5%!important;right:auto!important;bottom:13%!important;width:116px!important;height:162px!important}
.formation-drop-slot.slot-4{left:6%!important;right:auto!important;bottom:34%!important;width:104px!important;height:146px!important}

.formation-fighter{
  border-radius:13px!important;
  background:linear-gradient(180deg,rgba(37,36,56,.34),rgba(15,16,26,.86))!important;
  box-shadow:0 15px 28px rgba(0,0,0,.52)!important;
  contain:layout paint;
}
.formation-mini-art{
  height:calc(100% - 47px)!important;
  min-height:82px!important;
}
.formation-mini-art .portrait-base{
  image-rendering:auto!important;
  backface-visibility:hidden;
}

/* Crisp tactical HUD, visually separated from perspective art. */
.formation-mini-copy{
  left:6px!important;
  right:6px!important;
  bottom:6px!important;
  min-height:38px!important;
  padding:6px 7px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:rgba(13,14,23,.94)!important;
  border:1px solid rgba(95,96,120,.72)!important;
  border-radius:8px!important;
  box-shadow:0 5px 16px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.035)!important;
  backdrop-filter:none!important;
}
.formation-mini-copy b{
  display:block!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:750!important;
  color:#f0edf3!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.formation-mini-copy span{
  display:block!important;
  margin-top:3px!important;
  font-size:7.5px!important;
  line-height:1!important;
  color:#aaa7b2!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.formation-number{
  width:26px!important;height:26px!important;
  font-size:10px!important;
  box-shadow:0 4px 14px rgba(0,0,0,.45)!important;
}
.formation-stage-top{
  height:42px!important;
  font-size:10px!important;
  line-height:1!important;
}
.formation-stage-top small{
  font-size:10px!important;
  color:#b2afba!important;
}
.formation-stage-top small:after{font-size:9px!important}
.formation-hint{
  padding:10px 13px!important;
  font-size:10px!important;
  line-height:1.35!important;
  color:#96939f!important;
}
.formation-direction{font-size:9px!important;font-weight:700!important}

/* Roster cards: a single four-column stat rail with exact alignment. */
.team-pick{
  grid-template-columns:66px minmax(0,1fr)!important;
  gap:10px!important;
  min-height:88px!important;
  padding:8px 35px 8px 8px!important;
}
.team-pick-copy{min-width:0!important;overflow:hidden!important}
.team-pick-copy>b{
  font-size:13px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.team-pick-meta{
  font-size:8.5px!important;
  line-height:1.2!important;
  margin-top:3px!important;
}
.team-pick-stats{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  width:100%!important;
  max-width:154px!important;
  height:25px!important;
  margin:6px 0 0!important;
  overflow:hidden!important;
  border:1px solid #333547!important;
  border-radius:7px!important;
  background:#10111a!important;
  box-sizing:border-box!important;
}
.team-pick-stat{
  height:23px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 3px!important;
  border:0!important;
  border-right:1px solid #2b2d3c!important;
  border-radius:0!important;
  background:transparent!important;
  display:grid!important;
  grid-template-columns:10px minmax(14px,auto)!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:3px!important;
  color:#c7c4cd!important;
  box-sizing:border-box!important;
}
.team-pick-stat:last-child{border-right:0!important}
.team-pick-stat .ui-svg{
  width:9px!important;
  height:9px!important;
  margin:0!important;
  color:#968bb6!important;
  align-self:center!important;
  justify-self:center!important;
}
.team-pick-stat b{
  display:block!important;
  min-width:14px!important;
  margin:0!important;
  padding:0!important;
  color:#ece8ef!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:750!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:0!important;
}
.team-pick-copy em{
  display:block!important;
  margin-top:5px!important;
  color:#d3ac5e!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:750!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.075em!important;
}
.team-slot-mark{
  right:10px!important;
  width:24px!important;
  height:24px!important;
  font-size:10px!important;
}

/* Mid-size screens keep crisp dimensions rather than scaling cards. */
@media(max-width:1100px){
  .formation-drop-slot.slot-0{right:5%!important;width:146px!important;height:204px!important}
  .formation-drop-slot.slot-1{right:24%!important;width:134px!important;height:186px!important}
  .formation-drop-slot.slot-2{left:41%!important;width:122px!important;height:170px!important}
  .formation-drop-slot.slot-3{left:21%!important;width:110px!important;height:154px!important}
  .formation-drop-slot.slot-4{left:4%!important;width:98px!important;height:140px!important}
}

@media(max-width:760px){
  .formation-drop-slot{transform:none!important}
  .formation-drop-slot.slot-0{right:1%!important;left:auto!important;bottom:8%!important;width:104px!important;height:154px!important}
  .formation-drop-slot.slot-1{right:21%!important;left:auto!important;bottom:5%!important;width:96px!important;height:145px!important}
  .formation-drop-slot.slot-2{left:37%!important;right:auto!important;bottom:23%!important;width:88px!important;height:136px!important}
  .formation-drop-slot.slot-3{left:17%!important;right:auto!important;bottom:13%!important;width:80px!important;height:126px!important}
  .formation-drop-slot.slot-4{left:0!important;right:auto!important;bottom:37%!important;width:74px!important;height:116px!important}
  .formation-mini-copy{left:4px!important;right:4px!important;bottom:4px!important;padding:4px 5px!important;min-height:31px!important}
  .formation-mini-copy b{font-size:8px!important}
  .formation-mini-copy span{display:none!important}
  .formation-mini-art{height:calc(100% - 36px)!important}
  .formation-number{width:22px!important;height:22px!important;font-size:9px!important}
  .team-pick-stats{max-width:none!important;height:26px!important}
  .team-pick-stat{height:24px!important;grid-template-columns:11px minmax(16px,auto)!important}
  .team-pick-stat .ui-svg{width:10px!important;height:10px!important}
  .team-pick-stat b{font-size:10px!important}
}

/* =========================================================
   MENDEL'S MONSTER v15 — SQUADS + RANKED REPLAY
   ========================================================= */
.ranked-gate.locked-gate{opacity:.66}.ranked-gate.locked-gate:after{content:'  🔒';font-size:10px}.ranked-season{min-width:150px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-align:right}.ranked-season small{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em}.ranked-season b{display:block;margin-top:3px;color:var(--gold);font-size:15px}.ranked-lock-panel{display:flex;align-items:center;gap:22px;min-height:180px;background:radial-gradient(circle at 15% 50%,#6d5a9130,transparent 32%),linear-gradient(180deg,#191a28ee,#12131eee)}.ranked-lock-mark{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;border:1px solid #6e638c;background:#232035;color:var(--gold);font-size:38px;box-shadow:0 0 50px #6b5b9430}.ranked-lock-panel h2{margin:4px 0 8px}.ranked-lock-panel p{max-width:760px;color:var(--muted)}.ranked-content{display:grid;gap:16px}.ranked-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ranked-metric{padding:15px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#191a27ef,#141520ef)}.ranked-metric small{display:block;color:var(--muted);font-size:9px;letter-spacing:.1em}.ranked-metric b{display:block;margin:4px 0;font-size:20px;font-variant-numeric:tabular-nums}.ranked-metric span{font-size:10px;color:#c5c2cd}.ranked-team-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.ranked-slot{display:grid;gap:7px;padding:12px;border:1px solid #3a3c51;border-radius:12px;background:#11121c}.ranked-slot>span{font-size:9px;color:var(--gold);font-weight:800;letter-spacing:.08em}.ranked-slot select{min-width:0;width:100%;font-size:11px}.ranked-slot small{color:var(--muted);font-size:9px}.ranked-team-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.ranked-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:16px}.ranked-opponents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ranked-opponent{border:1px solid #393b50;border-radius:14px;padding:12px;background:linear-gradient(180deg,#181925,#11121b)}.ranked-opponent-head,.ranked-opponent-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.ranked-opponent-head b{display:block;font-size:15px}.ranked-opponent-head span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.ranked-opponent-head strong{color:var(--gold);font-size:11px;white-space:nowrap}.ranked-mini-team{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:10px 0}.ranked-mini-team>div{position:relative;aspect-ratio:1/1.16;border:1px solid #34364a;border-radius:8px;overflow:hidden;background:#0d0e16}.ranked-mini-team .pea-portrait{inset:0!important}.ranked-mini-team .pea-portrait img{filter:drop-shadow(0 8px 8px #0008)!important}.ranked-mini-team>div>span{position:absolute;left:3px;right:3px;bottom:3px;z-index:4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:7px;text-align:center;background:#0c0d15c9;border-radius:4px;padding:2px}.ranked-opponent-foot span{color:var(--muted);font-size:10px}.ranked-empty{padding:28px;border:1px dashed #4a4d65;border-radius:12px;text-align:center;color:var(--muted)}.ranked-empty b,.ranked-empty span{display:block}.ranked-empty b{color:var(--text);margin-bottom:5px}.ranked-board-panel{align-self:start}.ranked-board-row{display:grid;grid-template-columns:34px 1fr 58px 72px;gap:8px;align-items:center;padding:9px 6px;border-bottom:1px solid #2d2f40;font-size:11px}.ranked-board-row.self{background:#6e5a8e24;border-radius:8px}.ranked-board-row b{color:var(--gold)}.ranked-board-row em{font-style:normal;color:var(--muted);font-size:8px}.ranked-board-row strong{text-align:right;font-variant-numeric:tabular-nums}.ranked-result{overflow:hidden}.ranked-result-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.ranked-result-meta>div{padding:10px;border:1px solid #37394d;border-radius:10px;background:#11121b}.ranked-result-meta small,.ranked-result-meta span{display:block;color:var(--muted);font-size:9px}.ranked-result-meta b{display:block;margin:3px 0;font-size:14px}.compact-btn{padding:8px 11px;font-size:10px}
@media(max-width:1100px){.ranked-metrics{grid-template-columns:repeat(2,1fr)}.ranked-team-slots{grid-template-columns:repeat(2,1fr)}.ranked-grid{grid-template-columns:1fr}.ranked-opponents{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ranked-head{align-items:flex-start}.ranked-season{text-align:left}.ranked-metrics,.ranked-opponents,.ranked-team-slots,.ranked-result-meta{grid-template-columns:1fr}.ranked-lock-panel{align-items:flex-start}.ranked-lock-mark{width:64px;height:64px;flex:0 0 auto}.ranked-mini-team{gap:3px}.ranked-team-actions .btn{width:100%}}

/* V15 Squad command center */
.squad-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.squad-summary-card{appearance:none;width:100%;border:1px solid #383a4f;border-radius:15px;padding:13px;background:linear-gradient(180deg,#191a28,#12131d);color:var(--text);text-align:left;cursor:pointer;transition:.16s transform,.16s border-color,.16s background}.squad-summary-card:hover{transform:translateY(-2px);border-color:#5b5870}.squad-summary-card.active{border-color:#9b7d45;background:linear-gradient(180deg,#242033,#151620);box-shadow:0 0 0 1px #c29a4b22 inset}.squad-summary-card.locked{opacity:.7}.squad-summary-head,.squad-summary-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.squad-summary-head small{display:block;color:var(--gold);font-size:8px;letter-spacing:.12em}.squad-summary-head b{display:block;margin-top:3px;font-size:14px}.squad-summary-head strong{font-size:11px;color:#aaa6b2}.squad-summary-lineup{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:11px 0}.squad-summary-lineup>div{position:relative;aspect-ratio:1/1.14;border:1px solid #34364a;border-radius:8px;overflow:hidden;background:#0d0e16}.squad-summary-lineup>div.empty{display:grid;place-items:center;border-style:dashed;color:#5f5d68}.squad-summary-lineup .pea-portrait{inset:0!important}.squad-summary-lineup .pea-portrait img{filter:drop-shadow(0 7px 8px #0009)!important}.squad-summary-lineup>div>span{position:absolute;right:3px;bottom:3px;z-index:4;display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#0c0d15d9;color:#d5c291;font-size:7px}.squad-summary-lineup>div.empty>span{position:static;background:transparent}.squad-summary-foot{font-size:8px;color:var(--muted)}.squad-summary-foot em{font-style:normal;color:#8f8b98}.squad-mode-tabs{display:flex;gap:7px;margin:2px 0 13px;padding:5px;border:1px solid #353748;border-radius:11px;background:#0f1018;width:max-content;max-width:100%}.squad-mode-tabs button{border:0;border-radius:8px;background:transparent;color:#888590;padding:8px 13px;font-size:9px;font-weight:800;letter-spacing:.06em;cursor:pointer}.squad-mode-tabs button.active{background:#2b2738;color:#e5c47a;box-shadow:inset 0 0 0 1px #6b5b793f}.squad-editor-panel .team-picker{margin-top:12px}.squad-editor-panel .campaign-team-actions{margin-top:12px}.squad-head p{max-width:780px}.ranked-result .battle-arena-3d{margin-top:12px}
@media(max-width:1000px){.squad-summary-grid{grid-template-columns:1fr}.squad-summary-lineup{max-width:520px}.squad-mode-tabs{width:100%}.squad-mode-tabs button{flex:1}}
@media(max-width:760px){.squad-mode-tabs{display:grid;grid-template-columns:1fr}.squad-summary-lineup{gap:3px}.squad-summary-card{padding:10px}}

/* =========================================================
   MENDEL'S MONSTER v16 — CAMPAIGN EXPANSION + GLOBAL BANNER
   ========================================================= */
.global-banner{
  position:relative;isolation:isolate;overflow:hidden;
  width:calc(100% - 56px);max-width:1484px;min-height:230px;
  margin:28px 28px 0;padding:30px 34px;
  display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:end;
  border:1px solid #566044;border-radius:22px;
  background-image:linear-gradient(90deg,#0c1012f2 0%,#11151bdc 38%,#11151a8a 68%,#0d101577),url('/assets/backgrounds/pea-temple-arena.webp?v=campaign-v16');
  background-size:cover;background-position:center 53%;
  box-shadow:0 24px 70px #0006,inset 0 1px #ffffff12;
}
.global-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 48%,#0d0e16d8 100%),radial-gradient(circle at 80% 18%,#b7e36e1f,transparent 32%);pointer-events:none}
.global-banner-shade{position:absolute;inset:0;z-index:-2;background:transparent}
.global-banner-copy{position:relative;z-index:2;max-width:900px}.global-banner-copy h1{margin:4px 0 7px;font-family:Georgia,serif;font-size:42px;letter-spacing:.035em;text-shadow:0 4px 26px #000c}.global-banner-copy>p{margin:0;max-width:780px;color:#c5c8c1;font-size:13px;line-height:1.55}
.global-banner-side{position:relative;z-index:2;align-self:center;justify-self:end;width:240px;padding:15px 16px;border:1px solid #68705788;border-radius:15px;background:#11151bd9;backdrop-filter:blur(8px);box-shadow:0 12px 32px #0005}.global-banner-side span,.global-banner-side small{display:block}.global-banner-side span{font-size:8px;letter-spacing:.16em;color:#a8b59b}.global-banner-side b{display:block;margin:5px 0 7px;color:#e6d293;font-size:13px;letter-spacing:.05em}.global-banner-side small{color:#8f988b;font-size:9px;line-height:1.45}
.global-resource-row{margin-top:17px!important;gap:8px!important}.global-resource-row .resource-chip{min-width:128px;padding:8px 10px!important;background:#11151bd9!important;border-color:#4d5547!important;backdrop-filter:blur(8px)}.global-resource-row .resource-chip small{font-size:7.5px!important}.global-resource-row .resource-chip b{font-size:11px!important}
.view{padding-top:22px!important}

/* Campaign chapters */
.campaign-chapter-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.campaign-chapter-tab{appearance:none;text-align:left;border:1px solid #393c4a;border-radius:14px;padding:12px 13px;background:linear-gradient(180deg,#191b24,#11131a);color:#d8d8d4;cursor:pointer;transition:.16s transform,.16s border-color,.16s background}.campaign-chapter-tab:hover:not(:disabled){transform:translateY(-2px);border-color:#676d58}.campaign-chapter-tab.active{border-color:#a68c50;background:linear-gradient(180deg,#27261f,#17181a);box-shadow:inset 0 0 0 1px #d2b46724}.campaign-chapter-tab.completed{border-color:#47715a}.campaign-chapter-tab:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.45)}.campaign-chapter-tab span,.campaign-chapter-tab small{display:block}.campaign-chapter-tab span{color:#d5b86d;font-size:8px;font-weight:850;letter-spacing:.13em}.campaign-chapter-tab b{display:block;margin:4px 0 5px;font-size:13px}.campaign-chapter-tab small{color:#7f827e;font-size:8px;letter-spacing:.06em}.campaign-map-panel .panel-title p{max-width:680px;margin:5px 0 0;font-size:10px;color:#8f938d}.stage-number{font-size:10px!important;letter-spacing:.02em}.stage-reward{grid-template-columns:1fr 1fr!important}.combat-growth-reward{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(4,18px) auto!important;align-items:center!important;column-gap:5px!important}.combat-growth-reward .ui-svg{margin:0!important}.combat-growth-reward b{margin-left:6px}.combat-growth-reward small{grid-column:1/-1}

/* Automatic combat training result */
.battle-training-gains{margin:11px 0 0}.battle-training-title{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:8px}.battle-training-title b{color:#e6c87c;font-size:10px;letter-spacing:.12em}.battle-training-title span{color:#8d9090;font-size:9px}.battle-training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px}.battle-training-unit{display:grid;grid-template-columns:1fr repeat(4,auto);gap:6px;align-items:center;border:1px solid #3a463b;border-radius:10px;padding:8px 9px;background:#11171a}.battle-training-unit>b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-training-unit>span{display:flex;align-items:center;gap:2px;color:#b7b9b5;font-size:8px;font-variant-numeric:tabular-nums}.battle-training-unit>span .ui-svg{width:10px;height:10px}.battle-training-unit>small{grid-column:1/-1;color:#727872;font-size:7.5px}

/* Stat identity colors — consistent everywhere */
.ui-svg.ui-hp{color:#e66f7f!important}
.ui-svg.ui-attack{color:#f0a451!important}
.ui-svg.ui-defense{color:#64a9ef!important}
.ui-svg.ui-speed{color:#8fd46a!important}

@media(max-width:1050px){.global-banner{grid-template-columns:1fr 220px}.campaign-chapter-tabs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.global-banner{width:calc(100% - 24px);margin:12px 12px 0;min-height:270px;padding:20px;grid-template-columns:1fr;background-position:62% 50%}.global-banner-copy h1{font-size:32px}.global-banner-side{display:none}.global-resource-row{display:grid!important;grid-template-columns:1fr 1fr!important}.global-resource-row .resource-chip{min-width:0!important}.campaign-chapter-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:3px}.campaign-chapter-tab{min-width:78%;scroll-snap-align:start}.battle-training-title{align-items:flex-start;flex-direction:column;gap:3px}.battle-training-unit{grid-template-columns:1fr repeat(2,auto)}.battle-training-unit>span:nth-of-type(3){grid-column:2}.battle-training-unit>small{grid-column:1/-1}}

/* ================================================================
   v17 Interface clarity, brand bar, bilingual UI and current/max stats
   ================================================================ */
:root{--top:86px!important}
.topbar{height:var(--top)!important;padding:0 24px!important;gap:14px!important;background:linear-gradient(180deg,#11121cf7,#0c0d15f4)!important;border-bottom:1px solid #37394a!important;box-shadow:0 14px 42px #0007,inset 0 -1px #d6b45b10!important;backdrop-filter:blur(24px)!important}
.brand-emblem{appearance:none;border:0;background:transparent;width:62px;height:62px;padding:0;display:grid;place-items:center;border-radius:20px;flex:0 0 auto;position:relative;transition:transform .18s,filter .18s}
.brand-emblem:after{content:"";position:absolute;inset:8px;border-radius:17px;box-shadow:0 0 0 1px #d1ae6324,0 10px 28px #0009;pointer-events:none}
.brand-emblem:hover{transform:translateY(-1px) scale(1.025);filter:brightness(1.12)}
.brand-emblem img{width:58px;height:58px;display:block;filter:drop-shadow(0 10px 18px #0008)}
.topbar-scene{min-width:250px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:end;padding-left:4px;position:relative}
.topbar-scene span{grid-column:1/-1;color:#8c8998;font-size:8px;font-weight:850;letter-spacing:.19em;line-height:1.2}
.topbar-scene b{color:#e6e1d8;font-family:Georgia,serif;font-size:18px;letter-spacing:.055em;line-height:1.2;font-weight:700;white-space:nowrap}
.topbar-scene i{height:1px;min-width:70px;background:linear-gradient(90deg,#c69f51aa,transparent);margin-bottom:6px}
.topbar-spacer{flex:1}
.language-switch{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #383a4c;border-radius:12px;background:#11121c;box-shadow:inset 0 1px #ffffff08}
.language-switch .language-globe{display:grid;place-items:center;width:24px;color:#8f8c99;font-size:15px}
.language-switch button{border:0;background:transparent;color:#777582;border-radius:8px;padding:7px 8px;font-size:9px;font-weight:900;letter-spacing:.08em;min-width:34px}
.language-switch button.active{background:linear-gradient(180deg,#2e293a,#211f2d);color:#e8ca82;box-shadow:inset 0 0 0 1px #806a453d}
.identity-wrap{border-left:1px solid #353748!important;padding-left:14px!important;gap:9px!important;min-height:42px}
.identity-wrap #identity{max-width:190px!important;color:#d5d1da;font-size:11px}
.logout-btn{appearance:none;display:flex;align-items:center;gap:7px;border:1px solid #3a3c4e;background:#151621;color:#c7c4ce;border-radius:11px;padding:8px 11px;font-size:10px;font-weight:800;transition:.16s}
.logout-btn:hover{border-color:#6a5962;background:#26191e;color:#f0c5ca}
.logout-btn .ui-svg{width:14px;height:14px;color:currentColor}
.auth-brand-emblem{width:78px;height:78px;display:grid;place-items:center;align-self:start}
.auth-brand-emblem img{width:76px;height:76px;filter:drop-shadow(0 14px 26px #0008)}
.auth-card{position:relative}
.auth-language-switch{position:absolute;right:28px;top:28px;z-index:4}

/* Resource economy belongs in the global banner only. */
.topresources{display:none!important}

/* Current / genetic maximum stat readouts. */
.stat-mini{min-width:0!important}
.stat-values{display:flex;align-items:baseline;justify-content:center;gap:3px;margin-top:2px;white-space:nowrap}
.stat-values b{display:inline!important;margin:0!important;font-size:15px!important;line-height:1;color:#f1edf2}
.stat-values span{font-size:8px;color:#6f6d79;font-weight:700}
.mini-track{height:4px!important;margin-top:7px!important;background:#292b39!important}
.stat-hp .mini-track i,.gbar.stat-hp .gfill{background:linear-gradient(90deg,#b34f65,#ed7d8f)!important}
.stat-attack .mini-track i,.gbar.stat-attack .gfill{background:linear-gradient(90deg,#b96e34,#f0ab55)!important}
.stat-defense .mini-track i,.gbar.stat-defense .gfill{background:linear-gradient(90deg,#3f75b8,#70b5f1)!important}
.stat-speed .mini-track i,.gbar.stat-speed .gfill{background:linear-gradient(90deg,#5e983f,#9bd66f)!important}
.stat-hp>.ui-svg,.gbar.stat-hp>.ui-svg{color:#e66f7f!important}
.stat-attack>.ui-svg,.gbar.stat-attack>.ui-svg{color:#f0a451!important}
.stat-defense>.ui-svg,.gbar.stat-defense>.ui-svg{color:#64a9ef!important}
.stat-speed>.ui-svg,.gbar.stat-speed>.ui-svg{color:#8fd46a!important}
.stat-readout-note{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin:2px 0 10px;color:#777582;font-size:9px;letter-spacing:.035em}
.stat-readout-note b{color:#ddd6c7}
.gbar{grid-template-columns:18px 44px minmax(100px,1fr) 82px!important;gap:9px!important}
.gbar>b{font-size:10px}
.gbar>.ui-svg{width:13px;height:13px}
.gvalue{display:flex;justify-content:flex-end;align-items:baseline;gap:4px;white-space:nowrap}
.gvalue strong{font-size:12px;color:#eee9e0}
.gvalue small{font-size:9px;color:#72717d}
.gtrack{height:7px!important;background:#292b39!important}

/* The global banner begins under the taller visual header. */
.sidebar{top:var(--top)!important}
.workspace{padding-top:var(--top)!important}

@media(max-width:1100px){
  .topbar-scene{min-width:170px}.topbar-scene b{font-size:15px}.topbar-scene i{display:none}.identity-wrap #identity{max-width:130px!important}.logout-label{display:none}.logout-btn{padding:9px}
}
@media(max-width:760px){
  :root{--top:70px!important}.topbar{padding:0 9px!important;gap:7px!important}.brand-emblem{width:46px;height:46px}.brand-emblem img{width:44px;height:44px}.brand-emblem:after{inset:5px;border-radius:13px}.language-switch{margin-left:auto}.language-switch .language-globe{display:none}.language-switch button{min-width:30px;padding:6px}.identity-wrap{padding-left:7px!important}.identity-wrap .profile-orb{display:none}.logout-btn{padding:8px}.auth-language-switch{right:16px;top:16px}.auth-brand-emblem{width:62px;height:62px}.auth-brand-emblem img{width:60px;height:60px}.gbar{grid-template-columns:16px 36px minmax(80px,1fr) 68px!important}.gvalue strong{font-size:11px}.gvalue small{font-size:8px}
}

/* ================================================================
   v18 Content + economy + brand crest polish
   ================================================================ */
:root{--top:96px!important}
.topbar{height:var(--top)!important;padding:0 26px!important;gap:14px!important;overflow:hidden;background:linear-gradient(90deg,#0b0d15f8 0%,#11131cf4 48%,#0c1018f8 100%)!important;border-bottom:1px solid #574c3b!important;box-shadow:0 18px 55px #0009,inset 0 -1px #e3bd6820!important}
.topbar:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b0d15 0 22%,#0c0e16d8 48%,#0b0e15f2 100%),url('/assets/backgrounds/pea-temple-arena.webp') 42% 48%/cover no-repeat;opacity:.52;filter:saturate(.72) contrast(1.05)}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#c6a25b99 18%,#76609675 50%,#70aa5f70 78%,transparent);box-shadow:0 0 18px #bf9a5755}
.topbar-brand-stage{height:86px;width:286px;flex:0 0 286px;display:flex;align-items:center;position:relative;isolation:isolate}
.topbar-brand-stage:before{content:"";position:absolute;left:0;top:8px;width:258px;height:70px;border:1px solid #5d513c66;border-radius:24px;background:linear-gradient(90deg,#151720ee,#12151caa 68%,transparent);clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%);box-shadow:inset 0 0 34px #d5ac4a0b,0 12px 34px #0008;z-index:-1}
.brand-emblem{width:78px!important;height:78px!important;border-radius:24px!important;z-index:3;filter:drop-shadow(0 8px 14px #0008)}
.brand-emblem:before{content:"";position:absolute;inset:3px;border-radius:22px;background:radial-gradient(circle at 45% 35%,#d9f76b1f,transparent 52%);box-shadow:0 0 0 1px #d4b06424 inset,0 0 24px #95d26412}
.brand-emblem:after{inset:9px!important;border-radius:20px!important;box-shadow:0 0 0 1px #d7b76a38,0 0 25px #b4d86616,0 12px 30px #000a!important}
.brand-emblem img{width:74px!important;height:74px!important;filter:drop-shadow(0 10px 18px #0009) saturate(1.08)!important}
.brand-ornament{position:absolute;left:79px;top:19px;width:170px;height:48px;z-index:1}
.brand-ornament:before,.brand-ornament:after{content:"";position:absolute;left:9px;right:10px;height:1px;background:linear-gradient(90deg,#d4b15c75,#786a8060,transparent)}
.brand-ornament:before{top:10px}.brand-ornament:after{bottom:10px}
.brand-ornament span{position:absolute;width:7px;height:7px;border-radius:50%;top:20px;background:#8cba52;border:1px solid #d7ea93;box-shadow:0 0 14px #92ce5b88}
.brand-ornament span:nth-child(1){left:20px}.brand-ornament span:nth-child(2){left:47px;background:#b88add;border-color:#d9c2ef;box-shadow:0 0 14px #a379d888}.brand-ornament span:nth-child(3){left:74px;background:#d3a84e;border-color:#f4d88d;box-shadow:0 0 14px #d2a64c88}
.brand-ornament i,.brand-ornament b{position:absolute;display:block;left:9px;width:92px;height:24px;border:1px solid transparent;border-top-color:#8a70aa5f;border-radius:50%;transform:rotate(-7deg);top:14px}.brand-ornament b{border-top-color:#82a85c5d;transform:rotate(7deg);top:11px}
.brand-pulse{position:absolute;left:184px;top:24px;width:78px;height:34px;display:flex;align-items:center;gap:5px;opacity:.75}
.brand-pulse i{display:block;width:3px;border-radius:4px;background:linear-gradient(#e0c270,#8468a5);box-shadow:0 0 8px #a889bd55}.brand-pulse i:nth-child(1){height:8px}.brand-pulse i:nth-child(2){height:18px}.brand-pulse i:nth-child(3){height:28px}.brand-pulse i:nth-child(4){height:16px}.brand-pulse i:nth-child(5){height:7px}
.topbar-spacer{flex:1}.language-switch{background:#0f1119e8!important;border-color:#484552!important}.identity-wrap{background:#10121ad6;border:1px solid #343744!important;border-left:1px solid #4b463e!important;padding:7px 8px 7px 11px!important;border-radius:14px;min-height:50px!important;box-shadow:0 8px 22px #0004}.logout-btn{min-height:34px}

/* Inventory */
.inventory-total,.market-wallet,.training-resource{border:1px solid #454858;border-radius:13px;padding:10px 14px;background:#11131cd9;min-width:150px}.inventory-total span,.market-wallet span{display:block;font-size:8px;letter-spacing:.13em;color:#8b8993}.inventory-total b,.market-wallet b{font-size:20px;color:#e8d18f}.inventory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.inventory-resource{position:relative;min-height:165px;border:1px solid #373b49;border-radius:16px;padding:15px;background:linear-gradient(180deg,#171923,#10121a);display:grid;grid-template-columns:48px 1fr;gap:12px;overflow:hidden}.inventory-resource:after{content:"";position:absolute;inset:auto -30px -50px auto;width:120px;height:120px;border-radius:50%;background:#c49a4b0c;filter:blur(2px)}.inventory-resource-icon{width:48px;height:48px;border:1px solid #53566a;border-radius:14px;display:grid;place-items:center;background:#0d0f17}.inventory-resource-icon .ui-svg{width:23px;height:23px;color:#d7b968}.inventory-resource>div:nth-child(2)>span{font-size:7px;letter-spacing:.15em;color:#777c86}.inventory-resource h3{margin:3px 0 6px;font-size:13px}.inventory-resource b{display:block;font-size:22px;color:#eee9dd}.inventory-resource p{margin:8px 0 0;color:#858a92;font-size:8.5px;line-height:1.45}.resource-catalyst .inventory-resource-icon .ui-svg{color:#82b8ed}.resource-fragments .inventory-resource-icon .ui-svg{color:#d8a36f}.resource-training .inventory-resource-icon .ui-svg{color:#9bd26e}.resource-token .inventory-resource-icon .ui-svg{color:#ab8cdb}.inventory-bottom-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:16px}.inventory-activity{display:grid;gap:7px}.inventory-activity-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #2f3340;border-radius:10px;padding:8px 10px;background:#10121a}.inventory-activity-row>.ui-svg{width:16px;height:16px;color:#d3b56c}.inventory-activity-row b,.inventory-activity-row span{display:block}.inventory-activity-row b{font-size:10px}.inventory-activity-row span{font-size:8px;color:#858995;margin-top:2px}.inventory-activity-row small{font-size:7.5px;color:#676c76}.inventory-route-list{display:grid;gap:8px;margin-top:12px}.inventory-route{appearance:none;display:grid;grid-template-columns:35px 1fr;gap:10px;align-items:center;text-align:left;border:1px solid #343846;border-radius:11px;padding:10px;background:#10121a;color:#d9d7db}.inventory-route:hover{border-color:#76674a;background:#17181d}.inventory-route .ui-svg{width:18px;height:18px;color:#d7b869}.inventory-route b,.inventory-route small{display:block}.inventory-route b{font-size:10px}.inventory-route small{font-size:8px;color:#777c86;margin-top:2px}

/* Marketplace */
.market-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 170px 150px auto;gap:9px;margin-bottom:14px}.market-toolbar .collection-search{margin:0}.market-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.market-browser{min-width:0}.market-listings{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.market-card{border:1px solid #383c4b;border-radius:14px;overflow:hidden;background:#0f1119;min-width:0;transition:.17s}.market-card:hover{transform:translateY(-2px);border-color:#766548;box-shadow:0 14px 30px #0006}.market-card-art{height:190px;position:relative;overflow:hidden;background:#0c1015}.market-card-art .pea-portrait{inset:0!important}.market-card-art .pea-portrait img{object-position:center 28%;filter:drop-shadow(0 14px 16px #0009)}.market-card-body{padding:11px}.market-card-name{display:flex;justify-content:space-between;gap:8px}.market-card-name b,.market-card-name span{display:block}.market-card-name b{font-size:13px}.market-card-name span{font-size:8px;color:#7e838e;margin-top:2px}.market-card-name strong{font-size:8px;color:#d2b56f;border:1px solid #5c5039;border-radius:999px;padding:4px 6px;height:max-content}.market-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin:9px 0}.market-card-stats span{display:flex;align-items:center;gap:4px;border:1px solid #2f3340;border-radius:7px;padding:5px 6px;color:#a8abb2;font-size:8px}.market-card-stats .ui-svg{width:11px;height:11px}.market-card-foot{display:flex;justify-content:space-between;align-items:end;gap:8px;border-top:1px solid #2b2f3a;margin-top:9px;padding-top:9px}.market-card-foot small,.market-card-foot b{display:block}.market-card-foot small{font-size:7px;color:#787d87;letter-spacing:.1em}.market-card-foot b{font-size:13px;color:#ead08b;margin-top:2px}.market-sell-panel{position:sticky;top:calc(var(--top) + 18px)}.market-sell-panel h2{margin:4px 0}.market-sell-panel p{font-size:9px;color:#858a93;line-height:1.5}.market-sell-panel label{display:block;font-size:8px;color:#9296a0;margin-top:12px}.market-sell-panel select,.market-sell-panel input{width:100%;margin-top:5px}.market-fee-preview{display:flex;justify-content:space-between;gap:8px;margin:12px 0;border:1px solid #3b3d49;border-radius:9px;padding:8px;background:#0d0f16}.market-fee-preview span{font-size:8px;color:#7e828c}.market-fee-preview b{font-size:8px;color:#d7c17f}.market-mine-panel{margin-top:16px}.market-own-listings{display:grid;gap:7px}.market-own-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #303440;border-radius:10px;padding:7px;background:#0f1119}.market-own-art{width:46px;height:52px;overflow:hidden;border-radius:8px;background:#0b0d14}.market-own-art .pea-portrait{inset:0!important}.market-own-row b,.market-own-row span{display:block}.market-own-row b{font-size:10px}.market-own-row span{font-size:8px;color:#858a92;margin-top:2px}

/* Eight-chapter campaign density */
.campaign-chapter-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}.campaign-chapter-tab{min-height:82px}.campaign-chapter-tab b{line-height:1.2}.campaign-map-panel .stage-list{grid-template-columns:repeat(7,minmax(0,1fr))}

@media(max-width:1180px){.topbar-brand-stage{width:230px;flex-basis:230px}.brand-pulse{display:none}.inventory-grid{grid-template-columns:repeat(3,1fr)}.market-layout{grid-template-columns:1fr}.market-sell-panel{position:static}.campaign-map-panel .stage-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.topbar-brand-stage{width:120px;flex-basis:120px}.brand-ornament{display:none}.inventory-grid{grid-template-columns:repeat(2,1fr)}.inventory-bottom-grid{grid-template-columns:1fr}.market-toolbar{grid-template-columns:1fr 1fr}.campaign-chapter-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){:root{--top:74px!important}.topbar{padding:0 8px!important}.topbar-brand-stage{height:68px;width:58px;flex-basis:58px}.topbar-brand-stage:before,.brand-ornament,.brand-pulse{display:none}.brand-emblem{width:54px!important;height:54px!important}.brand-emblem img{width:52px!important;height:52px!important}.inventory-grid{grid-template-columns:1fr}.market-toolbar{grid-template-columns:1fr}.market-listings{grid-template-columns:1fr}.market-own-row{grid-template-columns:42px 1fr}.market-own-row button{grid-column:1/-1}.campaign-map-panel .stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-chapter-tabs{display:flex!important}.campaign-chapter-tab{min-width:78%}.market-wallet,.inventory-total{display:none}}
/* V18 header layer correction: scenery sits above the base glass, controls stay above scenery. */
.topbar:before{z-index:0!important;opacity:.46!important;pointer-events:none}
.topbar:after{z-index:2!important;pointer-events:none}
.topbar>*{position:relative;z-index:1}

/* ================================================================
   MENDEL'S MONSTER v19 — REFERENCE UI + MARKET CARD FIX
   ================================================================ */
:root{
  --top:96px!important;
  --sidebar:238px;
  --v19-lime:#9af23f;
  --v19-lime-2:#58bb2d;
  --v19-gold:#e9bc55;
  --v19-panel:#081218ee;
  --v19-panel2:#0c171deb;
  --v19-line:#263b3b;
}
body{background:radial-gradient(circle at 48% -8%,#153324 0,#07140f 34%,#030a08 68%,#010504 100%)!important}
.v19-topbar{height:var(--top)!important;padding:0 20px!important;gap:14px!important;background:linear-gradient(180deg,#07110ff8,#06100ef5)!important;border-bottom:1px solid #33513d!important;box-shadow:0 14px 45px #000b,inset 0 -1px #99e54514!important;overflow:visible!important}
.v19-topbar:before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;background:linear-gradient(90deg,#06100ff7 0%,#06100fda 35%,#07160fc6 67%,#06100ff2 100%),url('/assets/backgrounds/arena-background-wide.webp?v=market-ui-v19') center 47%/cover no-repeat!important;opacity:.42!important;filter:saturate(.95) contrast(1.08)!important}
.v19-topbar:after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:2px!important;background:linear-gradient(90deg,transparent,#75d642 16%,#d6bb5c 48%,#75d642 82%,transparent)!important;box-shadow:0 0 20px #7ad64166!important}
.v19-topbar>*{position:relative;z-index:2}
.v19-brand-lockup{appearance:none;border:0;background:transparent;width:232px;min-width:232px;height:86px;padding:2px 5px;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;filter:drop-shadow(0 12px 15px #0008)}
.v19-brand-lockup img{display:block;width:220px;height:78px;object-fit:contain;object-position:left center}
.v19-primary-nav{align-self:stretch;display:flex;gap:3px;align-items:stretch;min-width:0}
.v19-nav-tab{position:relative;appearance:none;border:0;border-left:1px solid transparent;border-right:1px solid transparent;background:transparent;color:#89988f;min-width:68px;padding:9px 8px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:9px;font-weight:760;transition:.18s color,.18s background,.18s transform,.18s border-color}
.v19-nav-tab .ui-svg{width:22px;height:22px;color:#89988f;transition:.18s;color:inherit}
.v19-nav-tab b{font-size:9px;line-height:1;white-space:nowrap;font-weight:750}
.v19-nav-tab:hover{color:#e7eedf;background:linear-gradient(180deg,#1a2a1d88,#0c1a12a0);transform:translateY(-1px)}
.v19-nav-tab.active{color:#c9ff6a;background:linear-gradient(180deg,#17351fa8,#10261bdb);border-left-color:#50784066;border-right-color:#50784066;box-shadow:inset 0 -3px #91e442,0 0 30px #76d63d12}
.v19-nav-tab.active .ui-svg{filter:drop-shadow(0 0 7px #8ce94966)}
.v19-topbar .topbar-spacer{flex:1;min-width:8px}
.v19-topbar .language-switch{flex:0 0 auto;background:#07110edb!important;border:1px solid #334638!important;box-shadow:inset 0 0 20px #0004}
.v19-topbar .identity-wrap{flex:0 0 auto;background:#07110ee8!important;border:1px solid #334638!important;border-radius:13px!important;min-height:51px!important;padding:6px 7px 6px 8px!important;box-shadow:inset 0 0 20px #0004!important}
.v19-topbar .profile-orb{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #4a5f4a;background:#101c14}.v19-topbar .profile-orb .ui-svg{width:18px;height:18px;color:#d9d7bf}
.v19-topbar .logout-btn{background:#111a18!important;border:1px solid #52604f!important;color:#e4e6de!important}.v19-topbar .logout-btn:hover{border-color:#88cf55!important;color:#cfff82!important}

/* Desktop uses the image-reference horizontal navigation. Sidebar remains the mobile drawer. */
@media(min-width:901px){
  .sidebar{display:none!important}
  .workspace{margin-left:0!important;padding-top:var(--top)!important}
  .global-banner{max-width:1560px!important;margin-left:auto!important;margin-right:auto!important;width:calc(100% - 48px)!important}
  .view{max-width:1608px!important;padding-left:24px!important;padding-right:24px!important}
}

/* Reference-inspired banner: stronger image, lime edge, readable glass blocks. */
.global-banner{min-height:272px!important;padding:34px 38px!important;border-color:#405b3f!important;border-radius:17px!important;background-image:linear-gradient(90deg,#07110ff7 0%,#08140fdc 38%,#07120f72 65%,#07110f35 100%),url('/assets/trial-hero.webp?v=market-ui-v19')!important;background-position:center 47%!important;box-shadow:0 25px 65px #0008,inset 0 1px #b8ff6a18!important}
.global-banner:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:0 5px 5px 0;background:linear-gradient(#9df64a,#4fa52d);box-shadow:0 0 16px #8ce94888;z-index:3}
.global-banner:after{background:linear-gradient(180deg,transparent 50%,#06100edc 100%),radial-gradient(circle at 78% 20%,#b8f36518,transparent 30%)!important}
.global-banner-copy h1{font-size:48px!important;text-transform:uppercase;letter-spacing:.055em!important;color:#f5f2df;text-shadow:0 4px 24px #000f,0 0 30px #72b83a20!important}
.global-banner-copy>p{font-size:13px!important;color:#c6d1c5!important}.global-banner .eyebrow{color:#b3ee72!important}
.global-banner-side{border-color:#3c573d!important;background:#07110ee8!important;box-shadow:0 16px 34px #0008,inset 0 0 20px #65b23409!important}.global-banner-side b{color:#d6f18d!important}
.global-resource-row .resource-chip{background:#07110ee5!important;border-color:#38533b!important;border-radius:10px!important;box-shadow:inset 0 0 18px #0003!important}.global-resource-row .resource-chip:hover{border-color:#6a9c54!important}

/* Panels and buttons follow the dark teal / neon-green direction in the supplied design. */
.game-panel{background:linear-gradient(180deg,#0b151aee,#071014f2)!important;border-color:#283a3d!important;box-shadow:0 14px 44px #0004!important}
.btn.primary{background:linear-gradient(180deg,#d9ed62,#72c532)!important;border-color:#aeea52!important;color:#071007!important;box-shadow:0 8px 24px #66c32c30!important}.btn.primary:hover{filter:brightness(1.07)!important;box-shadow:0 9px 30px #7fd73d45!important}
.side-link.active{background:linear-gradient(90deg,#213124,#101a16)!important;border-left-color:#a4ef54!important;box-shadow:inset 0 0 20px #70c53a0b!important}.side-link.active>span{background:#9bea4b!important}

/* Market: creature-card presentation + price block. */
.market-listings{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:14px!important}
.market-creature-card{background:linear-gradient(180deg,#0c1519,#071014)!important;border-color:#31433d!important;box-shadow:0 14px 38px #0004!important}
.market-creature-card:hover{border-color:#6ca14f!important;box-shadow:0 18px 42px #0007,0 0 20px #79db3c10!important}
.market-creature-card .creature-art{aspect-ratio:4/3!important;min-height:205px!important}
.market-creature-card .market-seller-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;padding:7px 8px;border:1px solid #263b35;border-radius:8px;background:#07120f}.market-seller-line span{display:flex;align-items:center;gap:5px;color:#93a399;font-size:9px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-seller-line span .ui-svg{width:12px;height:12px}.market-seller-line b{color:#efd171;font-size:11px;white-space:nowrap}
.market-card-action-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid #294038;background:linear-gradient(180deg,#0b1715,#08120f)}.market-card-action-row small,.market-card-action-row strong{display:block}.market-card-action-row small{font-size:7px;color:#83958a;letter-spacing:.13em}.market-card-action-row strong{margin-top:2px;font-size:15px;color:#f0d374}.market-card-action-row .btn{padding:9px 18px;min-width:84px}

/* Active listing thumbnails are now a real positioned image well, never page-level absolute art. */
.market-own-listings{display:grid!important;gap:9px!important}.market-own-row{position:relative!important;display:grid!important;grid-template-columns:88px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:9px!important;border:1px solid #2d403a!important;border-radius:12px!important;background:linear-gradient(180deg,#0c1519,#081114)!important;overflow:hidden!important}.market-own-art{position:relative!important;width:88px!important;height:94px!important;overflow:hidden!important;border-radius:9px!important;border:1px solid #344a3f!important;background:#06100d!important;isolation:isolate!important}.market-own-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#06100dcc);z-index:4;pointer-events:none}.market-own-art .pea-portrait{position:absolute!important;inset:1% 4% 0!important;width:auto!important;height:auto!important}.market-own-art .pea-portrait img{object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 10px 9px #000b) saturate(1.05)!important}.market-own-main{min-width:0}.market-own-title{display:flex;justify-content:space-between;gap:8px;align-items:start}.market-own-title b{font-size:13px!important}.market-own-title span{font-size:8px!important;color:#839188!important}.market-own-title strong{font-size:13px;color:#ecd06e;white-space:nowrap}.market-own-stats{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}.market-own-stats span{display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:6px;background:#07110f;border:1px solid #253a34;color:#aebbb2;font-size:8px}.market-own-stats .ui-svg{width:10px;height:10px}.market-cancel-btn{white-space:nowrap;border-color:#64433e!important;color:#e5b1aa!important}

/* Marketplace sell panel gets a clear contained preview area, never a free-floating character. */
.market-sell-panel{overflow:hidden!important}.market-sell-panel:before{content:"";display:block;height:3px;margin:-17px -17px 15px;background:linear-gradient(90deg,#9be94c,#cfaa4b,transparent)}

@media(max-width:1450px){
  .v19-brand-lockup{width:196px;min-width:196px}.v19-brand-lockup img{width:190px}
  .v19-nav-tab{min-width:58px;padding-left:5px;padding-right:5px}.v19-nav-tab b{font-size:8px}.v19-nav-tab .ui-svg{width:19px;height:19px}
  .v19-topbar .identity-wrap #identity{max-width:116px!important}.logout-label{display:none}
}
@media(max-width:1180px) and (min-width:901px){
  .v19-brand-lockup{width:158px;min-width:158px}.v19-brand-lockup img{width:154px}
  .v19-nav-tab{min-width:45px}.v19-nav-tab b{display:none}.v19-nav-tab .ui-svg{width:21px;height:21px}
  .language-globe{display:none}.v19-topbar .language-switch button{min-width:28px!important;padding:6px!important}
}
@media(max-width:900px){
  :root{--top:72px!important}
  .desktop-primary-nav,.v19-brand-lockup{display:none!important}
  .mobile-only{display:flex!important}
  .v19-topbar{padding:0 10px!important}
  .v19-topbar .topbar-spacer{flex:1}
  .sidebar{display:flex!important;top:var(--top)!important;transform:translateX(-105%);transition:.2s;width:244px!important;z-index:70!important}
  .sidebar.open{transform:translateX(0)!important}
  .workspace{margin-left:0!important;padding-top:var(--top)!important}
  .global-banner{width:calc(100% - 24px)!important;margin:12px 12px 0!important;min-height:290px!important;padding:22px!important;background-position:64% 50%!important}
  .market-own-row{grid-template-columns:72px 1fr!important}.market-own-art{width:72px!important;height:80px!important}.market-cancel-btn{grid-column:1/-1!important;width:100%}
}
@media(max-width:620px){.v19-topbar .identity-wrap #identity,.v19-topbar .profile-orb{display:none!important}.global-banner-copy h1{font-size:34px!important}.market-listings{grid-template-columns:1fr!important}}
.v19-utility-nav{display:flex;gap:5px;align-items:center}.v19-utility-btn{width:36px;height:36px;border:1px solid #31453a;border-radius:10px;background:#07110edb;color:#92a298;display:grid;place-items:center}.v19-utility-btn .ui-svg{width:17px;height:17px}.v19-utility-btn:hover,.v19-utility-btn.active{color:#caff72;border-color:#6e9b50;background:#102019}

/* =========================================================
   V20 · SCALABLE ROSTERS / CAMPAIGN NAV / AD INVENTORY
   ========================================================= */

/* Purpose-built banner assembled from native game art, not a screenshot crop. */
.global-banner{
  background-image:linear-gradient(90deg,#03100de8 0%,#06130fd6 35%,#05110d68 66%,#04100c22 100%),url('/assets/banner-v20.webp?v=scalable-ui-v20')!important;
  background-position:center center!important;
  background-size:cover!important;
  min-height:300px!important;
}
.global-banner-copy{max-width:650px!important}
.global-banner-copy h1{max-width:640px}
.global-banner-side{backdrop-filter:blur(9px)}

/* Global ad inventory: desktop side rails + one bottom leaderboard/banner. */
.ad-rail{display:none}
.bottom-ad-wrap{width:100%;max-width:970px;margin:34px auto 10px;padding:0 10px}
.ad-slot{position:relative;display:grid;place-items:center;align-content:center;gap:6px;overflow:hidden;border:1px dashed #45584c;border-radius:15px;background:linear-gradient(135deg,#0b1514,#07100f);color:#728078;text-align:center;box-shadow:inset 0 0 40px #0006}
.ad-slot:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 18px,#b4ee6a05 18px 20px);pointer-events:none}
.ad-slot span{font-size:9px;font-weight:850;letter-spacing:.22em;color:#8e9b92;z-index:1}.ad-slot b{font-size:18px;color:#b0baaf;z-index:1}.ad-slot small{font-size:8px;color:#66716b;z-index:1}
.ad-slot-bottom{width:100%;aspect-ratio:970/250;max-height:250px;min-height:145px}
@media(min-width:1580px){
  .ad-rail{position:fixed;top:calc(var(--top) + 112px);width:clamp(110px,calc((100vw - 1340px)/2 - 20px),160px);height:600px;z-index:8;display:block;pointer-events:none}
  .ad-rail-left{left:12px}.ad-rail-right{right:12px}
  .ad-slot-rail{width:100%;height:600px;pointer-events:auto}
  .global-banner,.view{max-width:1320px!important;width:calc(100% - 32px)!important}
}
@media(max-width:1579px){.bottom-ad-wrap{margin-top:24px}}
@media(max-width:760px){.bottom-ad-wrap{display:none}}

/* Market shows every realm listing, including your own listing as a non-buyable card. */
.market-self-badge{position:absolute;left:12px;bottom:10px;z-index:5;padding:5px 8px;border-radius:999px;background:#0b1812e8;border:1px solid #83cd53;color:#caff86;font-size:8px;font-weight:900;letter-spacing:.12em;box-shadow:0 0 16px #6fd83d2e}
.market-own-public-card{border-color:#507846!important;box-shadow:0 0 0 1px #8ada5520,0 15px 35px #0005!important}
.market-own-public-card .market-card-action-row .btn:disabled{opacity:.72;color:#9eb794;border-color:#496246;background:#0e1a13}

/* Training can scale to hundreds of fighters without creating a kilometer-long page. */
.training-roster{align-self:start;overflow:hidden}
.training-roster-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 138px 138px;gap:7px;margin:0 0 10px}
.training-roster-toolbar select,.training-roster-toolbar input{min-height:38px}
.training-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-height:504px;align-content:start}
.training-roster-card>div{height:92px!important}.training-roster-card{min-width:0}
.training-pagination{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:11px;padding-top:10px;border-top:1px solid #26342f}
.training-pagination span{text-align:center;color:#a7afa9;font-size:10px;font-weight:800;letter-spacing:.08em}
.training-pagination button:disabled{opacity:.35}
.training-empty{grid-column:1/-1;min-height:170px}
@media(max-width:1050px){.training-roster-toolbar{grid-template-columns:1fr 1fr}.training-roster-toolbar .collection-search{grid-column:1/-1}.training-roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-height:0}}
@media(max-width:760px){.training-roster-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}.training-roster-card{min-width:0!important}.training-roster-toolbar{grid-template-columns:1fr}.training-roster-toolbar .collection-search{grid-column:auto}}

/* Campaign chapters are now navigated, not rendered as hundreds of tabs. */
.campaign-chapter-navigator{display:grid;grid-template-columns:44px minmax(220px,1fr) minmax(250px,420px) auto 44px;gap:10px;align-items:center;padding:10px 12px!important;margin:0 0 16px!important;min-height:72px}
.chapter-nav-arrow{width:42px;height:42px;border-radius:11px;border:1px solid #3a4a42;background:#0a1512;color:#cce8be;font-size:19px;cursor:pointer}.chapter-nav-arrow:hover:not(:disabled){border-color:#86cf54;color:#d9ffaf;background:#102118}.chapter-nav-arrow:disabled{opacity:.3;cursor:not-allowed}
.chapter-nav-copy{min-width:0}.chapter-nav-copy span,.chapter-nav-copy b,.chapter-nav-copy small{display:block}.chapter-nav-copy span{font-size:7px;letter-spacing:.16em;font-weight:900;color:#d7b768}.chapter-nav-copy b{margin:3px 0 2px;font-size:14px;color:#f1ede3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-nav-copy small{font-size:8px;color:#78867d}
.campaign-chapter-navigator select{min-width:0;height:40px;border-color:#37493f;background:#081310;color:#d7dfd6}
.chapter-nav-position{display:flex;align-items:baseline;gap:4px;color:#79857d;white-space:nowrap}.chapter-nav-position strong{font-size:20px;color:#d9be73}.chapter-nav-position span{font-size:9px}
/* Restore the clean vertical stage list. */
.campaign-map-panel .stage-list{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.stage-card{grid-template-columns:48px minmax(0,1fr) 74px!important;min-height:70px!important;width:100%!important;padding:10px 12px!important}
.stage-card em{display:block!important;justify-self:end;white-space:nowrap;overflow:visible!important;max-width:none!important}
.stage-card div{min-width:0}.stage-card small{white-space:normal;line-height:1.35}.stage-card div>span{white-space:normal}
@media(max-width:760px){.campaign-chapter-navigator{grid-template-columns:38px 1fr 38px}.campaign-chapter-navigator select{grid-column:1/-1;grid-row:2}.chapter-nav-position{display:none}.chapter-nav-copy b{font-size:12px}.stage-card{grid-template-columns:42px 1fr!important}.stage-card em{grid-column:2!important;justify-self:start!important;margin-top:5px}}

/* Breeding: compact parent cards and a clean resource cost below BREED. */
.compact-breeding-layout{grid-template-columns:minmax(280px,390px) 128px minmax(280px,390px)!important;justify-content:center!important;align-items:start!important;gap:22px!important}
.compact-parent-card{width:100%;max-width:390px;padding:14px!important}
.compact-parent-card select{width:100%;margin-bottom:10px}
.parent-visual{max-width:340px;margin:0 auto}.parent-visual .creature-card{width:100%}.parent-visual .creature-art{min-height:200px!important;aspect-ratio:4/3!important}.parent-visual .creature-info{padding:10px 11px!important}.parent-visual .card-action{padding:8px!important;font-size:9px}
.breed-core{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding-top:62px!important;min-width:128px}
.breed-btn{width:118px!important;margin:0!important}
.breed-cost-badge{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid #3c4a40;border-radius:999px;background:#09130f;color:#a8b3a9;font-size:9px;white-space:nowrap}
.breed-cost-badge .ui-svg{width:16px;height:16px;color:#a6d5ff}.breed-cost-badge b{font-size:13px;color:#f1d681}.breed-cost-badge span{font-size:8px;color:#89968d}
@media(max-width:980px){.compact-breeding-layout{grid-template-columns:1fr!important;max-width:520px;margin:0 auto}.compact-parent-card{max-width:520px}.parent-visual{max-width:360px}.breed-core{padding-top:0!important;order:3}.compact-parent-card:nth-of-type(2){order:2}}


/* =============================================================
   V21 · rarity legibility + collision-proof Training controls
   ============================================================= */
/* Every rarity label must remain readable, including COMMON and LEGENDARY. */
.rarity-badge{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-width:calc(100% - 54px)!important;
  min-width:max-content;
  line-height:1!important;
  letter-spacing:.055em;
  padding:5px 8px!important;
  border-width:1px!important;
  border-style:solid!important;
  border-color:currentColor!important;
  background:#0a1110f2!important;
  box-shadow:0 2px 10px #0008;
}
.rarity-badge.rarity-STARTER,.training-rarity-pill.rarity-STARTER{background:#342b12f2!important;color:#f0cf72!important}
.rarity-badge.rarity-COMMON,.training-rarity-pill.rarity-COMMON{background:#252c2af5!important;color:#eef3f0!important;border-color:#88958e!important}
.rarity-badge.rarity-UNCOMMON,.training-rarity-pill.rarity-UNCOMMON{background:#102d18f2!important;color:#7fe890!important;border-color:#4ea960!important}
.rarity-badge.rarity-RARE,.training-rarity-pill.rarity-RARE{background:#102636f2!important;color:#74c9ff!important;border-color:#448fc1!important}
.rarity-badge.rarity-EPIC,.training-rarity-pill.rarity-EPIC{background:#27163af2!important;color:#ca8cff!important;border-color:#8d54bd!important}
.rarity-badge.rarity-LEGENDARY,.training-rarity-pill.rarity-LEGENDARY{background:#38270df2!important;color:#ffd16b!important;border-color:#c18a29!important}
.rarity-badge.rarity-MYTHIC,.training-rarity-pill.rarity-MYTHIC{background:#3c111af2!important;color:#ff7f90!important;border-color:#bd495b!important}
.parent-visual .rarity-badge{right:10px!important;top:10px!important;font-size:8px!important;z-index:8!important}

/* Training controls: search owns one row, filters own the next row. No collisions. */
.training-roster-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;
  margin:0 0 12px!important;
  width:100%;
  min-width:0;
}
.training-search-control{position:relative;display:block;width:100%;min-width:0}
.training-search-control .ui-svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:#90a097;pointer-events:none;z-index:2}
.training-search-control input{display:block;width:100%!important;min-width:0!important;height:42px!important;padding:0 12px 0 36px!important;border:1px solid #3b5848!important;background:#081710!important;border-radius:10px!important}
.training-filter-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;width:100%;min-width:0}
.training-filter-control{display:grid;gap:5px;min-width:0}
.training-filter-control>span{font-size:8px;font-weight:900;letter-spacing:.14em;color:#899a90;padding-left:2px}
.training-filter-control select{display:block;width:100%!important;min-width:0!important;height:42px!important;padding:0 32px 0 11px!important;border:1px solid #3b5848!important;background:#081710!important;border-radius:10px!important;text-overflow:ellipsis}

/* Mini roster cards show the full rarity as a chip instead of squeezing it into tiny metadata. */
.training-roster-card{position:relative!important;display:block!important;overflow:hidden!important;padding:7px!important;text-align:left!important}
.training-roster-art{height:96px!important;position:relative!important;overflow:hidden!important;border-radius:8px!important}
.training-rarity-pill{position:absolute;top:6px;right:6px;z-index:6;display:inline-flex;align-items:center;justify-content:center;max-width:calc(100% - 12px);padding:4px 6px;border:1px solid currentColor;border-radius:6px;font-size:7px;font-weight:950;line-height:1;letter-spacing:.05em;white-space:nowrap;box-shadow:0 2px 8px #000a}
.training-roster-copy{min-width:0;padding:0 1px 1px}
.training-roster-copy b{display:block!important;margin-top:7px!important;font-size:11px!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#edf2ee}
.training-roster-copy span{display:block!important;margin-top:3px;font-size:8px!important;line-height:1.2;color:#899a90!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1180px){
  .training-layout{grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr)!important}
}
@media(max-width:900px){
  .training-layout{grid-template-columns:1fr!important}
  .training-roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-height:0!important}
}
@media(max-width:620px){
  .training-filter-controls{grid-template-columns:1fr!important}
  .training-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:390px){
  .training-roster-grid{grid-template-columns:1fr!important}
}

/* When real AdSense code replaces the V20 placeholders, this class removes the mock treatment. */
.ad-slot.adsense-mounted{display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.ad-slot.adsense-mounted:before,.ad-slot.adsense-mounted>.ad-placeholder{display:none!important}

.ad-placeholder{position:relative;z-index:1;display:grid;place-items:center;align-content:center;gap:6px;width:100%;height:100%}.ad-placeholder span{font-size:9px;font-weight:850;letter-spacing:.22em;color:#8e9b92}.ad-placeholder b{font-size:18px;color:#b0baaf}.ad-placeholder small{font-size:8px;color:#66716b}


/* =============================================================
   V22 · guaranteed rarity chip sizing + Breeding edge clearance
   ============================================================= */
/*
  Rarity text is gameplay information, so it may never be clipped by art/card
  overflow. Give each label a deterministic width instead of relying on glyph
  measurement inside the image well.
*/
.creature-art .rarity-badge,
.parent-visual .rarity-badge,
.market-creature-card .rarity-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:auto!important;
  max-width:none!important;
  min-width:62px!important;
  height:24px!important;
  padding:0 9px!important;
  line-height:22px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:8px!important;
  font-weight:950!important;
  letter-spacing:.045em!important;
}
.creature-art .rarity-badge.rarity-STARTER{min-width:64px!important}
.creature-art .rarity-badge.rarity-COMMON{min-width:68px!important}
.creature-art .rarity-badge.rarity-UNCOMMON{min-width:82px!important}
.creature-art .rarity-badge.rarity-RARE{min-width:54px!important}
.creature-art .rarity-badge.rarity-EPIC{min-width:54px!important}
.creature-art .rarity-badge.rarity-LEGENDARY{min-width:88px!important}
.creature-art .rarity-badge.rarity-MYTHIC{min-width:62px!important}

/* Breeding parent cards use a narrower art frame. Keep the full chip safely
   inside the frame on every rarity, including LEGENDARY. */
.parent-visual .creature-art{overflow:hidden!important}
.parent-visual .rarity-badge{
  right:16px!important;
  top:10px!important;
  transform:none!important;
}
.parent-visual .rarity-badge.rarity-COMMON{min-width:70px!important}
.parent-visual .rarity-badge.rarity-UNCOMMON{min-width:84px!important}
.parent-visual .rarity-badge.rarity-LEGENDARY{min-width:92px!important}
@media(max-width:420px){
  .parent-visual .rarity-badge{right:12px!important;font-size:7px!important}
}

/* V23 dual-economy + slower growth */
.ui-diamond{mask-image:url('/assets/icons/diamond.svg?v=core-loop-v25');-webkit-mask-image:url('/assets/icons/diamond.svg?v=core-loop-v25')}
.diamond-chip .ui-svg,.resource-diamond .inventory-resource-icon .ui-svg{color:#b884ff!important}
.dual-wallet{display:flex!important;gap:10px!important;align-items:stretch!important;padding:0!important;background:transparent!important;border:0!important;min-width:0!important}.dual-wallet>div{border:1px solid #454858;border-radius:13px;padding:10px 14px;background:#11131cd9;min-width:132px}.dual-wallet>div:last-child b{color:#d7b5ff}
.market-mode-tabs{display:flex;gap:8px;margin-bottom:12px;padding:7px!important}.market-mode-tabs button{flex:1;min-height:42px;border:1px solid #314139;border-radius:10px;background:#0a1210;color:#929f96;font-weight:800;font-size:10px;letter-spacing:.04em}.market-mode-tabs button.active{color:#d9ff91;border-color:#71a94b;background:linear-gradient(180deg,#162719,#0b1710);box-shadow:inset 0 -2px #9be54e,0 0 18px #76d13a16}
.market-stack-card{display:grid;grid-template-columns:64px minmax(0,1fr) 160px;gap:14px;align-items:center;border:1px solid #314139;border-radius:14px;background:linear-gradient(180deg,#0b1514,#08100f);padding:13px}.market-stack-icon{width:58px;height:58px;border:1px solid #3d5349;border-radius:14px;display:grid;place-items:center;background:#07100d}.market-stack-icon .ui-svg{width:30px;height:30px;color:#d0b7ff}.material-order-card .market-stack-icon .ui-svg{color:#9ccf73}.market-stack-copy h3{margin:2px 0 4px;font-size:16px}.market-stack-copy p{margin:0;color:#7d8c83;font-size:9px}.market-stack-metrics{display:flex;gap:8px;margin-top:9px}.market-stack-metrics span{min-width:110px;border:1px solid #273a33;border-radius:9px;padding:7px;background:#07110e}.market-stack-metrics small,.market-stack-metrics b{display:block}.market-stack-metrics small{font-size:7px;color:#6f8077;letter-spacing:.09em}.market-stack-metrics b{font-size:11px;color:#e5d4a2;margin-top:3px}.market-stack-metrics .ui-svg,.market-card-action-row .ui-svg,.market-own-title .ui-svg{width:12px;height:12px;vertical-align:-.15em}.market-stack-action{display:grid;gap:7px}.market-stack-action label{font-size:8px;color:#839188}.market-stack-action input{width:100%;margin-top:4px}.market-self-badge.static{position:static!important;display:inline-flex!important;justify-content:center}.market-economy-note{border:1px solid #38453f;border-radius:9px;padding:8px!important;background:#08110e;color:#819188!important}.market-divider{border:0;border-top:1px solid #2d3934;margin:16px 0}.catalyst-shop-actions{display:grid;gap:7px}.catalyst-shop-actions .btn{width:100%;font-size:9px}.diamond-store-preview{margin-top:16px}.diamond-pack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.diamond-pack-grid>div{border:1px solid #493d59;border-radius:12px;background:linear-gradient(160deg,#171022,#0c1018);padding:16px;text-align:center}.diamond-pack-grid b{display:block;font-size:24px;color:#d2b1ff}.diamond-pack-grid span{font-size:9px;color:#85808e}.market-own-stack .resource-thumb{display:grid!important;place-items:center!important;background:#0b1412!important}.market-own-stack .resource-thumb .ui-svg{width:34px;height:34px;color:#c3a4ef}.market-own-stack .market-own-title strong{white-space:normal!important;text-align:right}.training-random-action{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid #4a4b5e;border-radius:13px;padding:14px;background:linear-gradient(110deg,#181521,#10161a)}.training-random-action b,.training-random-action small{display:block}.training-random-action b{font-size:13px;color:#efe7d5;margin:3px 0}.training-random-action small{font-size:9px;color:#8e9099;max-width:620px}.training-random-action .btn{min-width:230px}.battle-training-unit>span{display:inline-flex;align-items:center;gap:5px}.battle-training-unit>span .ui-svg{width:12px;height:12px}
@media(max-width:1100px){.market-stack-card{grid-template-columns:54px 1fr}.market-stack-action{grid-column:1/-1;grid-template-columns:1fr auto}.diamond-pack-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.dual-wallet{width:100%}.dual-wallet>div{flex:1}.market-mode-tabs{overflow-x:auto}.market-mode-tabs button{min-width:150px;flex:none}.market-stack-card{grid-template-columns:46px 1fr}.market-stack-metrics{flex-direction:column}.market-stack-action{grid-template-columns:1fr}.training-random-action{grid-template-columns:1fr}.training-random-action .btn{min-width:0;width:100%}.diamond-pack-grid{grid-template-columns:1fr 1fr}}

/* V24 wholesale economy */
.market-wallet>div small{display:block;font-size:7px;color:#7f9287;margin-top:3px}.diamond-settlement{border-color:#5a426d}.diamond-settlement .market-stack-icon{border-color:#5b466d;background:#130c19}.diamond-settlement .market-stack-icon .ui-svg{color:#d7a8ff}.catalyst-shop-groups{display:grid;gap:12px}.catalyst-shop-groups>div{border:1px solid #2d3d34;border-radius:10px;padding:10px;background:#08110e}.catalyst-shop-groups>div>small{display:block;color:#99a99f;font-size:7px;letter-spacing:.11em;margin-bottom:7px}.catalyst-shop-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.diamond-pack-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.diamond-pack-grid>div{position:relative}.diamond-pack-grid>div strong{display:block;margin-top:8px;color:#f1d98d;font-size:12px}.diamond-pack-grid>div.wholesale{border-color:#789d3e;box-shadow:inset 0 0 0 1px #90d94722}.diamond-pack-grid>div.wholesale:after{content:'WHOLESALE';position:absolute;right:8px;top:8px;font-size:6px;letter-spacing:.11em;color:#a8e65e}.cashout-panel{margin-top:16px}.cashout-rate{border:1px solid #4a4b5e;border-radius:10px;padding:10px 14px;background:#10141a;text-align:right}.cashout-rate small,.cashout-rate b{display:block}.cashout-rate small{font-size:7px;color:#7f8990;letter-spacing:.1em}.cashout-rate b{font-size:14px;color:#f2d991;margin-top:3px}.cashout-grid{display:grid;grid-template-columns:1fr 1fr minmax(180px,1fr) auto;gap:10px;align-items:end}.cashout-grid>div,.cashout-grid label{border:1px solid #303d38;border-radius:10px;padding:10px;background:#09120f}.cashout-grid small,.cashout-grid b{display:block}.cashout-grid small{font-size:7px;color:#74867d;letter-spacing:.09em}.cashout-grid b{font-size:13px;color:#e8e0c9;margin-top:3px}.cashout-grid label{font-size:8px;color:#8e9a94}.cashout-grid input{width:100%;margin-top:5px}.cashout-grid .btn{height:42px}.marketResourceCurrencyWrap.hidden{display:none!important}
@media(max-width:1100px){.diamond-pack-grid{grid-template-columns:repeat(3,1fr)}.cashout-grid{grid-template-columns:1fr 1fr}.catalyst-shop-actions{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.diamond-pack-grid{grid-template-columns:1fr 1fr}.cashout-grid{grid-template-columns:1fr}.catalyst-shop-actions{grid-template-columns:1fr}}

/* ========================= V25 CORE LOOP + CLARITY ========================= */
.progress-goal{display:grid;grid-template-columns:minmax(0,1fr) 92px 44px;gap:10px;align-items:center}.progress-goal>div:first-child{display:flex;justify-content:space-between;gap:8px;min-width:0}.progress-goal small{opacity:.72}.mini-goal-track,.progression-track{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.mini-goal-track i,.progression-track i{display:block;height:100%;background:linear-gradient(90deg,#78d72c,#d9ef55);border-radius:inherit}.genesis-path-panel,.legacy-panel{grid-column:1/-1}.genesis-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.genesis-step{border:1px solid rgba(139,170,142,.2);background:rgba(8,17,18,.55);border-radius:12px;padding:12px;display:flex;gap:9px;align-items:center;min-height:62px}.genesis-step>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#161d1e;border:1px solid #586264;font-weight:800}.genesis-step.done{border-color:rgba(141,235,64,.52);box-shadow:inset 0 0 25px rgba(91,195,41,.08)}.genesis-step.done>span{background:#77ce36;color:#061004;border-color:#b6f068}.journey-reward{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.journey-reward span{opacity:.78}.collection-book{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 18px}.collection-book>div{border:1px solid rgba(165,185,184,.15);background:rgba(5,14,16,.58);padding:14px;border-radius:13px;display:grid;gap:5px}.collection-book small{letter-spacing:.11em;color:#c6a75d}.collection-book b{font-size:1.6rem}.collection-book span{font-size:.78rem;opacity:.74}.legacy-goals h4,.weekly-goals h4{margin:14px 0 9px}.legacy-goals h4 small,.weekly-goals h4 small{font-weight:400;opacity:.6;margin-left:8px}.progression-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.progression-card{border:1px solid rgba(164,178,179,.16);background:rgba(9,16,20,.72);border-radius:14px;padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.progression-card>div:first-child{display:grid;gap:3px}.progression-card>div:first-child small{opacity:.67}.progression-card>.progression-track,.progression-card>small,.progression-card>button{grid-column:1/-1}.progression-card.complete{border-color:rgba(135,224,71,.42)}.progression-card.weekly{border-color:rgba(199,168,85,.26)}
.breeding-preview-panel{margin:16px auto 0;max-width:1040px}.breeding-preview-body{display:grid;gap:14px}.preview-loading{padding:20px;text-align:center;opacity:.72}.breeding-preview-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.breeding-preview-summary>div{border:1px solid rgba(164,181,180,.15);background:rgba(8,17,19,.62);padding:12px;border-radius:12px;display:grid;gap:3px}.breeding-preview-summary small{color:#caa95d;letter-spacing:.1em}.breeding-preview-summary b{font-size:1.2rem}.breeding-preview-summary span{font-size:.72rem;opacity:.65}.preview-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.preview-stat{border:1px solid rgba(255,255,255,.09);padding:11px;border-radius:11px;display:grid;grid-template-columns:22px 1fr;gap:5px 8px;align-items:center}.preview-stat>span{grid-column:1/-1;display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.preview-stat>span strong{font-size:1.05rem;color:#dcbf70}.preview-stat small{grid-column:1/-1;opacity:.6}.preview-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.preview-split>div{border:1px solid rgba(255,255,255,.08);padding:12px;border-radius:12px}.rarity-prob-list{display:grid;gap:7px}.rarity-prob-list>div{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;position:relative;padding-bottom:5px}.rarity-prob-list i{position:absolute;left:0;bottom:0;height:2px;background:#85d941;max-width:100%}.rarity-dot{width:8px;height:8px;border-radius:50%;background:#929a9d}.rarity-dot.rarity-UNCOMMON{background:#7edb43}.rarity-dot.rarity-RARE{background:#49a8ff}.rarity-dot.rarity-EPIC{background:#bb5cff}.rarity-dot.rarity-LEGENDARY{background:#f0bd4c}.rarity-dot.rarity-MYTHIC{background:#ff655e}.trait-prob-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.trait-prob-list>div{border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:8px;display:grid}.trait-prob-list span{font-size:.75rem;opacity:.7}.preview-disclaimer{margin:0;font-size:.76rem;opacity:.65}.inheritance-reveal{margin-top:13px;padding:12px;border:1px solid rgba(132,221,66,.22);border-radius:12px;background:rgba(18,31,20,.5)}.inheritance-parent-line{display:flex;align-items:center;justify-content:center;gap:12px;margin:7px 0 10px}.inheritance-stat-list{display:grid;gap:6px}.inheritance-stat-list>div{display:grid;grid-template-columns:42px 1fr 120px 1fr;gap:8px;align-items:center;font-size:.75rem}.inheritance-stat-list i{height:7px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden}.inheritance-stat-list i em{display:block;height:100%;background:linear-gradient(90deg,#73d43a,#e2b85a)}.mutation-callout{color:#e989ff}.pedigree-tree{display:grid;gap:12px}.pedigree-generation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pedigree-generation.current{grid-template-columns:1fr}.pedigree-generation.grandparents{grid-template-columns:repeat(4,minmax(0,1fr))}.pedigree-person{padding:10px;border:1px solid rgba(137,185,142,.2);border-radius:10px;background:rgba(6,15,17,.6);display:grid;gap:2px}.pedigree-person small{color:#c8a95c}.pedigree-person span{font-size:.72rem;opacity:.67}.pedigree-person.missing{opacity:.5}.pedigree-connector{text-align:center;color:#8bd641}.pedigree-descendants{border-top:1px solid rgba(255,255,255,.08);padding-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pedigree-descendants>.section-kicker,.pedigree-descendants>p{grid-column:1/-1}
.battle-action-overlay{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}.battle-attack-beam{position:absolute;height:4px;transform-origin:0 50%;background:linear-gradient(90deg,rgba(135,239,68,.08),#aaff63,#f7d66b);box-shadow:0 0 10px #8eea4f,0 0 22px rgba(142,234,79,.55);border-radius:999px;animation:battleBeam .42s ease-out forwards}.battle-attack-beam.enemy{background:linear-gradient(90deg,rgba(255,110,88,.08),#ff795c,#ffc368);box-shadow:0 0 10px #ff7c5f,0 0 22px rgba(255,100,75,.5)}.battle-attack-beam.crit{height:6px;filter:brightness(1.35)}@keyframes battleBeam{0%{opacity:0;clip-path:inset(0 100% 0 0)}25%{opacity:1}75%{clip-path:inset(0 0 0 0)}100%{opacity:0}}.battle-impact-burst{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:3px solid #ffe074;box-shadow:0 0 28px #ffd24e;animation:impactBurst .55s ease-out forwards}@keyframes impactBurst{from{transform:scale(.3);opacity:1}to{transform:scale(2.2);opacity:0}}.battle-action-callout{position:absolute;left:50%;top:9%;transform:translate(-50%,-8px);background:rgba(5,10,12,.94);border:1px solid rgba(201,173,91,.5);border-radius:999px;padding:8px 14px;display:flex;gap:8px;align-items:center;opacity:0;transition:.15s ease;white-space:nowrap;box-shadow:0 8px 30px #0008}.battle-action-callout.show{opacity:1;transform:translate(-50%,0)}.battle-action-callout strong{color:#ffcf64}.battle-fighter.targeted,.battle-fighter.active-attacker{outline:none!important;filter:none!important}.battle-event.verdict{border-color:#caa958;background:rgba(100,76,20,.22)}.battle-analysis{margin-top:14px;border:1px solid rgba(183,161,96,.25);background:linear-gradient(180deg,rgba(18,25,26,.96),rgba(8,14,16,.96));padding:16px;border-radius:15px}.battle-analysis-head h3{margin:3px 0 10px}.battle-analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.battle-analysis-grid>div{border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px;display:grid;gap:3px}.battle-analysis-grid small,.battle-analysis-grid span{opacity:.68}.selection-verdict,.elimination-note,.battle-coach{margin-top:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:11px}.selection-verdict>div{display:flex;gap:18px;flex-wrap:wrap}.selection-verdict p,.battle-coach p{margin:5px 0}.battle-coach{border-color:rgba(126,211,65,.25)}
.admin-funnel-panel{margin:14px 0}.admin-funnel{display:grid;gap:7px}.funnel-row{display:grid;grid-template-columns:180px minmax(160px,1fr) 120px;gap:10px;align-items:center}.funnel-track{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.funnel-track i{display:block;height:100%;background:linear-gradient(90deg,#7ed73f,#e2bd62)}.funnel-foot{display:flex;gap:24px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:1000px){.genesis-steps{grid-template-columns:repeat(3,1fr)}.progression-card-grid{grid-template-columns:1fr 1fr}.preview-stat-grid{grid-template-columns:1fr 1fr}.pedigree-generation.grandparents{grid-template-columns:1fr 1fr}.battle-analysis-grid{grid-template-columns:1fr}.funnel-row{grid-template-columns:130px 1fr 90px}}
@media(max-width:700px){.genesis-steps,.collection-book,.progression-card-grid,.breeding-preview-summary,.preview-split,.preview-stat-grid{grid-template-columns:1fr}.trait-prob-list{grid-template-columns:1fr}.inheritance-stat-list>div{grid-template-columns:36px 1fr}.inheritance-stat-list i{grid-column:1/-1}.pedigree-generation,.pedigree-generation.grandparents,.pedigree-descendants{grid-template-columns:1fr}.battle-action-callout{max-width:90%;white-space:normal;text-align:center}.funnel-row{grid-template-columns:1fr}.journey-reward{align-items:flex-start;flex-direction:column}}
.inheritance-traits{margin-top:14px;padding-top:12px;border-top:1px solid rgba(158,244,83,.14)}
.inheritance-traits h4{margin:0 0 8px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#9da8a1)}
.inheritance-trait-row{display:grid;grid-template-columns:minmax(88px,1fr) minmax(110px,1.15fr) 20px minmax(110px,1.15fr);gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.inheritance-trait-row>span{display:flex;justify-content:space-between;gap:7px;align-items:center;padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.025)}
.inheritance-trait-row small{opacity:.66;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inheritance-trait-row strong{color:#d9ff89}.inheritance-trait-row>i{text-align:center;opacity:.5}
@media(max-width:700px){.inheritance-trait-row{grid-template-columns:1fr 1fr}.inheritance-trait-row>b{grid-column:1/-1}.inheritance-trait-row>i{display:none}}


/* V25.3 premium battle presentation */
.battle-fighter.player .battle-fighter-art .pea-portrait{transform:scaleX(1)!important;transform-origin:50% 82%!important}
.battle-fighter.enemy .battle-fighter-art .pea-portrait{transform:scaleX(-1)!important;transform-origin:50% 82%!important}
.battle-fighter.enemy .battle-fighter-art .pea-portrait img,.battle-fighter.enemy .battle-fighter-art .portrait-base{transform:none!important}
.battle-fighter.active-attacker,.battle-fighter.targeted{outline:none!important;filter:none!important}
.battle-combat-aura{position:absolute;left:12%;right:12%;bottom:41px;height:26px;border-radius:50%;opacity:0;pointer-events:none;transform:rotateX(68deg) scale(.72);transition:.16s ease;z-index:0}
.battle-fighter.active-attacker .battle-combat-aura{opacity:1;background:radial-gradient(ellipse at center,rgba(164,255,85,.42) 0 26%,rgba(124,236,73,.12) 48%,transparent 70%);box-shadow:0 0 22px rgba(132,242,76,.46),inset 0 0 0 1px rgba(202,255,151,.38);animation:attackerAura .72s ease-in-out infinite alternate}
.battle-fighter.enemy.active-attacker .battle-combat-aura{background:radial-gradient(ellipse at center,rgba(255,112,91,.38),rgba(255,93,76,.10) 50%,transparent 72%);box-shadow:0 0 22px rgba(255,98,77,.38),inset 0 0 0 1px rgba(255,178,158,.34)}
.battle-fighter.targeted .battle-avatar:after{content:"";position:absolute;left:5%;right:5%;top:5%;bottom:34px;border:1px solid rgba(255,204,105,.38);border-radius:48% 52% 45% 55%/45% 48% 52% 55%;box-shadow:0 0 0 1px rgba(255,198,92,.08),0 0 28px rgba(255,184,68,.20),inset 0 0 34px rgba(255,182,72,.07);pointer-events:none;animation:targetLock 560ms ease-in-out infinite alternate;z-index:7}
.battle-fighter.targeted .battle-avatar:before{content:"";position:absolute;left:50%;bottom:34px;width:72%;height:18px;transform:translateX(-50%) rotateX(70deg);border:1px solid rgba(255,203,102,.58);border-radius:50%;box-shadow:0 0 18px rgba(255,182,55,.34);pointer-events:none;z-index:7}
.battle-fighter.active-attacker .battle-nameplate{border-color:rgba(150,242,90,.55);box-shadow:0 7px 24px #0008,0 0 16px rgba(133,235,77,.15)}
.battle-fighter.targeted .battle-nameplate{border-color:rgba(255,195,94,.55);box-shadow:0 7px 24px #0008,0 0 17px rgba(255,181,66,.18)}
.battle-role-mark{position:absolute;right:7px;top:5px;font-size:5.8px!important;letter-spacing:.11em;color:#777884!important;opacity:.72}
@keyframes attackerAura{from{transform:rotateX(68deg) scale(.70);opacity:.64}to{transform:rotateX(68deg) scale(.90);opacity:1}}
@keyframes targetLock{from{opacity:.42;transform:scale(.97)}to{opacity:.92;transform:scale(1.015)}}

.battle-fighter.attack-melee.acting .battle-avatar{transform:translate3d(var(--attack-lunge-x),var(--attack-lunge-y),115px) scale(1.10)!important;filter:brightness(1.13) saturate(1.08)}
.battle-fighter.attack-heavy.acting .battle-avatar{transform:translate3d(var(--attack-lunge-x),calc(var(--attack-lunge-y) + 4px),85px) scale(1.13)!important;filter:brightness(1.10) saturate(1.04)}
.battle-fighter.attack-ranged.acting .battle-avatar{transform:translate3d(var(--attack-lunge-x),calc(var(--attack-lunge-y) - 5px),45px) scale(1.045)!important;filter:brightness(1.08)}
.battle-fighter.attack-arcane.acting .battle-avatar{transform:translate3d(var(--attack-lunge-x),calc(var(--attack-lunge-y) - 7px),55px) scale(1.055)!important;filter:brightness(1.15) saturate(1.14)}

.battle-projectile-path{position:absolute;height:18px;transform-origin:0 50%;pointer-events:none;z-index:15}.battle-projectile-path i{position:absolute;left:0;top:50%;transform:translateY(-50%);display:block}
.battle-arrow-projectile{width:34px;height:3px;border-radius:2px;background:linear-gradient(90deg,#7a512b,#f2d18a 68%,#fff1c8);box-shadow:0 0 8px rgba(239,211,141,.5);animation:arrowFlight .44s cubic-bezier(.18,.72,.25,1) forwards}.battle-arrow-projectile:before{content:"";position:absolute;right:-7px;top:-4px;border-left:9px solid #f4da95;border-top:5px solid transparent;border-bottom:5px solid transparent}.battle-arrow-projectile:after{content:"";position:absolute;left:-5px;top:-4px;width:8px;height:10px;background:linear-gradient(135deg,transparent 46%,#88aa61 47% 56%,transparent 57%),linear-gradient(45deg,transparent 46%,#88aa61 47% 56%,transparent 57%)}
.battle-projectile-path.enemy .battle-arrow-projectile{background:linear-gradient(90deg,#7a3328,#ff9a72 68%,#ffd3b9);box-shadow:0 0 8px rgba(255,113,82,.45)}.battle-projectile-path.enemy .battle-arrow-projectile:before{border-left-color:#ffad82}
.battle-orb-projectile{width:19px;height:19px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f9f0ff 0 12%,#b38cff 26%,#7045c4 55%,#2e1b55 76%);box-shadow:0 0 12px #ad86ff,0 0 28px rgba(118,72,220,.72);animation:orbFlight .50s cubic-bezier(.18,.72,.25,1) forwards}.battle-projectile-path.enemy .battle-orb-projectile{background:radial-gradient(circle at 35% 35%,#fff3eb 0 12%,#ff9a80 28%,#b53f59 58%,#4d1626 78%);box-shadow:0 0 12px #ff856c,0 0 28px rgba(219,67,75,.6)}
@keyframes arrowFlight{0%{left:2%;opacity:0;transform:translateY(-50%) scale(.82)}15%{opacity:1}100%{left:calc(100% - 36px);opacity:1;transform:translateY(-50%) scale(1)}}
@keyframes orbFlight{0%{left:2%;opacity:0;transform:translateY(-50%) scale(.45)}18%{opacity:1}100%{left:calc(100% - 22px);opacity:.95;transform:translateY(-50%) scale(1.15)}}
.battle-slash-effect{position:absolute;width:76px;height:76px;margin:-38px 0 0 -38px;z-index:16;transform:rotate(var(--slash-angle,36deg));pointer-events:none}.battle-slash-effect:before,.battle-slash-effect:after{content:"";position:absolute;left:6px;right:6px;top:50%;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,#fff1b1 28%,#ffc761 58%,transparent);box-shadow:0 0 10px #ffc65f;transform-origin:50% 50%;animation:slashCut .42s ease-out forwards}.battle-slash-effect:after{transform:rotate(52deg);animation-delay:.05s;opacity:.85}.battle-slash-effect.enemy:before,.battle-slash-effect.enemy:after{background:linear-gradient(90deg,transparent,#ffd2c8 28%,#ff816d 58%,transparent);box-shadow:0 0 10px #ff765e}.battle-slash-effect.crit{filter:brightness(1.35);transform:rotate(var(--slash-angle,36deg)) scale(1.16)}
@keyframes slashCut{0%{clip-path:inset(0 100% 0 0);opacity:0}20%{opacity:1}70%{clip-path:inset(0 0 0 0)}100%{opacity:0;filter:blur(1px)}}
.battle-heavy-shock{position:absolute;width:86px;height:42px;margin:-21px 0 0 -43px;border-radius:50%;border:3px solid rgba(255,213,116,.72);box-shadow:0 0 16px rgba(255,194,76,.48),inset 0 0 20px rgba(255,214,116,.18);z-index:16;pointer-events:none;animation:heavyShock .52s ease-out forwards}.battle-heavy-shock:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:#ffd277;transform:translate(-50%,-50%);box-shadow:0 0 18px #ffbe45}.battle-heavy-shock.enemy{border-color:rgba(255,125,101,.70);box-shadow:0 0 18px rgba(255,92,70,.45)}.battle-heavy-shock.enemy:after{background:#ff826d;box-shadow:0 0 18px #ff6b50}.battle-heavy-shock.crit{filter:brightness(1.32);border-width:4px}
@keyframes heavyShock{from{opacity:1;transform:scale(.25)}to{opacity:0;transform:scale(1.9)}}
.battle-dodge-whisp{position:absolute;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;border:1px dashed rgba(209,215,229,.72);box-shadow:0 0 16px rgba(170,190,220,.24);animation:dodgeWhisp .58s ease-out forwards;z-index:16}@keyframes dodgeWhisp{from{opacity:.9;transform:scale(.5) rotate(0)}to{opacity:0;transform:scale(1.5) rotate(120deg)}}
.battle-impact-burst.premium{width:30px;height:30px;margin:-15px 0 0 -15px;border-width:2px;box-shadow:0 0 18px rgba(255,208,104,.65);z-index:17}.battle-impact-burst.premium.ranged{border-color:#ffe4a2}.battle-impact-burst.premium.arcane{border-color:#c6a4ff;box-shadow:0 0 20px #a67cff}.battle-impact-burst.premium.heavy{border-color:#ffd071}.battle-impact-burst.premium.melee{border-color:#fff0b1}
.battle-action-callout{top:7%;min-width:210px;justify-content:center;border-radius:12px;padding:8px 14px 9px;background:linear-gradient(180deg,rgba(12,17,19,.96),rgba(7,10,13,.94));border:1px solid rgba(185,163,103,.38);box-shadow:0 12px 34px #0009,0 0 18px rgba(180,150,83,.09);display:grid;grid-template-columns:auto auto;column-gap:10px;row-gap:1px;text-align:center}.battle-action-callout small{grid-column:1/-1;font-size:6px;letter-spacing:.18em;color:#b89d62}.battle-action-callout b{font-size:9px;font-weight:800;color:#ddd9cf}.battle-action-callout b span{color:#847f75;padding:0 3px}.battle-action-callout strong{font-size:10px;align-self:center;color:#ffd06d}.battle-action-callout.verdict-callout{grid-template-columns:1fr}.battle-action-callout.verdict-callout b{font-size:13px;color:#e9cf8b}
@media(max-width:760px){.battle-role-mark{display:none}.battle-action-callout{top:6%;min-width:170px;padding:7px 10px}.battle-fighter.targeted .battle-avatar:after{left:0;right:0;bottom:27px}.battle-combat-aura{bottom:30px}}
/* V26 five-founder rarity ladder */
.starter-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.starter-grid .creature-name{font-size:15px!important}.starter-grid .creature-meta{font-size:9px!important}.starter-grid .trait{font-size:8px!important}
.breeding-preview-summary{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.selection-nursery-note{margin:14px 0;padding:11px 13px;border:1px solid #78a94d;border-radius:12px;background:linear-gradient(135deg,#173a1f,#0b2014);display:flex;gap:10px;align-items:center}.selection-nursery-note b{color:#b8f26a;font-size:11px;letter-spacing:.09em}.selection-nursery-note span{font-size:11px;color:#c7d5c9}
@media(max-width:1250px){.starter-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.starter-grid .creature-card:last-child{grid-column:auto!important;max-width:none!important}.breeding-preview-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.starter-grid{display:flex!important}.breeding-preview-summary{grid-template-columns:1fr 1fr!important}}

/* V26.1 dashboard founder/stat readability hotfix */
.starter-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))!important;align-items:stretch}
.starter-grid .creature-card{min-width:0}
.starter-grid .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
.starter-grid .stat-mini{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon label" "value value" "track track";align-items:center;text-align:left;column-gap:5px;padding:7px 8px 8px!important;min-width:0}
.starter-grid .stat-mini>.ui-svg{grid-area:icon;margin:0!important}
.starter-grid .stat-mini>small{grid-area:label;margin:0!important;display:block!important;font-size:8px!important;line-height:1.1}
.starter-grid .stat-values{grid-area:value;display:flex!important;justify-content:flex-start!important;align-items:baseline;gap:4px;width:100%;margin-top:4px!important;font-variant-numeric:tabular-nums;overflow:hidden}
.starter-grid .stat-values b{font-size:15px!important;line-height:1!important;min-width:0}
.starter-grid .stat-values span{font-size:8px!important;line-height:1!important;white-space:nowrap;overflow:hidden;text-overflow:clip}
.starter-grid .mini-track{grid-area:track;width:100%;margin:6px 0 0!important}
@media(max-width:1250px){.starter-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}}
@media(max-width:760px){.starter-grid{display:flex!important}.starter-grid .creature-card{min-width:78%!important}.starter-grid .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ===== V27 Full Systems ===== */
.breeding-parent-profile{border:1px solid rgba(150,195,164,.2);border-radius:16px;background:linear-gradient(180deg,rgba(18,29,31,.98),rgba(11,19,22,.98));overflow:hidden;padding:12px;display:grid;gap:12px}
.breeding-parent-top{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}.breeding-parent-art{height:138px;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.2)}.breeding-parent-art .pea-portrait{height:100%}.breeding-parent-art img{width:100%;height:100%;object-fit:cover}.breeding-parent-top h3{margin:7px 0 3px;font-size:1.2rem}.breeding-parent-top p{margin:0;color:var(--muted,#98a7a2);font-size:.8rem}.static-rarity{position:static!important;display:inline-flex!important}.breeder-score{margin-top:9px;display:flex;gap:8px;align-items:center}.breeder-score small{letter-spacing:.11em;color:#d9b65d}.breeder-score b{font-size:1.1rem;color:#c9ff61}
.breed-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.breed-facts span{padding:8px;border-radius:9px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.055);min-width:0}.breed-facts small,.breed-lineage small{display:block;font-size:.58rem;letter-spacing:.09em;color:#83938e}.breed-facts b{display:block;margin-top:3px;font-size:.78rem;overflow-wrap:anywhere}
.breed-stat-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.breed-stat-pairs>div{display:grid;grid-template-columns:20px 1fr auto;gap:6px;align-items:center;padding:8px;border-radius:9px;background:#10171c}.breed-stat-pairs small{font-size:.65rem}.breed-stat-pairs b{font-variant-numeric:tabular-nums}.breed-stat-pairs b span{font-weight:400;color:#87958f}
.breed-trait-block{display:grid;gap:6px}.breed-trait-block>small{font-size:.58rem;color:#d9b65d;letter-spacing:.1em}.breed-trait-block p{margin:0;color:#a6b0ad;font-size:.72rem;line-height:1.45}.gene-details{border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.gene-details summary{cursor:pointer;color:#cbd7d2;font-size:.72rem}.genotype-row{display:grid;grid-template-columns:35px 1fr;gap:8px;align-items:center;margin-top:7px}.genotype-row>b{font-size:.65rem}.genotype-row>span{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.genotype-row i{font-style:normal;text-align:center;padding:4px 2px;border-radius:5px;background:rgba(255,255,255,.05);font-size:.61rem;font-variant-numeric:tabular-nums}.behavior-genome{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.behavior-locus{display:inline-flex;gap:5px;padding:4px 6px;border-radius:6px;background:rgba(255,255,255,.045);font-size:.62rem}.breed-lineage{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;font-size:.68rem}.breed-lineage span{color:#b4c0bc;overflow-wrap:anywhere}
.pair-health-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.pair-health-panel>div{padding:11px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid rgba(126,214,148,.18)}.pair-health-panel.warn>div,.pair-health-panel.caution>div{border-color:rgba(235,190,72,.35)}.pair-health-panel.danger>div{border-color:rgba(255,99,99,.45)}.pair-health-panel small{display:block;font-size:.6rem;letter-spacing:.09em;color:#879791}.pair-health-panel b{display:block;margin:4px 0;font-size:.85rem}.pair-health-panel span{font-size:.68rem;color:#9eaaa6}.pair-advice{margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(107,187,123,.07);display:grid;gap:3px}.pair-advice b{font-size:.76rem}.pair-advice span{font-size:.7rem;color:#aeb9b5;line-height:1.4}
.birth-reveal{scroll-margin-top:110px}.rarity-reveal-UNCOMMON{box-shadow:0 0 40px rgba(104,220,92,.13)}.rarity-reveal-RARE{box-shadow:0 0 44px rgba(67,149,255,.17)}.rarity-reveal-EPIC{box-shadow:0 0 50px rgba(190,88,255,.18)}.rarity-reveal-LEGENDARY,.rarity-reveal-MYTHIC{animation:v27BirthPulse 1.5s ease-out 1}.mutation-reveal{outline:1px solid rgba(203,113,255,.65)}@keyframes v27BirthPulse{0%{filter:brightness(1.8);transform:scale(.985)}100%{filter:brightness(1);transform:scale(1)}}
.encounter-rule-card{display:grid;gap:3px;margin:10px 0;padding:10px 12px;border:1px solid rgba(224,177,75,.22);border-radius:10px;background:linear-gradient(90deg,rgba(224,177,75,.08),rgba(81,177,91,.035))}.encounter-rule-card:empty{display:none}.encounter-rule-card span{font-size:.58rem;letter-spacing:.12em;color:#d6ae52}.encounter-rule-card b{font-size:.8rem}.encounter-rule-card small{color:#9ea9a5;line-height:1.35}
.ranked-season-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.ranked-season-strip article{padding:14px;border:1px solid rgba(130,190,150,.18);background:#0d1619;border-radius:12px;display:grid;gap:5px}.ranked-season-strip small{font-size:.6rem;letter-spacing:.1em;color:#d8b65b}.ranked-season-strip b{font-size:1rem}.ranked-season-strip span{font-size:.7rem;color:#9caaa5;line-height:1.4}.ranked-history-panel{margin-top:14px}.ranked-defense-history{display:grid;gap:7px}.ranked-defense-row{display:grid;grid-template-columns:100px minmax(120px,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.06);border-radius:9px;background:rgba(255,255,255,.018)}.ranked-defense-row>span{font-size:.62rem;font-weight:800;letter-spacing:.08em}.ranked-defense-row.win>span{color:#8de968}.ranked-defense-row.loss>span{color:#f67d7d}.ranked-defense-row small{color:#82918c;font-size:.65rem}
.market-toolbar{display:grid!important;grid-template-columns:minmax(220px,2fr) repeat(6,minmax(105px,1fr)) auto;gap:8px!important;align-items:center}.market-mini-input{min-width:0;width:100%;height:42px;border-radius:8px;border:1px solid rgba(109,182,127,.25);background:#071611;color:#dce9e0;padding:0 9px}.breeder-market-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:8px 0}.breeder-market-strip span{background:rgba(255,255,255,.035);border-radius:6px;padding:5px;text-align:center}.breeder-market-strip small{display:block;font-size:.52rem;color:#80918a}.breeder-market-strip b{font-size:.72rem}.market-genetics-note{font-size:.63rem!important;color:#869790!important;line-height:1.4!important;margin:6px 0!important}
@media(max-width:1250px){.market-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.market-toolbar .collection-search{grid-column:span 2}.pair-health-panel,.ranked-season-strip{grid-template-columns:1fr}.breed-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.breeding-parent-top{grid-template-columns:90px 1fr}.breeding-parent-art{height:108px}.market-toolbar{grid-template-columns:1fr 1fr}.market-toolbar .collection-search{grid-column:1/-1}.breed-stat-pairs,.breed-facts{grid-template-columns:1fr 1fr}.ranked-defense-row{grid-template-columns:1fr}.genotype-row>span{grid-template-columns:repeat(3,1fr)}}
.trait-strategy-kicker{display:block;margin-top:18px}.trait-strategy-list{display:grid;gap:7px;margin-top:8px}.trait-strategy-list>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(120px,1fr) minmax(160px,1.4fr);gap:8px;padding:9px 10px;border:1px solid rgba(130,205,145,.18);border-radius:8px;background:rgba(76,157,89,.045)}.trait-strategy-list b{color:#d9efa6}.trait-strategy-list span,.trait-strategy-list small{color:#9caaa6;font-size:.68rem}

/* ===== V27.1 Breeding parent portrait containment hotfix ===== */
.breeding-parent-art{
  position:relative!important;
  isolation:isolate;
  width:120px;
  height:138px;
  min-width:120px;
  overflow:hidden!important;
  border-radius:12px;
  background:linear-gradient(180deg,#171a20,#0c1115)!important;
}
.breeding-parent-art .pea-portrait{
  position:absolute!important;
  inset:2% 4% 0!important;
  width:auto!important;
  height:auto!important;
  transform:none!important;
  overflow:hidden!important;
}
.breeding-parent-art .pea-portrait picture{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.breeding-parent-art .pea-portrait img,
.breeding-parent-art .pea-portrait .portrait-base{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:none!important;
  filter:drop-shadow(0 10px 10px rgba(0,0,0,.58)) saturate(1.03)!important;
}
@media(max-width:760px){
  .breeding-parent-art{width:90px;height:108px;min-width:90px}
}


/* ===== V28 Scarce Training + Composition Curriculum ===== */
.training-scarcity-guide{
  display:flex;align-items:flex-start;gap:18px;margin:0 0 18px;padding:18px 20px;
  border-color:rgba(201,168,78,.38);
  background:
    radial-gradient(circle at 3% 10%,rgba(200,167,67,.13),transparent 32%),
    linear-gradient(135deg,rgba(13,30,25,.96),rgba(8,18,18,.98));
}
.training-scarcity-guide h2{margin:3px 0 6px;font-size:20px}
.training-scarcity-guide p{margin:0;color:var(--muted);max-width:900px;line-height:1.55}
.training-scarcity-mark{
  width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:14px;
  border:1px solid rgba(216,181,76,.5);background:rgba(216,181,76,.09);color:#e6c95f;font-size:23px;
  box-shadow:0 0 25px rgba(212,176,67,.08);
}
.training-investment-profile{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding:10px;
  border:1px solid rgba(131,164,139,.22);border-radius:12px;background:rgba(6,15,15,.72)
}
.training-investment-profile>div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.018)}
.training-investment-profile small{font-size:9px;letter-spacing:.13em;color:#86968e}
.training-investment-profile b{font-size:14px}
.training-investment-profile span{font-size:10px;color:#a5b2aa}
.profile-elite-investment{border-color:rgba(223,190,66,.5)}
.profile-promising{border-color:rgba(121,196,84,.4)}
.profile-low-potential{border-color:rgba(195,99,81,.38)}
.composition-lesson-card{
  margin:10px 0 13px;padding:13px 14px;border:1px solid rgba(107,184,99,.32);
  border-radius:12px;background:linear-gradient(135deg,rgba(12,34,25,.92),rgba(8,18,18,.9))
}
.composition-lesson-card:empty{display:none}
.composition-lesson-card h3{margin:3px 0 5px;font-size:16px}
.composition-lesson-card p{margin:0 0 9px;color:#bdc9c0;font-size:12px;line-height:1.45}
.composition-lesson-card>small{display:block;margin-top:8px;color:#9fb1a5;font-size:10px;line-height:1.45}
.composition-role-list{display:flex;gap:5px;flex-wrap:wrap}
.composition-role-list span{display:flex;align-items:center;gap:5px;border:1px solid rgba(150,178,158,.25);border-radius:999px;padding:4px 8px;font-size:10px;color:#c7d2ca;background:rgba(255,255,255,.025)}
.composition-role-list b{color:#b9e754;font-size:9px}
.composition-counter-list{padding-left:18px;margin:9px 0 0;color:#b9c4bc;font-size:10px;line-height:1.5}
.composition-coach-tip{margin-top:9px;padding:9px 11px;border-left:2px solid #9bcf50;background:rgba(106,171,64,.07);display:flex;flex-direction:column;gap:3px}
.composition-coach-tip b{font-size:9px;letter-spacing:.13em;color:#b9df75}
.composition-coach-tip span{font-size:11px;color:#cad4cd;line-height:1.45}
.market-wallet:not(.dual-wallet){grid-template-columns:minmax(180px,1fr)!important}
@media(max-width:760px){
  .training-scarcity-guide{padding:14px;gap:12px}
  .training-investment-profile{grid-template-columns:1fr}
}

/* V29 launch + multi-server */
.world-switch{display:flex;align-items:center;gap:8px;min-width:168px;padding:7px 9px;border:1px solid rgba(153,214,91,.22);border-radius:12px;background:rgba(3,18,14,.62)}
.world-copy{display:grid;gap:0;min-width:72px}.world-copy small{font-size:8px;letter-spacing:.16em;color:#87a492}.world-copy b{font-size:11px;color:#eef7d0;line-height:1.15}.world-copy span{font-size:8px;color:#9fbd9f;white-space:nowrap}.world-switch select{width:24px;min-width:24px;max-width:24px;padding:4px 0;color:transparent;border:0;background:transparent;cursor:pointer}.world-switch select option{color:#e8eee6;background:#0a1512}
.server-help{margin-top:-4px;line-height:1.35}.auth-legal{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-size:11px;margin:10px 0 0}.auth-legal a,.site-legal-footer a{color:#a8ca83;text-decoration:none}.auth-legal a:hover,.site-legal-footer a:hover{text-decoration:underline}
.site-legal-footer{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;padding:24px 10px 34px;color:#6f8279;font-size:11px}.site-legal-footer span{color:#93a69c}
.admin-launch-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;margin:14px 0 18px}.admin-subpanel{border:1px solid rgba(142,184,116,.18);border-radius:14px;padding:14px;background:rgba(6,19,17,.56)}.admin-subpanel h3{margin:4px 0 12px}.readiness-row,.world-ops-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.055)}.readiness-row:last-child,.world-ops-row:last-child{border-bottom:0}.readiness-dot{width:9px;height:9px;border-radius:50%;background:#d35a5a;box-shadow:0 0 10px rgba(211,90,90,.25)}.readiness-row.ok .readiness-dot{background:#9cdf56;box-shadow:0 0 10px rgba(156,223,86,.3)}.readiness-row b,.world-ops-row b{font-size:12px}.readiness-row small,.world-ops-row small{display:block;color:#82958b;font-size:10px}.launch-state{margin:4px 0 10px;padding:9px 11px;border-radius:9px;background:rgba(255,89,89,.08);color:#f3aaaa;font-weight:800;font-size:12px}.launch-state.ready{background:rgba(138,214,81,.1);color:#bcea8c}.world-saturation{min-width:70px;text-align:right}.world-saturation strong{display:block;color:#d6eab8}.world-saturation span{font-size:9px;color:#81978b}.world-create{display:flex;gap:8px;margin-top:12px}.world-create input{min-width:0;flex:1}.world-phase-badge{display:inline-flex;padding:3px 6px;border:1px solid rgba(149,199,113,.2);border-radius:999px;font-size:8px;letter-spacing:.08em;color:#aecd94}
.legal-page{min-height:100vh;background:#05100d;color:#dbe4dc;font-family:Inter,system-ui,sans-serif;padding:46px 20px}.legal-card{max-width:880px;margin:auto;background:#091713;border:1px solid rgba(137,190,103,.2);border-radius:18px;padding:28px;box-shadow:0 20px 70px rgba(0,0,0,.32)}.legal-card h1,.legal-card h2{color:#eff5d9}.legal-card h1{margin-top:0}.legal-card h2{margin-top:28px;font-size:18px}.legal-card p,.legal-card li{line-height:1.65;color:#b6c5bb}.legal-card a{color:#b7e77c}.legal-kicker{color:#d7b35e;font-size:11px;font-weight:800;letter-spacing:.15em}.legal-note{border-left:3px solid #8dbb5e;padding:10px 14px;background:rgba(125,177,85,.08)}
@media(max-width:1050px){.world-copy{display:none}.world-switch{min-width:auto}.admin-launch-grid{grid-template-columns:1fr}}
@media(max-width:760px){.world-switch{padding:5px 6px}.world-switch select{width:30px;min-width:30px}.site-legal-footer{padding-bottom:86px}}
.world-admin-actions{display:flex;gap:10px;margin-top:5px}.world-admin-actions .text-link{font-size:9px;padding:0;background:none;border:0;color:#91bd75;cursor:pointer}
.terms-check{display:flex!important;align-items:flex-start;gap:8px;margin:6px 0 2px;font-size:10px;color:#9eb0a5}.terms-check input{width:auto!important;margin-top:2px}.terms-check a{color:#b5dc83}
.auth-feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.auth-feature-strip span{display:grid;gap:3px;padding:8px 9px;border:1px solid rgba(143,195,106,.16);border-radius:9px;background:rgba(4,18,14,.48)}.auth-feature-strip b{font-size:9px;letter-spacing:.1em;color:#d7e9ba}.auth-feature-strip small{font-size:9px;line-height:1.3;color:#84998d}@media(max-width:650px){.auth-feature-strip{grid-template-columns:1fr}}
.phase-policy-notice{color:#e2c981!important;background:rgba(95,78,29,.14);border-left:3px solid #c5a75f;padding:10px 12px;max-width:900px!important;font-size:12px!important;line-height:1.6!important}
.trial-wallet-chip{border-color:#6c5f9c!important}

/* v30.1 smoke-test hotfix */
.v19-utility-btn.portal-utility-btn{width:auto;min-width:58px;padding:0 9px;font-size:8px;font-weight:900;letter-spacing:.08em;cursor:pointer}.diamond-center-note{display:flex;align-items:center;justify-content:flex-start}.market-economy-note .diamond-center-button{width:auto;margin:0;text-decoration:none}.replay-controls button{cursor:pointer}.replay-controls button:hover{color:#d8f6a3;background:#1b1c29}.replay-controls button.active{box-shadow:inset 0 0 0 1px #8bbf58;color:#dfffab}


/* V30.3 · Class readability, composition coach and guided start */
.role-guardian{--role-accent:#78b9a0;--role-soft:#78b9a020}
.role-assassin{--role-accent:#9d8cff;--role-soft:#9d8cff20}
.role-archer{--role-accent:#e0b35b;--role-soft:#e0b35b20}
.role-knight{--role-accent:#aeb8c7;--role-soft:#aeb8c720}
.role-mage{--role-accent:#cf83df;--role-soft:#cf83df20}
.creature-card[class*="role-"]{box-shadow:inset 0 0 0 1px var(--role-soft),0 14px 34px #0003}
.creature-card[class*="role-"]:hover{border-color:var(--role-accent)}
.class-badge{position:absolute;left:8px;bottom:8px;z-index:5;display:flex;align-items:center;gap:5px;min-height:24px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--role-accent,#b7c7bc) 65%,transparent);border-radius:999px;background:#07110edc;color:var(--role-accent,#dfe7e1);box-shadow:0 4px 16px #0007;backdrop-filter:blur(5px);pointer-events:none}
.class-badge svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.class-badge svg path:first-child:last-child{fill:currentColor;stroke:none}
.class-badge b{font-size:8px;letter-spacing:.11em}
.class-badge em{font-style:normal;font-size:8px;color:#e9efe9}
.class-badge.compact{min-height:19px;padding:2px 5px;gap:3px;bottom:5px;left:5px}
.class-badge.compact svg{width:10px;height:10px}.class-badge.compact b{font-size:6.5px}
.team-pick-art,.formation-mini-art,.recent-visual,.squad-summary-lineup>div{position:relative}
.team-pick .class-badge{z-index:7}
.squad-summary-lineup .class-badge{left:2px;bottom:2px;transform:scale(.8);transform-origin:left bottom}
.formation-mini-art .class-badge{left:3px;bottom:3px;transform:scale(.84);transform-origin:left bottom}
.battle-role-panel{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;margin:4px 0 14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--role-accent,#8ea798) 48%,#243c30);border-radius:12px;background:linear-gradient(90deg,var(--role-soft,#ffffff09),transparent)}
.battle-role-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:11px;background:#07130e;border:1px solid var(--role-accent,#72877a);color:var(--role-accent,#dce6df)}
.battle-role-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.battle-role-icon svg path:first-child:last-child{fill:currentColor;stroke:none}
.battle-role-panel small{display:block;color:var(--role-accent,#a8baaf);font-size:8px;letter-spacing:.13em}.battle-role-panel b{display:block;margin:2px 0;font-size:18px}.battle-role-panel span{font-size:10px;color:#9eafa3;line-height:1.45}
.class-trait-note{margin:0 0 13px;padding:9px 11px;border-left:2px solid #628b73;background:#0a1711;color:#aab8ae;font-size:10px;line-height:1.45}

.formation-slot-hint{position:absolute;left:50%;top:-16px;transform:translateX(-50%);z-index:8;font-size:6.5px;font-weight:900;letter-spacing:.1em;color:#7d7a87;white-space:nowrap}
.formation-drop-slot[class*="role-"]{border-color:color-mix(in srgb,var(--role-accent,#5e6671) 52%,#292a36)!important}
.composition-coach-panel{margin:12px 0;padding:14px;border:1px solid #3a5144;border-radius:13px;background:linear-gradient(150deg,#0b1c15,#11151a)}
.composition-coach-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.composition-coach-head h3{margin:3px 0 0;font-size:16px}.composition-coach-head>span{font-size:11px;color:#d6c183;border:1px solid #5d563f;border-radius:999px;padding:5px 8px}
.composition-role-summary{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.composition-role-summary span{display:flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--role-accent,#69766e) 45%,#29352e);background:var(--role-soft,#ffffff08);border-radius:999px;padding:5px 8px;color:var(--role-accent,#dbe3de)}.composition-role-summary svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7}.composition-role-summary svg path:first-child:last-child{fill:currentColor;stroke:none}.composition-role-summary b{font-size:8px;letter-spacing:.06em}
.composition-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.composition-check-grid>div{display:grid;gap:2px;padding:9px 10px;border:1px solid #33463c;border-radius:9px;background:#08130e}.composition-check-grid>div.ok{border-color:#456b4d}.composition-check-grid>div.warn{border-color:#755f36}.composition-check-grid b{font-size:8px;letter-spacing:.08em}.composition-check-grid .ok b{color:#9edb8f}.composition-check-grid .warn b{color:#e2bb66}.composition-check-grid span{font-size:9px;color:#8fa095}
.composition-warning-list{margin:10px 0 0;padding-left:18px;color:#c5a86d;font-size:9px;line-height:1.55}.composition-coach-note{margin:10px 0 0;color:#829188;font-size:9px}.tactic-chip-row{display:flex;gap:6px;flex-wrap:wrap}

.v19-utility-btn.onboarding-utility-btn{width:auto;min-width:58px!important;padding:0 9px;font-size:8px;font-weight:900;letter-spacing:.08em;cursor:pointer}.onboarding-utility-btn.guided-attention{color:#d9f886!important;border-color:#7aa349!important;box-shadow:0 0 0 1px #8bcf4c22 inset,0 0 18px #8bcf4c22}
.guided-start-coach{position:fixed;right:22px;bottom:22px;z-index:95;width:min(390px,calc(100vw - 28px));padding:16px;border:1px solid #516848;border-radius:16px;background:linear-gradient(160deg,#0c1d15f5,#11141af5);box-shadow:0 24px 70px #000b,0 0 0 1px #ffffff08 inset;backdrop-filter:blur(16px)}
.guided-start-coach.hidden{display:none}.guided-start-coach[data-step="ranked"]{border-color:#9c844f;box-shadow:0 24px 70px #000b,0 0 28px #d4ac4d1f}
.guided-start-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.guided-start-top>span{font-size:8px;font-weight:900;letter-spacing:.14em;color:#b9dc75}.guided-start-top button{border:0;background:transparent;color:#8f9c93;font-size:20px;cursor:pointer}.guided-start-coach h3{margin:7px 0 5px;font-size:20px}.guided-start-coach p{margin:0;color:#a6b4ab;font-size:11px;line-height:1.55}.guided-start-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:13px}.guided-start-actions .btn{padding:8px 10px;font-size:9px}.guided-start-actions .guided-skip{margin-left:auto;border:0;background:transparent;color:#78867c;font-size:9px;cursor:pointer}
@media(max-width:760px){.class-badge{bottom:6px}.composition-check-grid{grid-template-columns:1fr}.guided-start-coach{right:14px;bottom:14px}.formation-slot-hint{display:none}.onboarding-utility-btn{display:none!important}}

.side-link.guided-attention{color:#d9f886!important;border-color:#7aa349!important;background:#142013!important;box-shadow:inset 3px 0 0 #91c854}
.birth-art{position:relative}.birth-art .class-badge{left:12px;bottom:12px}.birth-class-line{margin:8px 0 10px;color:#9fb0a5;font-size:10px;line-height:1.45}.birth-class-line b{color:#d7e7b9;font-size:8px;letter-spacing:.12em;margin-right:5px}


/* V30.4 trait literacy */
.trait-chip{display:inline-flex!important;align-items:center;gap:5px;cursor:help;outline:none;line-height:1.1}
.trait-chip:hover,.trait-chip:focus-visible{border-color:#8bcf68!important;background:#1d2a20!important;color:#f1f5e9!important;box-shadow:0 0 0 1px rgba(139,207,104,.16),0 6px 18px rgba(0,0,0,.26)}
.trait-chip small{font-size:6.5px;letter-spacing:.08em;color:#b2a36f;border-left:1px solid rgba(255,255,255,.12);padding-left:5px}
.carrier-trait{border-style:dashed!important;background:#121821!important;color:#b8bec3!important}
.carrier-trait:hover,.carrier-trait:focus-visible{border-color:#d0b765!important;background:#201d14!important;color:#f2e5b0!important}
.carrier-trait-row{margin-top:5px}
.help-tooltip-popup{position:fixed;z-index:99999;max-width:min(340px,calc(100vw - 24px));padding:10px 12px;border:1px solid rgba(147,206,111,.36);border-radius:10px;background:#07100d;color:#e9f1e8;font-size:12px;line-height:1.45;box-shadow:0 14px 45px rgba(0,0,0,.55);pointer-events:none}
.help-tooltip-popup[hidden]{display:none!important}
.market-carrier-block{display:grid;gap:5px;margin-top:7px}.market-carrier-block>small{font-size:8px;letter-spacing:.12em;color:#8f9a96}

/* =========================================================
   R6.7 CHARACTER DETAIL + BREEDING UX
   ========================================================= */
.trait-chip{cursor:default!important}
.character-modal .help-tooltip-popup{z-index:2147483647!important}

.genetic-potential-card{margin-bottom:14px;padding:14px;border:1px solid rgba(142,201,111,.20);border-radius:14px;background:linear-gradient(180deg,rgba(18,31,23,.76),rgba(9,17,14,.7));box-shadow:inset 0 1px rgba(255,255,255,.025)}
.genetic-potential-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}
.genetic-potential-head small{font-size:9px;color:#89978f}
.genetic-potential-list{display:grid;gap:8px}
.genetic-potential-row{display:grid;grid-template-columns:18px 40px minmax(120px,1fr) 78px;gap:9px;align-items:center;padding:7px 8px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:rgba(255,255,255,.018)}
.genetic-potential-row>.ui-svg{width:13px;height:13px}
.genetic-potential-row>b{font-size:10px;letter-spacing:.05em}
.genetic-potential-row>span{text-align:right;font-variant-numeric:tabular-nums}
.genetic-potential-row>span strong{font-size:12px;color:#f1eee4}.genetic-potential-row>span small{font-size:8px;color:#89958d}
.genetic-potential-track{height:8px;border-radius:999px;background:rgba(255,255,255,.075);overflow:hidden;box-shadow:inset 0 1px 2px #0008}
.genetic-potential-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6caf49,#b8e26f)}
.genetic-potential-row.stat-hp .genetic-potential-track i{background:linear-gradient(90deg,#b34f65,#ed7d8f)}
.genetic-potential-row.stat-attack .genetic-potential-track i{background:linear-gradient(90deg,#b96e34,#f0ab55)}
.genetic-potential-row.stat-defense .genetic-potential-track i{background:linear-gradient(90deg,#3f75b8,#70b5f1)}
.genetic-potential-row.stat-speed .genetic-potential-track i{background:linear-gradient(90deg,#5e983f,#9bd66f)}

.trait-detail-list{display:grid;gap:8px;margin:8px 0 18px}
.trait-detail-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start;padding:11px 12px;border:1px solid rgba(132,181,116,.16);border-radius:12px;background:linear-gradient(90deg,rgba(25,40,28,.68),rgba(12,19,16,.58))}
.trait-detail-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(143,213,103,.26);background:radial-gradient(circle at 50% 40%,rgba(113,191,78,.2),rgba(15,30,18,.7));color:#9cd670}
.trait-detail-icon .ui-svg{width:17px;height:17px}
.trait-detail-card b{display:block;color:#eef4e9;font-size:12px;letter-spacing:.02em;margin:1px 0 4px}
.trait-detail-card p{margin:0;color:#a9b7ab;font-size:10.5px;line-height:1.5}

.character-breeding-profile{display:grid;gap:13px}
.breeding-profile-hero{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border:1px solid rgba(197,166,91,.22);border-radius:14px;background:linear-gradient(135deg,rgba(54,47,26,.40),rgba(12,24,17,.7))}
.breeding-profile-hero h3{margin:3px 0 4px;font-size:24px}.breeding-profile-hero p{margin:0;color:#9eaaa1;font-size:10px;line-height:1.5}
.breeder-score.large{margin:0;display:grid;justify-items:end;gap:2px;min-width:92px}.breeder-score.large b{font-size:30px;line-height:1;color:#d7f978}
.breeding-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.breeding-profile-grid>div{padding:10px;border:1px solid rgba(255,255,255,.065);border-radius:10px;background:rgba(255,255,255,.02);min-width:0}
.breeding-profile-grid small,.breeding-profile-lineage small{display:block;color:#889890;font-size:7px;letter-spacing:.09em;margin-bottom:4px}
.breeding-profile-grid b{font-size:11px;overflow-wrap:anywhere}
.breeding-profile-lineage{padding:11px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:rgba(8,16,13,.55)}
.breeding-profile-lineage span{font-size:11px;color:#d9dfda}
.use-breeding-lab-btn{justify-self:start;display:inline-flex!important;align-items:center;gap:8px}.use-breeding-lab-btn .ui-svg{width:14px;height:14px}.breeding-profile-note{margin:0!important}

.pedigree-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(190px,.75fr);gap:14px;align-items:start}
.ancestry-tree{padding:12px;border:1px solid rgba(137,185,142,.12);border-radius:13px;background:rgba(7,14,13,.44)}
.ancestry-tree .pedigree-generation.grandparents{order:1}.ancestry-tree .pedigree-generation.parents{order:3}.ancestry-tree .pedigree-generation.current{order:5}
.ancestry-tree .pedigree-connector{font-size:18px;line-height:1;color:#8bd641}
.ancestry-tree .pedigree-person{position:relative}.ancestry-tree .pedigree-generation.current .pedigree-person{border-color:rgba(139,214,65,.42);background:linear-gradient(180deg,rgba(34,55,30,.8),rgba(11,24,17,.7));box-shadow:0 0 0 1px rgba(139,214,65,.05),0 10px 30px rgba(0,0,0,.22)}
.pedigree-descendants{border:1px solid rgba(255,255,255,.075)!important;border-radius:13px;padding:12px!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;background:rgba(8,14,15,.46)}
.pedigree-descendants>.section-kicker,.pedigree-descendants>p{grid-column:auto!important}

@media(max-width:800px){
  .genetic-potential-row{grid-template-columns:16px 34px minmax(70px,1fr) 66px}
  .breeding-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pedigree-layout{grid-template-columns:1fr}
}
@media(max-width:520px){
  .genetic-potential-head{display:grid;gap:3px}
  .trait-detail-card{grid-template-columns:32px minmax(0,1fr);padding:10px}.trait-detail-icon{width:30px;height:30px}
  .breeding-profile-hero{align-items:flex-start}.breeder-score.large b{font-size:25px}
}
\n\n/* R6.8 pedigree + expressed genetics correction */\n.expressed-genetics-box{margin-top:16px;padding:15px;border:1px solid rgba(132,181,116,.16);border-radius:13px;background:rgba(9,19,15,.5)}\n.expressed-genetics-list{display:grid;gap:8px;margin-top:9px}\n.expressed-gene-card{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:start;padding:10px 11px;border:1px solid rgba(118,199,91,.22);border-radius:10px;background:linear-gradient(90deg,rgba(30,55,31,.62),rgba(10,20,15,.5));outline:none}\n.expressed-gene-card:focus,.expressed-gene-card:hover{border-color:rgba(145,222,83,.48)}\n.expressed-gene-card b{display:block;color:#eef5e9;font-size:12px;margin-bottom:3px}.expressed-gene-card p{margin:0;color:#a8b7aa;font-size:10.5px;line-height:1.45}\n.gene-state-badge{display:inline-grid;place-items:center;border:1px solid rgba(135,218,71,.4);border-radius:999px;padding:4px 7px;color:#aeea75;background:rgba(53,100,38,.18);font-size:8px;font-weight:900;letter-spacing:.08em}\n.pedigree-layout{display:block!important}.pedigree-tree.ancestry-tree{display:grid;gap:12px;width:100%}.pedigree-generation-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:9px}.pedigree-generation-heading small{font-size:9px;color:#89988e}.pedigree-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pedigree-branch{min-width:0;border:1px solid rgba(137,185,142,.14);border-radius:12px;padding:9px;background:rgba(6,15,17,.42);display:grid;gap:7px}.pedigree-branch-title{font-size:8px;font-weight:900;letter-spacing:.09em;color:#c8a95c;text-align:center}.pedigree-grandparents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pedigree-grandparents .pedigree-person{padding:8px 7px}.pedigree-grandparents .pedigree-person small{font-size:7px}.pedigree-grandparents .pedigree-person b{font-size:10px;overflow-wrap:anywhere}.pedigree-grandparents .pedigree-person span{font-size:8px}.pedigree-branch>.pedigree-person{margin:0 auto;width:min(100%,190px)}.pedigree-merge{text-align:center;color:#8bd641;font-size:18px;line-height:1}.pedigree-current-wrap{width:min(100%,270px);margin:0 auto}.pedigree-current-wrap .pedigree-person{border-color:rgba(139,214,65,.46);background:linear-gradient(180deg,rgba(34,55,30,.82),rgba(11,24,17,.72));box-shadow:0 10px 28px rgba(0,0,0,.22);padding:12px}.pedigree-founder-note{text-align:center}.pedigree-descendants{display:none!important}\n@media(max-width:760px){.pedigree-branches{grid-template-columns:1fr}.pedigree-generation-heading{align-items:flex-start;flex-direction:column}.expressed-gene-card{grid-template-columns:72px minmax(0,1fr)}}\n
/* R6.9 genetics / traits separation + breeding planning */
.genetic-property-box{margin-top:0!important}
.genetic-property-card{border-color:rgba(205,176,92,.24)!important;background:linear-gradient(90deg,rgba(54,44,21,.58),rgba(15,20,15,.58))!important}
.genetic-property-card .trait-detail-icon{border-color:rgba(214,183,92,.32);background:radial-gradient(circle at 50% 40%,rgba(192,158,63,.22),rgba(31,25,13,.72));color:#dfbe68}
.genetic-property-chip{border-color:rgba(205,176,92,.34)!important;background:rgba(61,49,22,.35)!important;color:#ead89d!important}
.trait-carrier-box{margin:14px 0 18px!important}
.breed-inheritance-dossier{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.breed-inheritance-dossier>section{border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:10px;background:rgba(7,15,14,.5);display:grid;gap:6px;align-content:start}
.breed-inheritance-dossier>section>small{font-size:8px;letter-spacing:.09em;color:#c8a95c;margin-top:2px}
.preview-inheritance-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inheritance-preview-card{border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:13px;background:rgba(8,16,16,.54)}
.inheritance-preview-card.genetics-inheritance{border-color:rgba(206,177,91,.20);background:linear-gradient(180deg,rgba(47,38,19,.32),rgba(8,16,16,.54))}
.inheritance-preview-card.trait-inheritance{border-color:rgba(116,190,91,.18);background:linear-gradient(180deg,rgba(24,45,25,.34),rgba(8,16,16,.54))}
.inheritance-heading{margin-bottom:10px}.inheritance-heading h4{margin:3px 0 4px}.inheritance-heading p{margin:0;color:#91a399;font-size:10px;line-height:1.45}
.inheritance-prob-row{outline:none}.inheritance-prob-row:hover,.inheritance-prob-row:focus{border-color:rgba(156,210,118,.28)!important;background:rgba(31,52,34,.42)}
.genetic-locus{border-color:rgba(203,174,91,.22)!important}
@media(max-width:900px){.breed-inheritance-dossier,.preview-inheritance-grid{grid-template-columns:1fr}}

/* R6.9.1 · Squad tactical notes + Ranked league table */
#squadTactics.tactical-summary{display:block;margin:0 0 12px}
#squadTactics .composition-coach-panel{width:100%;margin:0 0 10px}
#squadTactics .tactic-chip-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px}
#squadTactics .tactic-chip{display:block;border-radius:10px;padding:8px 10px;min-height:0;line-height:1.4;background:#11161a}
.ranked-board-row span{min-width:0}.ranked-board-row span small{display:block;margin-top:2px;color:#8b928f;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranked-board-row.unranked{opacity:.62}
.ranked-league-dialog{width:min(980px,calc(100vw - 28px));max-height:88vh;border:1px solid #45564d;border-radius:18px;background:#0d1215;color:#f0f3f1;padding:0;box-shadow:0 28px 120px #000d}.ranked-league-dialog::backdrop{background:#05090bd9;backdrop-filter:blur(7px)}
.ranked-league-shell{position:relative;padding:24px;overflow:auto;max-height:88vh}.ranked-league-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border-radius:50%;border:1px solid #4c5953;background:#111a18;color:#c9d4cf;font-size:20px;cursor:pointer}.ranked-league-head h2{margin:4px 0 6px;font-size:28px}.ranked-league-head p{max-width:760px;color:#8f9e98;font-size:11px;line-height:1.55}
.ranked-league-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.ranked-league-meta>div{padding:12px;border:1px solid #304139;border-radius:11px;background:#0b1713}.ranked-league-meta small,.ranked-league-meta span{display:block;color:#89978f;font-size:9px}.ranked-league-meta b{display:block;margin:4px 0;color:#f3f2ea;font-size:14px}
.ranked-league-table{border:1px solid #2d3d36;border-radius:12px;overflow:hidden;background:#0b1012}.ranked-league-row{display:grid;grid-template-columns:66px minmax(180px,1fr) 110px minmax(150px,.8fr);gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid #24312c;font-size:11px}.ranked-league-row:last-child{border-bottom:0}.ranked-league-row.header{background:#111b17;color:#b6c2bc}.ranked-league-row.header b,.ranked-league-row.header strong,.ranked-league-row.header em,.ranked-league-row.header span{font-size:8px;letter-spacing:.1em;color:#aeb8b3}.ranked-league-row.self{background:#29452c5c}.ranked-league-row.unranked{opacity:.58}.ranked-league-row>b{color:#d8b65b}.ranked-league-row>div strong{display:block;font-size:12px}.ranked-league-row>div small{display:block;color:#89978f;font-size:8px;margin-top:2px}.ranked-league-row>span{font-variant-numeric:tabular-nums;text-align:right}.ranked-league-row>em{font-style:normal;color:#d9ca91;text-align:right}
.ranked-reward-section{margin-top:18px}.ranked-reward-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ranked-reward-card{padding:13px;border:1px solid #334139;border-radius:12px;background:#101715;display:grid;gap:4px}.ranked-reward-card small{font-size:8px;letter-spacing:.1em;color:#95a29c}.ranked-reward-card b{font-size:14px}.ranked-reward-card span{font-size:10px;color:#aeb9b4;line-height:1.45}.ranked-reward-card.pack-gold{border-color:#806c31;background:linear-gradient(145deg,#211c0e,#121713)}.ranked-reward-card.pack-silver{border-color:#667078}.ranked-reward-card.pack-bronze{border-color:#76513c}
@media(max-width:760px){.ranked-league-meta,.ranked-reward-catalog{grid-template-columns:1fr}.ranked-league-row{grid-template-columns:48px minmax(120px,1fr) 74px}.ranked-league-row>em{grid-column:2/4;text-align:left;font-size:9px}.ranked-league-row.header>em{display:none}.ranked-league-shell{padding:18px 12px}.ranked-league-head{padding-right:36px}#squadTactics .tactic-chip-row{grid-template-columns:1fr}}

/* R6.9.2 · exact breeding probabilities + preview clarity */
.breeding-preview-panel{max-width:1120px}
.breeding-preview-summary{grid-template-columns:.72fr 1.55fr 1.35fr 1.05fr .82fr!important;align-items:stretch}
.breeding-preview-summary>div{min-width:0}
.breeding-preview-summary .summary-nowrap{display:flex;align-items:center;gap:6px;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.breeding-preview-summary .summary-nowrap i{font-style:normal;opacity:.45;font-weight:400}
.gps-distribution-card .summary-nowrap{font-size:clamp(.78rem,.86vw,1.02rem)}
.theoretical-ceiling-card .summary-nowrap{font-size:clamp(.82rem,.9vw,1.08rem)}
.gps-distribution-card>span,.theoretical-ceiling-card>span{line-height:1.35}
.preview-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:120px}
.preview-stat-title{display:flex;align-items:center;justify-content:center;gap:7px;width:100%}
.preview-stat-title svg{flex:0 0 auto}
.preview-stat-title b{font-size:.86rem;letter-spacing:.03em}
.preview-stat-values{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end;font-variant-numeric:tabular-nums}
.preview-stat-values>span{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.preview-stat-values b{font-size:1rem;color:#e8ebea}
.preview-stat-values .expected b{font-size:1.12rem;color:#dcbf70}
.preview-stat-values small{font-size:.55rem;letter-spacing:.08em;opacity:.55}
.preview-stat-note{width:100%;text-align:center;opacity:.58;line-height:1.3}
.exact-probability-badge{display:inline-flex;align-items:center;margin-left:6px;padding:3px 6px;border:1px solid rgba(133,217,65,.3);border-radius:999px;color:#a8de78;font-size:.58rem;letter-spacing:.08em;vertical-align:middle}
.rarity-method-note{margin:8px 0 0;opacity:.62}
@media(max-width:1250px){.breeding-preview-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}.gps-distribution-card,.theoretical-ceiling-card{min-width:0}}
@media(max-width:760px){.breeding-preview-summary{grid-template-columns:1fr!important}.breeding-preview-summary .summary-nowrap{font-size:.98rem;white-space:normal;justify-content:flex-start;flex-wrap:wrap}.preview-stat{min-height:108px}}

/* =========================================================
   R6.10 MOBILE RELEASE CANDIDATE
   App-like mobile layout: viewport locked to device width,
   vertical-only navigation, no horizontal content scrolling.
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:clip}
body{overscroll-behavior-x:none;touch-action:pan-y}
.app-shell,.workspace,.view,.global-banner,.game-panel,.dash-grid,.page-head,.panel-title{min-width:0;max-width:100%}
img,svg,video,canvas{max-width:100%}
input,select,textarea,button{max-width:100%}

.mobile-sidebar-backdrop{display:none}
.bottom-nav button[data-icon="more"]>span{mask:none!important;-webkit-mask:none!important;background:transparent!important;position:relative}
.bottom-nav button[data-icon="more"]>span:before{content:"•••";position:absolute;inset:0;display:grid;place-items:center;color:#8b8995;font-size:16px;letter-spacing:1px;line-height:1}
.bottom-nav button[data-icon="more"].active>span:before{color:#e2c071}

@media(max-width:760px){
  :root{--top:64px!important}
  html,body{width:100%!important;max-width:100%!important;overflow-x:clip!important}
  body{min-width:0!important;padding:0!important;overscroll-behavior-x:none!important;touch-action:pan-y!important}
  body.formation-dragging{touch-action:none!important}
  .app-shell,#game,.workspace,.view,.view.active,.global-banner,.global-banner-copy,.global-banner-side,.game-panel,.dash-grid,.dash-aside,.page-head,.panel-title,.panel-title>div{width:100%!important;max-width:100%!important;min-width:0!important}
  .ad-rail,.bottom-ad-wrap{display:none!important}

  /* Header: compact and stable on narrow screens. */
  .topbar,.v19-topbar{height:var(--top)!important;min-height:var(--top)!important;padding:0 8px!important;gap:6px!important;overflow:hidden!important}
  .topbar .mobile-only{display:inline-flex}
  #mobileMenu{flex:0 0 38px;width:38px;height:38px;padding:0!important;align-items:center;justify-content:center;font-size:19px}
  .v19-brand-lockup{flex:0 1 92px!important;min-width:0!important;max-width:92px!important;height:50px!important;padding:0!important}
  .v19-brand-lockup img{width:88px!important;max-height:44px!important;object-fit:contain!important;object-position:left center!important}
  .topbar-spacer{min-width:0!important;flex:1 1 auto!important}
  .desktop-primary-nav{display:none!important}
  .world-switch{flex:0 0 34px!important;min-width:34px!important;max-width:34px!important;height:38px!important;padding:3px!important;border-radius:10px!important;overflow:hidden!important}
  .world-switch .world-copy{display:none!important}
  .world-switch select{width:28px!important;min-width:28px!important;max-width:28px!important;height:30px!important;padding:0!important;color:transparent!important;text-indent:-9999px!important}
  .language-switch{flex:0 0 auto!important;min-width:0!important;padding:3px!important;gap:2px!important;border-radius:10px!important}
  .language-switch .language-globe{display:none!important}
  .language-switch button{min-width:29px!important;width:29px!important;height:30px!important;padding:0!important;font-size:9px!important}
  .identity-wrap{flex:0 0 38px!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .identity-wrap #identity,.identity-wrap .profile-orb,.logout-label{display:none!important}
  .logout-btn{width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:10px!important}

  /* Drawer menu. It overlays the app instead of changing page width. */
  .sidebar{display:flex!important;position:fixed!important;left:0!important;top:var(--top)!important;bottom:0!important;width:min(86vw,310px)!important;max-width:310px!important;min-width:0!important;padding:12px 10px calc(18px + env(safe-area-inset-bottom))!important;transform:translate3d(-105%,0,0)!important;transition:transform .22s ease!important;z-index:90!important;overflow-y:auto!important;overflow-x:hidden!important;box-shadow:18px 0 48px #000b!important}
  .sidebar.open{transform:translate3d(0,0,0)!important}
  .mobile-sidebar-backdrop{position:fixed!important;display:block!important;inset:var(--top) 0 0 0!important;width:100%!important;height:auto!important;padding:0!important;border:0!important;background:#020506a8!important;backdrop-filter:blur(2px)!important;z-index:80!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .18s ease,visibility .18s ease!important}
  .sidebar.open + .mobile-sidebar-backdrop{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .side-link{width:100%!important;min-height:46px!important;flex:0 0 auto!important}

  /* Main canvas: exactly one viewport wide, vertical flow only. */
  .workspace{margin-left:0!important;padding-top:var(--top)!important;overflow-x:clip!important}
  .view{margin:0!important;padding:12px 10px calc(88px + env(safe-area-inset-bottom))!important;overflow:visible!important}
  .global-banner{margin:0 10px!important;border-radius:14px!important;min-height:0!important;padding:15px!important;display:block!important;overflow:hidden!important}
  .global-banner-copy h1{font-size:clamp(27px,9vw,36px)!important;line-height:1!important;overflow-wrap:anywhere}
  .global-banner-copy>p{font-size:11px!important;line-height:1.45!important}
  .global-banner-side{display:none!important}
  .global-resource-row,.resource-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
  .resource-chip{min-width:0!important;width:100%!important;padding:9px!important;gap:6px!important}
  .resource-chip small{font-size:8px!important}.resource-chip b{font-size:12px!important}

  /* Page and panel rhythm. */
  .page-head{display:block!important;margin-bottom:12px!important}
  .page-head h1,.page-head h2{font-size:clamp(24px,7vw,32px)!important;overflow-wrap:anywhere}
  .page-head>div,.page-head>.row{width:100%!important;max-width:100%!important}
  .panel-title,.panel-title.slim{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important}
  .panel-title .info-pill,.panel-title .counter{white-space:normal!important;align-self:flex-start!important}
  .game-panel{padding:13px!important;border-radius:14px!important;overflow:hidden!important}
  .dash-grid,.training-layout,.market-layout,.ranked-grid,.inventory-bottom-grid,.cashout-grid,.admin-launch-grid,.preview-inheritance-grid,.breed-inheritance-dossier{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}

  /* Dashboard and collections: no sideways card carousels. */
  .starter-grid,.recent-grid,.collection-grid,.training-roster-grid,.market-listings,.ranked-opponents,.ranked-reward-catalog,.diamond-pack-grid,.progression-card-grid,.collection-book{display:grid!important;overflow:visible!important;scroll-snap-type:none!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding-bottom:0!important}
  .starter-grid .creature-card,.starter-grid .creature-card:last-child,.recent-card,.campaign-chapter-tab,.market-mode-tabs button{min-width:0!important;width:100%!important;max-width:100%!important}
  .recent-card{scroll-snap-align:none!important}
  .recent-visual{height:180px!important}
  .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .collection-grid .creature-card{min-width:0!important}
  .collection-grid .creature-name{font-size:14px!important}
  .collection-grid .creature-meta{font-size:9px!important}
  .collection-grid .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Forms, controls and tab bars wrap vertically rather than scroll horizontally. */
  .row{max-width:100%!important}
  .collection-toolbar,.market-toolbar,.training-roster-toolbar,.training-filter-controls{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .collection-search,.training-search-control,.training-filter-control,.market-toolbar>*{min-width:0!important;width:100%!important;grid-column:auto!important}
  input,select,textarea{width:100%!important;min-width:0!important}
  .detail-tabs,.market-mode-tabs,.campaign-chapter-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;width:100%!important;scroll-snap-type:none!important}
  .detail-tabs button,.market-mode-tabs button,.campaign-chapter-tab{width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .detail-tabs button{padding:9px 6px!important;font-size:9px!important}

  /* Character details become a true full-screen mobile sheet. */
  .character-modal{inset:0!important;width:100dvw!important;max-width:100dvw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:auto!important;background:#0d1016!important}
  .character-modal .modal-close{position:fixed!important;right:10px!important;top:calc(10px + env(safe-area-inset-top))!important;z-index:1000!important;width:42px!important;height:42px!important}
  .modal-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-height:0!important;width:100%!important}
  .modal-art{min-height:280px!important;height:min(42vh,340px)!important;max-height:340px!important;border-radius:0!important}
  .modal-details{padding:15px 12px calc(28px + env(safe-area-inset-bottom))!important;min-width:0!important}
  .modal-heading{display:block!important;padding-right:44px!important}
  .modal-heading h2{font-size:28px!important;overflow-wrap:anywhere!important}
  .expressed-gene-card{grid-template-columns:minmax(0,1fr)!important}
  .gene-state-badge{justify-self:start!important}

  /* Pedigree and breeding are vertical mobile documents. */
  .pedigree-branches,.pedigree-grandparents,.pedigree-generation,.pedigree-generation.grandparents,.pedigree-descendants{grid-template-columns:minmax(0,1fr)!important}
  .pedigree-branch,.pedigree-person,.pedigree-current-wrap{width:100%!important;max-width:100%!important;min-width:0!important}
  .compact-breeding-layout,.breeding-layout,.breeding-preview-summary,.preview-split,.preview-stat-grid,.breed-stat-pairs,.breed-facts,.pair-health-panel{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important}
  .compact-parent-card,.breeding-parent-card,.parent-visual,.breeding-preview-panel{width:100%!important;max-width:100%!important;min-width:0!important}
  .breed-core{order:initial!important;width:100%!important;padding:0!important}
  .breeding-parent-top{grid-template-columns:82px minmax(0,1fr)!important}
  .breeding-preview-summary .summary-nowrap{white-space:normal!important;flex-wrap:wrap!important;overflow-wrap:anywhere!important}
  .inheritance-stat-list>div,.inheritance-trait-row{grid-template-columns:minmax(0,1fr)!important}
  .inheritance-stat-list i,.inheritance-trait-row>b{grid-column:auto!important}

  /* Squad/formation: preserve order while fitting the phone. */
  #squadTactics .tactic-chip-row,.composition-check-grid{grid-template-columns:minmax(0,1fr)!important}
  .formation-stage{max-width:100%!important;overflow:hidden!important}
  .formation-stage-top{font-size:8px!important;gap:4px!important}
  .formation-stage-top small{display:none!important}
  .formation-arena{min-width:0!important;width:100%!important;overflow:hidden!important}
  .formation-drop-slot{min-width:0!important}
  .formation-mini-copy span{white-space:normal!important;overflow-wrap:anywhere!important}
  .formation-slot-hint,.formation-direction{display:none!important}

  /* Campaign: chapter and stage navigation stack without horizontal rails. */
  .campaign-chapter-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .campaign-chapter-tab{min-height:70px!important}
  .campaign-chapter-navigator{display:grid!important;grid-template-columns:38px minmax(0,1fr) 38px!important;gap:7px!important;width:100%!important;min-width:0!important}
  .campaign-chapter-navigator select{grid-column:1/-1!important;grid-row:2!important;width:100%!important}
  .chapter-nav-position{display:none!important}
  .campaign-map-panel .stage-list{grid-template-columns:minmax(0,1fr)!important}
  .stage-card{grid-template-columns:42px minmax(0,1fr)!important;width:100%!important;min-width:0!important}
  .stage-card em{grid-column:2!important;justify-self:start!important}
  .team-pick{min-width:0!important;width:100%!important}

  /* Battle viewport scales down rather than forcing the document wider. */
  .battle-stage,.battle-arena,.battle-field,.battle-result,.battle-log,.ranked-result{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
  .battle-action-callout{max-width:82%!important;min-width:0!important;white-space:normal!important;text-align:center!important}
  .battle-role-mark{display:none!important}

  /* Training: controls and selected fighter flow vertically. */
  .training-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .training-roster-card{min-width:0!important;width:100%!important}
  .training-character-head{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .training-character-art{height:250px!important;width:100%!important}
  .training-character-head h2{font-size:26px!important}
  .training-stats{grid-template-columns:minmax(0,1fr)!important}
  .training-random-action{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .training-random-action .btn{min-width:0!important;width:100%!important}

  /* Inventory and market cards fit without clipped price/action columns. */
  .inventory-grid{grid-template-columns:minmax(0,1fr)!important}
  .market-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .market-stack-card{grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important;padding:10px!important}
  .market-stack-icon{width:44px!important;height:44px!important}
  .market-stack-metrics{flex-direction:column!important}
  .market-stack-metrics span{min-width:0!important;width:100%!important}
  .market-stack-action{grid-column:1/-1!important;grid-template-columns:minmax(0,1fr)!important}
  .market-own-row{grid-template-columns:64px minmax(0,1fr)!important;gap:9px!important}
  .market-own-art{width:64px!important;height:74px!important}
  .market-cancel-btn,.market-own-row>button{grid-column:1/-1!important;width:100%!important}
  .dual-wallet{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:6px!important}
  .dual-wallet>div{min-width:0!important;padding:9px!important}
  .diamond-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Ranked becomes card-like instead of table-wide. */
  .ranked-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ranked-team-slots{grid-template-columns:minmax(0,1fr)!important}
  .ranked-mini-team{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important}
  .ranked-board-row{grid-template-columns:30px minmax(0,1fr) 54px!important;gap:6px!important}
  .ranked-board-row>em{grid-column:2/4!important;text-align:left!important}
  .ranked-result-meta{grid-template-columns:minmax(0,1fr)!important}
  .ranked-season-strip{grid-template-columns:minmax(0,1fr)!important}
  .ranked-defense-row{grid-template-columns:minmax(0,1fr)!important}
  .ranked-league-dialog{inset:0!important;width:100dvw!important;max-width:100dvw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important}
  .ranked-league-shell{max-height:100dvh!important;height:100%!important;padding:18px 10px calc(24px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overflow-x:hidden!important}
  .ranked-league-head{padding-right:42px!important}
  .ranked-league-head h2{font-size:24px!important}
  .ranked-league-meta,.ranked-reward-catalog{grid-template-columns:minmax(0,1fr)!important}
  .ranked-league-table{border:0!important;background:transparent!important;overflow:visible!important;display:grid!important;gap:8px!important}
  .ranked-league-row{grid-template-columns:42px minmax(0,1fr) auto!important;gap:6px 8px!important;padding:10px!important;border:1px solid #2d3d36!important;border-radius:10px!important;background:#0b1012!important}
  .ranked-league-row.header{display:none!important}
  .ranked-league-row>span{text-align:right!important;white-space:nowrap!important}
  .ranked-league-row>em{grid-column:2/4!important;text-align:left!important;font-size:9px!important}

  /* Fixed bottom app navigation. */
  .bottom-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:calc(66px + env(safe-area-inset-bottom))!important;padding:5px 4px env(safe-area-inset-bottom)!important;margin:0!important;border-radius:0!important;z-index:75!important;overflow:hidden!important}
  .bottom-nav button{min-width:0!important;width:100%!important;height:58px!important;padding:5px 2px!important;border-radius:9px!important;overflow:hidden!important}
  .bottom-nav button>span{width:19px!important;height:19px!important;flex:0 0 19px!important}
  .bottom-nav button small{display:block!important;max-width:100%!important;font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Guided coach must not cover navigation or force page width. */
  .guided-start-coach{left:10px!important;right:10px!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important}
  .help-tooltip-popup{max-width:min(300px,calc(100vw - 24px))!important}

  /* Auth also behaves like a mobile app page. */
  .auth-shell{width:100%!important;max-width:100%!important;min-height:100dvh!important;padding:10px!important;overflow-x:hidden!important;align-items:start!important}
  .auth-card{width:100%!important;max-width:100%!important;min-height:0!important;margin:0!important;padding:18px 14px 22px!important;border-radius:16px!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;gap:18px!important}
  .auth-brand-emblem{max-width:110px!important}
  .auth-copy{width:100%!important;max-width:100%!important}
  .auth-copy h1{font-size:clamp(36px,12vw,50px)!important;overflow-wrap:anywhere!important}
  .auth-copy p{font-size:14px!important}
  .auth-feature-strip{grid-template-columns:minmax(0,1fr)!important}
  .auth-form{width:100%!important;max-width:100%!important;padding:16px!important}
  .auth-actions{grid-template-columns:minmax(0,1fr)!important}
  .auth-language-switch{position:static!important;justify-self:end!important}
}

@media(max-width:430px){
  .global-resource-row,.resource-row,.collection-grid,.training-roster-grid,.detail-tabs,.market-mode-tabs,.campaign-chapter-tabs,.diamond-pack-grid,.ranked-metrics,.dual-wallet{grid-template-columns:minmax(0,1fr)!important}
  .collection-grid .creature-art{min-height:180px!important}
  .topbar,.v19-topbar{gap:4px!important;padding:0 6px!important}
  .v19-brand-lockup{max-width:74px!important;flex-basis:74px!important}.v19-brand-lockup img{width:72px!important}
  .language-switch button{width:27px!important;min-width:27px!important}
  .identity-wrap,.logout-btn{width:34px!important;min-width:34px!important}
  .ranked-mini-team{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}


/* R6.12 launch polish: Training roster artwork must only live in the art pane. */
.training-roster-card>.training-roster-art{height:96px!important;position:relative!important;overflow:hidden!important;border-radius:8px!important;background-image:linear-gradient(#15152166,#10111d88),url('/assets/backgrounds/arena-background-wide.webp?v=gameplay-v12')!important;background-size:cover!important;background-position:center!important;padding:0!important}
.training-roster-card>.training-roster-copy{height:auto!important;min-height:0!important;position:static!important;overflow:visible!important;border-radius:0!important;background:none!important;background-image:none!important;padding:7px 1px 1px!important}
.training-roster-card>.training-roster-art .pea-portrait{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.training-roster-card>.training-roster-art .pea-portrait picture{display:block!important;width:100%!important;height:100%!important}
.training-roster-card>.training-roster-art .pea-portrait img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important}

/* R6.12: System Market is the first Market block, followed by Player Market. */
.system-market-panel{display:grid;gap:14px;margin:0 0 18px;padding:18px}
.system-market-list{display:grid;grid-template-columns:1fr;gap:12px}
.system-market-resource{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(420px,1.1fr);gap:18px;align-items:center;border:1px solid #294334;border-radius:14px;background:linear-gradient(135deg,#0d1814,#10151b);padding:16px}
.system-market-resource.training-system-offer{border-color:#464127;background:linear-gradient(135deg,#18170f,#10151b)}
.system-market-copy h3{margin:4px 0 6px;font-size:22px}.system-market-copy p{margin:0;color:#9aa89f;line-height:1.5}
.system-market-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.system-market-actions .btn{min-height:42px;white-space:nowrap}
.player-market-heading{margin:25px 0 10px;padding:0 4px}.player-market-heading h2{margin:4px 0 4px;font-size:26px}.player-market-heading p{margin:0;color:#8fa098}
@media(max-width:1000px){.system-market-resource{grid-template-columns:1fr}.system-market-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.system-market-panel{padding:12px}.system-market-resource{padding:12px}.system-market-actions{grid-template-columns:1fr 1fr}.player-market-heading h2{font-size:22px}}
@media(max-width:430px){.system-market-actions{grid-template-columns:1fr}}

/* R6.13 social footer polish */
.site-legal-footer{flex-wrap:wrap}.site-legal-footer a{white-space:nowrap}

/* ========================= R6.14 DIAMOND / NOTIFICATIONS / REWARD BOXES ========================= */
.ui-svg.ui-diamond{
  background:transparent url('/assets/icons/diamond-red-256.png?v=r6-14') center/contain no-repeat!important;
  -webkit-mask:none!important;mask:none!important;color:transparent!important;
  filter:drop-shadow(0 0 5px rgba(255,48,48,.38));
}
.diamond-chip .ui-svg,.resource-diamond .inventory-resource-icon .ui-svg,.diamond-settlement .market-stack-icon .ui-svg{color:transparent!important}
.diamond-pack-grid>div>b{display:flex!important;justify-content:center;align-items:center;gap:7px}.diamond-pack-icon{width:24px!important;height:24px!important;vertical-align:middle!important;flex:0 0 auto}.system-market-actions .ui-diamond{width:15px;height:15px;vertical-align:-3px;margin-right:4px}.market-wallet>div>b:before{content:"";display:inline-block;width:17px;height:17px;margin-right:5px;vertical-align:-4px;background:url('/assets/icons/diamond-red-256.png?v=r6-14') center/contain no-repeat;filter:drop-shadow(0 0 4px #ff3b3b55)}

.notification-center-wrap{position:relative;display:flex;align-items:center}.notification-button{position:relative;width:38px;height:38px;border:1px solid #35503c;border-radius:11px;background:#0b1610;color:#dce7d7;display:grid;place-items:center;cursor:pointer}.notification-button:hover{border-color:#79b54a;background:#112116}.notification-button>span{font-size:17px;line-height:1}.notification-button>b{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#da4040;color:white;border:2px solid #07100d;display:grid;place-items:center;font-size:9px}.notification-panel{position:absolute;right:0;top:48px;width:min(390px,calc(100vw - 24px));max-height:520px;overflow:auto;border:1px solid #344b3d;border-radius:14px;background:#07110eef;backdrop-filter:blur(18px);box-shadow:0 20px 55px #000b;z-index:200}.notification-panel-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 13px;background:#0a1512f5;border-bottom:1px solid #283c32}.notification-panel-head small,.notification-panel-head b{display:block}.notification-panel-head small{font-size:7px;letter-spacing:.13em;color:#d9b65c}.notification-panel-head b{font-size:14px;margin-top:2px}.notification-list{display:grid;gap:0}.notification-row{appearance:none;width:100%;display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;text-align:left;padding:11px 12px;border:0;border-bottom:1px solid #1e3028;background:transparent;color:#e8eee9;cursor:pointer}.notification-row:hover{background:#0d1b16}.notification-row.read{opacity:.64}.notification-dot{width:7px;height:7px;border-radius:50%;background:#47554e;margin-top:5px}.notification-row.unread .notification-dot{background:#eb4b4b;box-shadow:0 0 8px #ff5151}.notification-row b,.notification-row span,.notification-row small{display:block}.notification-row b{font-size:11px}.notification-row span{font-size:9px;color:#9baaa1;margin-top:3px;line-height:1.4}.notification-row small{font-size:7px;color:#66766e;margin-top:5px}.notification-empty{padding:22px;text-align:center;color:#73837a;font-size:10px}

.reward-box-panel{margin:14px 0}.reward-box-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.reward-box-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border:1px solid #3a443f;border-radius:13px;background:linear-gradient(150deg,#101713,#0a1010);overflow:hidden}.reward-box-card.box-golden{border-color:#91712c;background:radial-gradient(circle at 8% 50%,#6e471e33,transparent 34%),linear-gradient(150deg,#19160d,#0b100d)}.reward-box-card.box-silver{border-color:#64717b}.reward-box-card.box-bronze{border-color:#805944}.reward-box-card.claimed{opacity:.55}.reward-box-card>div:nth-child(2)>span,.reward-box-card>div:nth-child(2)>small{display:block;font-size:7px;letter-spacing:.08em;color:#829087}.reward-box-card h3{margin:3px 0;font-size:13px}.box-claimed-mark{font-size:22px;color:#8ce560}.reward-box-chest{position:relative;display:block;width:92px;height:72px;margin:0 auto 12px;border:3px solid #d59c32;border-radius:10px 10px 13px 13px;background:linear-gradient(180deg,#f5bf42 0 23%,#63370f 24% 100%);box-shadow:0 0 26px #f0a62c66,inset 0 0 18px #ffe99155}.reward-box-chest:before{content:"";position:absolute;left:13%;right:13%;top:-17px;height:28px;border:3px solid #e5ad3d;border-radius:12px 12px 5px 5px;background:linear-gradient(#ffd96c,#754516);box-shadow:0 0 17px #ffbf3d55}.reward-box-chest:after{content:"◆";position:absolute;left:50%;top:27px;transform:translateX(-50%);width:24px;height:24px;border-radius:5px;background:#3b220c;color:#ffd766;display:grid;place-items:center;border:1px solid #ffd766}.reward-box-chest.small{width:50px;height:40px;margin:7px 0 0;border-width:2px}.reward-box-chest.small:before{top:-9px;height:15px;border-width:2px}.reward-box-chest.small:after{top:14px;width:14px;height:14px;font-size:8px}.reward-box-dialog{width:min(560px,calc(100vw - 24px));border:1px solid #52604d;border-radius:18px;padding:0;background:#0b100e;color:#eee;box-shadow:0 30px 80px #000d}.reward-box-dialog::backdrop{background:#020504d9;backdrop-filter:blur(5px)}.reward-box-dialog-shell{position:relative;padding:22px}.reward-box-dialog-close{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;border:1px solid #4c5650;background:#121b17;color:#ddd;font-size:20px;z-index:2}.reward-box-hero{text-align:center;padding:18px 10px 12px}.reward-box-hero small{font-size:8px;letter-spacing:.15em;color:#d5ad50}.reward-box-hero h2{font-family:Georgia,serif;font-size:30px;margin:5px 0}.reward-box-hero p{color:#96a198;font-size:10px}.reward-box-contents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 16px}.reward-box-contents>div{border:1px solid #33463b;border-radius:10px;background:#09120e;padding:10px;text-align:center}.reward-box-contents .ui-svg,.reward-mini-medal{display:block;width:26px;height:26px;margin:0 auto 6px;font-size:22px}.reward-box-contents b,.reward-box-contents span{display:block}.reward-box-contents b{font-size:18px;color:#edcf75}.reward-box-contents span{font-size:7px;color:#8b9a90;margin-top:3px}

/* ========================= R6.14 MOBILE PORTRAIT BATTLE ========================= */
.battle-arrow-projectile{width:18px!important;height:2px!important;border-radius:99px!important;background:linear-gradient(90deg,transparent,#f8df9c 30%,#fff 75%,#ffca55)!important;box-shadow:0 0 6px #ffd567,0 0 14px #e9b43d66!important;animation:arrowFlight .34s cubic-bezier(.18,.72,.25,1) forwards!important}.battle-arrow-projectile:before{right:-3px!important;top:-2px!important;border-left:5px solid #fff0bc!important;border-top:3px solid transparent!important;border-bottom:3px solid transparent!important}.battle-arrow-projectile:after{display:none!important}.battle-projectile-path:after{content:"";position:absolute;left:0;top:50%;height:1px;width:100%;transform:translateY(-50%);background:linear-gradient(90deg,transparent,rgba(255,225,139,.35),transparent);filter:blur(.4px)}

@media(max-width:760px){
  .battle-arena-3d{height:690px!important;min-height:690px!important;perspective:950px!important;background-image:linear-gradient(180deg,#090b10a8,#121b1640 48%,#07100ddd),url('/assets/backgrounds/arena-background-portrait.webp?v=r6-14')!important;background-position:center 48%!important;background-size:cover!important}
  .battle-arena-3d:before{background:linear-gradient(180deg,#8b45521a,transparent 28%,transparent 70%,#4f76421e),radial-gradient(circle at 50% 48%,transparent 0 25%,#03070666 78%)!important}
  .arena-floor-3d{left:-40%!important;right:-40%!important;bottom:-19%!important;height:65%!important;transform:rotateX(72deg) translateZ(-85px)!important}.arena-center-rune{bottom:39%!important;width:150px!important;height:62px!important;opacity:.58}.arena-depth-haze{top:43%!important;height:14%!important}
  .battle-power-hud{top:9px!important;padding:6px 8px!important;max-width:44%!important}.battle-power-hud span{font-size:5.5px!important}.battle-power-hud b{font-size:10px!important}.battle-label-player{top:auto!important;bottom:5px!important;left:12px!important}.battle-label-enemy{top:48px!important;right:12px!important}.battle-vs-3d{top:50%!important;font-size:17px!important;opacity:.42!important}
  .battle-fighter{width:78px!important}.battle-fighter-art{height:112px!important}.battle-fighter-art .pea-portrait{inset:-1% -2% 0!important}.battle-nameplate{width:96%!important;margin:-5px auto 0!important;padding:3px 4px 4px!important;border-radius:7px!important}.battle-nameplate>b{font-size:6.5px!important}.battle-nameplate small{display:none!important}.battle-hp{height:4px!important}.battle-shadow{bottom:24px!important;height:11px!important}.battle-combat-aura{bottom:24px!important}
  /* Enemy formation: two rear units at the top, three front units facing downward toward center. */
  .enemy-team .slot-0{left:8%!important;right:auto!important;top:23%!important;bottom:auto!important;z-index:8!important;transform:scale(.82)!important}.enemy-team .slot-1{left:39%!important;right:auto!important;top:23%!important;bottom:auto!important;z-index:9!important;transform:scale(.86)!important}.enemy-team .slot-2{left:70%!important;right:auto!important;top:23%!important;bottom:auto!important;z-index:8!important;transform:scale(.82)!important}.enemy-team .slot-3{left:24%!important;right:auto!important;top:7%!important;bottom:auto!important;z-index:6!important;transform:scale(.69)!important}.enemy-team .slot-4{left:56%!important;right:auto!important;top:7%!important;bottom:auto!important;z-index:6!important;transform:scale(.69)!important}
  /* Own formation: camera sits behind the lower squad; rear units are larger and front line is closer to center. */
  .player-team .slot-0{left:8%!important;right:auto!important;top:auto!important;bottom:24%!important;z-index:9!important;transform:scale(.94)!important}.player-team .slot-1{left:39%!important;right:auto!important;top:auto!important;bottom:24%!important;z-index:10!important;transform:scale(.98)!important}.player-team .slot-2{left:70%!important;right:auto!important;top:auto!important;bottom:24%!important;z-index:9!important;transform:scale(.94)!important}.player-team .slot-3{left:24%!important;right:auto!important;top:auto!important;bottom:5%!important;z-index:11!important;transform:scale(1.08)!important}.player-team .slot-4{left:56%!important;right:auto!important;top:auto!important;bottom:5%!important;z-index:11!important;transform:scale(1.08)!important}
  .battle-fighter.player .battle-fighter-art .pea-portrait{transform:scaleX(1)!important}.battle-fighter.enemy .battle-fighter-art .pea-portrait{transform:scaleX(-1)!important}
  .battle-action-callout{top:46%!important;min-width:0!important;max-width:88%!important;border-radius:11px!important;display:grid!important;grid-template-columns:auto 1fr auto!important;padding:6px 8px!important;gap:5px!important}.battle-action-callout small{font-size:5px!important}.battle-action-callout b{font-size:7px!important;white-space:normal!important}.battle-action-callout strong{font-size:8px!important}
  .battle-projectile-path{height:12px!important}.battle-arrow-projectile{width:13px!important}.battle-orb-projectile{width:14px!important;height:14px!important}
  .battle-fighter.attack-melee.acting .battle-avatar,.battle-fighter.attack-heavy.acting .battle-avatar{transform:translate3d(var(--attack-lunge-x),var(--attack-lunge-y),75px) scale(1.06)!important}.battle-fighter.attack-ranged.acting .battle-avatar,.battle-fighter.attack-arcane.acting .battle-avatar{transform:translate3d(var(--attack-lunge-x),var(--attack-lunge-y),35px) scale(1.025)!important}
  .notification-center-wrap{order:5}.notification-button{width:34px;height:34px}.notification-panel{position:fixed;left:10px;right:10px;top:76px;width:auto;max-height:70dvh}.reward-box-grid{grid-template-columns:1fr}.reward-box-card{grid-template-columns:50px minmax(0,1fr) auto}.reward-box-contents{grid-template-columns:1fr 1fr}.reward-box-dialog{width:calc(100vw - 16px)}
}

/* ========================= R6.14.1 UI LAYERING / RESOURCE ICONS / MOBILE BATTLE POLISH ========================= */
/* Resource identity: each economy item keeps its own saturated visual language. */
.ui-svg.ui-catalyst,.ui-svg.ui-fragment,.ui-svg.ui-training,.ui-svg.ui-token{
  -webkit-mask:none!important;mask:none!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;color:transparent!important;
}
.ui-svg.ui-catalyst{background-image:url('/assets/icons/catalyst-color.svg?v=r6-14-1')!important;filter:drop-shadow(0 0 5px rgba(58,185,255,.34))}
.ui-svg.ui-fragment{background-image:url('/assets/icons/fragment-color.svg?v=r6-14-1')!important;filter:drop-shadow(0 0 5px rgba(255,157,44,.34))}
.ui-svg.ui-training{background-image:url('/assets/icons/training-color.svg?v=r6-14-1')!important;filter:drop-shadow(0 0 5px rgba(112,220,76,.28))}
.ui-svg.ui-token{background-image:url('/assets/icons/token-color.svg?v=r6-14-1')!important;filter:drop-shadow(0 0 5px rgba(255,206,72,.30))}
.global-resource-row .ui-svg,.inventory-resource-icon .ui-svg,.market-stack-icon .ui-svg,.resource-thumb .ui-svg,.reward-box-contents .ui-svg{width:24px!important;height:24px!important;flex:0 0 24px!important}
.inventory-resource-icon .ui-svg{width:30px!important;height:30px!important}.market-stack-icon .ui-svg{width:28px!important;height:28px!important}
.resource-chip.fragment-chip .ui-svg,.resource-chip.training-chip .ui-svg{color:transparent!important}

/* System Market reads as quantity of material -> Diamond cost, never the reverse. */
.system-market-actions .resource-exchange{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:8px 9px!important;font-variant-numeric:tabular-nums}
.resource-exchange .ui-svg{width:18px!important;height:18px!important;margin:0!important;vertical-align:middle!important;flex:0 0 18px!important}
.resource-exchange .exchange-amount{font-weight:900;color:#f1efe9;font-size:12px;line-height:1}
.resource-exchange .exchange-arrow{color:#7f9188;font-weight:900;font-size:12px;line-height:1}
.resource-exchange:hover .exchange-arrow{color:#b6ef72}

/* Notification flyout lives above the entire page, not inside the banner/header visual stack. */
.topbar,.v19-topbar{z-index:1000!important;overflow:visible!important}
.notification-center-wrap{z-index:10020!important;isolation:isolate}
.notification-panel{position:fixed!important;top:calc(var(--top) + 8px)!important;right:16px!important;left:auto!important;width:min(410px,calc(100vw - 24px))!important;max-height:calc(100dvh - var(--top) - 24px)!important;overflow:auto!important;background:#07110dfc!important;border-color:#456151!important;box-shadow:0 24px 70px rgba(0,0,0,.86),0 0 0 1px rgba(149,224,96,.05) inset!important;backdrop-filter:blur(24px)!important;z-index:10050!important}
.notification-panel-head{background:#091611fe!important;z-index:4!important}
.notification-row{background:#07110df2!important}.notification-row:hover{background:#102019!important}

@media(max-width:760px){
  :root{--top:70px!important}
  .topbar,.v19-topbar{height:var(--top)!important;min-height:var(--top)!important;padding:0 8px!important;gap:6px!important;overflow:visible!important}
  #mobileMenu{flex:0 0 38px!important;width:38px!important;height:38px!important;border:1px solid #394759!important;background:#111522!important;border-radius:11px!important}
  /* Put a real brand mark back in the mobile header instead of leaving an ambiguous empty gap. */
  .v19-brand-lockup{display:flex!important;flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;padding:0!important;background:url('/assets/brand/mark-v19.svg?v=r6-14-1') center/34px 34px no-repeat!important;filter:drop-shadow(0 4px 8px #0008)!important}
  .v19-brand-lockup img{display:none!important}
  .topbar-spacer{flex:1 1 auto!important;min-width:2px!important}
  /* The server picker now reads as a compact server chip instead of a browser-native double-arrow control. */
  .world-switch{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 67px!important;width:67px!important;min-width:67px!important;max-width:67px!important;height:38px!important;padding:3px 6px!important;border:1px solid #344d3d!important;border-radius:11px!important;background:#07130fef!important;overflow:hidden!important}
  .world-switch .world-copy{display:block!important;min-width:0!important;text-align:center!important;pointer-events:none!important}
  .world-switch .world-copy small,.world-switch .world-copy span{display:none!important}
  .world-switch .world-copy b{display:block!important;max-width:55px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#dbe8da!important;font-size:7.5px!important;letter-spacing:.01em!important}
  .world-switch select{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;opacity:0!important;text-indent:0!important;color:transparent!important;cursor:pointer!important}
  .language-switch{height:38px!important;padding:3px!important}.language-switch button{height:30px!important}
  .notification-button,.logout-btn,.identity-wrap{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important}
  .notification-panel{left:8px!important;right:8px!important;top:calc(var(--top) + 7px)!important;width:auto!important;max-height:calc(100dvh - var(--top) - 84px)!important;border-radius:13px!important}

  /* Mobile portrait arena: place the enemy formation on visible ground/depth planes. */
  .battle-arena-3d{height:700px!important;min-height:700px!important;background-position:center 56%!important}
  .enemy-team:before{content:"";position:absolute;left:7%;right:7%;top:28%;height:145px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(84,71,65,.34) 0 30%,rgba(58,63,52,.16) 45%,transparent 72%);transform:rotateX(67deg);filter:blur(1px);opacity:.78;z-index:2;pointer-events:none}
  .enemy-team .battle-fighter:after{content:"";position:absolute;left:16%;right:16%;bottom:26px;height:10px;border-radius:50%;background:rgba(0,0,0,.72);filter:blur(5px);transform:scaleX(1.08);z-index:-1;pointer-events:none}
  .enemy-team .slot-0{left:7%!important;top:29%!important;transform:scale(.84)!important}.enemy-team .slot-1{left:38.5%!important;top:29%!important;transform:scale(.88)!important}.enemy-team .slot-2{left:70%!important;top:29%!important;transform:scale(.84)!important}
  .enemy-team .slot-3{left:23%!important;top:13%!important;transform:scale(.70)!important}.enemy-team .slot-4{left:56%!important;top:13%!important;transform:scale(.70)!important}
  .enemy-team .slot-0,.enemy-team .slot-1,.enemy-team .slot-2,.enemy-team .slot-3,.enemy-team .slot-4{right:auto!important;bottom:auto!important;transform-origin:50% 100%!important}
  .battle-fighter.enemy .battle-shadow{background:rgba(0,0,0,.82)!important;filter:blur(7px)!important;opacity:1!important}
  .battle-fighter.enemy.defeated{opacity:.34!important;filter:grayscale(.72) saturate(.55)!important}.battle-fighter.enemy.defeated .battle-avatar{transform:translateY(10px) rotateZ(4deg) scale(.94)!important}
  .battle-label-enemy{top:55px!important}.battle-action-callout{top:49%!important}
}

@media(max-width:390px){
  .topbar,.v19-topbar{gap:4px!important;padding:0 5px!important}
  #mobileMenu,.notification-button,.logout-btn,.identity-wrap{width:34px!important;min-width:34px!important;height:36px!important;min-height:36px!important}
  .v19-brand-lockup{width:34px!important;min-width:34px!important;max-width:34px!important;height:36px!important;background-size:31px 31px!important}
  .world-switch{flex-basis:58px!important;width:58px!important;min-width:58px!important;max-width:58px!important;height:36px!important}.world-switch .world-copy b{max-width:48px!important;font-size:7px!important}
  .language-switch{height:36px!important}.language-switch button{width:27px!important;min-width:27px!important;height:28px!important}
  .notification-panel{left:6px!important;right:6px!important}
  .system-market-actions .resource-exchange{gap:5px!important}.resource-exchange .exchange-amount{font-size:11px}
}


/* ========================= R6.14.2 PREMIUM ICON SYSTEM / CURRENT BRAND / GROUNDED MOBILE ARENA ========================= */
/* Filled premium icon language across navigation, stats and class badges. */
.ui-svg.ui-home,.ui-svg.ui-creatures,.ui-svg.ui-breeding,.ui-svg.ui-squad,.ui-svg.ui-campaign,.ui-svg.ui-training,.ui-svg.ui-inventory,.ui-svg.ui-market,.ui-svg.ui-ranked,.ui-svg.ui-admin,.ui-svg.ui-bug,.ui-svg.ui-profile,.ui-svg.ui-logout,
.ui-svg.ui-hp,.ui-svg.ui-attack,.ui-svg.ui-defense,.ui-svg.ui-speed{
  -webkit-mask:none!important;mask:none!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;color:transparent!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.48));
}
.ui-svg.ui-home{background-image:url('/assets/icons/home-color.svg?v=r6-14-2')!important}
.ui-svg.ui-creatures{background-image:url('/assets/icons/creatures-color.svg?v=r6-14-2')!important}
.ui-svg.ui-breeding{background-image:url('/assets/icons/breeding-nav-color.svg?v=r6-14-2')!important}
.ui-svg.ui-squad{background-image:url('/assets/icons/squad-color.svg?v=r6-14-2')!important}
.ui-svg.ui-campaign{background-image:url('/assets/icons/campaign-color.svg?v=r6-14-2')!important}
.ui-svg.ui-training{background-image:url('/assets/icons/training-color.svg?v=r6-14-2')!important}
.ui-svg.ui-inventory{background-image:url('/assets/icons/inventory-color.svg?v=r6-14-2')!important}
.ui-svg.ui-market{background-image:url('/assets/icons/market-color.svg?v=r6-14-2')!important}
.ui-svg.ui-ranked{background-image:url('/assets/icons/ranked-color.svg?v=r6-14-2')!important}
.ui-svg.ui-admin{background-image:url('/assets/icons/admin-color.svg?v=r6-14-2')!important}
.ui-svg.ui-bug{background-image:url('/assets/icons/bug-color.svg?v=r6-14-2')!important}
.ui-svg.ui-profile{background-image:url('/assets/icons/profile-color.svg?v=r6-14-2')!important}
.ui-svg.ui-logout{background-image:url('/assets/icons/logout-color.svg?v=r6-14-2')!important}
.ui-svg.ui-hp{background-image:url('/assets/icons/hp-color.svg?v=r6-14-2')!important}
.ui-svg.ui-attack{background-image:url('/assets/icons/attack-color.svg?v=r6-14-2')!important}
.ui-svg.ui-defense{background-image:url('/assets/icons/defense-color.svg?v=r6-14-2')!important}
.ui-svg.ui-speed{background-image:url('/assets/icons/speed-color.svg?v=r6-14-2')!important}

.v19-primary-nav .ui-svg{width:25px!important;height:25px!important;filter:drop-shadow(0 3px 5px #0008)!important}
.v19-nav-tab.active .ui-svg{transform:scale(1.08);filter:drop-shadow(0 0 7px rgba(151,239,73,.35))!important}
.collection-grid .stat-mini>.ui-svg{display:inline-block!important}
.stat-mini>.ui-svg,.gbar>.ui-svg,.training-stat-head>.ui-svg,.market-own-stats .ui-svg,.battle-training-unit .ui-svg{width:15px!important;height:15px!important}
.inline-cost-icon{display:inline-block!important;width:20px!important;height:20px!important;margin-left:5px!important;vertical-align:-5px!important}
#trainRandom{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important}

/* Filled premium class badges. */
.class-badge>svg{display:none!important}.class-icon{display:inline-block;width:19px;height:19px;flex:0 0 19px;background:center/contain no-repeat;filter:drop-shadow(0 2px 4px #0008)}
.class-icon-guardian{background-image:url('/assets/icons/class-guardian-color.svg?v=r6-14-2')}
.class-icon-assassin{background-image:url('/assets/icons/class-assassin-color.svg?v=r6-14-2')}
.class-icon-archer{background-image:url('/assets/icons/class-archer-color.svg?v=r6-14-2')}
.class-icon-knight{background-image:url('/assets/icons/class-knight-color.svg?v=r6-14-2')}
.class-icon-mage{background-image:url('/assets/icons/class-mage-color.svg?v=r6-14-2')}
.class-badge.compact .class-icon{width:16px;height:16px;flex-basis:16px}

/* Sidebar and mobile bottom bar use the same filled art rather than monochrome masks. */
.side-link>span,.bottom-nav button>span{mask:none!important;-webkit-mask:none!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;filter:drop-shadow(0 2px 4px #0008)}
.side-link[data-icon="home"]>span,.bottom-nav button[data-icon="home"]>span{background-image:url('/assets/icons/home-color.svg?v=r6-14-2')!important}
.side-link[data-icon="creatures"]>span,.bottom-nav button[data-icon="creatures"]>span{background-image:url('/assets/icons/creatures-color.svg?v=r6-14-2')!important}
.side-link[data-icon="breeding"]>span,.bottom-nav button[data-icon="breeding"]>span{background-image:url('/assets/icons/breeding-nav-color.svg?v=r6-14-2')!important}
.side-link[data-icon="squad"]>span{background-image:url('/assets/icons/squad-color.svg?v=r6-14-2')!important}
.side-link[data-icon="campaign"]>span,.bottom-nav button[data-icon="campaign"]>span{background-image:url('/assets/icons/campaign-color.svg?v=r6-14-2')!important}
.side-link[data-icon="training"]>span,.bottom-nav button[data-icon="training"]>span{background-image:url('/assets/icons/training-color.svg?v=r6-14-2')!important}
.side-link[data-icon="inventory"]>span{background-image:url('/assets/icons/inventory-color.svg?v=r6-14-2')!important}
.side-link[data-icon="market"]>span{background-image:url('/assets/icons/market-color.svg?v=r6-14-2')!important}
.side-link[data-icon="ranked"]>span{background-image:url('/assets/icons/ranked-color.svg?v=r6-14-2')!important}
.side-link[data-icon="bug"]>span{background-image:url('/assets/icons/bug-color.svg?v=r6-14-2')!important}
.side-link.active>span,.bottom-nav button.active>span{background-color:transparent!important;filter:drop-shadow(0 0 6px rgba(174,244,87,.42))}

/* Current owner-supplied logo everywhere. */
.v19-brand-lockup{width:108px!important;min-width:108px!important;height:72px!important;justify-content:center!important}
.v19-brand-lockup img{display:block!important;width:82px!important;height:68px!important;object-fit:contain!important;object-position:center!important;filter:drop-shadow(0 8px 12px #0009)!important}
.auth-brand-emblem img{content:url('/assets/brand/logo-current.webp?v=r6-14-2')!important;object-fit:contain!important}

@media(max-width:760px){
  :root{--top:72px!important}
  .topbar,.v19-topbar{display:grid!important;grid-template-columns:40px 62px minmax(56px,1fr) auto 38px 38px!important;align-items:center!important;column-gap:5px!important;padding:0 6px!important;height:var(--top)!important;min-height:var(--top)!important}
  #mobileMenu{grid-column:1!important;margin:0!important}
  .v19-brand-lockup{grid-column:2!important;display:flex!important;width:62px!important;min-width:62px!important;max-width:62px!important;height:44px!important;background:none!important;margin:0!important;padding:0!important}
  .v19-brand-lockup img{display:block!important;width:60px!important;height:42px!important;object-fit:contain!important}
  .topbar-spacer{display:none!important}
  .world-switch{grid-column:3!important;width:100%!important;min-width:0!important;max-width:none!important;flex:none!important;height:38px!important;margin:0!important}
  .language-switch{grid-column:4!important;margin:0!important;height:38px!important}
  .notification-center-wrap{grid-column:5!important;margin:0!important;width:38px!important;height:38px!important}
  .identity-wrap{grid-column:6!important;margin:0!important;padding:0!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;display:grid!important;place-items:center!important}
  .logout-btn{position:static!important;margin:0!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;display:grid!important;place-items:center!important;transform:none!important}
  .logout-btn .ui-svg{width:19px!important;height:19px!important;margin:0!important}
  .v19-utility-nav{display:none!important}

  /* New portrait arena has a high horizon and real ground under both teams. */
  .battle-arena-3d{height:720px!important;min-height:720px!important;background-image:linear-gradient(180deg,rgba(4,8,13,.28),rgba(6,10,10,.07) 44%,rgba(3,7,7,.36)),url('/assets/backgrounds/arena-ground-portrait-r6142.webp?v=r6-14-2')!important;background-position:center center!important;background-size:cover!important;perspective:1000px!important}
  .enemy-team:before{display:none!important}
  .enemy-team .slot-0{left:8%!important;top:31%!important;transform:scale(.78)!important}.enemy-team .slot-1{left:38.5%!important;top:31%!important;transform:scale(.82)!important}.enemy-team .slot-2{left:69%!important;top:31%!important;transform:scale(.78)!important}
  .enemy-team .slot-3{left:23%!important;top:20%!important;transform:scale(.68)!important}.enemy-team .slot-4{left:56%!important;top:20%!important;transform:scale(.68)!important}
  .enemy-team .battle-fighter{transform-origin:50% 100%!important}
  .enemy-team .battle-fighter:after{bottom:17px!important;height:12px!important;background:rgba(0,0,0,.78)!important;filter:blur(4px)!important}
  .battle-fighter.enemy .battle-shadow{bottom:14px!important;height:12px!important;opacity:.95!important;filter:blur(5px)!important}
  .player-team .slot-0{left:7%!important;bottom:23%!important;transform:scale(.88)!important}.player-team .slot-1{left:38.5%!important;bottom:23%!important;transform:scale(.92)!important}.player-team .slot-2{left:70%!important;bottom:23%!important;transform:scale(.88)!important}
  .player-team .slot-3{left:23%!important;bottom:5%!important;transform:scale(1.03)!important}.player-team .slot-4{left:56%!important;bottom:5%!important;transform:scale(1.03)!important}
}
@media(max-width:390px){
  .topbar,.v19-topbar{grid-template-columns:36px 54px minmax(48px,1fr) auto 34px 34px!important;column-gap:3px!important;padding:0 4px!important}
  .v19-brand-lockup{width:54px!important;min-width:54px!important;max-width:54px!important}.v19-brand-lockup img{width:52px!important;height:38px!important}
  .world-switch{min-width:0!important;width:100%!important}.language-switch button{width:25px!important;min-width:25px!important}
  .notification-center-wrap,.identity-wrap,.logout-btn{width:34px!important;min-width:34px!important}
}

.premium-resource-readout{display:grid!important;grid-template-columns:24px 1fr!important;column-gap:8px!important;align-items:center!important}.premium-resource-readout>.ui-svg{grid-row:1/3;width:24px!important;height:24px!important}.premium-resource-readout>b{grid-column:2!important}

/* ========================= R6.14.3 BADGES / ICON GAPS / MOBILE HEADER FIX ========================= */
/* Premium notification icon and exact material/stat inline rendering. */
.ui-svg.ui-notification{-webkit-mask:none!important;mask:none!important;background:transparent url('/assets/icons/notification-color.svg?v=r6-14-3') center/contain no-repeat!important;color:transparent!important;filter:drop-shadow(0 2px 4px #0009)}
.notification-button>.ui-notification{width:22px!important;height:22px!important;display:block!important}
.inline-resource-icon,.inline-result-icon,.confirm-resource-icon{display:inline-block!important;vertical-align:-5px!important;width:21px!important;height:21px!important;flex:0 0 21px!important;margin:0 3px!important}
.confirm-resource-icon{width:28px!important;height:28px!important;vertical-align:middle!important}
.form-msg .inline-result-icon{width:20px!important;height:20px!important;vertical-align:-5px!important}.form-msg b{color:#f3d77d}
.recycle-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important}.recycle-btn .inline-resource-icon{margin-left:1px!important}
#trainRandom .inline-cost-icon{width:25px!important;height:25px!important;flex:0 0 25px!important;margin:0 0 0 2px!important;vertical-align:middle!important}
#trainRandom{gap:7px!important;min-height:48px!important;padding-inline:20px!important}
.inventory-activity-row>.ui-svg{width:21px!important;height:21px!important;flex:0 0 21px!important}

/* Class icons are real filled image assets everywhere, including Composition Coach. */
.class-icon{object-fit:contain!important;object-position:center!important;background:none!important;background-image:none!important;border:0!important;border-radius:0!important}
.class-icon-guardian,.class-icon-assassin,.class-icon-archer,.class-icon-knight,.class-icon-mage{background-image:none!important}
.composition-role-summary .class-icon{display:block!important;width:20px!important;height:20px!important;flex:0 0 20px!important;filter:drop-shadow(0 2px 4px #000a)!important}
.composition-role-summary span{min-height:32px!important;padding:5px 9px!important}.composition-role-summary b{font-size:8.5px!important}
.battle-role-icon .class-icon{width:28px!important;height:28px!important}

/* Earned badges become inventory items and one can be publicly equipped in Ranked. */
.badge-vault-panel{margin:14px 0}.badge-vault-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.badge-vault-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #35483d;border-radius:13px;background:linear-gradient(145deg,#0d1713,#090f0d);min-width:0}.badge-vault-card.active{border-color:#91c95d;box-shadow:0 0 0 1px #9bdc6120 inset,0 12px 28px #0004}.badge-vault-card>div:nth-child(2){min-width:0}.badge-vault-card span,.badge-vault-card p{display:block}.badge-vault-card>div:nth-child(2)>span{font-size:7px;letter-spacing:.11em;color:#97a89e}.badge-vault-card.active>div:nth-child(2)>span{color:#b9ef86}.badge-vault-card h3{margin:3px 0;font-size:13px}.badge-vault-card p{margin:0;color:#7f9087;font-size:8px;line-height:1.4}.badge-vault-icon{display:grid;place-items:center}
.badge-emblem{display:inline-block;width:42px;height:42px;background:center/contain no-repeat;filter:drop-shadow(0 4px 7px #0008);vertical-align:middle;flex:0 0 auto}.badge-emblem.mini{width:18px;height:18px;filter:drop-shadow(0 2px 4px #0008)}.badge-emblem.badge-green{background-image:url('/assets/icons/badge-crest-green.svg?v=r6-14-3')}.badge-emblem.badge-gold{background-image:url('/assets/icons/badge-crest-gold.svg?v=r6-14-3')}.badge-emblem.badge-silver{background-image:url('/assets/icons/badge-crest-silver.svg?v=r6-14-3')}.badge-emblem.badge-bronze{background-image:url('/assets/icons/badge-crest-bronze.svg?v=r6-14-3')}.badge-emblem.badge-blue{background-image:url('/assets/icons/badge-crest-blue.svg?v=r6-14-3')}.badge-emblem.badge-violet{background-image:url('/assets/icons/badge-crest-violet.svg?v=r6-14-3')}
.ranked-name-line{display:inline-flex!important;align-items:center!important;gap:6px!important;min-width:0!important;flex-wrap:wrap!important}.ranked-active-badge{display:inline-flex!important;align-items:center!important;gap:3px!important;padding:2px 5px 2px 3px!important;border:1px solid #536057!important;border-radius:999px!important;background:#0c1511!important;max-width:150px!important;vertical-align:middle!important}.ranked-active-badge>b{font-size:6.5px!important;letter-spacing:.04em!important;color:#d7dfd9!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ranked-active-badge.badge-gold{border-color:#997532!important;background:#1d170a!important}.ranked-active-badge.badge-silver{border-color:#71808a!important;background:#12171a!important}.ranked-active-badge.badge-bronze{border-color:#8a5e45!important;background:#1a100b!important}.ranked-active-badge.badge-blue{border-color:#386fa1!important}.ranked-active-badge.badge-violet{border-color:#70459b!important}

/* Mobile top bar: physical DOM order is server/language/notification/logout. Keep it on one row. */
@media(max-width:760px){
  .topbar,.v19-topbar{display:grid!important;grid-template-columns:40px 58px minmax(64px,1fr) auto 38px 38px!important;grid-template-rows:72px!important;align-items:center!important;column-gap:5px!important;padding:0 6px!important;overflow:visible!important}
  .topbar>*{min-width:0!important}
  #mobileMenu{grid-column:1!important;grid-row:1!important}
  .v19-brand-lockup{grid-column:2!important;grid-row:1!important;width:58px!important;min-width:58px!important;max-width:58px!important}
  .v19-brand-lockup img{width:56px!important;height:42px!important}
  .world-switch{grid-column:3!important;grid-row:1!important;min-width:0!important;width:100%!important;height:38px!important}
  .world-copy{min-width:0!important}.world-copy b,.world-copy span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .language-switch{grid-column:4!important;grid-row:1!important;height:38px!important;margin:0!important}
  .notification-center-wrap{grid-column:5!important;grid-row:1!important;position:relative!important;width:38px!important;height:38px!important;margin:0!important;align-self:center!important;justify-self:center!important}
  .notification-button{width:38px!important;height:38px!important;margin:0!important}
  .identity-wrap{grid-column:6!important;grid-row:1!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;justify-self:end!important}
  .identity-wrap .profile-orb,.identity-wrap #identity{display:none!important}
  .logout-btn{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important}
  .logout-btn:hover{background:#152019!important;border:0!important;box-shadow:none!important;border-radius:9px!important}
  .logout-btn .ui-svg{width:22px!important;height:22px!important;margin:0!important}
  .notification-panel{left:7px!important;right:7px!important;top:78px!important;width:auto!important;max-height:calc(100dvh - 92px)!important}
  .badge-vault-grid{grid-template-columns:1fr}.badge-vault-card{grid-template-columns:48px minmax(0,1fr) auto}.ranked-active-badge>b{display:none!important}.ranked-active-badge{padding:2px!important}.ranked-active-badge .badge-emblem.mini{width:17px;height:17px}
}
@media(max-width:390px){
  .topbar,.v19-topbar{grid-template-columns:36px 48px minmax(52px,1fr) 54px 34px 34px!important;column-gap:3px!important;padding:0 4px!important}
  .v19-brand-lockup{width:48px!important;min-width:48px!important;max-width:48px!important}.v19-brand-lockup img{width:46px!important;height:38px!important}
  .language-switch{width:54px!important;min-width:54px!important}.language-switch .language-globe{display:none!important}.language-switch button{width:26px!important;min-width:26px!important;padding:0!important}
  .notification-center-wrap,.notification-button,.identity-wrap{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important}.logout-btn{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}.logout-btn .ui-svg{width:20px!important;height:20px!important}
  .world-switch small{display:none!important}
}


/* ========================= R6.14.4 CLASS ICON CARD HOTFIX =========================
   R6.14.3 converted class marks from inline SVG to <img>. Generic card artwork rules
   such as .creature-art img { width:100%; height:100% } were more specific than the
   base .class-icon rule, so the small class mark expanded over the fighter portrait.
   Keep portrait rules scoped to portrait artwork and hard-cap class icons in every card context. */
.class-icon,
.creature-art .class-icon,
.team-pick .class-icon,
.squad-summary-lineup .class-icon,
.formation-mini-art .class-icon,
.market-card-art .class-icon,
.market-own-art .class-icon,
.training-roster-art .class-icon,
.parent-visual .class-icon,
.birth-art .class-icon{
  display:block!important;
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  min-height:19px!important;
  max-width:19px!important;
  max-height:19px!important;
  flex:0 0 19px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:drop-shadow(0 2px 4px #0009)!important;
  transform:none!important;
  position:static!important;
  inset:auto!important;
}
.class-badge.compact .class-icon,
.squad-summary-lineup .class-badge .class-icon,
.formation-mini-art .class-badge .class-icon{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  flex-basis:16px!important;
}
.battle-role-icon .class-icon{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
}
.composition-role-summary .class-icon{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
}
/* The portrait is the only image allowed to fill the artwork frame. */
.creature-art>.pea-portrait,
.creature-art>.pea-portrait picture,
.creature-art>.pea-portrait picture>.portrait-base{
  width:100%!important;
  height:100%!important;
}
