@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap');
/* Approved expedition layout and atelier materials, connected to game DOM. */
:root{--org:#c9b1ff;--gold:#c9b1ff;--ink:#e7e9ff;--ink2:#a5abd2;--parch1:#242a56;--parch2:#20264e}
body{background:radial-gradient(ellipse at top,#2a3052,#0b1023 70%);font-family:Outfit,system-ui,sans-serif;color:#e7e9ff}
.bootsplash{background:#10162f;color:#e7e9ff}.bootsplash .bootLandscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}.bootsplash .bootConnecting{z-index:1;color:#e7e9ff;text-shadow:0 2px 12px #10162f;font-family:Outfit,system-ui,sans-serif}
#app{width:100%;max-width:520px;background:#10162f;color:#e7e9ff;box-shadow:0 0 70px #0006;overflow:hidden}
button{font-family:inherit}button:focus-visible{outline:2px solid #e4c4ff;outline-offset:3px}
h1,h2,h3{font-family:Outfit,system-ui,sans-serif}
.top{height:64px;padding:8px 12px;background:#10162f;align-items:center;border-bottom:1px solid #3a3f67}
.top .profileBar{background:transparent;border:0;box-shadow:none;padding:0;gap:8px}
.top .profileBar .avatar{width:38px;height:38px;border-radius:12px;border:1px solid #8b83ba;background:#252c53}
.top .profileBar .pname{font-size:13px;text-shadow:none;font-weight:700}
.top .profilePower{font-size:11px;color:#a5abd2;text-shadow:none}
.top .profilePower .ic{background:none;border:0;width:13px}.top .profilePower .ic .aicon{width:12px;height:12px}
.top .res{background:#252c53;border:1px solid #454b7b;box-shadow:none;padding:8px 5px 8px 25px;border-radius:10px}
.top .res .ic{background:none!important;border:0;width:22px;height:22px;left:2px;margin-top:-11px}
.top .res .v{font-size:12px;text-shadow:none}.top .res::after{display:none}
#pHome.on{height:calc(100dvh - var(--topH,64px) - var(--tabH,64px));min-height:0;padding:0;overflow:hidden;background:#10162f;display:flex;flex-direction:column}
.expeditionScroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;background:radial-gradient(circle at 75% 20%,#262b59,#111731 70%)}
.expeditionScroll::-webkit-scrollbar{display:none}
#pHome.on .arena{height:300px;min-height:300px;max-height:none;margin:0;flex:none;border-bottom:1px solid #454c7a;background:linear-gradient(0deg,#141738d9,transparent 68%),url('../assets/scenes/expedition-arena.webp') center 58%/cover no-repeat}
#pHome.on .arena #scene{position:absolute;left:0;right:0;top:auto;bottom:28px;height:220px}
#pHome.on .arena svg:not(svg svg){transform:none;height:100%;width:100%}
/* Dungeon floors and league duels fought in the arena (js/14-league.js openArenaEncounter) */
#pHome.arenaEncounterOpen .arenaActivities,#pHome.arenaEncounterOpen .eqwrap,#pHome.arenaEncounterOpen #forgeDock{display:none!important}
.encounterCard{margin:4px 12px 12px;padding:12px 13px;border:1px solid #737da558;border-radius:14px;background:#171e3de8;color:#f3efff}.encounterCard[hidden]{display:none}
.encounterSides{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:6px}.encounterSides>strong{color:#d9c4ff;font-size:11px;text-align:center;text-shadow:0 0 10px #ae8df4}
.encounterSide{display:flex;align-items:center;gap:9px;min-width:0}.encounterSide.foe{flex-direction:row-reverse;text-align:right}.encounterSide>div{min-width:0}.encAv{display:flex;flex:none;padding:5px 0 0}.encAv img{border-radius:50%}.encAv:empty{display:none}.encounterSide b,.encounterSide small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.encounterSide b{font-size:13px}.encounterSide small{margin-top:2px;color:#cfd5ee;font-size:10px}
.encounterFoot{display:flex;align-items:center;gap:10px;min-height:36px;margin-top:10px;padding-top:10px;border-top:1px solid #737da533}.encounterFoot>div{min-width:0;flex:1}.encounterFoot b,.encounterFoot span{display:block}.encounterFoot b{font-size:13px}.encounterFoot span{margin-top:2px;color:#aeb6d6;font-size:11px}
.encounterFoot .btn{min-height:34px;padding:7px 13px;border:1px solid #cab4f0;border-radius:9px;background:#c4a6fa;color:#1c1744;box-shadow:none;font-size:11px;font-weight:700}
.legacyField,.legacyAnvil{display:none}
.stagehead{position:absolute;top:17px;left:15px;right:15px;display:block;text-align:left;z-index:4}
.stagemid{display:flex;flex-direction:column-reverse;align-items:center;gap:7px}
.stagemid b{font-size:29px;letter-spacing:-.025em;color:#f1eaff;text-shadow:0 2px 8px #141330;-webkit-text-stroke:0}
.stagemid span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e4c4ff;text-shadow:0 1px 4px #141330}
.hpstrip{position:absolute;top:auto;bottom:64px;left:26%;right:26%;width:auto;height:5px;z-index:4;gap:7px;opacity:.9}
.hpseg{border:1px solid #9b8bb7;background:#151831}.hpseg.me i{background:#c4a6fa}.hpseg.foe i{background:#f399b7}
.hpseg.me::before,.hpseg.me::after,.hpseg.foe::after{display:none}
.hpseg.me>i{background:#c4a6fa}.hpseg.foe>i{background:#f399b7}
.arenaActivities .activity{width:32px;height:32px;border:1px solid #7774a4;border-radius:9px;background:#242a56dd;filter:none}
.arenaActivities .activity img{width:23px;height:23px;filter:none}
.arenaActivities .activityPass{top:13px;right:10px;width:56px;height:56px;display:grid;place-items:center;padding:4px;border:0;border-radius:12px;background:transparent}
.arenaActivities .activityPass img{width:48px;height:48px;filter:drop-shadow(0 2px 4px #0b102399)}
.arenaActivities .activityPass:hover{background:#242a5680}
/* idle stash: a pill top-left that fills toward the cap, and glows when full */
.arenaActivities .activityIdle{top:17px;left:14px;width:auto;height:34px;display:flex;align-items:center;gap:5px;padding:0 9px 0 5px;color:#f1eaff}
.arenaActivities .activityIdle img{width:22px;height:22px}
.idleCopy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:44px}
.idleCopy b{font-size:11px;line-height:1;font-weight:700;white-space:nowrap}
.idleBar{display:block;width:100%;height:4px;border-radius:2px;background:#151831;overflow:hidden}
.idleBar i{display:block;height:100%;width:0;background:#c4a6fa;border-radius:2px}
.arenaActivities .activityIdle.full{border-color:#ffd66e;box-shadow:0 0 10px #ffd66e88}
.activityIdle.full .idleBar i{background:#ffd66e}.activityIdle.full b{color:#ffe7a3}
@media (prefers-reduced-motion:no-preference){.arenaActivities .activityIdle.full{animation:idlePulse 1.6s ease-in-out infinite}}
@keyframes idlePulse{50%{box-shadow:0 0 16px #ffd66ecc}}
.sheet[data-variant="idle-reward"]{text-align:center}
.idleIntro{margin:4px 0 12px}
.idleStash{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;margin-bottom:12px;border:1px solid #454b7b;border-radius:12px;background:#242a56}
.idleMeter{width:100%;height:10px;border-radius:5px;background:#151831;overflow:hidden}
.idleMeter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#9b7fe0,#c4a6fa);border-radius:5px}
.idleMeterText{display:flex;gap:5px;align-items:baseline;font-size:13px}.idleMeterText span{color:#a5abd2}
.idleTotal{display:flex;align-items:center;gap:8px;font-size:26px;font-weight:800}
.idleHint{margin:10px 0 0}
.arenaControls{bottom:10px;right:190px}.battleAuto{background:#5c5282;border:1px solid #b2a9e6;color:#f1eaff;text-shadow:none;font-size:10px;width:36px;height:36px}
.arenaControls[hidden],#pHome.on .skillrow[hidden]{display:none}.battleAuto[aria-pressed=false]{background:#252c53;color:#aaa4cc}
#pHome.on .skillrow{margin:-48px 10px 10px auto;height:38px;min-height:38px;max-width:174px;position:relative;display:flex;gap:5px}
#pHome.on .skillrow .sk{width:37px;height:37px;flex:0 0 37px;border:1px solid #8b83ba;border-radius:50%;background:#242a56;color:#d3bcff;box-shadow:0 2px 4px #080c23}
#pHome.on .skillrow .sk.empty .nm{display:block;font-size:7px}
.eqwrap{position:relative;padding:7px 10px 8px;background:transparent;margin:0;box-shadow:none}
.kitHeading{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.kitHeading b{font-size:19px}.kitHeading span{font-size:11px;color:#a5abd2}
.homeGearGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.homeGearCard{position:relative;min-width:0;height:clamp(50px,13vw,58px);display:flex;align-items:flex-start;justify-content:center;padding:2px 2px 12px;background:#242b58;border:1px solid color-mix(in srgb,var(--quality,#565c92) 72%,#fff);border-radius:8px;box-shadow:0 2px #090e24;color:#e7e9ff;overflow:hidden}
.homeGearCard .aicon{position:static;width:clamp(33px,9vw,41px);height:clamp(33px,9vw,41px);object-fit:contain;transform:none}
.homeGearQuality{position:absolute;left:1px;right:1px;bottom:1px;overflow:hidden;color:var(--quality,#a5abd2);font-size:8px;font-weight:700;line-height:10px;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px #080c23}
.sheet .gearShelf{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:85px;padding:0;margin:15px 0;background:none}
.sheet .gearShelf .slot:not(.ebg){background:#242b58!important}.sheet .gearShelf .slot{border:1px solid #565c92;border-radius:11px;box-shadow:none}.sheet .gearShelf .sn{color:#bcb8dd}
.gearwrap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;grid-auto-rows:68px}
#pHome .slot:not(.ebg){background:#242b58!important;background-image:none!important}#pHome .slot{min-height:0;border:1px solid #565c92;border-radius:11px;box-shadow:0 3px #090e24;overflow:hidden}
#pHome .slot .aicon{width:75%;height:68%;object-fit:contain}
#pHome .slot .lv,#pHome .slot .val{font-size:10px;text-shadow:0 1px 3px #080c23;font-weight:600;color:#e7e9ff}
#pHome .slot .sn{color:#bcb8dd;font-size:8px}.gearInfo{right:13px;left:auto;top:18px;bottom:auto;background:#343d72;border:1px solid #696ca1;width:25px;height:25px;line-height:23px}
.forgerow{display:grid;grid-template-columns:68px minmax(0,1fr) 68px;grid-template-rows:140px;gap:7px;position:relative;background:transparent;margin:0;padding:4px 10px 0;border:0;box-shadow:none;flex:none;min-height:0}
.forgeCollapseToggle{display:none}
.forgeCollapseToggle span{font-size:18px;line-height:1}.forgerow.collapsed{padding:7px 12px;display:block}.forgerow.collapsed>:not(.forgeCollapseToggle){display:none}.forgerow.collapsed .forgeCollapseToggle{position:static;width:100%;min-height:39px;font-size:13px;background:#242a56}
#pHome.forgeCollapsed .expeditionScroll{display:flex;flex-direction:column}#pHome.forgeCollapsed .arena{flex:1;min-height:300px}
/* --fh is the forge's height; --face is where the anvil's top surface sits in its art (set per era by buildAnvil);
   --hit is where the hammer lands, left of the forge's centre so the right-hand swing stays over the anvil.
   Everything the strike animation draws is placed from those two so it scales with the forge. The hammer is
   drawn back above the anvil, so only the anvil art's 6px bottom bleed is clipped, never the hammer. */
.forgeVisual{--fh:140px;--face:.2;--hit:calc(var(--fh)*-.12);grid-column:2;grid-row:1;height:var(--fh);position:relative;overflow:visible;border:0;background:transparent}
.forgeVisual .anvil,.forgeVisual #anvilArt{position:absolute;inset:0;width:100%;height:100%;background:none;transform:none;filter:none}
.forgeVisual #anvilArt{overflow:visible;pointer-events:none}
.forgeVisual .eraAnvil{position:absolute;left:50%;bottom:-6px;width:auto;height:var(--fh);transform:translateX(-50%);clip-path:inset(-24px -24px 6px -24px);filter:drop-shadow(0 8px 7px #050713aa)}
/* the art is upright with its head at the top. It pivots about the grip (50% 88%), held in the right hand, and is
   parked so that at -90deg, handle level, the head's left end face sits on the anvil's top surface: the grip is
   1.065 widths to the right of the head's centre and .4 widths above its end face */
.forgeVisual .eraHammer{--hw:calc(var(--fh)*.5);z-index:7;position:absolute;width:var(--hw);height:auto;left:calc(50% + var(--hit) + var(--hw)*.565);top:calc(6px + var(--face)*var(--fh) - var(--hw)*1.72);transform-origin:50% 88%;filter:drop-shadow(0 0 4px #050713cc);will-change:transform,opacity}
#syncStatus{position:fixed;right:12px;top:calc(env(safe-area-inset-top,0px) + 70px);z-index:45;padding:4px 9px;border-radius:12px;background:#191a30e8;color:#cbc7df;font-size:11px;pointer-events:none}
.forgeVisual .forgeImpact{position:absolute;left:calc(50% + var(--hit));top:calc(6px + var(--face)*var(--fh));width:calc(var(--fh)*.54);height:calc(var(--fh)*.21);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#fff 0,#ffd27b 24%,#ff7a2d88 48%,transparent 72%);mix-blend-mode:screen;filter:blur(1px)}
.forgeVisual .flash{position:absolute;inset:0;opacity:0;pointer-events:none}
.forgeCaption{z-index:6;position:absolute;top:1px;bottom:auto;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.12em;color:#e4d7ff;text-shadow:0 2px 4px #141330}
.forgeCaption{width:100%;border:0;background:transparent;padding:4px;text-transform:uppercase;cursor:pointer}
.technologyStages{display:grid;gap:8px}.technologyStage{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #4b5087;border-radius:12px;background:#242a56}.technologyStage.current{border-color:#c4a6fa;background:#34315c}.technologyStage>b{color:#c9b1ff;font-size:19px}.technologyStage>span{display:grid;gap:4px;flex:1}.technologyStage strong{font-size:15px}.technologyStage small{font-size:11px;color:#a5abd2}.technologyStage em{font-style:normal;font-size:9px;color:#c9b1ff}
/* the hammer balance is what you watch while forging: large, high-contrast,
   and kept fully inside .forgeVisual (overflow:hidden used to clip its
   bottom edge) */
.forgeVisual .hamcount{position:absolute;left:50%;right:auto;top:auto;bottom:5px;transform:translateX(-50%);display:flex;gap:6px;align-items:center;height:auto;background:#12163af2;border:1.5px solid #e0b64acc;color:#ffe7a3;border-radius:999px;padding:4px 14px 4px 9px;font-size:16px;text-shadow:none;min-width:0;box-shadow:0 3px 10px #050713cc,inset 0 1px 0 #ffffff1a;z-index:5}
.forgeVisual .hamcount .ic{width:22px;height:22px;filter:brightness(1.7) drop-shadow(0 0 3px #ffe7a399)}
.forgeVisual .hamcount .num{font-size:17px;font-weight:800;letter-spacing:.02em;text-shadow:0 1px 2px #000}
.anvilwrap{display:contents}.anvilwrap:has(.foundrow:not(:empty)) .anvilbtn{visibility:visible}
.anvilbtn{position:absolute;left:85px;right:85px;top:0;bottom:0;z-index:4;display:block;min-height:0;padding:0!important;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;color:transparent;overflow:hidden!important;width:auto;cursor:pointer}
.anvilbtn:active:not(:disabled){transform:scale(.98);box-shadow:none}.strikeLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.anvilbtn .cdfill{background:rgba(8,11,36,.25);z-index:1}
.anvilbtn:disabled{opacity:.55}.autobtn{grid-column:3;grid-row:1;align-self:center;min-height:64px;width:auto;border:1px solid #696ca1;border-radius:11px;background:#343d72;color:#e3def9;box-shadow:0 3px #151c3d;font-size:10px;z-index:5}
.forgelvl{position:static;grid-column:1;grid-row:1;align-self:center;display:flex;flex-direction:column!important;align-items:center;justify-content:center;gap:5px;width:68px;height:64px;min-height:0;background:#20284f;border:1px solid #4b5087;border-radius:10px;padding:7px 5px;box-shadow:none;color:#e7e9ff;text-shadow:none;z-index:5}
.forgelvl b{font-size:9px;line-height:1.15;white-space:normal;text-align:center}.forgelvl b br{display:block}.forgelvl .bar{position:static;display:block;flex:none;width:52px;height:4px;background:#10162f}.forgelvl .bar i{background:#c4a6fa!important}.forgelvl small{position:static;color:#a5abd2;font-size:9px}.forgelvl .dot{display:none}
.forgelvl{flex-direction:row;background:#20284f!important;border:1px solid #4b5087!important;border-radius:8px!important;box-shadow:none!important;color:#e7e9ff!important;text-shadow:none!important}
.forgelvl #fbTimer{position:static;color:#a5abd2;font-size:10px}
.autobtn{background:#343d72!important;border:1px solid #696ca1!important;border-radius:11px!important;box-shadow:0 3px #151c3d!important;color:#e3def9!important;text-shadow:none;font-size:10px!important}
.autobtn.on{background:#675387!important;border-color:#d1b5fa!important}
.forgerow .foundrow{position:absolute;left:88px;right:88px;top:18px;bottom:auto;display:flex;gap:4px;overflow:auto;max-height:45px;z-index:6}
.forgerow .foundrow .fitem:not(.ebg){background:#343d72!important}.forgerow .foundrow .fitem{flex:none;width:32px;height:39px;margin:0;border:1px solid #a997d1;border-radius:6px;box-shadow:none;transform:none!important}.forgerow .foundrow .fitem img{width:28px;height:28px}
.homeChat{flex:none;min-height:35px;padding:5px 12px;background:#1c2344;border-top:1px solid #3a416c;border-bottom:0;color:#b4bbdf;box-shadow:none}.homeChat b,.homeChat small{font-size:10px;font-weight:500}.homeChatIcon{transform:scale(.7)}
.tabs{max-width:520px;min-height:61px;background:#121830;border-top:1px solid #404672;padding:5px 7px calc(5px + var(--safe-b));box-shadow:none}
.tabs button{color:#a8afd8;background:transparent!important;border:0!important}.tabs button>span:last-of-type{display:block;font-size:10px;font-weight:500}.tabs button>.aicon,.tabs button .glyph{width:26px!important;height:26px!important}.tabs button.on{color:#d1b5fa}.navClose{background:#343d72;border:1px solid #696ca1;color:#e7e9ff}
.veil{background:#050819d5}.sheet{--ink:#e7e9ff;--ink2:#a5abd2;--parch1:#242a56;--parch2:#20264e;background:#20264e;color:#e7e9ff;border:1px solid #7f76b0;border-radius:20px;box-shadow:0 12px 50px #0006;font-weight:500}
.veil{align-items:flex-end;padding:0}.sheetWrap{width:100%;max-width:520px;padding:0;position:relative}.sheet{border-radius:20px 20px 0 0;padding:23px 18px calc(22px + env(safe-area-inset-bottom));max-height:85dvh}
.sheet{scrollbar-width:thin;scrollbar-color:#69608e #20264e}
.sheet h3{padding-right:42px}.sheetWrap .sheetClose{position:absolute;top:13px;right:13px;margin:0;width:34px;height:34px;font-size:24px;z-index:2}
.sheet .row,.sheet .lock{background:#242a56;color:#bbc2e9;border:1px solid #4b5087;border-radius:11px;box-shadow:none}.sheet .row .t1{color:#e7e9ff}.sheet .row .t2{color:#a5abd2}
.sheet[data-variant="drop-review"]{max-height:85dvh;padding:22px 18px 25px}
.sheet[data-variant="drop-review"] .row{background:#242a56;border:1px solid #4b5087;padding:12px;border-radius:12px}
.sheet[data-variant="drop-review"] .t1{color:#e7e9ff;font-weight:600}.sheet[data-variant="drop-review"] .t2{color:#b4bbdf;font-size:12px!important;font-weight:500}
.sheet[data-variant="drop-review"] .itemframe:not(.ebg){background:#34315c}.sheet[data-variant="drop-review"] .itemframe{border:1px solid #8d77b8;border-radius:12px}
.sheet[data-variant="drop-review"] .tag{color:#b4bbdf;font-weight:500}.sheet[data-variant="drop-review"] .tag.up{color:#8edcbe}.sheet[data-variant="drop-review"] .tag.dn{color:#ef9cba}
/* EQUIPPED / NEW pills, the power verdict, and the dimmed equipped card */
.revTag{display:inline-block;margin:0 0 5px;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.09em;line-height:1.5;text-transform:uppercase}
.revTag.cur{background:#343d72;border:1px solid #696ca1;color:#c9cff0}
.revTag.new{background:#f2c35b;border:1px solid #ffe19a;color:#2a1f05}
.sheet[data-variant="drop-review"] .revCur{opacity:.78}
.sheet[data-variant="drop-review"] .revNote{margin:2px 0 10px;text-align:left}
.revVerdict{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 3px 2px;padding:8px 11px;border:1px solid;border-radius:10px;font-size:13px;font-weight:700}
.revVerdict b{font-weight:800}
.revVerdict.up{background:rgba(142,220,190,.14);border-color:rgba(142,220,190,.45);color:#8edcbe}
.revVerdict.dn{background:rgba(239,156,186,.14);border-color:rgba(239,156,186,.45);color:#ef9cba}
.revVerdict.flat{background:rgba(180,187,223,.12);border-color:rgba(180,187,223,.35);color:#b4bbdf}
.reviewFound{background:#2e2c55;border:1px solid #6d5895;border-radius:13px;padding:8px;margin-top:12px}
.sheet[data-variant="drop-review"] .acts{gap:9px;padding:6px 3px}.sheet[data-variant="drop-review"] .acts .btn{min-height:45px;font-size:14px}
.sheet[data-variant="drop-review"] .acts .btn{flex-direction:column;gap:1px;line-height:1.2}.sheet[data-variant="drop-review"] .acts .btn small{font-size:11px;font-weight:600;opacity:.85}
.sheet .btn.bad{background:#343d72!important;border-color:#696ca1!important;box-shadow:0 3px #151c3d!important;color:#e3def9}
.sheet[data-variant="gear-detail"]{max-height:75dvh}.sheet[data-variant="gear-detail"] h3{font-size:23px;color:#e7e9ff;-webkit-text-stroke:0}
.sheet[data-variant="item-preview"]{background:#20264e;max-height:80dvh}.sheet[data-variant="item-preview"] .potentialSubs{background:#242a56;color:#b4bbdf;border:1px solid #4b5087}
.sheet[data-variant="equipment-list"] .potentialGrid{background:#181f40}
.battleMenu button{background:#242a56;border:1px solid #4b5087;color:#e7e9ff;box-shadow:0 3px #090e24;border-radius:12px}.battleMenu small,.pageTitle p{color:#a5abd2}.battleMenu strong{background:#343d72;border:1px solid #696ca1;color:#e3def9}
.sheet h3{font:700 25px Outfit,system-ui,sans-serif;color:#e7e9ff;-webkit-text-stroke:0;text-shadow:none;letter-spacing:-.02em}
.sheet .mini,.sheet .t2{color:#a5abd2}.sheet .tt{color:#d6cbef;border-color:#4b5087}.sheet .panel,.sheet .pb,.sheet .statgrid>div{background:#242a56;color:#e7e9ff;border-color:#4b5087}
.sheet .btn.pri,.sheet .btn.go{background:#c4a6fa!important;color:#1c1744!important;border-color:#e8d7ff!important;box-shadow:0 3px #77629b!important}.sheet .btn{border-color:#696ca1;border-radius:10px;text-shadow:none;font-weight:600}.sheetClose{background:#343d72;border:1px solid #696ca1;box-shadow:none;width:42px;height:42px;font-size:24px;text-shadow:none;border-radius:50%}
.page.pad{--ink:#e7e9ff;--ink2:#a5abd2;--parch1:#242a56;--parch2:#20264e;background:#10162f;color:#e7e9ff}.page.pad .panel,.page.pad .pb{background:#20264e;color:#e7e9ff}.page.pad .mini,.page.pad .t2{color:#a5abd2}.page.pad .tt{color:#d6cbef;border-color:#4b5087}
@media(max-height:720px){.forgeVisual{--fh:124px}.forgerow{grid-template-rows:124px;padding:2px 10px 0;gap:7px}.homeChat{min-height:29px}}
@media(min-height:721px) and (max-height:810px){#pHome.on .arena{height:270px;min-height:270px}.forgeVisual{--fh:132px}.forgerow{grid-template-rows:132px}.eqwrap{padding-top:10px;padding-bottom:10px}}

/* Companions stay alive in menus instead of reading as inventory stickers.
   Broad motion families match the arena behaviour without requiring a sprite
   sheet for every creature in the collection. */
.petCatalogTile,.mountTile,.petInfoArt{position:relative;overflow:hidden;isolation:isolate}
.petCatalogTile::before,.mountTile::before,.petInfoArt::before{content:"";position:absolute;inset:9% 8%;
  border-radius:50%;background:radial-gradient(circle,var(--pet,var(--rar,#9f91ce)) 0,transparent 68%);
  opacity:.22;filter:blur(7px);z-index:-1}
.companionIcon{transform-origin:50% 88%;filter:drop-shadow(0 3px 2px #080b1880);
  animation:companionBounce 2.4s ease-in-out infinite}
.companion-bird,.companion-wisp,.companion-dragon{transform-origin:50% 50%;animation-name:companionHover}
.companion-snake,.companion-snail,.companion-spiky{animation-name:companionCrawl;animation-duration:3s}
.companion-wheel,.companion-leaf{animation-name:companionTilt;animation-duration:2.1s}
.petCatalogTile:nth-child(3n+2) .companionIcon,.mountTile:nth-child(3n+2) .companionIcon{animation-delay:-.7s}
.petCatalogTile:nth-child(3n) .companionIcon,.mountTile:nth-child(3n) .companionIcon{animation-delay:-1.3s}
.petCatalogTile:hover .companionIcon,.mountTile:hover .companionIcon{animation-duration:.75s}
@keyframes companionBounce{0%,100%{transform:translateY(0) scale(1)}48%{transform:translateY(-4px) scale(1.03,.97)}55%{transform:translateY(-4px) scale(.98,1.03)}}
@keyframes companionHover{0%,100%{transform:translateY(1px) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}
@keyframes companionCrawl{0%,100%{transform:translateX(-2px) rotate(-1deg)}50%{transform:translateX(3px) rotate(2deg)}}
@keyframes companionTilt{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-3px) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.companionIcon,.sk.rdy .skillIconGlyph{animation:none!important}}

/* Pet lodge: hatching, team building and training are distinct jobs now.
   The old four tiny inventory slots hid both duration and progress. */
.eyebrow{display:block;margin-bottom:4px;color:#d9b9ff;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.hatchery h2,.petTeamPanel h2,.petStable h2{margin:0;color:#fff;font-size:20px;line-height:1.08}.hatcheryHead p,.petTeamPanel .ph p,.petStable .ph p{max-width:620px;margin:6px 0 0;color:#afb5dc;font-size:11px;line-height:1.45}
.hatchery,.petTeamPanel,.petStable{overflow:hidden;border:1px solid #4c5187!important;border-radius:16px!important;background:linear-gradient(180deg,#242a56,#1b2149)!important;box-shadow:0 8px 22px #080a1d4d}.hatcheryHead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:10px!important}.incubateBtn{display:flex!important;align-items:center;gap:8px;min-width:164px;min-height:52px;text-align:left}.incubateBtn img{width:28px;height:28px;object-fit:contain}.incubateBtn span{display:flex;flex-direction:column;font-weight:900}.incubateBtn small{font-size:9px;font-weight:700;opacity:.75}
.hatchery>.ph,.petTeamPanel>.ph,.petStable>.ph{background:transparent!important;color:#e7e9ff!important}
.page.pad .hatchery h2,.page.pad .petTeamPanel h2,.page.pad .petStable h2{color:#fff!important;text-shadow:none!important}
.hatchTiming{display:flex;gap:6px;overflow-x:auto;padding:0 14px 12px;scrollbar-width:none}.hatchTiming::-webkit-scrollbar{display:none}.hatchTiming span{display:flex;align-items:center;gap:5px;flex:none;padding:6px 8px;border:1px solid #4d5387;border-radius:999px;background:#131936;color:#bec3e1;font-size:9px}.hatchTiming i{width:7px;height:7px;border-radius:50%;background:var(--rar);box-shadow:0 0 8px var(--rar)}.hatchTiming b{color:#fff}
.incubatorGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 14px 12px}.incubatorCard{position:relative;display:flex;min-width:0;min-height:164px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:13px 7px 10px;border:1px solid #4c5389;border-radius:14px;background:linear-gradient(160deg,#262d60,#141936);color:#e7e9ff;text-align:center}.incubatorCard::before{content:"";position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle,var(--rar,#8d78c8) 0,transparent 68%);opacity:.16;filter:blur(8px)}.incubatorCard>*{position:relative}.incubatorCard>img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 6px 8px #080a1eaa)}.incubatorCard b{font-size:11px}.incubatorCard strong{color:#fff;font-size:15px;line-height:1.1}.incubatorCard small{min-height:22px;color:#aeb4d9;font-size:8px;line-height:1.25}.incubatorNumber{position:absolute;top:8px;left:9px;display:grid;place-items:center;width:20px;height:20px;border:1px solid #656ba0;border-radius:50%;background:#141936;color:#aeb4d9;font-size:9px;font-weight:900}.incubatorCard.empty{border-style:dashed;background:#171c3e}.emptyEgg{display:grid;place-items:center;width:56px;height:66px;border:1px dashed #696f9f;border-radius:50% 50% 46% 46%;color:#7d83ad;font-size:22px}.incubatorCard.pending img{animation:eggPulse 1s ease-in-out infinite}.incubatorCard.ready{cursor:pointer;border-color:var(--rar);background:linear-gradient(160deg,color-mix(in srgb,var(--rar) 23%,#272d5c),#151a38);box-shadow:inset 0 0 24px color-mix(in srgb,var(--rar) 18%,transparent),0 0 16px color-mix(in srgb,var(--rar) 25%,transparent)}.incubatorCard.ready>img{animation:eggReady 1.3s ease-in-out infinite}.claimPet{margin-top:3px;padding:5px 9px;border-radius:999px;background:var(--rar);color:#10142f;font-size:9px;font-weight:1000;text-transform:uppercase}.hatchProgress,.bondBar{width:100%;height:6px;overflow:hidden;border-radius:999px;background:#0c1028}.hatchProgress i,.bondBar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rar,#8b7acf),#dfc7ff);box-shadow:0 0 8px var(--rar,#8b7acf);transition:width .2s linear}.pending .hatchProgress i{width:45%;animation:pendingBar 1.1s ease-in-out infinite}.hatchHelp{display:flex;justify-content:space-between;gap:8px;padding:0 14px 6px;color:#8f96bf;font-size:9px}
@keyframes eggPulse{50%{transform:scale(.94);opacity:.65}}@keyframes eggReady{0%,100%{transform:translateY(0) rotate(-2deg)}45%{transform:translateY(-5px) rotate(3deg)}55%{transform:translateY(-5px) rotate(-3deg)}}@keyframes pendingBar{0%{transform:translateX(-120%)}100%{transform:translateX(230%)}}
.petTeamPanel .ph,.petStable .ph{padding-bottom:10px!important}.petTeamGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 14px 14px}.petTeamSlot{display:flex;min-width:0;min-height:154px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px;border:1px solid #4e5488;border-radius:14px;background:#151a3a;color:#e7e9ff;text-align:center}.petTeamSlot>span{align-self:stretch;color:#969dc7;font-size:9px;font-weight:800;text-align:left;text-transform:uppercase}.petTeamSlot img{width:78px;height:78px;object-fit:contain}.petTeamSlot b{font-size:12px}.petTeamSlot small{color:#aab0d4;font-size:8px}.petTeamSlot.equipped{border-color:color-mix(in srgb,var(--rar) 70%,#5b6090);background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--rar) 20%,transparent),transparent 50%),#151a3a}.petTeamSlot.locked{opacity:.55}.petTeamSlot.empty{border-style:dashed}
.petStableList{display:grid;gap:8px;padding:0 14px 14px}.petStableCard{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid #424978;border-left:3px solid var(--rar);border-radius:12px;background:#141a3a}.petStableArt{display:grid;place-items:center;flex:0 0 78px;height:78px;border:0;border-radius:10px;background:radial-gradient(circle,color-mix(in srgb,var(--rar) 24%,transparent),transparent 68%)}.petStableArt img{width:76px;height:76px;object-fit:contain}.petStableTitle{display:flex;align-items:center;justify-content:space-between;gap:8px}.petStableTitle>div{display:flex;flex-direction:column}.petStableTitle span{color:var(--rar);font-size:8px;font-weight:900;text-transform:uppercase}.petStableTitle b{font-size:12px}.petStableTitle strong{color:#fff;font-size:12px}.petStableCard p{margin:3px 0 7px;color:#aeb4d8;font-size:9px}.bondLine{display:flex;justify-content:space-between;color:#c2c7e5;font-size:8px}.bondLine small{color:#8f96bd}.petStableCard>.btn{flex:0 0 auto}
.petTeamRarity{padding:2px 7px;border:1px solid var(--rar);border-radius:999px;color:var(--rar);font-size:9px;font-style:normal;font-weight:900;text-transform:uppercase}
.spareStrip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 14px 10px;color:#969dc7;font-size:10px}.spareStrip>span{font-weight:800;letter-spacing:.06em;text-transform:uppercase}.spareStrip em{color:#8d94bb;font-style:normal}.spareChip{padding:2px 8px;border:1px solid color-mix(in srgb,var(--rar) 70%,#5b6090);border-radius:999px;color:var(--rar);font-weight:700}.spareChip b{color:#fff}.spareStrip .btn{margin-left:auto}.petStableCard>.btn.sm{flex:0 0 88px}.stableActions{display:grid;gap:6px;flex:0 0 88px}.stableActions .btn{width:100%}
.feedSheet .feedList{display:grid;gap:6px;max-height:42vh;overflow-y:auto;margin-top:8px;padding:2px}.feedRow{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:1px solid #424978;border-left:3px solid var(--rar);border-radius:10px;background:#141a3a;color:#e7e9ff;text-align:left}.feedRow.on{border-color:var(--rar);background:color-mix(in srgb,var(--rar) 18%,#141a3a)}.feedRow.locked{opacity:.5}.feedArt{display:grid;flex:0 0 40px;height:40px;place-items:center}.feedArt img{max-width:40px;max-height:40px;object-fit:contain}.feedRow b{display:flex;align-items:center;gap:6px;color:#fff;font-size:12px}.feedRow small{display:block;color:var(--rar);font-size:10px}.feedLvl{padding:1px 6px;border-radius:999px;background:#2a3170;color:#fff;font-size:9px;font-style:normal;font-weight:800}.feedXp{color:#dfe3ff;font-size:11px;font-weight:800;white-space:nowrap}.feedTag{color:#aeb4d8;font-size:10px;font-weight:800}.feedCheck{display:grid;flex:0 0 20px;height:20px;place-items:center;border:1px solid #5b6090;border-radius:6px;color:#fff;font-size:12px}.feedRow.on .feedCheck{border-color:var(--rar);background:var(--rar)}.feedNote{margin-top:8px}.feedPreview{margin-top:10px;padding:8px 10px;border-radius:10px;background:#1a2150;color:#dfe3ff;font-size:12px;text-align:center}.feedPreview b{color:#fff}.feedPreview small{display:block;margin-top:3px;color:#aeb4d8;font-size:10px}.feedPreview .feedWarn{color:#ffb4a8}.feedActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.rarChips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.rarChips>span{color:#969dc7;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.rarChip{padding:3px 9px;border:1px solid color-mix(in srgb,var(--rar) 70%,#5b6090);border-radius:999px;background:#141a3a;color:var(--rar);font-size:11px;font-weight:700}.rarChip b{color:#fff}.rarChip.on{background:color-mix(in srgb,var(--rar) 28%,#141a3a);border-color:var(--rar)}.eggStep{display:flex;align-items:center;gap:6px}.eggStep strong{min-width:42px;color:#fff;font-size:12px;text-align:center}
.ascendCols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.ascendCols b{color:#fff;font-size:12px}.ascendCols ul{margin:6px 0 0;padding-left:16px;color:#dfe3ff;font-size:12px}.ascendCols li{margin-bottom:4px}.ascendCard .t2{margin-top:4px}@media(max-width:420px){.ascendCols{grid-template-columns:1fr}}
.petCollection{margin-top:15px}.petCollection .collectionTitle{display:flex;align-items:baseline;justify-content:space-between;color:#fff;font-size:18px;text-align:left}.petCollection .collectionTitle span{color:#9ca3cb;font-size:10px}.petCollection .petCatalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.petCollection .petCatalogTile{min-height:128px;padding:8px 4px;border:1px solid color-mix(in srgb,var(--pet) 60%,#626897);border-radius:13px;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--pet) 24%,transparent),transparent 55%),#171c3e;color:#edf0ff;box-shadow:none}.petCollection .petCatalogTile img{width:86px;height:82px}.petCollection .petCatalogTile b{font-size:10px}.petCollection .petCatalogTile span{color:#a7add0;font-size:8px}.petCollection .petCatalogTile.unknown img{filter:grayscale(1) brightness(.28) opacity(.75);animation:none}.petCollection .petCatalogTile.unknown{border-style:dashed;opacity:.72}
.spawnBtns{display:flex;gap:8px}.spawnBtns .incubateBtn{min-width:132px}
.eggGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 14px 8px}
.eggTile{position:relative;display:flex;min-width:0;min-height:118px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 6px 9px;border:1px solid color-mix(in srgb,var(--rar) 65%,#4c5389);border-radius:14px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--rar) 30%,transparent),transparent 58%),#171c3e;color:#e7e9ff;text-align:center;cursor:pointer;box-shadow:none}
.eggTile img{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 0 7px var(--rar)) drop-shadow(0 5px 6px #080a1eaa)}
.eggTile b{color:var(--rar);font-size:11px}.eggTile small{color:#aeb4d9;font-size:8px}
.eggTile em{position:absolute;top:7px;right:8px;padding:2px 7px;border-radius:999px;background:var(--rar);color:#10142f;font-size:11px;font-style:normal;font-weight:1000}
.eggTile:not(:disabled):hover{border-color:var(--rar);box-shadow:0 0 14px color-mix(in srgb,var(--rar) 35%,transparent)}
.eggTile.none{border-style:dashed;opacity:.5;cursor:default}.eggTile.none img{filter:grayscale(1) brightness(.6)}
.eggCollection .mini{padding:0 14px}.eggCollection .meter{margin:0 14px 14px}
@media(max-width:620px){.hatcheryHead{align-items:flex-start;flex-direction:column}.incubateBtn{align-self:stretch;justify-content:center}.spawnBtns{align-self:stretch}.spawnBtns .incubateBtn{flex:1;min-width:0}.incubatorGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.petTeamGrid{grid-template-columns:1fr}.petTeamSlot{min-height:118px}.petTeamSlot img{width:68px;height:68px}.petCollection .petCatalog{grid-template-columns:repeat(3,minmax(0,1fr))}.petCollection .petCatalogTile{min-height:116px}.petCollection .petCatalogTile img{width:74px;height:70px}.petStableCard{align-items:flex-start;flex-wrap:wrap}.petStableCard .grow{min-width:calc(100% - 92px)}.petStableCard>.btn{margin-left:auto}.hatchHelp{flex-direction:column}}
@media(max-width:370px){.incubatorGrid{gap:7px;padding-inline:10px}.petCollection .petCatalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.incubatorCard.ready>img,.incubatorCard.pending img,.pending .hatchProgress i{animation:none!important}}
.slot .aicon.skillIconGlyph{position:static;transform:none;width:27px;height:27px}
.skillArt .aicon.skillIconGlyph{width:39px;height:39px}
.clanBadgeArt{flex-shrink:0;filter:drop-shadow(0 2px 2px #09081580)}
/* weekly clan war + missions (js/09-clan.js) */
.cwhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;border-radius:10px 10px 0 0;overflow:hidden;border:1px solid #343a70;border-bottom:0}
.cwside{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 8px;min-width:0;text-align:center;color:#eef1ff}
.cwside.mine{background:linear-gradient(160deg,#2d5aa8,#1d3a78)}.cwside.theirs{background:linear-gradient(200deg,#a8403f,#782628)}
.cwside b{font-size:12.5px;line-height:1.2;overflow-wrap:anywhere}.cwside small{font-size:10.5px;font-weight:800;color:#ffd76a}
.cwvs{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 8px;background:linear-gradient(90deg,#1d3a78,#782628);color:#fff}
.cwvs>div{display:flex;align-items:baseline;gap:4px;font-weight:900}.cwvs b{font-size:26px;line-height:1;text-shadow:0 2px #0a0c20}.cwvs span{color:#c9cdf0;font-size:18px}
.cwvs small{font-size:9.5px;font-weight:700;color:#d6d9f5;white-space:nowrap}
.cwhead.sm{border-radius:10px;border-bottom:1px solid #343a70;margin:6px 0 10px}.cwhead.sm .cwvs b{font-size:22px}
.cwshadow{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#10131f;color:#a5abd2;font-weight:900;font-size:18px;border:2px solid #4b5087}
.cwbar{display:flex;height:22px;border:1px solid #343a70;border-radius:0 0 10px 10px;overflow:hidden;background:#b8443f;font:800 11.5px/22px "Work Sans",sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.cwbar i{background:#2f8fe8;min-width:0;font-style:normal;transition:width .3s}.cwbar em{flex:1;font-style:normal;text-align:right}
.cwbar span{padding:0 7px;white-space:nowrap;text-shadow:0 1px #0a0c20}
.cwmvps{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.cwmvp{display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:8px;background:#1c2148;border:1px solid #343a70;min-width:0}
.cwmvp.theirs{flex-direction:row-reverse;text-align:right}.cwmvp>div{display:flex;flex-direction:column;min-width:0}
.cwmvp small{font-size:10px;font-weight:900;color:#ffd76a}.cwmvp b{font-size:12px;color:#e7e9ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cwmvp.none{justify-content:center;color:#7d82ab;gap:8px}
.cwtoday{margin-top:8px;padding:8px;border-radius:10px;background:#161a3c;border:1px solid #343a70}
.cwtodayhd{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.cwtodayhd>div{display:flex;flex-direction:column}.cwtodayhd b{font-size:14px;color:#e7e9ff}.cwtodayhd small{font-size:11px;color:#a5abd2}
.cwclock{flex:none;font:900 13px/1.2 "Work Sans",sans-serif;color:#7dff8a;font-variant-numeric:tabular-nums}
.cwtodayscore{margin:4px 0 6px;font-size:12px;color:#a5abd2}.cwtodayscore b{color:#e7e9ff;font-variant-numeric:tabular-nums}
.cwactions{display:flex;flex-direction:column;gap:4px;max-height:236px;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}
.cwactions.tall{max-height:min(46vh,360px);margin-top:8px}
.cwaction{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:7px;background:#232a5a;color:#e7e9ff;font-size:12.5px;font-weight:700}
.cwaction>span{display:flex;flex-direction:column;min-width:0}.cwaction>b{flex:none;font-weight:900;color:#ffe2a0;font-variant-numeric:tabular-nums}
.cwaction small{font-size:10.5px;font-weight:700;color:#a5abd2}
i.m,i.t{font-style:normal;font-weight:800}i.m{color:#78c7ff}i.t{color:#ff8f86}
.cwbtns{margin-top:8px}.cwbtns .btn{flex:1}.cwbtns+.mini{margin-top:8px}
.cwtable{display:flex;flex-direction:column;gap:5px}
.cwrow{display:grid;grid-template-columns:minmax(0,1.5fr) 64px minmax(0,1fr) 40px;align-items:center;gap:6px;padding:7px 9px;border-radius:8px;background:#232a5a;border:1px solid #343a70;color:#e7e9ff;text-align:left;min-height:48px;cursor:pointer;font:inherit}
.cwrow.hd{background:none;border:0;min-height:0;padding:0 9px;cursor:default;font-size:10.5px;font-weight:800;color:#a5abd2}
.cwrow:not(.hd):hover{border-color:#6c72b5}.cwrow.today{border-color:#c4a6fa;background:#2a2860}.cwrow.soon{opacity:.62}
.cwrday{display:flex;flex-direction:column;min-width:0}.cwrday b{font-size:14px;text-decoration:underline;text-underline-offset:3px}
.cwrday small{font-size:10.5px;color:#a5abd2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cwrpts{text-align:center;font-weight:900;font-size:15px}.cwrwin{font-weight:900;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cwrow.won .cwrwin{color:#78c7ff}.cwrow.lost .cwrwin{color:#ff8f86}.cwrow.tie .cwrwin,.cwrow.today .cwrwin{color:#a5abd2}
.cwrmvp{display:flex;justify-content:center}
.cwresult{margin:10px 0 8px;text-align:center}.cwresult small{display:block;font-size:12px;font-weight:900;color:#e7e9ff}
.cwresult>div{font-size:14px;color:#a5abd2;font-variant-numeric:tabular-nums}
.cwmembercols{display:grid;grid-template-columns:1fr 1fr;gap:6px}
@media(max-width:360px){.cwmembercols{grid-template-columns:1fr}}
.cwmembers{display:flex;flex-direction:column;gap:3px;min-width:0;padding:6px;border-radius:8px;background:#161a3c;border:1px solid #343a70}
.cwmembers.mine{border-top:3px solid #2f8fe8}.cwmembers.theirs{border-top:3px solid #d0504a}
.cwmhd{font-size:11px;font-weight:900;color:#e7e9ff;padding:0 2px 3px}
.cwmember{display:flex;align-items:center;gap:5px;min-width:0;padding:3px 2px;border-radius:5px;font-size:11.5px;color:#c9cdf0}
.cwmember:hover{background:#232a5a}.cwmrank{width:14px;flex:none;text-align:right;font-size:10px;color:#7d82ab;font-weight:800}
.cwmname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cwmember b{flex:none;color:#e7e9ff;font-variant-numeric:tabular-nums}
.clanFinalTease{margin-top:8px;border-left:3px solid #ffd76a}
.clanWarBrawl .cwclock{color:#ffd76a}.clanFinalClash{margin:8px 0;padding:8px;background:#2a2860;border:1px solid #6555a7;color:#c9cdf0}
.clanFinalClash b{color:#ffd76a}.clanRivalList{max-height:310px;overflow-y:auto;overscroll-behavior:contain;margin-top:7px;padding-right:2px}
.clanRival{margin-bottom:5px;padding:7px 8px}.clanRival .t2{color:#b0b9da;font-size:11px}.clanRival .btn{padding:7px 10px}
.clanmission .meter{margin:5px 0 6px}
.clanPersonalRewards{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:6px}
.clanPersonalReward{display:inline-flex;align-items:center;gap:4px;font-size:12px}
.clanmission [data-personal-fight]{flex-shrink:0}
.clantiers{display:flex;gap:5px;flex-wrap:wrap}
.clantier{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:3px 9px;border-radius:7px;border:1px solid #4b5087;background:#1c2148;color:#7d82ab;font-weight:800;font-size:12px}
.clantier.ready{background:#3f2f12;border-color:#f2b73d;color:#ffe2a0;box-shadow:0 2px #120c02;cursor:pointer}
.clantier.done{background:#173826;border-color:#3f8a58;color:#8fe0a0}
.clantier:disabled{cursor:default}.clantier:not(.ready):not(.done) img{opacity:.55}
.clangrade{display:inline-block;min-width:22px;padding:0 5px;border-radius:5px;text-align:center;font-weight:900;color:#10131f;background:#a5abd2}
.clangrade.gC{background:#8fe0a0}.clangrade.gB{background:#78c7ff}.clangrade.gA{background:#c4a6fa}
.clangrade.gS,.clangrade.gSp{background:#f2b73d}.clangrade.gSpp{background:linear-gradient(90deg,#ffd76a,#ff8a5c,#f49ac2);color:#2a0d1a}
.clanmode{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.clanmode button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border-radius:8px;border:1px solid #4b5087;background:#1c2148;color:#c9cdf0;text-align:left;min-height:48px}
.clanmode button b{font-size:13px}.clanmode button small{font-size:10.5px;color:#a5abd2}
.clanmode button.on{background:#2a2860;border-color:#c4a6fa;box-shadow:inset 0 0 0 1px #c4a6fa}
.clanreqn{display:inline-block;min-width:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:#ff5c6a;color:#fff;font:800 11px/18px "Work Sans",sans-serif;text-align:center;vertical-align:2px}

/* Dark-theme contrast pass: older light-theme rules (cream/white surfaces,
   white-on-grey buttons, near-black labels) still reach some sheets and
   pages, leaving light text on light boxes or dark text on the dark sheet. */
.btn:not(.pri):not(.info):not(.go):not(.bad),.page.pad .btn:not(.pri):not(.info):not(.go):not(.bad){background:#343d72;color:#e3def9;border-color:#696ca1;box-shadow:0 3px #151c3d;text-shadow:none}
.btn:disabled,.page.pad .btn:disabled{color:#7d82ab!important;text-shadow:none}
.clanbadgepick{background:#242a56;border:1px solid #4b5087;color:#e7e9ff;box-shadow:0 3px #090e24}
.clanbadgepick.sel{background:#34315c;outline:2px solid #c4a6fa;outline-offset:-1px}
.sheet[data-variant="auto-forge"] .chkrow{background:#242a56;color:#e7e9ff}
.sheet .ipt{background:#181f40;color:#e7e9ff;border-color:#4b5087}.sheet .ipt::placeholder{color:#7d82ab}
.sheet .erarow{background:#242a56;border-color:#4b5087}.sheet .erarow span{color:#e7e9ff}
.sheet .tag.dn{background:#4a2420;color:#f0b8ac;border-color:#6a342c}
.sheet[data-variant="forge-odds"]>.mini:first-of-type{color:#a5abd2!important}
.sheet .eraOdds .pb2{background:#20264e;color:#e7e9ff}
.rarityOdds div,.potentialSubs div{background:#242a56;color:#e7e9ff}.rarityOdds em{color:#a5abd2}
.sheet[data-variant="profile"] .profileIdentity{border-color:#4b5087}
.sheet[data-variant="profile"] .profileIdentity span{color:#e7e9ff}
.sheet[data-variant="profile"] .profileIdentity b{background:#343d72;color:#e7e9ff;text-shadow:none}
.sheet[data-variant="profile"] .profileTabs,.sheet[data-variant="profile-settings"] .profileTabs{background:#20264e}
.sheet[data-variant="profile"] .profileTabs button:not(.on),.sheet[data-variant="profile-settings"] .profileTabs button:not(.on){background:#343d72;border-color:#696ca1}
.profileExtra summary{color:#a5abd2}
.settingsRow{background:#242a56;color:#e7e9ff}.settingsRow:nth-child(2n){background:#20264e}
.raceRows{background:#20264e}.raceRow{background:#242a56;color:#e7e9ff}.raceRow>div:last-child{background:#2e3566}
.forgeVisual .hamcount .num{color:#ffe7a3}
.sheet{--rust2:#f0907a}
.sheet[data-variant="auto-forge"] .stepperRow{background:#242a56}
.sheet .stepper button{background:#343d72;color:#e3def9;border-color:#696ca1}.sheet .stepper b{color:#e7e9ff}
.sheet .statgrid div{border-bottom-color:#4b5087}.sheet .statgrid span{color:#a5abd2}.sheet .statgrid b{color:#e7e9ff}
.sheet .rar0,.page.pad .rar0{color:#b8b0a2}.sheet .rar1,.page.pad .rar1{color:#7fb4ea}.sheet .rar2,.page.pad .rar2{color:#b392ec}
.sheet .rar3,.page.pad .rar3{color:#e0b04a}.sheet .rar4,.page.pad .rar4{color:#f08a74}.sheet .rar5,.page.pad .rar5{color:#ec86b6}
.raceRow.eliminated{background:#1a2046;color:#7d82ab}
.sheet .mat,.sheet .chip,.sheet .tag{background:#2b3263;color:#bbc2e9;border-color:#4b5087}.sheet .mat b{color:#e7e9ff}
.sheet .tag.up{background:#274420;color:#bdeab0;border-color:#3a6430}
.page.pad .row{background:#242a56;border-color:#4b5087;color:#e7e9ff}.page.pad .row .t1{color:#e7e9ff}
.page.pad .row.me{background:#34315c;outline-color:#c4a6fa}
/* clan Valor, level, sections and the clan trees (js/09-clan.js) */
.clanvalor{display:flex;align-items:center;gap:7px;margin-top:8px;padding:7px 10px;border-radius:9px;background:#2a1830;border:1px solid #a3485c66;color:#ffd9d9}
.clanvalor b{font:800 17px 'Work Sans',sans-serif;color:#ffe7a0}.clanvalor span{font-size:11.5px;color:#d9aab4}
.clanlvl{margin-top:8px;padding:8px 10px;border-radius:9px;background:#1b2448;border:1px solid #5d6aa866;color:#e7e9ff}
.clanlvlTop{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.clanlvlTop b{font:800 15px 'Work Sans',sans-serif;color:#c9dcff}.clanlvlTop span{font-size:11.5px;color:#aeb5d7}
.clanlvlBar{height:6px;margin:6px 0 5px;border-radius:3px;background:#0d142b;overflow:hidden}.clanlvlBar i{display:block;height:100%;border-radius:3px;background:#78c7ff}
.clanlvl .t2{margin-top:3px;font-size:11.5px;font-weight:500;line-height:1.35;color:#aeb5d7}
.clanlvl .clanpts{font-weight:700}
.clanlvl .t2 .clanpts{color:#ffe7a0}
.clanseg button .clanreqn{margin-left:3px;vertical-align:1px}
.cwrewards{margin-top:8px;padding:8px;border-radius:10px;background:#23224f;border:1px solid #3f3c85}
.cwrhd{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:13px}.cwrhd span{color:#ffd76a;font-size:12px}
.cwrcols{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cwrcol{padding:6px;border-radius:8px;background:#1a1942;border:1px solid #3f3c85}
.cwrcol.win{border-color:#4f9d6a}.cwrcol.loss{border-color:#8a5565}
.cwrtitle{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.cwrcol.win .cwrtitle{color:#7ee0a0}.cwrcol.loss .cwrtitle{color:#e89aaa}
.cwrchip{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:13px}.cwrchip img{flex:none}
.cwrchip b{min-width:2.4em}.cwrchip span{color:#aab0da;font-size:12px}
.cwrnote{margin-top:6px;font-size:11px;color:#9aa0cc;line-height:1.35}
.clanvalorline{display:flex;align-items:flex-start;gap:6px;margin-top:4px}.clanvalorline img{flex:none;margin-top:1px}
.clanseg{display:flex;gap:4px;margin:10px 0 4px;padding:4px;border-radius:11px;background:#0d142b;border:1px solid #8c96c32b}
.clanseg button{flex:1;min-height:44px;border:0;border-radius:8px;background:transparent;color:#aeb5d7;font:600 13px 'Work Sans',sans-serif;box-shadow:none;text-shadow:none}
.clanseg button.on{background:#3a335d;color:#edddff;box-shadow:inset 0 0 0 1px #b69cd43b}
.clanseg.sub{margin-top:4px}.clanseg.sub button{min-height:38px;font-size:12px}
.clanTreeWrap{margin-top:8px;padding:10px 8px 4px;border-radius:14px;background:#141a36;border:1px solid #8995c03b;color:#e7e8f7}
.clanTreeWrap .clanTreeDesc{color:#aeb5d7;margin:0 4px 6px}
#pClan .clanTreeWrap .tdetail{background:#1c2543;border:1px solid #8995c03b;border-radius:12px;box-shadow:none;margin:8px 0 6px}
.clanTreeWrap .tdetail .pb{background:transparent}.clanTreeWrap .tdetail .row{background:#252e50;border-color:#7984b540}
.clanTreeWrap .tdetail .t1{color:#f0edff}.clanTreeWrap .tdetail .t2{color:#b0b9da}

/* the result modal every arena encounter ends in (encounterResultModal in js/14-league.js) */
.sheet[data-variant="encounter-result"] h3{padding-right:0;text-align:center}
.resultModal{text-align:center}
.resultKicker{display:block;margin:0 42px 2px;color:#aeb6d6;font:700 10px 'Work Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.resultModal.win h3{color:#ffe29a}
.resultModal.loss h3{color:#ffb4ad}
.resultSides{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:stretch;gap:6px;margin:14px 0 4px}
.resultSides>strong{align-self:center;color:#d9c4ff;font-size:12px;text-shadow:0 0 10px #ae8df4}
.resultSide{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:10px 6px;border:1px solid #737da540;border-radius:12px;background:#171e3d;opacity:.72}
.resultSide.win{border-color:#f0c94a88;background:#2b2748;opacity:1;box-shadow:0 0 18px #f0c94a22}
.resultSide img{border-radius:50%}.resultSide .frm{margin:12px 0 11px}
.resultSide b,.resultSide small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.resultSide b{color:#f0edff;font-size:13px}
.resultSide small{color:#cfd5ee;font-size:10px}
.resultSide em{margin-top:2px;padding:2px 8px;border-radius:99px;background:#f0c94a;color:#2a1c12;font:700 9px 'Work Sans',sans-serif;font-style:normal;letter-spacing:.06em;text-transform:uppercase}
.resultCopy{margin:10px 0 0;color:#cfd5ee;font:500 13px/1.4 'Work Sans',sans-serif}
.resultRewards{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px}
.resultRewards span{padding:5px 10px;border:1px solid #6fd6a455;border-radius:99px;background:#1f3238;color:#c7f0d4;font:600 12px 'Work Sans',sans-serif}
.resultModal.loss .resultRewards span{border-color:#737da558;background:#20264e;color:#cfd5ee}
.resultActs{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.resultShare{display:flex;flex-direction:column;gap:8px}
.resultActs .btn{width:100%;min-height:44px}
.resultActs .btn.done{border-color:#6fd6a455!important;background:#233a3a!important;color:#bfe8c9!important;box-shadow:none!important;opacity:1}

/* summon stars: the stars beside a summon system's level, and the ascend card at its top level */
.summonStars{color:#ffd36a;letter-spacing:.04em;text-shadow:0 0 6px #ffb23a88}
.summonAscend{margin:10px 0 2px;padding:10px 12px;border-radius:10px;border:1px solid #ffd36a88;background:linear-gradient(180deg,#2c2552,#1e1b3d);box-shadow:0 0 12px #ffcf6a33}
.summonAscend>b{display:block;color:#ffd36a}
.summonAscend>p{margin:4px 0;font-size:12px;opacity:.9}
.summonAscend>small{display:block;margin:2px 0 8px;opacity:.8}
.summonAscend.done{border-color:#ffd36a55;text-align:center;color:#ffd36a;font-size:12px}
/* a pet's or mount's Lock button (in its .stableActions column): lit while the summon is locked against being fed away */
#pHero .btn.lockBtn.on{background:#4a3b78;color:#ffd36a;border-color:#ffd36a88}
