*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#070b12;color:#fff;font-family:Arial,sans-serif;touch-action:none}#gameWrap{position:relative;width:100vw;height:100vh;min-height:320px;overflow:hidden;background:#111b2a}canvas{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.panel{position:absolute;left:clamp(6px,2vw,24px);right:clamp(6px,2vw,24px);bottom:max(8px,env(safe-area-inset-bottom));display:flex;gap:8px;align-items:stretch;pointer-events:auto}.member{position:relative;flex:1;min-width:0;height:100px;padding:6px 7px 35px;background:linear-gradient(180deg,#101827f5,#090e17f5);border:1px solid #46536b;border-radius:7px;cursor:pointer;box-shadow:0 5px 18px #0008}.member.selected{border-color:#f1ce62;box-shadow:0 0 12px #f1ce6240}.portrait{float:left;width:38px;height:42px;margin-right:6px;display:grid;place-items:center;font-size:21px;border-radius:4px;border:1px solid #6b7890}.warrior{background:#482d37}.mage{background:#263b5a}.rogue{background:#3b304a}.info b{display:block;font-size:12px;line-height:14px}.info span{display:block;font-size:9px;color:#aab4c7;margin:1px 0 4px}.bar{height:6px;background:#1a2230;border:1px solid #000;margin:2px 0;border-radius:2px;overflow:hidden}.bar i{display:block;height:100%;width:100%;background:#54c76a}.bar.exp i{background:#e2b94f}.info small{font-size:8px;color:#929db0}.skillbar{position:absolute;left:6px;right:6px;bottom:5px;height:27px;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.skillslot{height:27px;color:#fff;background:#151d2b;border:1px solid #4a5770;border-radius:4px;cursor:pointer;padding:0;position:relative}.skillslot:hover,.skillslot.active{border-color:#f1ce62;background:#202b3d}.skillslot kbd{position:absolute;left:2px;top:2px;background:#2a3549;color:#f1ce62;border-radius:2px;font-size:7px;padding:1px 2px}.skillslot b{display:block;margin-top:12px;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#top{position:absolute;left:14px;top:12px;padding:7px 10px;background:#080d16df;border:1px solid #46536b;border-radius:6px;pointer-events:none}#top b{display:block;font-size:17px;color:#f1ce62;letter-spacing:2px}#top span{font-size:9px;color:#9eabc0}#target{position:absolute;right:14px;top:12px;width:190px;background:#090f18e8;border:1px solid #46536b;border-radius:6px;padding:7px;pointer-events:none;font-size:11px}.tbar{height:6px;background:#1b222d;margin-top:5px}.tbar i{display:block;height:100%;background:#d95858}#log{position:absolute;left:14px;top:78px;width:min(280px,34vw);pointer-events:none;font-size:10px}.msg{margin:2px 0;background:#080d16aa;padding:3px 5px;border-radius:3px}#hint{position:absolute;left:50%;transform:translateX(-50%);bottom:114px;background:#0d1420dd;padding:5px 10px;border:1px solid #3e4a61;border-radius:14px;font-size:10px;color:#aeb8ca;white-space:nowrap;pointer-events:none}@media(max-width:700px){#top{left:7px;top:7px;padding:5px 7px}#top b{font-size:12px}#top span{font-size:7px}.panel{gap:3px;left:4px;right:4px}.member{height:82px;padding:4px 4px 29px}.portrait{width:28px;height:32px;margin-right:4px;font-size:16px}.info b{font-size:9px;line-height:10px}.info span{font-size:7px;margin:1px 0 2px}.bar{height:4px}.info small{font-size:6px}.skillbar{left:4px;right:4px;bottom:4px;height:22px;gap:2px}.skillslot{height:22px}.skillslot kbd{font-size:6px}.skillslot b{font-size:5.5px;margin-top:10px}#target{right:7px;top:7px;width:120px;font-size:8px;padding:5px}.tbar{height:4px}#log{left:7px;top:55px;width:150px;font-size:7px}.msg{padding:2px 3px}#hint{bottom:92px;font-size:7px;padding:4px 7px;max-width:90vw;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:430px){#hint{display:none}.member{height:74px}.portrait{display:none}.info b{font-size:8px}.skillslot b{font-size:5px}}

/* Nexus Online v2.8 — mobile Granado-style skill dock */
#mobileSkills{position:absolute;right:12px;bottom:116px;display:grid;grid-template-columns:repeat(4,72px);gap:8px;z-index:20;pointer-events:auto;align-items:end}
.skillTitle{grid-column:1/-1;justify-self:end;background:#080d16e8;border:1px solid #53627b;border-radius:10px;padding:4px 9px;text-align:right;box-shadow:0 4px 14px #0009;line-height:1}
.skillTitle span{font-size:11px;font-weight:700;color:#f1ce62;display:block}
.skillTitle small{font-size:8px;color:#aab4c7}
.mobileSkill{width:72px;height:72px;border-radius:14px;border:2px solid #687792;background:linear-gradient(145deg,#253248,#0e1520);box-shadow:0 5px 12px #000b,inset 0 1px 0 #ffffff18;color:#fff;position:relative;padding:5px;touch-action:manipulation;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mobileSkill:active{transform:scale(.92);border-color:#f1ce62;background:linear-gradient(145deg,#394a63,#121b29)}
.skillIcon{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;font-size:23px;color:#f1ce62;background:#0b111b;border:1px solid #7b879c;box-shadow:inset 0 0 8px #0008}
.skillName{font-size:8px;font-weight:700;margin-top:3px;max-width:62px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobileSkill kbd{position:absolute;top:3px;left:5px;font-size:7px;color:#f1ce62;background:#090e17d9;border-radius:3px;padding:2px 4px}
.cooldown{position:absolute;inset:0;border-radius:12px;background:#0009;display:grid;place-items:center;font-size:24px;font-weight:800;color:#fff}
@media(max-width:700px){
  #mobileSkills{right:8px;bottom:96px;grid-template-columns:repeat(4,clamp(60px,16vw,76px));gap:6px}
  .mobileSkill{width:clamp(60px,16vw,76px);height:clamp(60px,16vw,76px);border-radius:15px}
  .skillIcon{width:clamp(34px,9vw,43px);height:clamp(34px,9vw,43px);font-size:20px}
  .skillName{font-size:7px}
  .skillTitle{padding:3px 7px}
  .skillTitle span{font-size:9px}
  .skillTitle small{font-size:7px}
  /* keep the party cards, but move their tiny skill strips out of the way */
  .member{padding-bottom:6px}
  .member .skillbar{display:none}
}
@media(max-width:520px){
  #mobileSkills{right:6px;bottom:90px;grid-template-columns:repeat(2,68px);gap:6px}
  .mobileSkill{width:68px;height:68px}
  .skillTitle{grid-column:1/-1}
  .skillIcon{width:34px;height:34px;font-size:18px}
}

/* v2.9 party skill-caster selector: skill user is independent from movement leader */
.skillMembers{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;justify-self:end;width:100%;max-width:312px}
.skillMember{height:38px;border:1px solid #53627b;border-radius:8px;background:linear-gradient(180deg,#172235,#0b111b);color:#cbd5e5;box-shadow:0 3px 9px #0009;touch-action:manipulation;padding:3px 4px;cursor:pointer}
.skillMember b{display:block;font-size:9px;color:#fff}.skillMember small{display:block;font-size:7px;color:#9eabc0;margin-top:2px}.skillMember.active{border-color:#f1ce62;box-shadow:0 0 10px #f1ce6240;background:linear-gradient(180deg,#2b3548,#111a27)}
@media(max-width:700px){.skillMembers{max-width:100%;gap:4px}.skillMember{height:34px}.skillMember b{font-size:8px}.skillMember small{font-size:6px}}
@media(max-width:520px){.skillMembers{gap:4px}.skillMember{height:32px}.skillMember b{font-size:8px}.skillMember small{font-size:6px}}
/* v3.0 character bag + equipment + individual stats */
.bagBtn{position:absolute;right:5px;top:5px;width:27px;height:27px;border:1px solid #687792;border-radius:7px;background:#111a28;color:#fff;font-size:15px;cursor:pointer;z-index:3;box-shadow:0 2px 7px #0008}.bagBtn:active{transform:scale(.9);border-color:#f1ce62}
#characterModal{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#03060bc9;z-index:100;pointer-events:auto;padding:16px}.charWindow{position:relative;width:min(720px,94vw);background:linear-gradient(180deg,#121d2d,#080e18);border:2px solid #596a85;border-radius:14px;box-shadow:0 18px 50px #000d;padding:18px}.charWindow h2{margin:0;color:#f1ce62;font-size:22px}.charWindow p{margin:3px 0 8px;color:#aeb8ca}.closeChar{position:absolute;right:10px;top:9px;width:34px;height:34px;border:1px solid #65758e;border-radius:8px;background:#1a2434;color:#fff;font-size:24px;cursor:pointer}.charHeader{display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid #344257}.bigPortrait{width:72px;height:72px;display:grid;place-items:center;border:2px solid #687792;border-radius:12px;font-size:38px}.charHP{font-size:12px;color:#7ee18b}.charBody{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:15px}.charWindow h3{margin:0 0 10px;color:#d9e1ee;font-size:14px}.equipGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.equipSlot{height:76px;border:1px solid #4b5a72;border-radius:9px;background:#0d1521;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f1ce62}.equipSlot span{font-size:25px}.equipSlot small{font-size:8px;color:#7f8da4;margin-top:5px}.stats{border-left:1px solid #344257;padding-left:18px}.stats h3 b{float:right;color:#f1ce62}.statRow{display:grid;grid-template-columns:1fr 50px 38px;align-items:center;gap:8px;background:#0d1521;border:1px solid #334157;border-radius:7px;padding:7px;margin:6px 0}.statRow span{font-weight:700;color:#b8c5d9}.statRow b{text-align:center;color:#fff}.statRow button{height:28px;border:1px solid #6b7890;border-radius:6px;background:#1c293c;color:#f1ce62;font-weight:900;font-size:18px;cursor:pointer}.statRow button:disabled{opacity:.35;cursor:not-allowed}
#characterModal.open{display:flex}
@media(max-width:600px){#characterModal{padding:8px}.charWindow{padding:12px;max-height:92vh;overflow:auto}.charBody{grid-template-columns:1fr;gap:12px}.stats{border-left:0;border-top:1px solid #344257;padding:12px 0 0}.equipGrid{grid-template-columns:repeat(4,1fr)}.equipSlot{height:65px}.equipSlot small{font-size:7px}.bigPortrait{width:58px;height:58px;font-size:30px}.charWindow h2{font-size:18px}}

/* v3.1 main menu + auto hunt + drag equipment */
#mainMenuBtn{touch-action:manipulation;position:absolute;right:14px;top:12px;z-index:45;height:38px;padding:0 13px;border:1px solid #687792;border-radius:9px;background:#0a111ceF;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 4px 12px #0009}
#mainMenuBtn:active,#autoBtn:active{transform:scale(.95)}
#autoBtn{touch-action:manipulation;position:absolute;right:14px;top:56px;z-index:45;height:36px;padding:0 12px;border:1px solid #687792;border-radius:9px;background:#101b2a;color:#dbe4f4;font-weight:800;cursor:pointer;box-shadow:0 4px 12px #0009}
#autoBtn.on{border-color:#7ee18b;background:#173523;color:#9af0aa}
#mainMenu{position:absolute;right:14px;top:102px;z-index:44;display:none;background:#080e18ee;border:1px solid #596a85;border-radius:12px;padding:8px;box-shadow:0 14px 35px #000b}
#mainMenu.open{display:block}.menuGrid{display:grid;grid-template-columns:repeat(2,100px);gap:7px}.menuGrid button{height:74px;border:1px solid #465873;border-radius:9px;background:#111c2b;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:24px;cursor:pointer}.menuGrid button span{font-size:10px;color:#c8d2e3}.menuGrid button:hover{border-color:#f1ce62}
#subMenu{position:absolute;inset:0;z-index:110;display:none;align-items:center;justify-content:center;background:#03060bd0;padding:16px}.subWindow{position:relative;width:min(520px,90vw);min-height:180px;background:#101a29;border:2px solid #596a85;border-radius:14px;padding:20px;box-shadow:0 18px 50px #000d;color:#dce5f2}.subWindow h2{margin:0 0 14px;color:#f1ce62}.subWindow p{color:#aab6c9}.closeSub{position:absolute;right:10px;top:8px;width:34px;height:34px;border:1px solid #65758e;border-radius:8px;background:#1a2434;color:#fff;font-size:24px;cursor:pointer}#subMenu.open{display:flex}
.equipSlot{cursor:copy}.invTitle{margin-top:14px!important}.invGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.invItem{min-height:68px;border:1px solid #4b5a72;border-radius:8px;background:#111b29;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:grab;user-select:none}.invItem:active{cursor:grabbing}.invItem span{font-size:20px}.invItem b{font-size:8px;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.invItem small{font-size:7px;color:#8391a7}.emptyInv{color:#728097;font-size:10px}.charHP{display:inline-block;margin-right:8px}.elementBadge{display:inline-block;color:#9dc7ff;font-size:10px}.elementBox{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;margin-top:10px;padding:8px;border:1px solid #334157;border-radius:7px;background:#0d1521;color:#b8c5d9}.elementBox select{background:#182538;color:#fff;border:1px solid #53627b;border-radius:5px;padding:5px}
@media(max-width:700px){#mainMenuBtn{touch-action:manipulation;right:7px;top:7px;height:32px;font-size:10px}#autoBtn{touch-action:manipulation;right:7px;top:45px;height:30px;font-size:9px}#mainMenu{right:7px;top:82px}.menuGrid{grid-template-columns:repeat(2,82px)}.menuGrid button{height:62px}.invGrid{grid-template-columns:repeat(4,1fr)}}

/* v3.2 animation + minimap */
#minimapWrap{position:absolute;right:128px;top:10px;width:154px;padding:3px;background:#080e18e8;border:1px solid #596a85;border-radius:8px;z-index:42;box-shadow:0 5px 16px #0009;pointer-events:none}
#minimapWrap span{position:absolute;left:7px;top:5px;font-size:7px;font-weight:800;color:#f1ce62;z-index:2;background:#080e18cc;padding:1px 3px;border-radius:3px}
#minimap{display:block;width:150px;height:100px;image-rendering:pixelated}
@media(max-width:700px){#minimapWrap{right:112px;top:6px;width:104px}#minimap{width:100px;height:66px}#minimapWrap span{font-size:6px}}
@media(max-width:430px){#minimapWrap{right:105px;width:82px}#minimap{width:78px;height:52px}}

/* v3.7 online bridge status */
#onlineStatus{position:absolute;left:12px;top:10px;z-index:45;padding:5px 8px;border:1px solid #596a85;border-radius:7px;background:#080e18e8;color:#aab6c9;font:700 8px Arial;letter-spacing:.3px;pointer-events:none}
#onlineStatus.online{color:#9af0aa;border-color:#4d8d5b}
@media(max-width:700px){#onlineStatus{left:7px;top:6px;font-size:7px;padding:4px 6px}}

/* v3.8 Warrior visual identity */
.portrait.warrior{overflow:hidden;background:#0b111b url('assets/fighter_frame_00.png') center/105px 96px no-repeat;position:relative}
.warriorMini{display:block;width:100%;height:100%;background:url('assets/fighter_frame_00.png') center/contain no-repeat;image-rendering:auto;filter:saturate(1.08) contrast(1.05)}
.warriorMini.big{width:72px;height:72px}
.bigPortrait.warrior{overflow:hidden;background:#0b111b;display:grid;place-items:center}

/* v5.0 — portrait party HUD inspired by the approved Nexus Online mockup */
#party.panel{left:50%;right:auto;transform:translateX(-50%);width:min(980px,calc(100vw - 28px));bottom:max(10px,env(safe-area-inset-bottom));gap:10px;align-items:flex-end;z-index:30}
#party .member{height:138px;min-width:0;padding:12px 12px 52px 106px;border:2px solid #66705f;border-radius:12px;background:linear-gradient(180deg,rgba(24,38,38,.96),rgba(9,18,22,.97));box-shadow:0 7px 18px #0009,inset 0 1px #ffffff1c;overflow:visible}
#party .member.selected{border-color:#d8b34f;box-shadow:0 0 0 2px #6d5623,0 8px 22px #000a}
#party .portrait{position:absolute;float:none;left:-4px;top:-9px;width:102px;height:102px;margin:0;border-radius:50%;border:4px solid #c99d3c;box-shadow:0 0 0 3px #392711,0 5px 12px #000b;background-color:#111b24;display:grid;place-items:center;font-size:44px;z-index:2}
#party .portrait.warrior{background-size:145px 132px;background-position:center 18%}
#party .portrait.mage{background:radial-gradient(circle,#375a8d,#14233b);color:#8fd6ff}
#party .portrait.rogue{background:radial-gradient(circle,#573b72,#21152e);color:#d3a4ff}
#party .info b{font-size:19px;line-height:20px;text-shadow:0 2px #000}
#party .info span{font-size:13px;color:#fff;margin:2px 0 5px}
#party .bar{height:15px;margin:3px 0;border:2px solid #111;border-radius:6px;background:#111922;box-shadow:inset 0 1px 3px #000}
#party .bar.hp i{background:linear-gradient(#ff4053,#c7112d)}
#party .bar.exp i{background:linear-gradient(#32b8ff,#0866c8)}
#party .info small{font-size:11px;color:#fff;display:block;text-align:center;margin-top:-31px;line-height:15px;text-shadow:0 1px 2px #000;pointer-events:none}
#party .skillbar{left:12px;right:12px;bottom:8px;height:43px;grid-template-columns:repeat(4,1fr);gap:6px}
#party .skillslot{height:43px;border:2px solid #8290a2;border-radius:6px;background:radial-gradient(circle at 50% 35%,#344c6d,#111827 70%);box-shadow:inset 0 0 8px #000b,0 2px 4px #0009}
#party .member:nth-child(1) .skillslot{background:radial-gradient(circle at 50% 35%,#a51e13,#250a08 72%)}
#party .member:nth-child(2) .skillslot{background:radial-gradient(circle at 50% 35%,#126fd0,#071b43 72%)}
#party .member:nth-child(3) .skillslot{background:radial-gradient(circle at 50% 35%,#7221ad,#210733 72%)}
#party .skillslot kbd{left:50%;top:auto;bottom:-20px;transform:translateX(-50%);background:none;color:#fff;font:bold 15px Arial;padding:0;text-shadow:0 2px #000}
#party .skillslot b{margin-top:8px;font-size:10px;color:#fff;text-shadow:0 1px #000}
#party .bagBtn{z-index:5}
#hint{bottom:170px}
@media(max-width:760px){#party.panel{width:calc(100vw - 8px);gap:4px;bottom:5px}#party .member{height:112px;padding:8px 6px 42px 65px;border-radius:8px}#party .portrait{width:64px;height:64px;left:-2px;top:-5px;border-width:3px;font-size:28px}#party .portrait.warrior{background-size:100px 92px}#party .info b{font-size:13px;line-height:14px}#party .info span{font-size:9px;margin:1px 0 3px}#party .bar{height:10px;margin:2px 0}#party .info small{font-size:7px;margin-top:-22px;line-height:10px}#party .skillbar{left:5px;right:5px;bottom:6px;height:33px;gap:3px}#party .skillslot{height:33px}#party .skillslot b{font-size:6px;margin-top:7px}#party .skillslot kbd{font-size:10px;bottom:-15px}#hint{bottom:130px}}
@media(max-width:430px){#party .portrait{display:grid}#party .member{padding-left:49px;height:100px}#party .portrait{width:49px;height:49px}#party .portrait.warrior{background-size:82px 76px}#party .info b{font-size:10px}#party .info span{font-size:7px}#party .skillbar{height:29px}#party .skillslot{height:29px}}

/* v5.1 — lift the independent skill-caster dock above the new party HUD */
#mobileSkills{bottom:172px}
@media(max-width:760px){#mobileSkills{bottom:142px}}
@media(max-width:520px){#mobileSkills{bottom:132px}}
@media(max-width:430px){#mobileSkills{bottom:122px}}


/* v6.11 account bag + chat */
.menuGrid{grid-template-columns:repeat(2,100px)}
.accountBagWrap{display:grid;gap:12px}.moneyBar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #6b5b31;border-radius:9px;background:linear-gradient(180deg,#241e10,#15120b);font-weight:800}.moneyBar strong{color:#f4d46b;font-size:18px}.accountBagGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.accountSlot{aspect-ratio:1;border:1px solid #52627c;border-radius:8px;background:linear-gradient(145deg,#172234,#0a1019);display:grid;place-items:center;position:relative;min-width:0;box-shadow:inset 0 0 10px #0007}.accountSlot.empty:after{content:attr(data-slot);font-size:9px;color:#4f5c70}.accountSlot .itemIcon{font-size:22px}.accountSlot .itemName{position:absolute;left:3px;right:3px;bottom:3px;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;color:#dce5f2}.accountSlot .itemQty{position:absolute;right:3px;top:2px;font-size:8px;background:#070b12d9;border-radius:4px;padding:1px 3px;color:#f4d46b}
#chatBox{position:absolute;left:14px;bottom:124px;width:min(360px,38vw);height:190px;z-index:35;background:#070c14d9;border:1px solid #465873;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;box-shadow:0 8px 22px #0008}.chatTabs{display:grid;grid-template-columns:repeat(4,1fr);background:#0d1522}.chatTab{height:29px;border:0;border-right:1px solid #2f3b50;background:#101a29;color:#93a3ba;font-size:10px;cursor:pointer}.chatTab.active{background:#243149;color:#f1ce62;font-weight:800}.chatTab[data-chat="world"].active{color:#70b9ff}.chatTab[data-chat="nearby"].active{color:#8fe38e}.chatTab[data-chat="system"].active{color:#f1ce62}.chatTab[data-chat="whisper"].active{color:#dca5ff}#chatMessages{flex:1;overflow-y:auto;padding:7px 9px;font-size:10px;line-height:1.45;touch-action:pan-y}.chatLine{margin-bottom:3px;word-break:break-word}.chatLine .channel{font-weight:800;margin-right:5px}.chatLine.world .channel{color:#70b9ff}.chatLine.nearby .channel{color:#8fe38e}.chatLine.system .channel{color:#f1ce62}.chatLine.whisper .channel{color:#dca5ff}.chatInputRow{height:34px;display:flex;border-top:1px solid #344158}.chatInputRow input{flex:1;min-width:0;border:0;outline:0;background:#0b121d;color:#fff;padding:0 9px;font-size:11px;touch-action:auto}.chatInputRow button{width:52px;border:0;border-left:1px solid #344158;background:#1b2a40;color:#fff;font-weight:800;cursor:pointer}#log{display:none}
@media(max-width:760px){#chatBox{left:6px;bottom:104px;width:min(330px,55vw);height:150px}.chatTab{font-size:8px;height:25px}#chatMessages{font-size:8px;padding:5px}.chatInputRow{height:30px}.chatInputRow input{font-size:9px}.chatInputRow button{width:44px;font-size:9px}.accountBagGrid{gap:5px}.subWindow{max-height:88vh;overflow:auto}}
@media(max-width:520px){#chatBox{width:52vw;height:130px;bottom:88px}.chatTabs{grid-template-columns:repeat(2,1fr)}.chatTab{height:22px}.chatInputRow{height:27px}.accountBagGrid{grid-template-columns:repeat(5,1fr)}}
/* v6.12 movable/collapsible chat */
#chatHeader{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 5px 0 10px;background:#121d2d;border-bottom:1px solid #344158;color:#dce5f2;font-size:11px;font-weight:800;cursor:move;touch-action:none;user-select:none}
#chatHeader button{width:27px;height:23px;border:1px solid #465873;border-radius:6px;background:#0b121d;color:#fff;cursor:pointer;font-weight:900}
#chatBox.collapsed{width:48px!important;height:48px!important;border-radius:10px;overflow:hidden}
#chatBox.collapsed #chatHeader{height:48px;padding:0;justify-content:center;border:0;cursor:move}
#chatBox.collapsed #chatHeader span,#chatBox.collapsed .chatTabs,#chatBox.collapsed #chatMessages,#chatBox.collapsed .chatInputRow{display:none}
#chatBox.collapsed #chatMinBtn{width:44px;height:44px;border:0;background:transparent;font-size:20px}

/* v6.13 resizable chat */
#chatBox:not(.collapsed){resize:both;min-width:260px;min-height:145px;max-width:calc(100% - 8px);max-height:calc(100% - 8px)}
#chatBox:not(.collapsed)::after{content:"↘";position:absolute;right:2px;bottom:0;font-size:13px;color:#8fa0b8;pointer-events:none}
#chatBox.collapsed{resize:none}
@media(max-width:520px){#chatBox:not(.collapsed){min-width:210px;min-height:120px}}


/* v6.15 non-modal inventory workspace */
#subMenu{inset:auto 12px 92px auto;width:min(430px,46vw);height:auto;display:none;align-items:stretch;justify-content:stretch;background:transparent;padding:0;pointer-events:none;z-index:70}
#subMenu.open{display:block}.subWindow{width:100%;min-height:0;max-height:72vh;overflow:auto;padding:14px;pointer-events:auto;box-shadow:0 10px 30px #000b}.subWindow h2{margin-bottom:10px;font-size:17px}
#characterModal{inset:auto auto 92px 12px;width:min(650px,52vw);height:auto;display:none;align-items:stretch;justify-content:stretch;background:transparent;padding:0;pointer-events:none;z-index:71}
#characterModal.open{display:block}.charWindow{width:100%;max-height:72vh;overflow:auto;padding:13px;pointer-events:auto;box-shadow:0 10px 30px #000b}.charHeader{padding-bottom:8px}.bigPortrait{width:54px;height:54px;font-size:28px}.charWindow h2{font-size:18px}.charBody{grid-template-columns:1.45fr .8fr;gap:12px;margin-top:10px}.equipSlot{height:58px}.invGrid{grid-template-columns:repeat(5,1fr);gap:5px}.invItem{min-height:52px}.invItem span{font-size:17px}.invItem b{font-size:7px}.bagHint{display:block;color:#8391a7;font-size:9px;text-align:center}.accountSlot,.invItem,.equipSlot{touch-action:none}
@media(max-width:760px){#subMenu{right:5px;bottom:82px;width:46vw}#characterModal{left:5px;bottom:82px;width:51vw}.charBody{grid-template-columns:1fr}.stats{display:none}.equipGrid{grid-template-columns:repeat(4,1fr)}.equipSlot{height:48px}.invItem{min-height:44px}.subWindow,.charWindow{max-height:65vh;padding:8px}.accountSlot .itemIcon{font-size:17px}.accountSlot .itemName{font-size:6px}}


/* v6.16 draggable inventory windows + character status summary */
.windowDragHandle{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;margin:-6px -5px 10px;padding:5px 6px 8px;border-bottom:1px solid #344257;cursor:move;touch-action:none;user-select:none}
.windowDragHandle h2{margin:0!important}.windowDragHandle .closeSub,.windowDragHandle .closeChar{position:static;flex:0 0 auto}
.charDragHandle .charHeader{border:0;padding:0;flex:1}.charDragHandle{align-items:center}
.summaryTitle{margin-top:14px!important}.summaryGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.summaryCard{display:flex;justify-content:space-between;align-items:center;min-height:38px;padding:7px 9px;border:1px solid #3d4d65;border-radius:8px;background:#0d1521}.summaryCard span{font-size:10px;color:#91a0b7}.summaryCard b{font-size:12px;color:#f2d36f}
#subMenu,#characterModal{touch-action:none}
#subMenuBody,.charBody,.accountBagGrid,.equipGrid,.stats{touch-action:auto}
@media(max-width:760px){.summaryGrid{grid-template-columns:1fr 1fr}.stats{display:block!important}.charBody{grid-template-columns:1fr}.windowDragHandle{min-height:34px}}

/* v6.19 — responsive mobile controls + PWA safe-area foundation */
:root{--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px)}
html,body,#gameWrap{overscroll-behavior:none;-webkit-user-select:none;user-select:none}
button,input,select{font:inherit} button{touch-action:manipulation}
#pwaInstallBtn{display:none;position:absolute;z-index:65;top:calc(54px + var(--safe-t));left:calc(8px + var(--safe-l));height:34px;padding:0 10px;border:1px solid #d8b34f;border-radius:9px;background:#172235;color:#f1ce62;font-weight:800;box-shadow:0 4px 12px #0009}
#pwaInstallBtn.ready{display:block}
@media (pointer:coarse),(max-width:900px){
 #mainMenuBtn{top:calc(7px + var(--safe-t));right:calc(7px + var(--safe-r));min-width:74px;min-height:42px;font-size:12px}
 #autoBtn{top:calc(55px + var(--safe-t));right:calc(7px + var(--safe-r));min-height:40px;font-size:11px}
 #minimapWrap{top:calc(7px + var(--safe-t));right:calc(92px + var(--safe-r))}
 #onlineStatus{top:calc(7px + var(--safe-t));left:calc(7px + var(--safe-l))}
 #party.panel{bottom:calc(5px + var(--safe-b));padding-left:var(--safe-l);padding-right:var(--safe-r)}
 #mobileSkills{right:calc(7px + var(--safe-r));bottom:calc(126px + var(--safe-b));z-index:36}
 .mobileSkill{min-width:68px;min-height:68px}
 .skillMember{min-height:36px}
 #chatBox{max-width:calc(100vw - var(--safe-l) - var(--safe-r) - 10px);max-height:calc(100vh - var(--safe-t) - var(--safe-b) - 10px)}
 .subWindow,.charWindow{max-width:calc(100vw - var(--safe-l) - var(--safe-r) - 10px)}
}
@media (pointer:coarse) and (orientation:landscape) and (max-height:600px){
 #party.panel{width:min(760px,70vw);left:calc(8px + var(--safe-l));transform:none;bottom:calc(4px + var(--safe-b))}
 #party .member{height:92px;padding:6px 6px 35px 58px}
 #party .portrait{width:58px;height:58px;left:-2px;top:-4px;border-width:3px}
 #party .info b{font-size:12px}.party .info span{font-size:8px}
 #mobileSkills{bottom:calc(8px + var(--safe-b));grid-template-columns:repeat(2,64px);gap:5px}
 .mobileSkill{width:64px;height:64px;min-width:64px;min-height:64px}
 .skillMembers{max-width:133px}.skillTitle{display:none}
 #hint{display:none}
}

/* v6.20 account login/register */
#authModal{position:fixed;inset:0;z-index:9999;display:none;place-items:center;padding:18px;background:radial-gradient(circle at 50% 30%,#17263adf,#05080def);pointer-events:auto}#authModal.open{display:grid}.authCard{width:min(390px,94vw);padding:24px;border:1px solid #52647f;border-radius:16px;background:#0b121ded;box-shadow:0 20px 70px #000;color:#e8eef7}.authLogo{text-align:center;color:#f1ce62;font:bold 21px Arial;letter-spacing:2px}.authCard h2{text-align:center;margin:10px 0 4px;font-size:19px}.authCard>p{text-align:center;color:#91a0b7;font-size:11px;margin:0 0 16px}.authCard label{display:block;margin:10px 0;color:#aebbd0;font-size:11px}.authCard input{box-sizing:border-box;width:100%;height:43px;margin-top:5px;padding:0 12px;border:1px solid #40516c;border-radius:9px;outline:0;background:#080e17;color:#fff;user-select:text;-webkit-user-select:text}.authCard input:focus{border-color:#d4b34f}.authCard form button{width:100%;height:44px;margin-top:7px;border:1px solid #d4b34f;border-radius:9px;background:#29354a;color:#f5d76e;font-weight:900}.authSwitch{width:100%;margin-top:9px;border:0;background:transparent;color:#77b9ff;text-decoration:underline;cursor:pointer}#authMessage{min-height:20px;margin-top:8px;text-align:center;color:#ff9b9b;font-size:11px}.authCard small{display:block;text-align:center;color:#66758c;font-size:9px;margin-top:7px}@media(max-width:520px){.authCard{padding:18px}.authCard input,.authCard form button{height:48px;font-size:16px}}

/* v6.21 — RO-inspired 10-slot character select + party 3 */
#characterSelect{position:fixed;inset:0;z-index:9000;display:none;overflow:auto;padding:28px clamp(14px,4vw,60px);box-sizing:border-box;background:radial-gradient(circle at 50% 18%,#1a2b42 0,#09111d 48%,#04070c 100%);color:#eaf0f8;pointer-events:auto}#characterSelect.open{display:block}.selectTop{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;max-width:1180px;margin:auto}.selectLogo{color:#f0cf65;font-weight:900;letter-spacing:3px}.selectTop h1{margin:5px 0 2px;font-size:27px}.selectTop p,.partySelectArea p{margin:0;color:#8190a7;font-size:11px}.selectAccount{min-width:220px;padding:12px 16px;border:1px solid #455872;border-radius:11px;background:#09111dcc;display:grid;gap:4px;text-align:right}.selectAccount b{color:#f0cf65}.selectAccount span{font-size:10px;color:#a4b1c4}.characterGrid{max-width:1180px;margin:24px auto;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.charSelectSlot{position:relative;min-height:145px;border:1px solid #40516b;border-radius:12px;background:linear-gradient(#111d2d,#09111c);color:#dfe8f4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}.charSelectSlot.filled:hover{border-color:#d1b24f;transform:translateY(-2px)}.charSelectSlot.inParty{box-shadow:inset 0 0 0 2px #d1b24f66;border-color:#d1b24f}.charSelectSlot.empty{opacity:.48;cursor:default}.slotNo{position:absolute;left:8px;top:6px;color:#687991;font-size:10px}.selectAvatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#26364c;border:2px solid #657a98;font-size:29px}.selectAvatar.warrior{color:#ff8a8a}.selectAvatar.mage{color:#7bc1ff}.selectAvatar.assassin{color:#d39aff}.charSelectSlot b{font-size:13px}.charSelectSlot span{font-size:9px;color:#8f9db2}.charSelectSlot em{position:absolute;right:7px;top:6px;color:#f0cf65;font-style:normal;font-size:8px}.partySelectArea{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(150px,1fr) minmax(360px,2fr) 150px;align-items:center;gap:18px;padding:16px;border:1px solid #42536c;border-radius:14px;background:#09111dd9}.partySelectArea h2{margin:0 0 3px;font-size:16px}.selectParty{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.partyPick{min-height:70px;border:1px solid #52647d;border-radius:9px;background:#111d2c;color:#fff;display:grid;place-items:center;padding:6px;cursor:pointer}.partyPick small{color:#f0cf65;font-size:8px}.partyPick b{font-size:12px}.partyPick span{font-size:8px;color:#8292a8}.partyPick.selected{border-color:#f0cf65}#enterGameBtn{height:54px;border:1px solid #d5b54e;border-radius:10px;background:#2a3850;color:#f5d66d;font-weight:900;cursor:pointer}#selectMessage{max-width:1180px;margin:8px auto;text-align:center;color:#e6c968;font-size:10px}
@media(max-width:760px){#characterSelect{padding:14px 8px}.selectTop{align-items:center}.selectTop h1{font-size:20px}.selectTop p{display:none}.selectAccount{min-width:145px;padding:8px}.characterGrid{grid-template-columns:repeat(2,1fr);gap:7px;margin:13px auto}.charSelectSlot{min-height:112px}.selectAvatar{width:45px;height:45px;font-size:22px}.partySelectArea{position:sticky;bottom:0;grid-template-columns:1fr;padding:9px;gap:7px}.partySelectArea>div:first-child{display:none}.selectParty{gap:5px}.partyPick{min-height:55px}#enterGameBtn{height:45px}}
/* v6.23 Family Name */
#familySetup{position:fixed;inset:0;z-index:9200;display:none;place-items:center;padding:18px;background:radial-gradient(circle at 50% 20%,#1b2e48,#060a11 65%);color:#eaf0f8}#familySetup.open{display:grid}.familyCard{width:min(420px,92vw);padding:25px;border:1px solid #4c607c;border-radius:15px;background:#09121f;box-shadow:0 18px 60px #000b}.familyCard h2{margin:10px 0 5px}.familyCard p{color:#91a0b5;font-size:11px;line-height:1.6}.familyCard label{display:grid;gap:7px;font-size:11px;color:#b9c4d3}.familyCard input{height:42px;border:1px solid #4b607d;border-radius:8px;background:#111e30;color:#fff;padding:0 12px;font-size:15px}.familyCard button{width:100%;height:43px;margin-top:12px;border:1px solid #d3b451;border-radius:8px;background:#293950;color:#f3d36b;font-weight:900}.familyCard #familyMessage{min-height:18px;margin-top:8px;text-align:center;color:#e7c966;font-size:10px}
/* v6.24 Family Profile */
.familyProfile{display:grid;grid-template-columns:120px 1fr;gap:14px;min-width:min(520px,78vw);max-width:620px}.familyAvatar{width:112px;height:112px;border:2px solid #d0b454;border-radius:12px;background:#111b2a;overflow:hidden;display:grid;place-items:center;font-size:42px}.familyAvatar img{width:100%;height:100%;object-fit:cover}.familyUpload{display:block;margin-top:8px;width:112px;text-align:center;padding:7px 5px;border:1px solid #52637d;border-radius:7px;background:#162235;color:#dbe5f4;font-size:10px;cursor:pointer}.familyUpload input{display:none}.familyInfo h3{margin:0 0 3px;color:#f1ce62;font-size:20px}.familyMeta{font-size:10px;color:#9dacbf;margin-bottom:12px}.familyExpLabel{display:flex;justify-content:space-between;font-size:10px;margin-bottom:4px}.familyExpBar{height:14px;background:#111a27;border:1px solid #465873;border-radius:7px;overflow:hidden}.familyExpBar i{display:block;height:100%;background:linear-gradient(90deg,#b18a31,#f0d76b)}.familyGuild{margin-top:12px;padding:10px;border:1px solid #3e506b;border-radius:8px;background:#0d1724}.familyGuild span{display:block;color:#8fa0b7;font-size:9px}.familyGuild b{font-size:12px}.familyNote{margin-top:10px;color:#8797ac;font-size:9px;line-height:1.5}
@media(max-width:700px){.familyProfile{grid-template-columns:82px 1fr;min-width:0;width:78vw;gap:9px}.familyAvatar{width:76px;height:76px}.familyUpload{width:76px;font-size:8px;padding:5px 2px}.familyInfo h3{font-size:15px}}

/* v6.25 Family Profile layout fix */
#subMenu.familyMode{width:min(650px,calc(100vw - 24px));max-width:650px}
#subMenu.familyMode .subWindow{overflow-y:auto;overflow-x:hidden;max-height:min(78vh,620px)}
#subMenu.familyMode #subMenuBody{width:100%;min-width:0;overflow:hidden}
#subMenu.familyMode .familyProfile{width:100%;min-width:0;max-width:none;grid-template-columns:120px minmax(0,1fr);align-items:start}
#subMenu.familyMode .familyInfo{min-width:0}
.familyLevelBadge{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 0 12px;padding:8px 10px;border:1px solid #596b86;border-radius:8px;background:#111d2d;color:#b9c6d8;font-size:10px}
.familyLevelBadge b{font-size:18px;color:#f1ce62;white-space:nowrap}
.familyExpLabel{gap:10px;flex-wrap:wrap}.familyExpLabel b{white-space:nowrap}.familyNote{overflow-wrap:anywhere}
@media(max-width:760px){#subMenu.familyMode{left:5px;right:5px;bottom:82px;width:auto;max-width:none}#subMenu.familyMode .familyProfile{grid-template-columns:86px minmax(0,1fr);gap:9px}#subMenu.familyMode .familyAvatar{width:82px;height:82px}#subMenu.familyMode .familyUpload{width:82px}.familyLevelBadge{padding:6px 8px}.familyLevelBadge b{font-size:15px}.familyExpLabel{font-size:9px}}
@media(max-width:430px){#subMenu.familyMode .familyProfile{grid-template-columns:1fr}.familyProfile>div:first-child{display:flex;align-items:center;gap:8px}.familyUpload{margin-top:0}.familyGuild{margin-top:8px}.familyNote{font-size:8px}}

/* v6.39 expandable city map */
#minimapWrap{pointer-events:auto;cursor:zoom-in;transition:transform .15s,border-color .15s}#minimapWrap:hover{transform:scale(1.03);border-color:#f1ce62}
#worldMapOverlay{position:fixed;inset:0;z-index:8500;display:none;place-items:center;padding:18px;background:#02050bd9;pointer-events:auto}#worldMapOverlay.open{display:grid}.worldMapPanel{width:min(960px,95vw);max-height:92vh;padding:12px;border:1px solid #667996;border-radius:12px;background:#08111ddd;box-shadow:0 18px 70px #000}.worldMapHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#f1ce62;font:bold 16px Arial}.worldMapHead button{width:36px;height:32px;border:1px solid #657791;border-radius:7px;background:#152237;color:#fff;font-size:22px;cursor:pointer}#worldMapLarge{display:block;width:100%;height:auto;max-height:76vh;object-fit:contain;border:1px solid #43536c;border-radius:7px;background:#0a111b;image-rendering:auto}.worldMapPanel small{display:block;margin-top:7px;color:#91a1b7;text-align:center}@media(max-width:700px){#worldMapOverlay{padding:7px}.worldMapPanel{width:96vw;padding:7px}.worldMapHead{font-size:13px}}

/* v6.45 coordinate HUD — world coordinate under cursor */
#coordHud{position:fixed;right:6px;bottom:4px;z-index:8400;pointer-events:none;padding:2px 5px;border-radius:4px;background:#07101ab8;border:1px solid #60708780;color:#e8f1ff;font:700 9px/1.2 Consolas,monospace;letter-spacing:.2px;text-shadow:0 1px 2px #000;white-space:nowrap}
@media(max-width:700px){#coordHud{right:3px;bottom:3px;font-size:8px;padding:2px 4px}}

/* v6.56 — party control mode + shared HP/SP quick item slots */
#controlModeUI{position:absolute;right:14px;top:98px;z-index:46;display:flex;gap:6px;padding:5px;border:1px solid #526277;border-radius:10px;background:#08111ddd;box-shadow:0 4px 12px #0009}
#controlModeUI button{width:58px;height:42px;border:1px solid #61738a;border-radius:7px;background:#111d2b;color:#dbe6f5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;font-weight:800}
#controlModeUI button.active{border-color:#e4bd54;background:#342914;color:#ffe18a;box-shadow:0 0 8px #e7b94355}
#controlModeUI .dotIcon{font-size:13px;line-height:13px;letter-spacing:1px}.dotIcon.three{font-size:10px;letter-spacing:0}#controlModeUI small{font-size:9px}
#sharedPotionUI{position:absolute;right:14px;bottom:44px;z-index:47;display:flex;gap:8px;padding:6px;border:1px solid #56677e;border-radius:11px;background:#08111de8;box-shadow:0 5px 16px #000b}
.potionSlot{position:relative;width:58px;height:58px;border:2px solid #77869a;border-radius:9px;background:radial-gradient(circle at 50% 35%,#27384e,#0c1420 72%);color:#fff;cursor:pointer;display:grid;place-items:center;padding:2px}.potionSlot .potionIcon{font-size:24px;line-height:22px}.potionSlot b{font-size:9px}.potionSlot em{position:absolute;right:3px;bottom:2px;min-width:17px;padding:1px 3px;border-radius:8px;background:#05090ecc;color:#fff;font:800 10px Arial;font-style:normal}.hpPotion .potionIcon{color:#ff5d6d;text-shadow:0 0 8px #ff334f}.spPotion .potionIcon{color:#70bfff;text-shadow:0 0 8px #3a9cff}.potionSlot:active{transform:scale(.94)}
@media(max-width:700px){#controlModeUI{right:7px;top:82px;padding:3px;gap:3px}#controlModeUI button{width:48px;height:36px}#sharedPotionUI{right:5px;bottom:calc(4px + env(safe-area-inset-bottom));gap:4px;padding:4px}.potionSlot{width:48px;height:48px}.potionSlot .potionIcon{font-size:20px}}

/* v6.60 resources + independent skill EXP */
#party .bar.sp i{background:linear-gradient(#55c8ff,#0877dc)}
#party .bar.charExp{height:8px;margin-top:3px}#party .bar.charExp i{background:linear-gradient(#ffe66a,#d9a500)}
#party .member{height:154px;padding-bottom:58px}#party .skillbar{bottom:10px;height:47px}
#party .skillslot{overflow:visible}.skillExp{position:absolute;left:3px;right:3px;bottom:2px;height:4px;background:#080b10;border:1px solid #000;border-radius:3px;overflow:hidden}.skillExp i{display:block;height:100%;background:linear-gradient(90deg,#ffe96b,#ffb300)}.skillLv{position:absolute;right:3px;top:2px;font:700 7px Arial;color:#ffe56a;text-shadow:0 1px #000}.resourceText{white-space:nowrap}
@media(max-width:760px){#party .member{height:126px;padding-bottom:46px}#party .bar.charExp{height:5px}#party .skillbar{height:36px}.skillExp{height:3px}.skillLv{font-size:5px}}

/* v6.61 — manual skill tree, Lv.0 locked -> Lv.10 max */
#party .bar.charExp i{background:linear-gradient(#7dff63,#24a83b)}
.skillslot.locked{filter:grayscale(1);opacity:.58}.skillslot.locked b,.skillslot.locked kbd{color:#c6c6c6!important}.skillslot.locked .skillExp{filter:none;opacity:.75}
.skillUp{position:absolute;right:-5px;top:-7px;z-index:5;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#ffe15a;color:#171100;border:1px solid #fff5a8;box-shadow:0 0 8px #ffd72b;font:900 14px/17px Arial;cursor:pointer;filter:none!important;opacity:1!important}
.mobileSkill.locked{filter:grayscale(1);opacity:.55}

/* v6.62 — EXP bars below skills + prerequisite skill tree */
#party .member{height:174px;padding-bottom:76px}
#party .skillbar{bottom:30px;height:47px}
#party .skillslot{overflow:visible}
#party .skillslot .skillExp{left:2px;right:2px;bottom:-8px;height:5px;z-index:4;background:#090b0e;border:1px solid #181000;box-shadow:0 0 3px #000}
#party .skillslot .skillExp i{background:linear-gradient(90deg,#fff37b,#ffbf00);box-shadow:0 0 4px #ffd21f}
#party .bar.charExp{position:absolute;left:7px;right:7px;bottom:5px;height:6px;margin:0;z-index:3;background:#07100a;border:1px solid #071007}
#party .bar.charExp i{background:linear-gradient(90deg,#7dff63,#1fa73a);box-shadow:0 0 4px #45e65c}
#party .skillUp{right:2px;top:auto;bottom:2px;width:17px;height:17px;font-size:14px;line-height:17px}
#party .skillslot.prereqLocked{filter:grayscale(1);opacity:.42}
#party .skillslot.prereqLocked .skillExp{opacity:.45}
@media(max-width:760px){#party .member{height:146px;padding-bottom:62px}#party .skillbar{bottom:25px;height:36px}#party .skillslot .skillExp{bottom:-7px;height:4px}#party .bar.charExp{left:5px;right:5px;bottom:4px;height:5px}#party .skillUp{width:14px;height:14px;font-size:12px;line-height:14px}}
@media(max-width:430px){#party .member{height:136px}#party .skillbar{bottom:24px}}

/* v6.63 — draggable independent skill-control dock */
#mobileSkills{touch-action:none}
#mobileSkills .skillTitle{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}
#mobileSkills.dragging .skillTitle{cursor:grabbing}

/* v6.64 — visible level EXP + circular 4-skill EXP ring + reliable movable skill dock */
#party .member{height:174px;padding-bottom:66px}
#party .portraitWrap{position:absolute;left:-11px;top:-16px;width:116px;height:116px;z-index:2;pointer-events:none}
#party .portraitWrap .portrait{left:7px;top:7px}
#party .skillExpRing{position:absolute;inset:0;border-radius:50%;filter:drop-shadow(0 0 4px #ffd82a);z-index:1}
#party .skillArc{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#ffe45b 0 calc(var(--skillp)*.9deg),#392f10 calc(var(--skillp)*.9deg) 90deg,transparent 90deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px))}
#party .skillArc.arc0{clip-path:polygon(50% 50%,50% 0,100% 0,100% 50%)}
#party .skillArc.arc1{transform:rotate(90deg);clip-path:polygon(50% 50%,50% 0,100% 0,100% 50%)}
#party .skillArc.arc2{transform:rotate(180deg);clip-path:polygon(50% 50%,50% 0,100% 0,100% 50%)}
#party .skillArc.arc3{transform:rotate(270deg);clip-path:polygon(50% 50%,50% 0,100% 0,100% 50%)}
#party .levelExpRow{margin-top:2px;display:grid;grid-template-columns:48px 1fr;gap:4px;align-items:center;clear:both}
#party .levelExpRow>small{margin:0!important;font-size:9px!important;color:#b9ffb0!important;text-align:left!important;line-height:10px!important}
#party .bar.charExp{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%;height:7px!important;margin:0!important;background:#07150a;border:1px solid #0d2b12}
#party .bar.charExp i{background:linear-gradient(90deg,#8aff6b,#22b43f)!important;box-shadow:0 0 5px #49ef64}
#party .resourceText{margin:2px 0 0!important;font-size:9px!important;line-height:10px!important;text-align:left!important}
#party .skillbar{bottom:21px;height:43px}
#party .skillslot .skillExp{display:none!important}
#mobileSkills .skillTitle{min-height:36px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:18px 14px;align-items:center;gap:0 7px;padding:3px 8px!important;background:linear-gradient(180deg,#24344b,#111b2a);border:1px solid #6d809a;border-radius:9px;box-shadow:0 3px 10px #0008;cursor:move!important}
#mobileSkills .skillTitle .dragGrip{grid-row:1/3;align-self:stretch;display:flex;align-items:center;padding:0 8px;border-right:1px solid #5d6e85;color:#ffe278;font:800 10px Arial;white-space:nowrap}
#mobileSkills.dragging{opacity:.9;z-index:9999!important}
#mobileSkills.dragging .skillTitle{box-shadow:0 0 0 2px #ffe278,0 8px 24px #000b}
@media(max-width:760px){#party .portraitWrap{left:-7px;top:-10px;width:76px;height:76px}#party .portraitWrap .portrait{left:6px;top:6px}#party .skillArc{-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}#party .levelExpRow{grid-template-columns:35px 1fr}#party .levelExpRow>small{font-size:7px!important}#party .resourceText{font-size:7px!important}#party .skillbar{bottom:18px}}

/* v6.65 — readable centered HP/SP + unmistakable character level EXP */
#party .bar.hp,#party .bar.sp,#party .bar.charExp{position:relative!important;overflow:hidden!important}
#party .bar.hp,#party .bar.sp{height:13px!important;margin:2px 0!important}
#party .bar.hp i,#party .bar.sp i,#party .bar.charExp i{position:absolute;left:0;top:0;bottom:0;z-index:1}
#party .barText{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;color:#fff;font:900 8px/1 Arial;text-shadow:0 1px 2px #000,0 0 2px #000;white-space:nowrap;pointer-events:none}
#party .levelExpRow{display:block!important;margin-top:3px!important;clear:both}
#party .levelExpRow>small{display:block!important;text-align:center!important;color:#d8ffd2!important;font:900 8px/10px Arial!important;margin:0 0 1px!important}
#party .bar.charExp{display:block!important;width:100%!important;height:11px!important;background:#06170a!important;border:1px solid #2f8d3c!important;border-radius:5px!important;box-shadow:inset 0 0 4px #000,0 0 4px #36d64e55!important}
#party .bar.charExp i{background:linear-gradient(90deg,#78ff62,#20b43b)!important;box-shadow:0 0 6px #54ff6d!important}
#party .bar.charExp .barText{color:#fff;font-size:7px}
#party .resourceText{display:block!important;text-align:center!important;margin-top:2px!important;color:#dce7f5!important}
@media(max-width:760px){#party .bar.hp,#party .bar.sp{height:10px!important}#party .bar.charExp{height:8px!important}#party .barText{font-size:6px}#party .levelExpRow>small{font-size:6px!important;line-height:7px!important}}


/* v6.66 — compact level/skill EXP dock at the very bottom, separate from profiles */
#party .portraitWrap,#party .skillExpRing,#party .levelExpRow,#party .bar.charExp{display:none!important}
#party .member{height:146px!important;padding-bottom:54px!important}
#party .skillbar{bottom:7px!important}
#party .resourceText{font-size:8px!important;margin-top:2px!important}
#bottomExpDock{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:8300;width:min(720px,72vw);height:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:1px 4px calc(1px + env(safe-area-inset-bottom));background:#050a10e8;border:1px solid #34465c;border-bottom:0;border-radius:6px 6px 0 0;box-shadow:0 -2px 8px #0008;pointer-events:none}
#bottomExpDock .expPair{display:grid;grid-template-columns:1fr 1fr;gap:3px;min-width:0}
#bottomExpDock .miniExp{position:relative;height:11px;overflow:hidden;border-radius:3px;background:#080c10;border:1px solid #243244;box-sizing:border-box}
#bottomExpDock .miniExp>i{position:absolute;left:0;top:0;bottom:0;z-index:1}
#bottomExpDock .miniExp>span{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;color:#fff;font:800 6px/1 Arial;text-shadow:0 1px 2px #000;white-space:nowrap}
#bottomExpDock .level>i{background:linear-gradient(90deg,#75f45d,#21a83b)}
#bottomExpDock .skill>span{width:18px;justify-content:center}
#bottomExpDock .skillSegments{position:absolute;left:18px;right:1px;top:1px;bottom:1px;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:1px}
#bottomExpDock .skillSegments b{position:relative;overflow:hidden;background:#2a2208;border-radius:1px}
#bottomExpDock .skillSegments b i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#fff16a,#e6aa00)}
#bottomExpDock .expPair.selected .miniExp{border-color:#d7b74d;box-shadow:0 0 4px #e4c64b66}
@media(max-width:760px){#bottomExpDock{width:calc(100vw - 128px);left:4px;transform:none;right:124px;gap:2px;padding-left:2px;padding-right:2px}#bottomExpDock .expPair{gap:1px}#bottomExpDock .miniExp>span{font-size:5px}#bottomExpDock .skill>span{width:12px}#bottomExpDock .skillSegments{left:12px}#party .member{height:126px!important;padding-bottom:45px!important}}

/* v6.77 map name above minimap */
#mapName{position:absolute;left:0;right:0;top:-22px;text-align:center;font-size:12px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000,0 0 5px #000;white-space:nowrap;pointer-events:none}
@media(max-width:700px){#mapName{top:-18px;font-size:9px}}

/* v6.78 — visible map title + compact combat controls beside empty potion quick slots */
#mapName{top:4px!important;left:28px!important;right:4px!important;padding:2px 4px;background:#07101ad9;border-radius:4px;font-size:11px!important;z-index:5}
#minimapWrap{padding-top:20px!important}
#combatQuickUI{position:absolute;right:14px;bottom:44px;z-index:49;display:flex;align-items:flex-end;gap:6px;padding:5px;border:1px solid #56677e;border-radius:11px;background:#08111de8;box-shadow:0 5px 16px #000b}
#combatQuickUI #autoBtn,#combatQuickUI #controlModeUI,#combatQuickUI #sharedPotionUI{position:static!important;margin:0!important}
#combatQuickUI #autoBtn{height:58px;min-width:94px}
#combatQuickUI #controlModeUI{display:flex;padding:0;border:0;background:transparent;box-shadow:none}
#combatQuickUI #sharedPotionUI{display:flex;padding:0;border:0;background:transparent;box-shadow:none}
.potionSlot.empty{background:linear-gradient(145deg,#121b28,#080d14);border-style:dashed;color:#7f8b9b}
.potionSlot.empty .potionIcon,.potionSlot.empty em{display:none}
@media(max-width:700px){#combatQuickUI{right:5px;bottom:calc(4px + env(safe-area-inset-bottom));gap:3px;padding:3px;transform:scale(.88);transform-origin:right bottom}#combatQuickUI #autoBtn{min-width:78px;height:48px;font-size:10px}#mapName{top:3px!important;font-size:8px!important}}

/* v6.79 — draggable combat quick UI */
#combatQuickDrag{align-self:stretch;width:20px;display:flex;align-items:center;justify-content:center;border-right:1px solid #46566c;color:#9fb1c9;font-weight:900;cursor:grab;touch-action:none;user-select:none}
#combatQuickDrag:active{cursor:grabbing;color:#fff}
#combatQuickUI.dragging{opacity:.92;box-shadow:0 0 0 2px #7ebcff88,0 8px 24px #000c}
@media(max-width:700px){#combatQuickDrag{width:17px}}

/* v6.83 target feedback + clock cooldown */
.mobileSkill.cooling,.skillslot.cooling{filter:grayscale(1) saturate(0)!important;}
.cooldownClock{position:absolute;inset:0;border-radius:12px;z-index:12;display:grid;place-items:center;background:conic-gradient(rgba(4,8,15,.82) var(--cd),rgba(4,8,15,.18) 0);box-shadow:inset 0 0 0 1px #ffffff24;pointer-events:none;}
.cooldownClock::after{content:'';position:absolute;inset:7px;border-radius:50%;border:1px solid #ffffff55;}
.cooldownClock b{position:relative;z-index:2;color:#fff;font:bold 14px Arial;text-shadow:0 1px 3px #000;}
.cooldownClock.small{border-radius:5px}.cooldownClock.small::after{inset:4px}.cooldownClock.small b{font-size:9px;}

/* v6.84 Party Skill Control: visible acknowledgement for every skill command. */
.skillslot.skillPressed,.mobileSkill.skillPressed{animation:skillCommandGlow .26s ease-out!important;filter:none!important;z-index:8}
@keyframes skillCommandGlow{0%{box-shadow:0 0 0 2px #fff,0 0 8px #fff,0 0 18px #65d9ff;transform:scale(.94)}45%{box-shadow:0 0 0 2px #fff7a8,0 0 14px #fff7a8,0 0 28px #59cfff;transform:scale(1.06)}100%{box-shadow:0 0 0 0 transparent,0 0 0 transparent;transform:scale(1)}}


/* v6.93 — Settings / performance / audio / screen rest */
#mainMenu .menuGrid{grid-template-columns:repeat(3,minmax(82px,1fr))}
#subMenu.settingsMode .subWindow{width:min(560px,92vw);max-height:min(680px,86vh)}
.settingsPanel{display:grid;gap:12px;padding:2px 2px 8px;color:#e9f3ff}
.settingsPanel section{padding:12px;border:1px solid #33465e;border-radius:10px;background:linear-gradient(180deg,#111d2c,#09111b)}
.settingsPanel h3{margin:0 0 9px;font-size:14px;color:#ffe18a}.settingsPanel p{margin:0 0 10px;color:#b9c9dc;font-size:12px;line-height:1.5}
.settingRow{display:flex;align-items:center;gap:12px;min-height:52px;padding:7px 2px;border-top:1px solid #ffffff12;cursor:pointer}.settingRow:first-of-type{border-top:0}
.settingRow>span{flex:1;min-width:0}.settingRow b{display:block;font-size:13px}.settingRow small{display:block;margin-top:3px;color:#91a4ba;font-size:10px;line-height:1.35}
.settingRow input{position:absolute;opacity:0;pointer-events:none}.settingRow i{position:relative;flex:0 0 48px;width:48px;height:26px;border-radius:18px;background:#263241;border:1px solid #536174;box-shadow:inset 0 2px 5px #0008;transition:.16s}
.settingRow i:after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#aab4c0;transition:.16s;box-shadow:0 2px 5px #0008}.settingRow input:checked+i{background:#197c45;border-color:#5ce78f}.settingRow input:checked+i:after{left:25px;background:#eafff1}
.volumeRow{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 2px;border-top:1px solid #ffffff12}.volumeRow>span{flex:1;min-width:0}.volumeRow b{display:block;font-size:13px}.volumeRow small{display:block;margin-top:3px;color:#91a4ba;font-size:10px;line-height:1.35}.volumeControl{display:flex;align-items:center;gap:8px;flex:0 0 min(245px,48%)}.volumeControl input[type=range]{width:100%;accent-color:#69d99a;cursor:pointer}.volumeControl output{min-width:42px;text-align:right;color:#dfffea;font-size:11px;font-weight:800}.audioMapHint{display:block;margin-top:8px;padding-top:8px;border-top:1px solid #ffffff12;color:#8fa8c3;font-size:10px}.settingsPanel input[type=range]:focus-visible{outline:2px solid #8ae9b2;outline-offset:3px}
.screenSleepBtn{width:100%;height:44px;border:1px solid #7c6fbd;border-radius:9px;background:linear-gradient(180deg,#40356d,#211b3c);color:#fff;font-weight:900;cursor:pointer}.sleepHint{display:block;margin-top:7px;text-align:center;color:#9aa9bc;font-size:10px}
#screenSleepOverlay{position:fixed;inset:0;z-index:1000000;display:none;flex-direction:column;align-items:center;justify-content:center;background:#000;color:#d8deea;touch-action:none;user-select:none;cursor:pointer}
#screenSleepOverlay.active{display:flex}#screenSleepOverlay .sleepIcon{font-size:34px;opacity:.55;margin-bottom:12px}#screenSleepOverlay b{font-size:17px;letter-spacing:.3px}#screenSleepOverlay span{margin-top:6px;color:#8993a1;font-size:12px}#screenSleepOverlay small{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));color:#66717f;font-size:10px}
@media(max-width:700px){#subMenu.settingsMode .subWindow{width:94vw;max-height:82vh}.settingsPanel section{padding:10px}.settingRow{min-height:48px}.settingRow b,.volumeRow b{font-size:12px}.settingRow small,.volumeRow small{font-size:9px}.volumeRow{align-items:flex-start;flex-direction:column;gap:5px}.volumeControl{width:100%;flex:0 0 auto}}

/* v6.94 world camera zoom controls — UI itself never scales */
#zoomHud{position:fixed;right:6px;bottom:24px;z-index:8401;display:flex;gap:3px;pointer-events:auto}
#zoomHud button{height:25px;min-width:31px;padding:0 7px;border:1px solid #607087;background:#07101ae8;color:#f4f7ff;border-radius:5px;font:700 11px/1 Arial,sans-serif;box-shadow:0 2px 7px #0008;cursor:pointer}
#zoomHud button:active{transform:translateY(1px)}#zoomValue{min-width:49px!important;color:#f1ce62!important}
@media(max-width:700px){#zoomHud{right:3px;bottom:22px}#zoomHud button{height:29px;min-width:34px;font-size:11px;padding:0 6px}}
\n/* v6.95 compact character equipment/status layout */\n#zoomHud{display:none!important}\n.charWindow{width:min(650px,94vw)!important}\n.charHeader{min-height:38px!important}.bigPortrait{display:none!important}\n.charBody{grid-template-columns:1.05fr .72fr!important;gap:10px!important}\n.equipGrid{display:grid!important;grid-template-columns:repeat(2,minmax(74px,1fr))!important;grid-auto-flow:row;gap:6px!important;max-width:250px}\n.equipSlot{height:48px!important;min-height:48px!important;flex-direction:row!important;justify-content:flex-start!important;gap:7px;padding:3px 7px!important}\n.equipSlot span{font-size:18px!important;flex:0 0 22px;text-align:center}.equipSlot small{font-size:7px!important;margin:0!important;line-height:1.1}\n.stats{padding-left:10px!important}.stats h3{font-size:11px!important;margin-bottom:5px!important}\n.statRow{grid-template-columns:1fr 36px 27px!important;gap:4px!important;padding:3px 4px!important;margin:3px 0!important;border-radius:5px!important;min-height:27px}\n.statRow span,.statRow b{font-size:9px!important}.statRow button{height:22px!important;font-size:14px!important;border-radius:4px!important}\n.elementBox{padding:4px!important;margin-top:5px!important;font-size:9px!important;gap:4px!important}.elementBox select{padding:2px!important;font-size:9px!important}\n.summaryTitle{font-size:10px!important;margin:8px 0 5px!important}.summaryGrid{gap:4px!important}.summaryCard{padding:4px!important;min-height:32px!important}.summaryCard span{font-size:7px!important}.summaryCard b{font-size:9px!important}\n@media(max-width:760px){.charBody{grid-template-columns:1fr!important}.equipGrid{grid-template-columns:repeat(2,minmax(68px,1fr))!important;max-width:none}.stats{padding:7px 0 0!important;border-left:0!important}.equipSlot{height:43px!important}}\n
/* v6.96 TRUE VERTICAL EQUIPMENT — two vertical columns, paired left/right */
.equipGrid{
  display:grid!important;
  grid-template-columns:repeat(2,92px)!important;
  grid-template-rows:repeat(4,54px)!important;
  grid-auto-flow:column!important;
  gap:7px 12px!important;
  width:max-content!important;
  max-width:none!important;
  align-items:stretch!important;
}
.equipSlot{
  width:92px!important;
  height:54px!important;
  min-width:92px!important;
  min-height:54px!important;
  box-sizing:border-box!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:2px!important;
  padding:4px!important;
}
.equipSlot span{font-size:19px!important;line-height:20px!important;flex:0 0 auto!important}
.equipSlot small{font-size:7px!important;line-height:9px!important;text-align:center!important;margin:0!important;max-width:82px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){
  .equipGrid{grid-template-columns:repeat(2,78px)!important;grid-template-rows:repeat(4,48px)!important;gap:5px 8px!important;width:max-content!important}
  .equipSlot{width:78px!important;min-width:78px!important;height:48px!important;min-height:48px!important;padding:3px!important}
  .equipSlot small{max-width:70px!important;font-size:6px!important}
}

/* v6.97 smaller equipment slots + AR/DR status */
.equipGrid{grid-template-columns:repeat(2,72px)!important;grid-template-rows:repeat(4,42px)!important;gap:4px 7px!important}
.equipSlot{width:72px!important;min-width:72px!important;height:42px!important;min-height:42px!important;padding:2px!important;gap:1px!important}
.equipSlot span{font-size:15px!important;line-height:16px!important}.equipSlot small{font-size:5.8px!important;line-height:7px!important;max-width:66px!important}
@media(max-width:760px){.equipGrid{grid-template-columns:repeat(2,64px)!important;grid-template-rows:repeat(4,38px)!important;gap:3px 6px!important}.equipSlot{width:64px!important;min-width:64px!important;height:38px!important;min-height:38px!important}.equipSlot span{font-size:14px!important}.equipSlot small{font-size:5.5px!important;max-width:59px!important}}


/* v6.99 — slightly larger equipment slots, wider separation, compact rating pair */
.equipGrid{grid-template-columns:repeat(2,80px)!important;grid-template-rows:repeat(4,48px)!important;column-gap:16px!important;row-gap:7px!important;width:max-content!important}
.equipSlot{width:80px!important;min-width:80px!important;height:48px!important;min-height:48px!important;padding:3px!important;gap:2px!important}
.equipSlot span{font-size:17px!important;line-height:18px!important}.equipSlot small{font-size:6.2px!important;line-height:8px!important;max-width:74px!important}
.ratingPair{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;border:1px solid #53627b;border-radius:7px;padding:5px;background:#101a29}
.ratingPair>div{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:27px;padding:4px 7px;border:1px solid #3d4d65;border-radius:6px;background:#0d1521}
.ratingPair span{font-size:9px;color:#aab8cc;font-weight:800}.ratingPair b{font-size:12px;color:#f1ce62}
@media(max-width:760px){.equipGrid{grid-template-columns:repeat(2,72px)!important;grid-template-rows:repeat(4,42px)!important;column-gap:12px!important;row-gap:6px!important}.equipSlot{width:72px!important;min-width:72px!important;height:42px!important;min-height:42px!important}.equipSlot span{font-size:15px!important}.equipSlot small{font-size:5.7px!important;max-width:66px!important}.ratingPair{gap:5px;padding:4px}.ratingPair>div{padding:3px 5px;min-height:24px}.ratingPair span{font-size:8px}.ratingPair b{font-size:10px}}

/* v7.02 — Monster/Boss encyclopedia */
#subMenu.monsterMode{width:min(680px,calc(100vw - 24px));max-width:680px}
#subMenu.monsterMode .subWindow{overflow:visible;max-height:min(78vh,650px)}
#subMenu.monsterMode #subMenuBody{overflow:visible}
.monsterBookIntro{font-size:11px;color:#aebbd0;margin:0 0 12px}
.monsterBookGrid{display:grid;grid-template-columns:repeat(4,minmax(96px,1fr));gap:12px;overflow:visible}
.monsterCard{position:relative;min-height:132px;padding:9px;border:1px solid #485b78;border-radius:10px;background:#0b1422;color:#eef4ff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;overflow:visible}
.monsterCard:hover,.monsterCard:focus{border-color:#f1ce62;z-index:8;outline:none}
.monsterPortrait{width:72px;height:76px;display:block;background-repeat:no-repeat;background-position:left top;background-size:auto 76px;image-rendering:pixelated;filter:drop-shadow(0 5px 4px #0008)}
.monsterCard>b{font-size:12px}.monsterCard>small{font-size:8px;color:#91a5c2}.monsterCard.boss>small{color:#ff9a7b;font-weight:900}
.monsterTooltip{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:210px;padding:10px 12px;border:1px solid #7185a5;border-radius:9px;background:#060b13f5;box-shadow:0 12px 30px #000d;text-align:left;color:#dce8f8;z-index:20;pointer-events:none}
.monsterCard:hover .monsterTooltip,.monsterCard:focus .monsterTooltip,.monsterCard:focus-within .monsterTooltip{display:grid;gap:4px}
.monsterTooltip strong{font-size:14px;color:#f1ce62}.monsterTooltip em{font-size:9px;color:#91a5c2;font-style:normal;margin-bottom:3px}.monsterTooltip span{display:flex;justify-content:space-between;gap:10px;font-size:10px}.monsterTooltip span b{color:#fff;text-align:right}
@media(max-width:700px){#subMenu.monsterMode{left:5px;right:5px;bottom:82px;width:auto;max-width:none}.monsterBookGrid{grid-template-columns:repeat(3,minmax(78px,1fr));gap:8px}.monsterCard{min-height:112px;padding:6px}.monsterPortrait{width:58px;height:62px;background-size:auto 62px}.monsterTooltip{position:fixed;left:50%;bottom:92px;width:min(250px,72vw);transform:translateX(-50%)}}

/* v7.07 target HP: top-center */
#target{left:50%!important;right:auto!important;top:10px!important;transform:translateX(-50%);width:min(360px,46vw)!important;text-align:center;z-index:40;}
@media(max-width:700px){#target{left:50%!important;right:auto!important;top:6px!important;width:min(250px,58vw)!important;}}

/* v7.08 — compact skill information inside character status */
.skillInfoPanel{margin-top:12px;padding-top:10px;border-top:1px solid #344257}.skillInfoPanel>h3{margin:0 0 7px;color:#f1ce62!important;font-size:12px!important}.skillInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.skillInfoCard{background:#0d1521;border:1px solid #3b4b63;border-radius:7px;padding:7px;min-height:76px}.skillInfoHead{display:flex;justify-content:space-between;gap:8px;color:#e6edf8;font-size:10px}.skillInfoHead span{color:#f1ce62;white-space:nowrap}.skillInfoCard p{margin:5px 0 7px;color:#9eacc0;font-size:8.5px;line-height:1.35}.skillInfoMeta{display:flex;flex-wrap:wrap;gap:5px 9px;font-size:8px;color:#8797ae}.skillInfoMeta b{color:#dce7f7}.charWindow{max-height:92vh;overflow:auto}@media(max-width:760px){.skillInfoGrid{grid-template-columns:1fr}.skillInfoCard{min-height:68px}}

/* v7.11 Mina vertical shop + purchase confirmation */
.minaShop{display:grid;gap:10px}.shopIntro{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:9px 10px;border:1px solid #6b5b31;border-radius:9px;background:#17130c}.shopIntro b{color:#f3d77a;font-size:15px}.shopIntro span{font-size:9px;color:#aab5c7}.shopIntro strong{grid-row:1/3;grid-column:2;color:#f4d46b}.shopList{display:flex;flex-direction:column;gap:7px;max-height:52vh;overflow:auto;padding-right:3px}.shopItem{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px;border:1px solid #4b5a72;border-radius:8px;background:linear-gradient(145deg,#172234,#0a1019);outline:none;text-align:left}.itemThumb,.shopItem .itemThumb{width:54px;height:54px;object-fit:cover;border-radius:6px;display:block}.accountSlot .itemThumb{width:68%;height:68%;object-fit:cover;border-radius:5px}.shopItemName{font-size:11px;color:#eef4ff;font-weight:800}.shopItemDesc{font-size:8.5px;color:#b7c4d8;line-height:1.35;margin-top:2px}.shopItemMeta{font-size:8px;color:#8798b1;margin-top:3px}.shopPrice{font-size:9px;color:#f4d46b;margin-top:3px}.shopQty{display:flex;align-items:center;gap:5px}.shopQty button{width:30px;height:30px;border:1px solid #6c7c96;border-radius:6px;background:#20314a;color:#fff;font-size:16px;font-weight:900}.shopQty span{min-width:24px;text-align:center;color:#fff;font-weight:800}.shopTouchInfo{min-height:30px;padding:7px;border:1px solid #334157;border-radius:7px;background:#0d1521;color:#b8c5d9;font-size:9px}.shopCartBar{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px;border:1px solid #6b5b31;border-radius:8px;background:#17130c;color:#dce6f5;font-size:9px}.shopCartBar strong{color:#f4d46b}.shopCartBar button,.reviewActions button{min-height:32px;padding:0 12px;border:1px solid #6c7c96;border-radius:6px;background:#20314a;color:#fff;font-weight:800}.shopCartBar button:disabled,.reviewActions button:disabled{opacity:.45}.purchaseReview{display:grid;gap:10px}.purchaseReview h3{margin:0;color:#f3d77a}.reviewHint{margin:0;color:#aab5c7;font-size:9px}.reviewList{display:flex;flex-direction:column;gap:6px;max-height:48vh;overflow:auto}.reviewRow{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:7px;border:1px solid #3d4c62;border-radius:7px;background:#0d1521}.reviewRow .itemThumb{width:44px;height:44px}.reviewRow b{display:block;color:#eef4ff}.reviewRow small{display:block;color:#91a0b5;font-size:8px;line-height:1.3;margin-top:2px}.reviewRow span{color:#c8d4e5}.reviewRow strong{color:#f4d46b}.reviewMoney{display:grid;gap:5px;padding:9px;border:1px solid #4b5a72;border-radius:7px;background:#101927}.reviewMoney span{display:flex;justify-content:space-between;color:#b8c5d9}.reviewMoney b{color:#eef4ff}.reviewMoney .notEnough,.buyWarning{color:#ff7d7d}.reviewActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.accountSlot{cursor:help}
@media(max-width:760px){.shopList{max-height:48vh}.shopItem{grid-template-columns:50px minmax(0,1fr) auto;gap:7px;padding:6px}.shopItem .itemThumb{width:46px;height:46px}.shopItemDesc{font-size:8px}.shopQty{gap:3px}.shopQty button{width:32px;height:34px}.shopCartBar{grid-template-columns:1fr auto}.shopCartBar button{grid-column:1/3}.reviewRow{grid-template-columns:42px minmax(0,1fr) auto}.reviewRow strong{grid-column:2/4;text-align:right}.reviewRow .itemThumb{width:40px;height:40px}}


/* v7.14 NPC shop proximity selector + outside shop controls */
#nearbyShopActions{position:absolute;left:50%;bottom:190px;transform:translateX(-50%);z-index:69;display:none;gap:8px;flex-wrap:wrap;justify-content:center;pointer-events:auto}
#nearbyShopActions.show{display:flex}
#nearbyShopActions button{min-height:42px;padding:8px 15px;border:2px solid #d4b45b;border-radius:10px;background:#17130eef;color:#ffe9a0;font-weight:900;box-shadow:0 5px 18px #000b;cursor:pointer}
#subMenu.shopMode{overflow:visible}
#subMenu.shopMode .subWindow{overflow:visible}
#subMenu.shopMode .windowDragHandle .closeSub{position:absolute;right:-48px;top:0;width:40px;height:40px;border:2px solid #b45d5d;background:#371719;color:#fff;border-radius:9px;font-size:26px;z-index:4}
#subMenu.shopMode .externalConfirmPurchase{position:absolute;right:-150px;bottom:14px;width:140px;min-height:48px;padding:8px;border:2px solid #d4b45b;border-radius:10px;background:#29471f;color:#f5ffd9;font-weight:900;box-shadow:0 6px 20px #000b;cursor:pointer}
#subMenu.shopMode .externalConfirmPurchase:disabled{opacity:.45;cursor:not-allowed}
#subMenu.shopMode .reviewActions{grid-template-columns:1fr}
@media(max-width:760px){#nearbyShopActions{bottom:176px;max-width:92vw}#nearbyShopActions button{min-height:46px;font-size:11px}#subMenu.shopMode{right:58px;width:calc(46vw - 53px)}#subMenu.shopMode .windowDragHandle .closeSub{right:-48px}#subMenu.shopMode .externalConfirmPurchase{right:-53px;bottom:52px;width:48px;min-height:126px;padding:5px 2px;font-size:9px;writing-mode:vertical-rl;text-orientation:mixed}}
/* v7.15 shop buy/sell + quantity controls */
.shopTabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.shopTabs button{min-height:34px;border:1px solid #566985;border-radius:7px;background:#172234;color:#dce6f5;font-weight:800}.shopTabs button.active{border-color:#d1ad4c;background:#392f17;color:#ffe58c}.shopQty{flex-wrap:wrap;justify-content:flex-end;max-width:145px}.shopQty .plusTen{width:auto;min-width:42px;padding:0 6px;font-size:11px}

/* v7.16 sell mode: shop + shared bag, double-click quantity sale */
.minaSellLayout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr);gap:12px;align-items:start}.sellBagPanel{border:1px solid #566985;border-radius:9px;background:#0d1521;padding:9px}.sellBagHead{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.sellBagHead b{color:#f3d77a}.sellBagHead span{font-size:9px;color:#aab5c7}.sellBagGrid{display:grid;grid-template-columns:repeat(5,minmax(54px,1fr));gap:6px;max-height:58vh;overflow:auto}.sellBagGrid .accountSlot{min-height:72px;position:relative}.sellBagGrid .accountSlot.canSell{cursor:pointer;border-color:#71865a}.sellBagGrid .accountSlot.noSell{opacity:.55}.sellBagGrid .accountSlot small{position:absolute;bottom:2px;left:3px;right:3px;font-size:7px;text-align:center;color:#f4d46b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minaSellDialog{position:fixed;inset:0;z-index:250;background:#0009;display:grid;place-items:center;padding:14px}.sellDialogCard{width:min(390px,92vw);display:grid;gap:12px;padding:16px;border:2px solid #806d38;border-radius:12px;background:#101927;box-shadow:0 14px 45px #000}.sellDialogCard h3{margin:0;color:#f3d77a}.sellDialogItem{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center}.sellDialogItem .itemThumb{width:56px;height:56px;object-fit:cover}.sellDialogItem b{color:#fff}.sellDialogItem small{display:block;margin-top:4px;color:#aab5c7}.sellDialogCard label{display:grid;gap:5px;color:#dce6f5}.sellDialogCard input{height:42px;padding:0 10px;border:1px solid #657792;border-radius:7px;background:#08101b;color:#fff;font-size:18px}.sellDialogCard p{margin:0;color:#c8d4e5}.sellDialogTotal{padding:9px;border:1px solid #4b5a72;border-radius:7px;color:#b8c5d9}.sellDialogTotal b{float:right;color:#f4d46b}.sellDialogActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sellDialogActions button{min-height:42px;border:1px solid #657792;border-radius:7px;background:#20314a;color:#fff;font-weight:900}.sellDialogActions button:last-child{border-color:#8a773e;background:#29471f;color:#f5ffd9}
#subMenu.shopMode .subWindow:has(.minaSellLayout){width:min(900px,88vw);max-width:900px}
@media(max-width:760px){.minaSellLayout{grid-template-columns:1fr}.sellBagGrid{grid-template-columns:repeat(4,minmax(50px,1fr));max-height:34vh}.sellBagGrid .accountSlot{min-height:64px}#subMenu.shopMode .subWindow:has(.minaSellLayout){width:min(82vw,620px);max-width:82vw}.sellBagHead{align-items:flex-start;flex-direction:column;gap:2px}}

/* v7.27 portraits */
.portrait.warrior,.portrait.mage,.portrait.rogue{background:#0b111b!important;overflow:hidden}.partyPortrait727{width:100%;height:100%;object-fit:contain;transform:scale(1.15)}

/* v7.32 online player party UI */
#onlinePartyPanel{display:none;position:fixed;left:12px;top:84px;width:190px;z-index:55;background:rgba(8,12,20,.78);border:1px solid rgba(210,190,120,.5);border-radius:8px;padding:7px;backdrop-filter:blur(3px);color:#fff;font:12px Arial,sans-serif}
#onlinePartyPanel.active{display:block}.oppTitle{font-weight:800;letter-spacing:1px;color:#f3d98a;margin-bottom:5px}.oppTitle span{float:right;color:#fff}
.oppMember{display:grid;grid-template-columns:38px 1fr;gap:6px;align-items:center;padding:4px 2px;border-top:1px solid rgba(255,255,255,.08)}
.oppPortrait{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:2px solid #bda85d;background:#172235;font-size:19px;box-shadow:0 0 0 2px rgba(0,0,0,.4)}
.oppName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;text-shadow:0 1px 2px #000}
.oppJob{font-size:10px;color:#d4d8df}.oppHp{height:7px;background:#32151a;border:1px solid #111;border-radius:5px;overflow:hidden;margin-top:2px}.oppHp i{display:block;height:100%;background:#42b75b}.oppHpText{font-size:9px;text-align:right;color:#eee}
.oppControls{display:grid;grid-template-columns:1fr 42px 36px;gap:3px;margin-top:6px}.oppControls input,.oppControls button{min-width:0;font-size:10px;padding:4px;border-radius:4px;border:1px solid #626b7b;background:#111a28;color:#fff}
@media(max-width:700px){#onlinePartyPanel{left:5px;top:60px;width:165px;transform:scale(.92);transform-origin:top left}}

/* v7.33 UID friends */
.friendSystem{display:grid;gap:10px}.friendAdd{padding:10px;border:1px solid #53627b;border-radius:9px;background:#0d1521}.friendAdd>b{color:#f1ce62}.friendAdd>div{display:grid;grid-template-columns:1fr auto;gap:6px;margin:7px 0}.friendAdd input{min-width:0;height:38px;padding:0 9px;border:1px solid #657792;border-radius:6px;background:#08101b;color:#fff}.friendAdd button,.friendRow button{border:1px solid #657792;border-radius:6px;background:#20314a;color:#fff;font-weight:800;padding:6px 9px}.friendAdd small,.friendRow small{display:block;color:#91a0b5;font-size:9px}.friendList{display:grid;gap:6px;max-height:52vh;overflow:auto}.friendRow{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:8px;border:1px solid #3d4c62;border-radius:8px;background:#101927}.friendRow b{color:#eef4ff}.friendRow .danger{background:#3b1d22;border-color:#80515a}.friendEmpty{padding:18px;text-align:center;color:#91a0b5;border:1px dashed #46546a;border-radius:8px}

/* v7.34 guild system */
.guildSystem{display:grid;gap:10px}.guildCreate,.guildHead,.guildInvite{padding:10px;border:1px solid #665a38;border-radius:9px;background:#101927}.guildCreate h3,.guildHead h3{margin:0;color:#f1ce62}.guildCreate p{color:#bdc8d8}.guildCreate input,.guildInvite input{height:40px;padding:0 9px;border:1px solid #657792;border-radius:6px;background:#08101b;color:#fff}.guildCreate button,.guildInvite button,.guildMember button{min-height:36px;border:1px solid #657792;border-radius:6px;background:#20314a;color:#fff;font-weight:800;padding:5px 8px}.guildCreate{display:grid;gap:8px}.guildHead{display:flex;justify-content:space-between;align-items:center}.guildHead span{color:#d9e1ee}.guildInvite{display:grid;grid-template-columns:1fr auto;gap:6px}.guildRoster{display:grid;gap:6px;max-height:52vh;overflow:auto}.guildMember{display:grid;grid-template-columns:minmax(120px,1fr) auto auto auto;gap:5px;align-items:center;padding:8px;border:1px solid #3d4c62;border-radius:8px;background:#101927}.guildMember.leader{border-color:#c9a944}.guildMember.deputy{border-color:#8b78b7}.guildMember b{color:#eef4ff}.guildMember.leader b{color:#ffd84a}.guildMember small{display:block;color:#91a0b5;font-size:9px}.guildMember .danger{background:#3b1d22;border-color:#80515a}@media(max-width:700px){.guildMember{grid-template-columns:1fr auto}.guildMember>div{grid-column:1/-1}}


/* v7.35 Enchanter NPC */
#subMenu.enchantMode{width:min(430px,88vw)}
.enchantNpcPanel{display:flex;flex-direction:column;gap:10px}
.enchantIntro{padding:10px;border:1px solid #806d3e;border-radius:10px;background:#17140f}
.enchantIntro h3{margin:0 0 5px;color:#ffe08a}.enchantIntro p{margin:0 0 4px}.enchantIntro small{opacity:.72}
.enchantEquipList{display:flex;flex-direction:column;gap:7px;max-height:320px;overflow:auto}
.enchantEquipRow{display:flex;align-items:center;gap:10px;text-align:left;padding:9px;border:1px solid #625738;border-radius:9px;background:#211d15;color:#f5eed8;cursor:pointer}
.enchantEquipRow>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid #7b6840;border-radius:7px;background:#111}
.enchantEquipRow div{display:flex;flex-direction:column}.enchantEquipRow small{opacity:.7}.enchantEquipRow:hover{border-color:#d4b45b;background:#2a2418}
.enchantInfoBox,.enchantEmpty{padding:11px;border-radius:9px;background:#101116;border:1px solid #3b3d46;color:#ddd}.enchantInfoBox b{color:#ffe08a}


/* v7.40 Equipment image + enhancement / option forge */
.equipSlot{position:relative;overflow:hidden;cursor:pointer}
.equipSlot.filled{border-color:#6a7890;background:linear-gradient(145deg,#172234,#0a1019)}
.equipSlotVisual{width:100%;height:calc(100% - 18px);display:grid;place-items:center;min-height:0}
.equipSlotVisual .itemThumb{width:72%;height:72%;max-width:58px;max-height:58px;object-fit:contain;border-radius:6px;image-rendering:auto}
.equipSlotVisual .itemIcon{font-size:30px}
.equipPlus{font-size:24px;color:#5c6a7d}
.equipEnhanceBadge,.itemEnhanceBadge{position:absolute;right:3px;top:3px;padding:1px 4px;border-radius:5px;background:#251d08e8;border:1px solid #e5be50;color:#ffe47d;font-size:9px;font-weight:900;z-index:2}
.equipSlot small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 3px}
.equipmentInspectBox{margin-top:9px;padding:10px;border:1px solid #3f4d62;border-radius:9px;background:#0c131f;min-height:48px;color:#dbe5f3}
.equipInspectEmpty{font-size:9px;color:#7f90a8}
.equipInspectHead{display:grid;grid-template-columns:54px minmax(0,1fr);gap:9px;align-items:center}
.equipInspectHead .itemThumb{width:52px;height:52px;object-fit:contain;background:#070b12;border:1px solid #465773}
.equipInspectHead .itemIcon{font-size:32px;display:grid;place-items:center;width:52px;height:52px}
.equipInspectHead b{display:block;color:#ffe08a;font-size:13px}.equipInspectHead small{display:block;color:#8fa0b8;font-size:8px;margin-top:2px}
.equipInspectStats{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.equipInspectStats span{font-size:8px;padding:4px 6px;border:1px solid #34445b;border-radius:5px;background:#111a27}
.equipInspectStats .enhanceBonus{border-color:#806d3e;color:#ffe08a}
.equipOptionBox{display:grid;gap:4px;margin-top:8px}.equipOptionBox>strong{font-size:9px;color:#b9c8db}
.equipOptionLine{display:flex;justify-content:space-between;gap:8px;padding:5px 7px;border:1px solid #334157;border-radius:6px;background:#101927;font-size:8px}.equipOptionLine.empty{opacity:.55}.equipOptionLine.filled b{color:#f5f7fb}.equipOptionLine.rateOption{border-color:#8d7228;background:#211b0d}.equipOptionLine.rateOption b{color:#ffd85a;text-shadow:0 0 8px #f6bd2c55}

#subMenu.enchantMode{width:min(660px,94vw);max-height:92vh}
#subMenu.enchantMode .subWindow{max-height:92vh}
#subMenu.enchantMode #subMenuBody{overflow:auto;max-height:calc(92vh - 62px)}
.enchantTabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.enchantTabs button{min-height:42px;border:1px solid #4b5361;border-radius:8px;background:#111722;color:#aeb8c7;font-weight:900;cursor:pointer}
.enchantTabs button.active{border-color:#d4b45b;background:#2a2418;color:#ffe08a;box-shadow:inset 0 0 14px #c89a2633}
.enchantWork{padding:10px;border:1px solid #4b4639;border-radius:10px;background:#111318;display:grid;gap:10px}
.enchantWorkTitle{display:flex;justify-content:space-between;align-items:center;gap:8px}.enchantWorkTitle b{font-size:13px;color:#ffe08a}.enchantWorkTitle span{font-size:8px;color:#8f9aab;text-align:right}
.enchantSlotsRow{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:8px;align-items:center}
.enchantMainSlot,.enchantResultSlot,.enchantBoosterSlot{min-height:112px;border:2px dashed #5b6575;border-radius:10px;background:#0b1018;display:grid;place-items:center;padding:8px;text-align:center}
.enchantMainSlot{border-color:#9c8242}.enchantMainSlot:hover,.enchantBoosterSlot:hover{background:#131a24}
.enchantResultSlot{border-style:solid;border-color:#354155}.enchantResultSlot b{color:#ffe08a}.enchantResultSlot span,.enchantResultSlot small{display:block;color:#aeb9c8;font-size:9px;margin-top:4px}
.enchantArrow{text-align:center;color:#d4b45b;font-size:22px}
.enchantTargetVisual{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:8px;align-items:center;width:100%;text-align:left}
.enchantTargetVisual .itemThumb{width:54px;height:54px;object-fit:contain;background:#070b12}.enchantTargetVisual .itemIcon{font-size:31px;display:grid;place-items:center;width:54px;height:54px}
.enchantTargetVisual b{color:#f5eed8}.enchantTargetVisual small{grid-column:2;color:#8796aa;font-size:7.5px;line-height:1.3;max-height:32px;overflow:hidden}
.enchantLvBadge{position:absolute;left:34px;top:0;padding:1px 4px;border-radius:4px;background:#2b210a;border:1px solid #d4b45b;color:#ffe08a;font-size:9px;font-weight:900}
.enchantDropEmpty b{display:block;color:#b8c3d1}.enchantDropEmpty small{display:block;font-size:8px;color:#66758a;margin-top:3px}
.enchantBoosterSection{display:grid;gap:6px}.enchantBoosterSection>label{font-size:9px;color:#c8d2df;font-weight:800}.enchantBoosterSlot{min-height:78px;border-color:#4d657f}
.boostText{font-size:8px;color:#8fe3a0}.boostText.muted{color:#718095}.boosterMiniList{display:flex;gap:5px;flex-wrap:wrap}.boosterMini{display:flex;align-items:center;gap:4px;border:1px solid #38506a;border-radius:6px;padding:4px 6px;background:#0c1520;font-size:8px;cursor:grab}.boosterMini .itemThumb{width:25px;height:25px}.boosterMini .itemIcon{font-size:18px}
.enchantActions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.enchantActions button{min-height:40px;border-radius:8px;font-weight:900;cursor:pointer}.enchantActions button.ghost{border:1px solid #596678;background:#151b24;color:#c4cedb}.enchantActions button.primary{border:1px solid #b9953c;background:#4a3511;color:#ffe9a2}.enchantActions button:disabled{opacity:.4;cursor:not-allowed}
.enchantMoney{text-align:right;font-weight:900;color:#f4d46b}
.enchantCurrentInfo{padding-top:4px;border-top:1px solid #2e3540}
.enchantSource{display:grid;gap:6px}.enchantSource h4{margin:2px 0;color:#cbd5e2;font-size:10px}.enchantSourceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:210px;overflow:auto}
.enchantSourceItem{display:grid;grid-template-columns:42px minmax(0,1fr);gap:7px;align-items:center;padding:6px;border:1px solid #39485d;border-radius:8px;background:#0d1521;cursor:grab;min-width:0}.enchantSourceItem .itemThumb{width:40px;height:40px;object-fit:contain}.enchantSourceItem .itemIcon{width:40px;height:40px;display:grid;place-items:center;font-size:24px}.enchantSourceItem b,.enchantSourceItem small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enchantSourceItem b{color:#e9eef5;font-size:9px}.enchantSourceItem small{color:#77879d;font-size:7.5px;margin-top:2px}
.optionTargetRow{grid-template-columns:1fr}.optionTargetRow .enchantMainSlot{max-width:360px;width:100%;justify-self:center}
.optionSlots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.optionSlot{min-height:88px;padding:8px;border:1px solid #455266;border-radius:8px;background:#0d1521;color:#aeb9c8;cursor:pointer}.optionSlot.selected{border:2px solid #d4b45b;background:#211d15}.optionSlot.filled b{color:#83e7a2}.optionSlot span,.optionSlot b,.optionSlot small{display:block}.optionSlot span{font-size:8px}.optionSlot b{font-size:10px;margin:7px 0}.optionSlot small{font-size:7px;color:#6f7e92}
.optionRuleHint{padding:7px 9px;border:1px solid #3e4b5e;border-radius:7px;background:#0d1521;font-size:8px;color:#c7d1df;line-height:1.45}.optionRollSummary{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:7px;background:#0b111a;font-size:9px;color:#9eacbf}.optionRollSummary b{color:#ffe08a}

@media(max-width:620px){
 #subMenu.enchantMode{width:96vw}
 .enchantSlotsRow{grid-template-columns:1fr}.enchantArrow{transform:rotate(90deg)}
 .enchantSourceGrid{grid-template-columns:1fr}
 .optionSlots{grid-template-columns:1fr}.optionSlot{min-height:66px}
 .enchantWorkTitle{align-items:flex-start;flex-direction:column}.enchantWorkTitle span{text-align:left}
 .equipSlotVisual .itemThumb{width:68%;height:68%}
}

/* v7.42 custom item hover/touch information card */
.equipInspectDesc{margin-top:8px;padding-top:7px;border-top:1px solid #2d394a;color:#aeb9c9;font-size:8px;line-height:1.55}
.itemHoverTooltip{position:fixed;z-index:99999;display:none;width:min(350px,calc(100vw - 20px));max-height:min(72vh,560px);overflow:auto;padding:10px;border:1px solid #bd963c;border-radius:10px;background:linear-gradient(180deg,#121925 0%,#080d14 100%);box-shadow:0 12px 36px #000c,0 0 24px #c8942638;color:#f5f7fb;pointer-events:none;isolation:isolate}
.itemHoverTooltip.show{display:block}
.itemHoverTooltip.pinned{left:50%!important;top:50%!important;transform:translate(-50%,-50%);pointer-events:auto}
.itemHoverTooltip:before{content:'';position:absolute;inset:3px;border:1px solid #5d4d2b;border-radius:7px;pointer-events:none}
.itemHoverCap{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:-2px -1px 8px;padding:2px 3px 7px;border-bottom:1px solid #5e4a25;color:#d8c48c;font-size:8px;font-weight:900;letter-spacing:.08em}
.itemHoverClose{width:25px;height:25px;border:1px solid #876e39;border-radius:5px;background:#1e1a13;color:#ffe29a;font-size:18px;line-height:20px;cursor:pointer}
.itemHoverTooltip .equipInspectHead,.itemHoverTooltip .equipInspectStats,.itemHoverTooltip .equipOptionBox,.itemHoverTooltip .equipInspectDesc{position:relative;z-index:1}
.itemHoverTooltip .equipInspectHead{grid-template-columns:68px minmax(0,1fr)}
.itemHoverTooltip .equipInspectHead .itemThumb,.itemHoverTooltip .equipInspectHead .itemIcon{width:66px;height:66px;border-color:#9f7d31;box-shadow:0 0 14px #d6a8323d}
.itemHoverTooltip .equipInspectHead b{font-size:14px;color:#ffe28a;text-shadow:0 0 8px #dca92944}
.itemHoverTooltip .equipInspectHead small{font-size:8px;color:#b7c1d0;line-height:1.45}
.itemHoverTooltip .equipInspectStats{display:grid;grid-template-columns:1fr;gap:3px}
.itemHoverTooltip .equipInspectStats span{border:0;border-bottom:1px solid #253247;border-radius:0;background:transparent;padding:4px 3px;color:#f5f7fb;font-size:9px}
.itemHoverTooltip .equipInspectStats .enhanceBonus{border:1px solid #6e5729;border-radius:5px;background:#18140c;color:#ffe08a;padding:5px 7px}
.itemHoverTooltip .equipOptionBox>strong{color:#d7dfeb;font-size:9px}
.itemHoverTooltip .equipOptionLine{font-size:9px;min-height:28px;align-items:center}
.itemHoverTooltip .equipOptionLine>span{color:#9eacbd}
.itemHoverTooltip .equipOptionLine.filled b{color:#fff}
.itemHoverTooltip .equipOptionLine.rateOption b{color:#ffd85a}
@media(max-width:620px){.itemHoverTooltip{width:min(92vw,390px);max-height:70vh}.itemHoverTooltip.pinned{top:52%!important}.itemHoverTooltip .equipInspectHead{grid-template-columns:58px minmax(0,1fr)}.itemHoverTooltip .equipInspectHead .itemThumb,.itemHoverTooltip .equipInspectHead .itemIcon{width:56px;height:56px}}

/* v7.43 refine enchant / option UI + transparent item art */
.itemThumb{background-color:transparent!important;object-fit:contain!important;image-rendering:auto}
.shopItem .itemThumb,.accountSlot .itemThumb,.reviewRow .itemThumb,.sellDialogItem .itemThumb,.equipInspectHead .itemThumb,.enchantTargetVisual .itemThumb,.boosterMini .itemThumb,.enchantSourceItem .itemThumb{background-color:transparent!important;object-fit:contain!important}
.equipInspectHead .itemThumb,.enchantTargetVisual .itemThumb{border-radius:8px}

.upgradeWork,.optionWork{background:linear-gradient(180deg,#121720 0%,#0b1018 100%);border:1px solid #6f5a2c;box-shadow:inset 0 0 0 1px #2a2620,0 12px 24px #00000033}
.forgeHero{display:grid;place-items:center;padding:4px 0}
.forgeCenterSlot{width:min(100%,390px);min-height:120px;box-shadow:0 0 0 1px #7f6331,inset 0 0 24px #f0b6291a,0 0 18px #c98c2030}
.rateRow{display:grid;grid-template-columns:1fr 44px 1fr;gap:8px;align-items:center}
.rateVs{text-align:center;font-size:11px;font-weight:900;color:#b79a5a}
.rateCard{padding:10px 12px;border:1px solid #49556a;border-radius:10px;background:#0d1420;text-align:center;display:grid;gap:4px}
.rateCard span{font-size:9px;color:#aeb9c8;letter-spacing:.04em}
.rateCard b{font-size:19px}
.rateCard.success{border-color:#7a6b3a;background:linear-gradient(180deg,#1b1a11,#0d1420)}
.rateCard.success b{color:#ffe08a}
.rateCard.fail{border-color:#6b3c42;background:linear-gradient(180deg,#1b1214,#0d1420)}
.rateCard.fail b{color:#ff9393}
.enhancePreview{padding:10px 12px;border:1px solid #374357;border-radius:10px;background:#0a0f16;display:grid;gap:4px;text-align:center}
.enhancePreview b{color:#f5e9c8;font-size:13px}.enhancePreview span{color:#9ba7b7;font-size:9px}
.materialCard{display:grid;gap:8px;padding:10px;border:1px solid #4a5467;border-radius:10px;background:#0d1521}
.materialHead{display:flex;justify-content:space-between;gap:8px;align-items:center}.materialHead b{color:#e9d8a0}.materialHead small{font-size:8px;color:#94a2b6;text-align:right}
.boosterEmpty{color:#75849a;font-size:8px}
.optionMaterialCard .enchantDropEmpty{min-height:54px;display:grid;place-items:center}
.autoOptionBooster{display:grid;gap:6px}
.autoOptionBoostFill{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid #50627a;border-radius:8px;background:#0b111a}
.autoOptionBoostFill b{display:block;color:#eef3fa;font-size:10px}.autoOptionBoostFill small{display:block;color:#93a2b8;font-size:8px;line-height:1.4}.autoOptionBoostFill>span{color:#ffe08a;font-weight:900}
.autoOptionBoostFill .itemThumb,.autoOptionBoostFill .itemIcon{width:40px;height:40px}
.optionSlotsLong{grid-template-columns:1fr!important;gap:6px}
.optionStrip{min-height:58px;padding:8px 10px;display:grid;grid-template-columns:70px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:3px;text-align:left}
.optionStrip span{grid-column:1;font-size:8px;color:#95a3b7;align-self:center}
.optionStrip b{grid-column:2;font-size:11px;margin:0;color:#ffffff;align-self:center}
.optionStrip small{grid-column:2;font-size:7.5px;color:#6f7e92}
.optionStrip.selected{border:2px solid #d4b45b;background:linear-gradient(180deg,#241f14,#101826)}
.optionStrip.rateLine{border-color:#876c28;background:linear-gradient(180deg,#1e1709,#0d1521)}
.optionStrip.rateLine b{color:#ffd85a}
.optionRuleHint{font-size:8px;line-height:1.5}
.optionRollSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.optionRollSummary span{display:flex;justify-content:space-between;gap:6px;padding:7px 9px;border-radius:7px;background:#0b111a;border:1px solid #273244}

@media(max-width:620px){
  .rateRow{grid-template-columns:1fr;}.rateVs{display:none}
  .optionRollSummary{grid-template-columns:1fr}
  .optionStrip{grid-template-columns:56px minmax(0,1fr)}
  .materialHead{flex-direction:column;align-items:flex-start}.materialHead small{text-align:left}
}

/* v7.44 enhancement result FX */
.forgeHero{position:relative;isolation:isolate}
.enhanceFx .forgeCenterSlot{position:relative;z-index:2}
.enhanceFxSuccess .forgeCenterSlot{animation:enchantSuccessWhiteGlow 1.12s ease-out both}
.enhanceFxFail .forgeCenterSlot{animation:enchantFailRedGlow 1.12s ease-out both}
.enhanceFx:before,.enhanceFx:after{content:'';position:absolute;left:50%;top:50%;width:min(92%,430px);height:92%;transform:translate(-50%,-50%) scale(.72);border-radius:18px;pointer-events:none;z-index:1;opacity:0}
.enhanceFxSuccess:before{border:2px solid rgba(255,255,255,.96);box-shadow:0 0 20px #fff,0 0 42px rgba(255,255,255,.9),0 0 78px rgba(220,235,255,.65);animation:enchantRingWhite 1.05s ease-out both}
.enhanceFxSuccess:after{background:radial-gradient(circle,rgba(255,255,255,.72) 0%,rgba(236,244,255,.26) 38%,rgba(255,255,255,0) 72%);filter:blur(4px);animation:enchantFlashWhite .9s ease-out both}
.enhanceFxFail:before{border:2px solid rgba(255,58,58,.96);box-shadow:0 0 18px #ff3232,0 0 38px rgba(255,40,40,.76),0 0 68px rgba(170,0,0,.55);animation:enchantRingRed 1.05s ease-out both}
.enhanceFxFail:after{background:radial-gradient(circle,rgba(255,50,50,.58) 0%,rgba(155,0,0,.24) 40%,rgba(255,0,0,0) 72%);filter:blur(4px);animation:enchantFlashRed .9s ease-out both}
.enhanceResultBurst{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;pointer-events:none;text-align:center;text-shadow:0 2px 5px #000,0 0 16px currentColor;animation:enchantResultText 1.08s ease-out both}
.enhanceResultBurst b{display:block;font-size:19px;letter-spacing:.12em}.enhanceResultBurst span{display:block;margin-top:2px;font-size:9px;font-weight:900}
.enhanceFxSuccess .enhanceResultBurst{color:#fff}.enhanceFxFail .enhanceResultBurst{color:#ff6666}
@keyframes enchantSuccessWhiteGlow{0%{box-shadow:0 0 0 1px #7f6331,inset 0 0 10px rgba(255,255,255,0);filter:brightness(1)}18%{box-shadow:0 0 20px #fff,0 0 48px rgba(255,255,255,.95),0 0 82px rgba(210,230,255,.7),inset 0 0 30px rgba(255,255,255,.5);filter:brightness(1.7)}55%{box-shadow:0 0 14px rgba(255,255,255,.9),0 0 34px rgba(225,240,255,.7),inset 0 0 18px rgba(255,255,255,.24);filter:brightness(1.25)}100%{box-shadow:0 0 0 1px #7f6331,inset 0 0 24px #f0b6291a,0 0 18px #c98c2030;filter:brightness(1)}}
@keyframes enchantFailRedGlow{0%{box-shadow:0 0 0 1px #7f6331;filter:brightness(1)}18%{box-shadow:0 0 22px #ff3030,0 0 48px rgba(255,22,22,.78),inset 0 0 32px rgba(255,0,0,.32);filter:brightness(1.28)}38%{transform:translateX(-4px)}48%{transform:translateX(4px)}58%{transform:translateX(-2px)}100%{box-shadow:0 0 0 1px #7f6331,inset 0 0 24px #f0b6291a,0 0 18px #c98c2030;filter:brightness(1);transform:translateX(0)}}
@keyframes enchantRingWhite{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}
@keyframes enchantRingRed{0%{opacity:0;transform:translate(-50%,-50%) scale(.76)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}
@keyframes enchantFlashWhite{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}16%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}
@keyframes enchantFlashRed{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}18%{opacity:.95}100%{opacity:0;transform:translate(-50%,-50%) scale(1.2)}}
@keyframes enchantResultText{0%{opacity:0;transform:translate(-50%,-35%) scale(.72)}20%{opacity:1;transform:translate(-50%,-55%) scale(1.08)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-82%) scale(.98)}}


/* v7.62 Quest journal + selective left-side tracker */
#questTracker{display:none;position:fixed;left:12px;top:84px;width:245px;z-index:54;padding:8px;background:rgba(7,12,20,.82);border:1px solid rgba(241,206,98,.55);border-radius:9px;box-shadow:0 8px 24px #0009;backdrop-filter:blur(3px);color:#fff;font:11px Arial,sans-serif;pointer-events:none}
#questTracker.show{display:block}.online-party-active #questTracker{top:300px}
.qtHead{font-weight:900;color:#f1ce62;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:5px;margin-bottom:4px;letter-spacing:.2px}.qtList{display:grid;gap:5px}.qtRow{padding:4px 2px}.qtRow b{display:block;color:#eef4ff;font-size:11px}.qtRow span{display:block;color:#aebbd0;font-size:9px;line-height:1.25;margin:2px 0}.qtRow>div{height:5px;background:#16202f;border:1px solid #26364d;border-radius:4px;overflow:hidden}.qtRow>div i{display:block;height:100%;background:linear-gradient(90deg,#c79d32,#f5dc6b)}.qtRow small{display:block;text-align:right;color:#d6dfed;font-size:8px;margin-top:1px}.qtRow.done b,.qtRow.done small{color:#8ff09d}.qtRow.done>div i{background:linear-gradient(90deg,#42a85c,#91f2a2)}
#subMenu.questMode .subWindow{width:min(720px,92vw);max-height:min(760px,90vh)}#subMenu.questMode #subMenuBody{overflow:auto;max-height:calc(90vh - 86px)}.questJournal{display:grid;gap:10px}.questIntro{padding:10px;border:1px solid #5a5033;border-radius:9px;background:#0b1420}.questIntro b{display:block;color:#f1ce62;font-size:15px}.questIntro span{display:block;color:#aebbd0;font-size:10px;margin-top:3px}.questCards{display:grid;gap:8px}.questCard{padding:11px;border:1px solid #3d4c62;border-radius:10px;background:#0d1624}.questCard.complete{border-color:#4c8d5a;box-shadow:inset 0 0 18px #214c2b44}.questTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.questTop h3{margin:0!important;color:#eef4ff;font-size:14px}.questTop small{display:block;color:#8f9db1;font-size:9px;margin-top:2px}.questTrackToggle{display:flex;align-items:center;gap:5px;white-space:nowrap;color:#d6dfed;font-size:9px;cursor:pointer}.questTrackToggle input{accent-color:#f1ce62;width:16px;height:16px}.questCard p{margin:8px 0!important;color:#c5cfdd!important;font-size:11px}.questProgress{position:relative;height:16px;border:1px solid #35465f;border-radius:7px;overflow:hidden;background:#07101b}.questProgress i{display:block;height:100%;background:linear-gradient(90deg,#80651f,#e0b83e)}.questCard.complete .questProgress i{background:linear-gradient(90deg,#2d7d44,#67d97c)}.questProgress span{position:absolute;inset:0;display:grid;place-items:center;font:800 9px Arial;color:#fff;text-shadow:0 1px 2px #000}.questReward{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;color:#cbd6e5;font-size:9px}.questReward button{min-height:32px;padding:0 12px;border:1px solid #6da878;border-radius:6px;background:#1c4b2b;color:#d9ffe0;font-weight:900;cursor:pointer}.questReward em{font-style:normal;color:#8f9db1}.questHistory{border:1px solid #34445b;border-radius:8px;background:#0b1320;padding:8px}.questHistory summary{cursor:pointer;color:#b9c7da;font-weight:800}.questHistory>div{display:flex;justify-content:space-between;gap:10px;padding:6px 3px;border-top:1px solid #263348;margin-top:5px;font-size:9px}.questHistory b{color:#8fe39b}.questHistory span{color:#8898ae}.questEmpty{text-align:center;padding:20px;color:#8997aa;border:1px dashed #3e4b5f;border-radius:8px}
@media(max-width:700px){#questTracker{left:5px;top:62px;width:min(205px,54vw);padding:6px}.online-party-active #questTracker{top:238px}.qtHead{font-size:10px}.qtRow b{font-size:9px}.qtRow span{font-size:7px}.qtRow small{font-size:7px}#subMenu.questMode .subWindow{width:94vw;max-height:86vh}.questTop{gap:5px}.questTop h3{font-size:12px}.questTrackToggle span{font-size:8px}.questReward{align-items:flex-start;flex-direction:column}.questReward button{width:100%}}

/* v7.67 character collection and Bidel */
.partyPick .teamAssign{display:block;width:100%;background:transparent;border:0;color:inherit;padding:8px;cursor:pointer}.partyPick .teamAssign b,.partyPick .teamAssign span{display:block}.teamRemove{padding:4px 10px;background:#482d24;color:#ffe6a3;border:1px solid #b98745;border-radius:5px}.selectAvatar img{width:100%;height:100%;object-fit:contain}.charSelectSlot.empty{cursor:pointer}.certificateDrop{min-height:150px;border:2px dashed #c49a60;border-radius:12px;background:#111d2d;padding:16px;margin:12px 0;text-align:center}.certificateDrop img{height:110px;display:block;margin:auto}.certificateDrop p,.certificateList p{font-size:13px;line-height:1.6;color:#e2d4b8}.certificateList{display:grid;gap:12px;margin-top:15px}.certificateList>div{border:1px solid #90714a;background:#152334;padding:12px;border-radius:8px;cursor:grab}.bidelRecruit button{padding:10px 18px;margin:4px;border-radius:7px;background:#77552c;color:white;border:1px solid #d3ab68}.bidelRecruit button:disabled{opacity:.45}.bidelRecruit{max-width:600px;color:#ffe6b2}

/* Independent inventory: NPC menus stay open while dragging items. */
#accountBagWindow{position:absolute;left:12px;bottom:92px;width:min(430px,46vw);z-index:75;display:none;pointer-events:none;touch-action:none}
#accountBagWindow.open{display:block}
#accountBagWindow .subWindow{pointer-events:auto;width:100%;box-sizing:border-box;max-height:72vh;overflow:auto}
#accountBagBody{touch-action:auto}
@media(max-width:760px){#accountBagWindow{left:5px;bottom:82px;width:46vw}#accountBagWindow .subWindow{max-height:65vh}}

.cashShop{display:grid;gap:12px}.cashWallet{display:flex;align-items:center;gap:12px;padding:14px;background:#071321;border:1px solid #b89542;border-radius:10px}.cashWallet img{width:52px;height:52px;object-fit:contain}.cashWallet small{display:block;color:#aebdd2}.cashWallet strong{color:#ffdb78;font-size:21px}.cashHint{font-size:12px;line-height:1.5}.cashProduct{display:flex;align-items:center;gap:14px;padding:12px;background:#172338;border:1px solid #4d6281;border-radius:10px}.cashProduct>.itemThumb{width:90px;height:90px;object-fit:contain;flex-shrink:0}.cashProduct h3{color:#ffdb78;margin:0}.cashProduct p{font-size:12px;line-height:1.6}.cashPrice{color:#ffe49d;font-size:18px}.cashShop button{padding:12px;border-radius:8px;border:1px solid #bda563;color:#fff0bb;background:#4e3b18;cursor:pointer}.cashShop button:disabled{opacity:.45;cursor:default}.cashReview{padding:12px;border:1px solid #bda563;border-radius:8px}.cashReview button{margin-right:8px}.cashOwned{color:#ffbb85!important}

.potionIcon .itemThumb{width:27px;height:27px;object-fit:contain}
/* v7.74 classic fantasy windows, inspired by supplied UI references. */
#accountBagWindow,#characterModal,#subMenu.cashMode{font-family:Tahoma,Arial,sans-serif;color:#ece6d7}
#accountBagWindow{width:330px;max-width:46vw;left:auto;right:12px;bottom:92px}
#characterModal{width:520px;max-width:48vw}
#accountBagWindow .subWindow,#characterModal .charWindow,#subMenu.cashMode .subWindow{border:2px solid #8d8261;border-radius:2px;background:linear-gradient(120deg,#252521f5,#171918f8);padding:7px;box-shadow:0 8px 25px #000c,inset 0 0 0 1px #393d36;box-sizing:border-box;overflow:auto}
#accountBagWindow .windowDragHandle,#characterModal .charDragHandle,#subMenu.cashMode .windowDragHandle{min-height:29px;padding:2px 31px 3px 4px;margin:-5px -5px 6px;border-bottom:2px solid #5d5a46;background:linear-gradient(180deg,#77715a66,#181b1bbb),repeating-linear-gradient(115deg,transparent 0 8px,#d7c99509 8px 9px);box-shadow:inset 0 1px #b0a27a55;cursor:move}
#accountBagWindow h2,#characterModal h2,#subMenu.cashMode #subMenuTitle{font-size:14px;color:#e9e2d0;margin:0;line-height:25px;text-shadow:1px 1px #000;font-weight:400}
#accountBagWindow .closeSub,#characterModal .closeChar,#subMenu.cashMode .closeSub{right:4px;top:3px;width:23px;height:23px;line-height:18px;min-height:0;padding:0;border:1px solid #aaa083;border-radius:0;background:#30352d;color:#e7dcc5;font-size:20px}
.classicTabs{display:flex;gap:2px;border-bottom:1px solid #6c6957;margin:0 0 6px;flex-wrap:wrap}
.classicTabs button{border:1px solid #68685c;border-bottom:0;border-radius:2px 2px 0 0;padding:5px 10px;background:linear-gradient(#40403a,#222522);color:#ede9dd;font-size:11px;min-height:26px;cursor:pointer;box-shadow:inset 0 1px #aaa18a22}
.classicTabs button.active{background:linear-gradient(#b39a69,#6f5c38);color:#fff7df;border-color:#bdb08f;text-shadow:1px 1px #392b12}
.classicTabs button:hover{filter:brightness(1.2)}
.classicBag{gap:5px}.bagControls{display:flex;align-items:center;gap:8px;font-size:12px}.bagControls label{display:flex;align-items:center;justify-content:space-between;width:100%;padding:3px 5px;border:1px solid #777264;background:#121513}.bagControls select{background:#20241f;color:#ddd7c4;border:1px solid #79735d;width:135px}
.bagScroll{height:320px;max-height:39vh;overflow-y:auto;border:1px solid #77705b;background:radial-gradient(ellipse at 30% 100%,#3d443523,transparent 60%),#171a17;scrollbar-color:#83795b #20241d}
.classicBag .accountBagGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding:5px;align-content:start}
.classicBag .accountSlot{border:1px solid transparent;border-radius:0;background:none;box-shadow:none;aspect-ratio:1;min-height:0;cursor:grab}.classicBag .accountSlot:hover{border-color:#c4b887;background:#a1914d15}.classicBag .accountSlot.empty:after{content:none}.classicBag .accountSlot .itemThumb{width:90%;height:90%;object-fit:contain}.classicBag .itemQty{right:3px;top:auto;bottom:0;background:none;font-size:12px;text-shadow:1px 1px 2px #000,-1px -1px #000;padding:0;color:#eee3c3}.classicBag .itemName{display:none}.classicBag.showDetails .itemName{display:block;font-size:8px;background:#10130ce3}.classicBag.showDetails .itemQty{bottom:auto;top:0}
.bagSearch{display:flex;gap:4px;padding:4px 0;border-top:1px solid #615f4b}.bagSearch label{display:flex;gap:6px;align-items:center;flex:1;font-size:12px}.bagSearch input{width:100%;min-width:0;background:#161a16;border:1px solid #837964;color:#fff;padding:4px}.bagSearch button{background:#272e25;border:1px solid #978d71;color:#dfd7c1;width:24px}.bagFooter{display:flex;justify-content:space-between;gap:5px;font-size:10px;padding:4px 1px}.bagFooter label{display:flex;align-items:center;gap:3px;margin:3px 0}.bagFooter input{accent-color:#a48b54}.bagFooter small{display:block;color:#beb9a6;font-size:10px}.bagMoney{text-align:right;max-width:46%}.bagMoney b{display:block;color:#edc849;font-size:12px}.bagMoney span{display:block;color:#8dd95e;margin-top:5px}.bagMoney small{font-size:9px;margin-top:8px;line-height:1.4}
.classicCharacter .charHeader{padding:0;border:0}.classicCharacterName{padding:4px 0 8px;text-align:center;color:#dcba73;font-size:15px}.characterBaseStats{display:flex;justify-content:space-around;flex-wrap:wrap;gap:5px;padding:4px 0 8px;border-bottom:1px solid #7c735b;font-size:11px}.characterBaseStats b{color:#ff9956;padding-left:3px}.classicCharColumns{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:8px;margin-top:5px}.classicSummary{border-right:1px solid #686b59;padding-right:8px}.classicCharacter h3{font-size:12px;color:#d7ba7e;margin:5px 0;font-weight:400}.classicStatPair{display:flex;justify-content:space-between;font-size:11px;gap:4px;padding:5px 3px}.classicStatPair span{color:#f0d99c}.classicStatPair b{font-weight:400;color:#f5f2e8}.classicCharacter .ratingPair{border:0;border-radius:0;background:none;padding:0;display:block}.classicCharacter .ratingPair>div{display:flex;justify-content:space-between;border:0;background:none;padding:4px}.classicCharacter .ratingPair span{color:#f0d99c;font-size:11px}.classicCharacter .ratingPair b{font-size:12px;color:#fff}.classicCharacter .charHP{font-size:11px;background:none;padding:5px 3px;margin:2px 0;color:#dbbbae;border:0}.classicCharacter .elementBadge{font-size:10px}.classicEquipment h3{display:flex;justify-content:space-between}.classicCharacter .equipGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.classicCharacter .equipSlot{border:1px solid #96907d;border-radius:0;background:linear-gradient(135deg,#32362e,#111711);height:62px;min-width:0;padding:0;position:relative;overflow:hidden}.classicCharacter .equipSlotVisual{height:48px;max-height:none;display:grid;place-items:center}.classicCharacter .equipSlot .itemThumb{width:45px;height:45px;object-fit:contain}.classicCharacter .equipSlot small{font-size:7px;line-height:9px;margin:0;color:#aaa899;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.classicCharacter .equipPlus{color:#575d4a;font-size:26px}.classicCharacter .equipmentInspectBox{margin:7px 0;background:#151b15;border-color:#625f4c;border-radius:0}.classicStatUpgrade{display:block!important;border:0;padding:5px 0 0}.classicCharacter [hidden]{display:none!important}.classicUpgradeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.classicCharacter .statRow{grid-template-columns:1fr 30px 24px;background:#242920;border-color:#4e5645;border-radius:0;padding:4px;margin:0;gap:3px;font-size:10px}.classicCharacter .statRow button{height:20px;background:#3a3c29;border-color:#898064;border-radius:0}.classicCharacter .stats h3 b{font-size:11px}.classicCharacter .elementBox{font-size:11px;margin-top:5px}.classicCharacter .skillInfoPanel{background:none;border-color:#65664e;border-radius:0}.classicCharacter .skillInfoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.classicCharacter .skillInfoCard{background:#242922;border-color:#6f6d56;border-radius:0}.classicCharacter .skillInfoHead b{color:#e9cf8e;font-size:11px}
#subMenu.cashMode{width:850px;max-width:96vw;top:50px;bottom:auto;right:12px;z-index:76}#subMenu.cashMode .subWindow{max-height:82vh}.classicCash{gap:7px}.cashTop{display:grid;grid-template-columns:1.9fr 1fr;gap:7px}.cashBanner{position:relative;height:135px;border:1px solid #706850;background:radial-gradient(ellipse at 85% 60%,#8c745130,transparent 60%),linear-gradient(140deg,#30382c,#111913);overflow:hidden;padding:20px 15px;box-sizing:border-box}.cashBanner span{font:italic 25px Georgia,serif;color:#ebd08b;text-shadow:0 0 8px #b08d4b}.cashBanner strong{display:block;letter-spacing:5px;font:18px Georgia,serif;color:#f3e3bc;margin-top:7px}.cashBanner small{display:block;color:#b3ba98;font-size:10px;margin-top:10px}.cashBanner img{position:absolute;right:-12px;top:-76px;width:275px;height:275px;object-fit:contain;pointer-events:none}.cashFeatured{border:1px solid #6a6756;background:#242a21;display:grid;grid-template-columns:65px 1fr;gap:2px;padding:10px;align-content:center;text-align:center}.cashFeatured b{grid-column:1/-1;color:#87d555;font-size:12px}.cashFeatured>.itemThumb{width:64px;height:64px;grid-row:2/4;object-fit:contain}.cashFeatured span{font-size:12px;color:#d9c69c;align-self:end}.cashFeatured small{font-size:10px;color:#ccc2aa}.cashBody{display:grid;grid-template-columns:1.9fr 1fr;gap:7px}.cashCatalogGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:220px;align-content:start}.classicCash .cashProduct{display:block;padding:9px;border:1px solid #494e3c;border-radius:0;background:linear-gradient(#292f24,#20261e)}.classicCash .cashProduct h3{color:#91dc5e;font-size:12px;margin:0 0 5px;font-weight:400}.cashProductRow{display:flex;align-items:center;gap:7px}.cashProductRow>.itemThumb{width:56px;height:56px;object-fit:contain;border:1px solid #8c8164;background:#15200f}.cashProductRow small{display:block;font-size:9px;color:#c6c4ae;line-height:1.5}.classicCash .cashPrice{color:#d7c398;font-size:12px}.classicCash button{border:1px solid #8a7954;background:linear-gradient(#675c3d,#36341f);color:#ebe0b9;border-radius:1px;font-size:11px;padding:6px 9px;min-height:25px}.classicCash .cashProduct button{margin-top:7px;display:block;width:100%}.cashDescription{border:1px solid #545541;border-radius:0;padding:7px;font-size:11px}.cashDescription b{color:#d5b978;font-size:11px}.cashDescription p{font-size:10px;line-height:1.6;color:#c5c8b0!important;margin:5px 0}.cashDescription small{font-size:9px;color:#a9b499}.cashBasket{display:flex;flex-direction:column;background:#242822;border:1px solid #5d614d;padding:7px;min-width:0}.cashBasket h3{font-size:12px;background:#4b4f43;padding:4px;text-align:center;margin:0;color:#eeebdb}.cashBasketList{flex:1;min-height:170px}.cashBasketList>p{font-size:11px;text-align:center;color:#888e7c!important;margin-top:35px}.cashBasketRow{display:flex;gap:5px;align-items:center;border-bottom:1px solid #62634e;padding:7px 0}.cashBasketRow>.itemThumb{width:38px;height:38px;object-fit:contain}.cashBasketRow b{font-size:10px;color:#a9d875}.cashBasketRow small{display:block;font-size:10px;color:#ded1ad}.cashBasketRow button{margin-left:auto;padding:3px 7px}.classicCash .cashWallet{padding:6px;border:1px solid #69674f;border-radius:0;background:#1b2119;gap:6px;margin-top:8px}.classicCash .cashWallet img{width:24px;height:24px}.classicCash .cashWallet strong{font-size:12px;color:#dbc66a}.classicCash .cashWallet small{font-size:9px}.cashTotal{display:flex;justify-content:space-between;padding:8px 2px;font-size:11px;color:#dbd6c1}.cashTotal b{color:#d8c884}.classicCash .cashHint{font-size:10px;margin-top:5px}.cashEmpty{font-size:11px;color:#a2aa91;padding:16px}
@media(max-width:760px){#characterModal{width:51vw;max-width:51vw}#accountBagWindow{width:46vw;max-width:46vw;right:5px;bottom:82px}.classicCharColumns{grid-template-columns:1fr}.classicSummary{border-right:0;border-bottom:1px solid #61624e;padding-bottom:6px}.classicEquipment .equipGrid{grid-template-columns:repeat(4,1fr)}.classicCharacter .equipSlot{height:50px}.classicCharacter .equipSlot .itemThumb{width:35px;height:35px}.classicCharacterName{font-size:12px}.classicUpgradeGrid{grid-template-columns:1fr}.classicCharacter .skillInfoGrid{grid-template-columns:1fr}.bagScroll{height:280px}.bagFooter{flex-direction:column}.bagMoney{max-width:100%;text-align:left}.bagMoney small{display:none}#subMenu.cashMode{right:2vw;top:25px;width:96vw;max-width:96vw}.cashTop,.cashBody{grid-template-columns:1.5fr 1fr}.cashBanner{height:110px;padding:12px 8px}.cashBanner span{font-size:17px}.cashBanner strong{font-size:13px;letter-spacing:2px}.cashBanner img{right:-65px}.cashBanner small{max-width:55%;font-size:8px}.cashCatalogGrid{grid-template-columns:1fr;min-height:140px}.cashFeatured{grid-template-columns:1fr;padding:6px}.cashFeatured>.itemThumb{grid-row:auto;justify-self:center;width:40px;height:40px}.cashFeatured span{font-size:10px}.cashFeatured small{display:none}.cashProductRow small{font-size:8px}.cashProductRow>.itemThumb{width:42px;height:42px}.cashBasketList{min-height:120px}.classicTabs button{padding:5px 7px;font-size:10px}.cashBasketRow{flex-wrap:wrap}.cashBanner img{opacity:.7}}
/* Guild management: profile, three actions, selectable roster with role/presence. */
#subMenu.guildMode{width:710px;max-width:94vw;top:55px;bottom:auto;right:14px;z-index:77}
#subMenu.guildMode .subWindow{max-height:82vh;background:linear-gradient(135deg,#252821,#151a16);border:2px solid #98885d;border-radius:2px;padding:10px;color:#e8e3d2}
#subMenu.guildMode .windowDragHandle{background:linear-gradient(#625f4c,#292f26);border-bottom:1px solid #968561;padding:3px 32px 3px 5px;margin:-8px -8px 9px}
#subMenu.guildMode h2{font-size:15px;margin:0;color:#ede3c4}#subMenu.guildMode .closeSub{width:24px;height:24px;border-radius:0;top:3px;right:4px;font-size:20px}
.guildManager{display:grid;gap:9px}.guildManager button{border:1px solid #94825a;border-radius:2px;background:linear-gradient(#655b3b,#303523);color:#f0e3bb;padding:7px 10px;font-size:11px;cursor:pointer}.guildManager button:disabled{opacity:.4;cursor:default}.guildManager input:not([type=checkbox]):not([type=file]){background:#141b14;border:1px solid #78775e;color:#f0eddf;padding:7px;min-width:0;box-sizing:border-box}.guildManager input[type=checkbox]{accent-color:#b99956;width:15px;height:15px}
.guildManagerHead{display:grid;grid-template-columns:128px 1fr;gap:16px;border-bottom:1px solid #67684c;padding-bottom:10px}.guildEmblem{width:124px;height:124px;border:2px solid #99865a;background:radial-gradient(#515b3c,#121b14);position:relative;display:grid;place-items:center;overflow:hidden}.guildEmblem>span{font-size:70px;color:#bba56e;text-shadow:0 0 12px #e2ca7944}.guildEmblem img{width:100%;height:100%;object-fit:cover}.guildEmblemUpload{position:absolute;bottom:0;left:0;right:0;background:#111b11dd;padding:5px;color:#dbcda7;font-size:10px;text-align:center;cursor:pointer}.guildEmblemUpload input{display:none}.guildHeadInfo{display:flex;flex-direction:column;justify-content:center}.guildHeadInfo h3{color:#e1c57f;font-size:23px;margin:0 0 7px}.guildHeadInfo p{font-size:11px;color:#b5c399;margin:0 0 8px}.guildActionBar{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.guildManager .danger{border-color:#96594b;background:linear-gradient(#714838,#32251d)}
.guildInvite{display:flex;align-items:end;gap:7px;background:#242e1e;padding:8px;border:1px solid #696c4f}.guildInvite label{flex:1;font-size:11px;display:flex;gap:7px;align-items:center}.guildInvite input{width:100%}.guildRosterTools{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.guildRosterTools label{flex:1;display:flex;align-items:center;gap:5px;font-size:10px}.guildRosterTools input{width:100%}.guildRosterTools span{font-size:10px;color:#bfbd9a}.guildRosterTools button{font-size:10px;padding:5px 7px}
.guildRosterScroll{height:330px;max-height:43vh;overflow:auto;border:1px solid #9c8f6a;background:#161d16;scrollbar-color:#807651 #192015}.guildMemberTable{border-collapse:collapse;width:100%;font-size:11px}.guildMemberTable th{position:sticky;top:0;background:#3e4531;border:1px solid #92896a;color:#efe1b5;font-weight:400;text-align:left;padding:7px 6px;z-index:1}.guildMemberTable th:first-child{width:34px;text-align:center}.guildMemberTable th:last-child{width:115px}.guildMemberTable td{border-right:1px solid #555e44;border-bottom:1px solid #394530;padding:9px 6px;vertical-align:middle}.guildMemberTable td:first-child{text-align:center}.guildMemberTable td b{display:block;color:#d9d6bb}.guildMemberTable td small{display:block;font-size:9px;color:#929f7d;line-height:1.7}.guildMemberTable tr.selected{background:#6b64392e}.guildMemberTable tbody tr:hover{background:#6b77442c}.guildRoleBadge{display:inline-block;padding:2px 5px;border:1px solid #5e654b;font-size:10px;color:#c6cbaa}.guildRoleBadge.leader{border-color:#bda058;color:#efd285}.guildRoleBadge.deputy{border-color:#779476;color:#b4d89c}.guildMemberTable .guildPresence.online{color:#85d16d}.guildMemberTable .guildPresence.offline{color:#919286}.guildFeedback{padding:9px;border:1px solid #a09060;background:#353c25;color:#f0ddac;font-size:12px;line-height:1.5}.guildSelectionReview:empty{display:none}.guildSelectionReview{padding:8px;border:1px solid #aa7758;background:#2d261e;font-size:12px}.guildSelectionReview button{margin-right:6px}.guildPermissionHint,.guildOfflineHint{font-size:10px;color:#a4ad8c;line-height:1.5}.guildOfflineHint{display:block;color:#d1bd7b;margin-bottom:4px}.guildCreate{text-align:center;padding:15px 12px}.guildCreateIcon{font-size:60px;color:#cfb56f}.guildCreate h3{font-size:22px;color:#dec27c}.guildCreate p{font-size:12px}.guildNameLabel{display:flex;align-items:center;gap:7px;margin:15px auto;max-width:370px;font-size:12px}.guildNameLabel input{flex:1}.guildCreateReview{padding:12px;border:1px solid #a08953}.guildCreateReview>b{display:block;color:#ecd294;font-size:18px}.guildCreateReview button{margin:4px}
@media(max-width:700px){#subMenu.guildMode{top:30px;right:2vw;width:96vw;max-width:96vw}.guildManagerHead{grid-template-columns:88px 1fr;gap:9px}.guildEmblem{width:84px;height:84px}.guildEmblem>span{font-size:45px}.guildHeadInfo h3{font-size:18px}.guildActionBar{gap:3px;margin-top:7px}.guildActionBar button{font-size:9px;padding:5px 4px}.guildMemberTable{font-size:10px}.guildMemberTable th:last-child{width:92px}.guildInvite{flex-wrap:wrap}.guildInvite label{min-width:100%;box-sizing:border-box}.guildRosterTools label{flex-basis:100%}.guildRosterScroll{height:290px}.guildMemberTable td{padding:6px 4px}}

#cashQuantity{width:80px;color:#ffe5ac;background:#181916;border:1px solid #806844;padding:5px;}

/* Compact Mina catalog: fifteen products visible together on desktop. */
#subMenu.shopMode:has(.minaShop):not(:has(.minaSellLayout)){width:min(760px,calc(100vw - 84px));right:60px;bottom:100px}
#subMenu.shopMode .subWindow:has(.shopList){padding:10px;max-height:calc(100vh - 130px);overflow:auto}
.minaShop:has(.shopList){gap:6px}
.minaShop .shopIntro{padding:5px 8px}.minaShop .shopIntro b{font-size:13px}
.minaShop .shopList{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;max-height:none;overflow:visible;padding:0}
.minaShop .shopItem{grid-template-columns:34px minmax(0,1fr);gap:3px 5px;padding:5px;border-radius:5px;min-width:0}
.minaShop .shopItem .itemThumb{width:32px;height:32px;font-size:24px}
.minaShop .shopItemName{font-size:10px;line-height:1.3}
.minaShop .shopItemDesc,.minaShop .shopItemMeta{display:none}
.minaShop .shopPrice{font-size:9px;margin-top:2px}
.minaShop .shopQty{grid-column:1/-1;justify-content:flex-end;gap:3px}
.minaShop .shopQty button{width:26px;height:25px;font-size:13px}
.minaShop .shopQty .plusTen{width:31px;font-size:10px}
.minaShop .shopQty span{min-width:20px;font-size:10px}
.minaShop .shopTouchInfo{min-height:26px;padding:5px;box-sizing:border-box}
.minaShop .shopCartBar{padding:5px;gap:5px}
@media(max-width:760px){#subMenu.shopMode:has(.minaShop):not(:has(.minaSellLayout)){width:calc(100vw - 74px);right:58px;bottom:82px}.minaShop .shopList{grid-template-columns:repeat(3,minmax(0,1fr))}#subMenu.shopMode .subWindow:has(.shopList){max-height:calc(100vh - 100px)}.minaShop .shopCartBar{grid-template-columns:1fr auto auto}.minaShop .shopCartBar button{grid-column:auto;padding:0 6px;font-size:9px}}
@media(max-width:430px){.minaShop .shopList{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* EXP bars are attached to their corresponding character card. */
#bottomExpDock{display:none!important}
#party .memberExp .expPair{display:grid;grid-template-columns:1fr 1fr;gap:3px;min-width:0}
#party .memberExp .miniExp{position:relative;height:11px;overflow:hidden;border-radius:3px;background:#080c10;border:1px solid #243244;box-sizing:border-box}
#party .memberExp .miniExp>i{position:absolute;left:0;top:0;bottom:0;z-index:1}
#party .memberExp .miniExp>span{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;color:#fff;font:800 6px/1 Arial;text-shadow:0 1px 2px #000;white-space:nowrap}
#party .memberExp .level>i{background:linear-gradient(90deg,#75f45d,#21a83b)}
#party .memberExp .skill>span{width:18px;justify-content:center}
#party .memberExp .skillSegments{position:absolute;left:18px;right:1px;top:1px;bottom:1px;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:1px}
#party .memberExp .skillSegments b{position:relative;overflow:hidden;background:#2a2208;border-radius:1px}
#party .memberExp .skillSegments b i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#fff16a,#e6aa00)}
#party .memberExp .expPair.selected .miniExp{border-color:#d7b74d;box-shadow:0 0 4px #e4c64b66}

#party .memberExp{position:absolute;left:7px;right:7px;bottom:4px;pointer-events:none}
#party .memberExp .miniExp{height:12px}#party .memberExp .miniExp>span{font-size:7px}
#party .skillbar{bottom:23px!important}#party .member{padding-bottom:70px!important}
#touchCombatDock{display:contents}#touchAttackBtn{display:none}
.quickPotionChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quickPotionChoices button{min-height:72px;border:1px solid #ab9b73;border-radius:12px;background:#132232;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}.quickPotionChoices img{width:36px;height:36px;object-fit:contain}
@media(min-width:0px){
 #touchCombatDock{display:block;position:absolute;right:calc(10px + env(safe-area-inset-right));bottom:calc(94px + env(safe-area-inset-bottom));width:326px;height:232px;z-index:49;pointer-events:none}
 #touchCombatDock button{pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none}
 #touchCombatDock #combatQuickUI{position:absolute!important;inset:0!important;width:100%;height:100%;display:block;padding:0;background:none;border:0;box-shadow:none;transform:none!important;pointer-events:none}
 #combatQuickDrag{display:none}#touchCombatDock #controlModeUI,#touchCombatDock #sharedPotionUI{display:contents!important}
 #touchCombatDock #autoBtn,#touchCombatDock #controlOneBtn,#touchCombatDock #controlThreeBtn,#touchCombatDock .potionSlot,#touchCombatDock .mobileSkill{position:absolute!important;margin:0!important;width:58px;height:58px;min-width:58px;min-height:58px;padding:3px;border:2px solid #aa9b72;border-radius:50%;background:radial-gradient(circle at 35% 25%,#446b8180,#152b3c8c);box-shadow:inset 0 0 9px #b9e8ff25,0 3px 8px #0008;color:#fff;font-size:11px;backdrop-filter:blur(2px)}
 #touchCombatDock #autoBtn{left:264px;top:0!important;min-width:58px;font-size:10px;line-height:14px;white-space:normal}
 #touchCombatDock #autoBtn.on{border-color:#ffdb66;color:#ffe58f;box-shadow:0 0 12px #ffd26077;background:#3c3713b8}
 #touchCombatDock #controlOneBtn{left:136px;top:0}#touchCombatDock #controlThreeBtn{left:200px;top:0}#touchCombatDock #controlModeUI button.active{border-color:#ffe17a;background:#57471ba8}
 #touchCombatDock #hpPotionBtn{left:73px;top:164px}#touchCombatDock #spPotionBtn{left:73px;top:96px}
 #touchCombatDock .potionSlot .potionIcon{font-size:24px}#touchCombatDock .potionSlot .potionIcon img{width:28px;height:28px;object-fit:contain}#touchCombatDock .potionSlot em{position:absolute;bottom:3px;right:5px;background:#122131dd;padding:2px 4px;border-radius:7px;font-size:11px}#touchCombatDock .potionSlot b{font-size:9px}
 #touchCombatDock #mobileSkills{position:absolute!important;inset:0!important;width:100%;height:100%;display:block!important;background:none;pointer-events:none;transform:none!important}
 #touchCombatDock .skillTitle{display:none!important}#touchCombatDock .skillMembers{position:absolute;left:5px;top:26px;display:grid;grid-template-columns:1fr;width:62px;gap:5px;pointer-events:auto}
 #touchCombatDock .skillMember{height:45px;border-radius:24px;background:#142e40b3;border:1px solid #ac9c76;font-size:11px}#touchCombatDock .skillMember b{font-size:10px}#touchCombatDock .skillMember small{font-size:8px}
 #touchCombatDock .mobileSkill[data-skill="0"]{left:140px;top:163px}#touchCombatDock .mobileSkill[data-skill="1"]{left:143px;top:96px}#touchCombatDock .mobileSkill[data-skill="2"]{left:193px;top:62px}#touchCombatDock .mobileSkill[data-skill="3"]{left:259px;top:67px}
 #touchCombatDock .skillIcon{width:25px;height:24px;font-size:23px;border:0;background:none;box-shadow:none;border-radius:50%}#touchCombatDock .skillName{font-size:7px;max-width:52px;margin-top:0}#touchCombatDock .mobileSkill kbd{top:1px;left:3px;font-size:7px;border-radius:50%}#touchCombatDock .cooldownClock{border-radius:50%}
 #touchAttackBtn{display:flex;position:absolute;left:221px;top:141px;width:82px;height:82px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:50%;border:3px solid #c8b887;background:radial-gradient(circle at 35% 25%,#557c998a,#172e44b8);color:#fff;box-shadow:0 0 0 4px #7babc524,inset 0 0 16px #c4e8ff20,0 4px 12px #0008}#touchAttackBtn span{font-size:30px}#touchAttackBtn b{font-size:12px}
 #touchCombatDock button:active{filter:brightness(1.3);transform:scale(.94)}
}
@media(pointer:coarse),(max-width:900px){
 #party{left:5px!important;right:5px!important;bottom:calc(5px + env(safe-area-inset-bottom));gap:5px!important}#party .member{height:80px!important;padding:4px 4px 19px!important}#party .skillbar{display:none!important}#party .portrait{width:50px!important;height:50px!important;position:static!important;float:left!important;margin-right:5px!important}#party .info{margin-left:56px!important}#party .info b{font-size:11px;line-height:13px}#party .info span{font-size:8px}#party .bar.hp,#party .bar.sp{height:9px!important}#party .barText{font-size:7px}#party .bagBtn{width:24px;height:24px;top:2px;right:2px;font-size:12px}#party .resourceText{display:none!important}#party .memberExp{left:4px;right:4px;bottom:4px}#party .memberExp .miniExp{height:11px}#hint,#buildVersion{display:none!important}#chatBox{bottom:calc(94px + env(safe-area-inset-bottom));width:210px;max-width:36vw;max-height:155px}#minimapWrap{width:105px!important;height:78px!important;right:84px!important;top:5px!important}
}
@media(max-width:520px){#touchCombatDock{right:5px;bottom:calc(102px + env(safe-area-inset-bottom))}#party .member{height:88px!important}#party .portrait{width:36px!important;height:42px!important;margin-right:3px!important}#party .info{margin-left:39px!important}#party .info b{font-size:9px}#party .info span{font-size:6px}#party .barText{font-size:6px}#party .bagBtn{display:none}#party .memberExp .miniExp>span{font-size:6px}#chatBox{max-width:calc(100vw - 20px);width:220px;bottom:calc(342px + env(safe-area-inset-bottom));max-height:100px}}

.combatAtlasPortrait{background-size:288px 152px!important}
@media(max-width:700px){.combatAtlasPortrait{background-size:232px 124px!important}}
@media(pointer:coarse),(max-width:900px){#party .info{padding:0!important}#minimapWrap{left:calc(50% - 52px)!important;right:auto!important}}
@media(max-height:420px) and (pointer:coarse),(max-height:420px) and (max-width:900px){#touchCombatDock{transform:scale(.9);transform-origin:right bottom}#minimapWrap{left:8px!important;right:auto!important;top:40px!important}}

/* v6: visible circular controls on every screen; EXP outside its owner's card. */
#touchCombatDock{bottom:calc(180px + env(safe-area-inset-bottom))}
#party.panel{bottom:calc(23px + env(safe-area-inset-bottom))!important}
#party .memberExp{left:7px!important;right:7px!important;bottom:-19px!important;height:12px}
#party .skillbar{bottom:8px!important}
#party .info .bar.hp,#party .info .bar.sp{display:block!important;width:100%;height:13px!important;min-height:13px;border-width:1px;flex-shrink:0}
#party .info .bar.hp>i,#party .info .bar.sp>i{display:block;top:0;bottom:0;height:100%!important;margin:0;padding:0}
#party .info .barText{margin:0!important;line-height:1!important}
@media(pointer:coarse),(max-width:900px){#touchCombatDock{bottom:calc(112px + env(safe-area-inset-bottom))}#party .memberExp{left:4px!important;right:4px!important}#party .info .bar.hp,#party .info .bar.sp{height:10px!important;min-height:10px}}
@media(max-width:520px){#touchCombatDock{bottom:calc(120px + env(safe-area-inset-bottom))}}

/* Character skill-caster buttons sit in one row below the attack button. */
#touchCombatDock{height:286px}
#touchCombatDock .skillMembers{left:auto;right:5px;top:232px;width:218px;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#touchCombatDock .skillMember{width:100%;height:46px;min-height:46px}

/* Mobile viewport and safe-area fit, including landscape and browser toolbars. */
@media(pointer:coarse){
 html,body{height:100%;overscroll-behavior:none}
 #gameWrap{height:100vh;height:100dvh;min-height:0}
 #touchCombatDock{right:calc(6px + env(safe-area-inset-right));bottom:calc(114px + env(safe-area-inset-bottom));transform:scale(var(--mobile-dock-scale,1));transform-origin:right bottom}
 #party.panel{width:auto!important;left:calc(5px + env(safe-area-inset-left))!important;right:calc(5px + env(safe-area-inset-right))!important;transform:none!important}
 #mainMenuBtn{top:calc(5px + env(safe-area-inset-top));right:calc(6px + env(safe-area-inset-right));min-height:40px}
 #target{max-width:40vw}#top{max-width:35vw}
 #subMenu,#characterModal,#accountBagWindow{max-width:calc(100vw - 12px - env(safe-area-inset-left) - env(safe-area-inset-right));max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 .subWindow,.charWindow{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;touch-action:pan-y}
 #worldMapOverlay .worldMapPanel{max-width:96vw;max-height:90dvh;overflow:auto}
 #chatBox{left:calc(6px + env(safe-area-inset-left));max-width:calc(100vw - 12px);width:210px}
}
@media(pointer:coarse) and (max-height:520px){
 #touchCombatDock{height:176px;bottom:calc(100px + env(safe-area-inset-bottom))}
 #touchCombatDock #autoBtn,#touchCombatDock #controlOneBtn,#touchCombatDock #controlThreeBtn,#touchCombatDock .potionSlot,#touchCombatDock .mobileSkill{width:48px;height:48px;min-width:48px;min-height:48px}
 #touchCombatDock #controlOneBtn{left:110px;top:8px}#touchCombatDock #controlThreeBtn{left:164px;top:8px}#touchCombatDock #autoBtn{left:218px;top:8px!important;min-width:48px}
 #touchAttackBtn{left:12px;top:0;width:64px;height:64px}
 #touchCombatDock #hpPotionBtn{left:0;top:70px}#touchCombatDock #spPotionBtn{left:54px;top:70px}
 #touchCombatDock .mobileSkill[data-skill="0"]{left:110px;top:70px}#touchCombatDock .mobileSkill[data-skill="1"]{left:164px;top:70px}#touchCombatDock .mobileSkill[data-skill="2"]{left:218px;top:70px}#touchCombatDock .mobileSkill[data-skill="3"]{left:272px;top:70px}
 #touchCombatDock .skillMembers{top:128px;height:44px}#touchCombatDock .skillMember{height:44px;min-height:44px}
 #party .member{height:70px!important}#party .portrait{width:42px!important;height:42px!important}#party .info{margin-left:47px!important}#party .info b{font-size:10px}#party .info span{font-size:7px;margin:0 0 2px}#party .info .bar.hp,#party .info .bar.sp{height:9px!important;min-height:9px}
 #chatBox{bottom:calc(100px + env(safe-area-inset-bottom));max-height:110px;width:170px;max-width:calc(100vw - 346px - env(safe-area-inset-right))}
 #minimapWrap{width:90px!important;height:62px!important;top:calc(42px + env(safe-area-inset-top))!important}
}

.tier20Icon{display:inline-block;flex-shrink:0;width:52px;height:52px;background-size:400% 300%;background-repeat:no-repeat;vertical-align:middle}.shopItem .tier20Icon{width:64px;height:64px}

/* Preserve atlas images while clearing only the icon background color. */
.itemThumb.tier20Icon{background-size:400% 300%!important;background-repeat:no-repeat!important;background-color:transparent!important}

/* Smaller shared-bag artwork; retain the full item slot touch target. */
.classicBag .accountSlot .itemThumb{width:64%;height:64%;justify-self:center;align-self:center}
.classicBag .accountSlot .itemIcon{font-size:16px}

/* Keep the shop close control beside the title, inside the visible viewport. */
#subMenu.shopMode .subWindow{box-sizing:border-box;max-width:100%;overflow-x:hidden}
#subMenu.shopMode .windowDragHandle{position:sticky;top:0;z-index:5;justify-content:flex-start;box-sizing:border-box;max-width:100%;background:#101a29}
#subMenu.shopMode .windowDragHandle h2{flex:0 1 auto;min-width:0}
#subMenu.shopMode .windowDragHandle .closeSub{position:static;flex:0 0 44px;width:44px;height:44px;margin-left:8px;touch-action:manipulation}
#subMenu.shopMode #subMenuBody{min-width:0;max-width:100%}

.mailboxPanel{display:grid;gap:12px}.mailboxToolbar{display:flex;justify-content:space-between;align-items:center;gap:10px}.mailboxList{display:grid;gap:8px;max-height:240px;overflow:auto}.mailRow{text-align:left;min-height:56px;padding:10px;border:1px solid #52627c;border-radius:8px;background:#142033;color:#e8edf5}.mailRow b,.mailRow small,.mailRow span{display:block}.mailRow small{color:#a3afbf;margin-top:4px}.mailRow.unread{border-color:#c4a34d}.mailRow.selected{background:#27384e}.mailDetail{padding:12px;border:1px solid #536279;border-radius:8px}.mailBody{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.mailRewards{display:grid;gap:8px;margin:12px 0}.mailRewards>div{display:flex;align-items:center;gap:10px}.mailRewards .itemThumb{width:40px;height:40px}#mailClaim,#mailRefresh{min-height:44px;padding:8px 14px;border:1px solid #bba04d;border-radius:7px;color:#ffe8a0;background:#293447}#mailUnreadBadge{color:#ffe36d}

#megaphoneBanner{position:fixed;left:0;right:0;top:calc(76px + env(safe-area-inset-top));height:38px;overflow:hidden;pointer-events:none;z-index:105;background:linear-gradient(90deg,#111b2a00,#111b2ae8 12%,#111b2ae8 88%,#111b2a00);border-block:1px solid #b1974b80}#megaphoneBanner[hidden]{display:none}.megaphoneTicker{display:inline-block;position:absolute;left:0;top:0;white-space:nowrap;line-height:38px;font-size:16px;font-weight:700;color:#ffe89b;text-shadow:1px 1px 2px #000;will-change:transform}@media(pointer:coarse){#megaphoneBanner{top:calc(48px + env(safe-area-inset-top));height:34px}.megaphoneTicker{line-height:34px;font-size:14px}}

#target[hidden],#target:empty{display:none!important}

.equipInspectDesc{white-space:pre-line}

.authCard label[hidden]{display:none}.authCard button:disabled{opacity:.55;cursor:wait}.authCard{max-height:90vh;overflow-y:auto}

.authCard .authRemember{display:flex;align-items:center;gap:9px}.authCard .authRemember input{width:18px;height:18px;margin:0}.authCard .installPanel{margin-top:16px;padding-top:14px;border-top:1px solid #40516c}.authCard #pwaInstallBtn,.authCard #cacheGameBtn{position:static;display:block;width:100%;margin:8px 0;padding:11px;font-size:14px}.installPanel a{display:block;text-align:center;color:#9fc8ff;margin:10px 0}.installPanel p{font-size:12px;color:#aebbd0;line-height:1.5}
.authCard #pwaInstallBtn,.authCard #cacheGameBtn{height:auto;min-height:44px}.installPanel a[hidden]{display:none}

#serverAnnouncement{position:fixed;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 24px));z-index:180;pointer-events:none;padding:12px 18px;border:1px solid #f4cc6a;border-radius:12px;background:linear-gradient(135deg,#18283cf5,#0b1628f5);box-shadow:0 4px 24px #0008,0 0 15px #e2bd4c33;text-align:center;color:#fff0bd}#serverAnnouncement[hidden]{display:none}#serverAnnouncement strong{display:block;margin-bottom:5px;color:#ffd86e;font-size:18px}#serverAnnouncementText{display:block;font-size:16px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){#serverAnnouncement{padding:8px 12px}#serverAnnouncement strong{font-size:16px}#serverAnnouncementText{font-size:14px}}

#serverAnnouncement{z-index:2147483000}

/* Fifth Luna skill uses an empty dock position on both phone layouts. */
@media(pointer:coarse){#touchCombatDock .mobileSkill[data-skill="4"]{left:0;top:174px}}
@media(pointer:coarse) and (max-height:520px){#touchCombatDock .mobileSkill[data-skill="4"]{left:272px;top:8px}}

/* Keep purchase actions inside the shop and visible while scrolling. */
#subMenu .purchaseReview .reviewActions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;background:#16222c;padding:12px 6px;z-index:3;box-sizing:border-box}
#subMenu .purchaseReview .reviewActions button{position:static;min-height:42px;flex:1 1 130px;margin:0}
#subMenu .purchaseReview #confirmMinaPurchase{background:linear-gradient(#d5b152,#9a7526);color:#17150d;font-weight:bold}
#subMenu.shopMode .subWindow:has(.purchaseReview){max-height:calc(100dvh - 110px);overflow:auto}

.equipSlot .equipLiveOptions{display:block;color:#93e8ff;font-size:10px;line-height:1.3;text-align:center}

/* Compact guild ranks; isolate from character role styles. */
.guildMemberTable .guildRoleBadge{position:static!important;display:inline-block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:100%;padding:2px 4px!important;margin:0!important;box-sizing:border-box;font-size:10px!important;line-height:1.25!important;white-space:nowrap;vertical-align:middle;transform:none!important;flex:none!important}
.guildMemberTable th:last-child{width:82px!important}
.guildMemberTable td:last-child{width:82px;white-space:nowrap;padding:6px 5px}
.guildMemberTable .guildPresence{font-size:9px;line-height:1.35;margin-top:3px}
@media(max-width:700px){.guildMemberTable th:last-child,.guildMemberTable td:last-child{width:70px!important}.guildMemberTable .guildRoleBadge{font-size:9px!important}}
.chatTabs{grid-template-columns:repeat(5,minmax(0,1fr))}.chatLine.guild .channel{color:#70efb0}.chatPlayerName{background:none!important;border:0!important;color:#f5da98!important;padding:0!important;font:inherit!important;cursor:pointer;text-decoration:underline}
.privateChatWindow{position:fixed;z-index:180;width:310px;max-width:calc(100vw - 16px);height:310px;max-height:calc(100vh - 16px);display:flex;flex-direction:column;background:rgba(15,23,32,.96);border:2px solid #ac9454;border-radius:4px;box-shadow:0 6px 24px #000a;color:#eee;font-size:12px}.privateChatWindow[hidden]{display:none}.privateChatWindow header{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:linear-gradient(#54472c,#29271f);color:#ffe4a3;cursor:move;touch-action:none}.privateChatWindow button,.socialRequest button{background:#343f50;color:#fbe8b9;border:1px solid #917f50;padding:6px 10px;border-radius:3px;cursor:pointer}.privateChatMessages{flex:1;overflow:auto;padding:10px;min-height:0;overflow-wrap:anywhere}.privateChatMessages div{padding:4px 0}.privateChatMessages .sent{color:#bfc9e5}.privateChatMessages .received{color:#f1c7ff}.privateChatWindow form{display:flex;gap:5px;padding:8px}.privateChatWindow input{min-width:0;flex:1;background:#0d1421;border:1px solid #6d7890;color:white;padding:8px}.privateChatStatus{padding:0 10px;color:#ffb7a0}#socialRequests{position:fixed;right:16px;top:120px;z-index:190;width:290px;max-width:calc(100vw - 32px);max-height:60vh;overflow:auto;pointer-events:none}.socialRequest{pointer-events:auto;background:#182330f5;border:1px solid #c3a963;color:#fff0c7;padding:12px;margin-bottom:8px;box-shadow:0 4px 16px #0008}.socialRequest p{margin:0 0 10px;overflow-wrap:anywhere}.socialRequest div{display:flex;gap:8px}.friendRow{flex-wrap:wrap}

#autoPotionSettingsBtn{position:absolute;left:0;bottom:-26px;padding:3px 8px;border:1px solid #a89662;border-radius:5px;background:#172635;color:#eee6bf;font-size:11px;cursor:pointer}#autoPotionSettingsBtn.active{color:#9ff6b2;border-color:#72bc82}#autoPotionPanel{position:fixed;right:18px;top:120px;z-index:195;width:310px;max-width:calc(100vw - 36px);padding:14px;background:#152432f5;border:2px solid #a89156;border-radius:6px;color:#f4e5c3;font-size:13px;box-shadow:0 8px 24px #0009}#autoPotionPanel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}#autoPotionPanel label{display:block;margin:12px 0}#autoPotionPanel input[type=number]{width:55px;background:#0a1724;color:white;border:1px solid #7c8b98;padding:5px}#autoPotionPanel small{display:block;line-height:1.6;color:#a9bac9}#autoPotionPanel button{background:#344454;color:white;border:1px solid #8f815c;cursor:pointer}

#autoPotionToggleBtn,#autoPotionSettingsBtn{position:absolute;bottom:auto;top:-30px;height:25px;padding:3px 7px;border:1px solid #a89662;border-radius:5px;background:#172635;color:#eee6bf;font-size:11px;cursor:pointer;pointer-events:auto;white-space:nowrap}#autoPotionToggleBtn{left:0}#autoPotionSettingsBtn{left:100px}#autoPotionToggleBtn.active{color:#9ff6b2;border-color:#72bc82}#touchCombatDock #autoPotionToggleBtn{left:73px;top:-30px}#touchCombatDock #autoPotionSettingsBtn{left:172px;top:-30px}

#touchCombatDock #autoPotionSettingsBtn{position:absolute;left:221px;top:141px!important;bottom:auto;width:82px;height:82px;border-radius:50%;border:3px solid #c8b887;background:radial-gradient(circle at 35% 25%,#557c998a,#172e44b8);color:white;font-size:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:auto}#touchCombatDock #autoPotionSettingsBtn b{font-size:12px}#touchCombatDock #autoPotionSettingsBtn small{font-size:10px}#touchCombatDock #autoPotionSettingsBtn.active{border-color:#98efb2;color:#aeffc4}#autoPotionPanel{max-height:calc(100vh - 160px);overflow:auto}#autoPotionPanel label{min-height:44px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}#autoPotionPanel input[type=checkbox]{width:24px;height:24px}#autoPotionPanel input[type=number]{height:40px;font-size:18px;width:70px}#autoPotionPanel header button{width:44px;height:44px}

#skillHoverTooltip{position:fixed;z-index:10070;width:340px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:hidden;box-sizing:border-box;pointer-events:none;background:#12202ff5;color:#f3e7c8;border:1px solid #bba261;border-radius:8px;padding:12px;box-shadow:0 5px 22px #000b;font-size:12px;line-height:1.65}#skillHoverTooltip[hidden]{display:none}#skillHoverTooltip>b{font-size:14px;color:#ffe097}#skillHoverTooltip small{display:block;color:#abbdd2}#skillHoverTooltip p{margin:8px 0}#skillHoverTooltip .skillHoverPower{color:#b8e1ff}#skillHoverTooltip footer{color:#9ff0d7;border-top:1px solid #ffffff20;padding-top:6px}

.bar.hp{position:relative}.shieldLayer{position:absolute;inset:0;pointer-events:none;z-index:2}.shieldLayer[hidden]{display:none}.bar.hp .shieldLayer i{position:absolute;left:0;bottom:0;height:4px;background:linear-gradient(90deg,#73c9ff,#ecf8ff);box-shadow:0 0 5px #70ceff;border-radius:2px}.bar.hp .shieldLayer small{position:absolute;right:4px;top:0;color:#dcf4ff;font-size:9px;line-height:12px;text-shadow:1px 1px #142b45;background:#183950b8;padding:0 2px;border-radius:3px}

.skillslot.skillPressed,.mobileSkill.skillPressed{box-shadow:inset 0 0 15px #fff2b877,0 0 12px #ffdf88!important;border-color:#ffe7a3!important;background-color:#665126!important}.skillslot:active,.mobileSkill:active{transform:scale(.9);filter:brightness(1.5)}

.potionSizeIcon{display:inline-block;position:relative;flex-shrink:0;width:52px;height:52px;background-size:300% 200%;background-repeat:no-repeat;border-radius:6px;vertical-align:middle}.shopItem .potionSizeIcon{width:64px;height:64px}.minaCategoryTabs{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0}.minaCategoryTabs button{min-height:42px;padding:8px 12px;border:1px solid #607185;border-radius:7px;background:#182430;color:#d9e3ec}.minaCategoryTabs button.active{background:#5b4823;border-color:#e8c66b;color:#fff2b7}.minaEmptyCategory{padding:20px;text-align:center;color:#adbdca}

/* Mina: balanced cards and touch-sized purchase controls. */
.minaShop .shopList{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.minaShop .shopItem{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:1fr auto;align-items:start;gap:10px;padding:12px;min-height:166px;box-sizing:border-box}
.minaShop .shopItem .itemThumb{width:52px;height:52px;object-fit:contain}
.minaShop .shopItemMain{min-width:0}
.minaShop .shopItemName{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.minaShop .shopPrice{font-size:13px;line-height:1.4;margin-top:6px;color:#ffe28a}
.minaShop .shopQty{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;grid-column:1/-1;gap:6px;max-width:none;width:100%;align-items:center;justify-content:stretch}
.minaShop .shopQty button{width:100%;height:38px;min-height:38px;padding:0 5px;font-size:15px;line-height:1.2;white-space:nowrap;box-sizing:border-box;touch-action:manipulation}
.minaShop .shopQty input{width:100%!important;min-width:0;height:38px;box-sizing:border-box;border:1px solid #667a96;border-radius:5px;background:#101d2d;color:#fff;font-size:15px}
.minaShop .shopQty .plusTen{grid-column:1/-1;width:100%;font-size:13px;height:34px;min-height:34px}
.minaShop .shopQty [data-cart-equipment]{grid-column:1/-1;width:100%;font-size:14px;height:40px;min-height:40px}
.minaShop .shopCartBar{gap:10px;padding:10px;align-items:center}
.minaShop .shopCartBar button{min-height:42px;padding:8px 12px;font-size:13px;white-space:nowrap}
@media(max-width:760px){.minaShop .shopList{grid-template-columns:repeat(2,minmax(0,1fr))}.minaShop .shopCartBar{grid-template-columns:1fr auto}.minaShop .shopCartBar button{grid-column:1/-1;width:100%;font-size:13px}}
@media(max-width:430px){.minaShop .shopList{grid-template-columns:1fr}.minaShop .shopItem{min-height:142px}.minaCategoryTabs button{flex:1 1 120px}}

/* Reachable Auto settings and reserved lower-right control area. */
#touchCombatDock{right:calc(10px + env(safe-area-inset-right));bottom:calc(190px + env(safe-area-inset-bottom));}
#touchCombatDock #autoPotionSettingsBtn{touch-action:manipulation;font-size:24px;min-width:82px;min-height:82px;}
#touchCombatDock #autoPotionSettingsBtn b{font-size:11px;white-space:nowrap;}
#autoPotionPanel{z-index:11000;pointer-events:auto;right:calc(12px + env(safe-area-inset-right));top:auto;bottom:calc(24px + env(safe-area-inset-bottom));width:360px;box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;border-radius:14px;padding:16px;font-size:16px;}
#autoPotionPanel header{position:sticky;top:-16px;padding:8px 0;background:#152432;z-index:1;}
#autoPotionPanel label{min-height:52px;gap:12px;cursor:pointer;}
#autoPotionPanel input[type=radio],#autoPotionPanel input[type=checkbox]{width:26px;height:26px;accent-color:#f2cd69;flex-shrink:0;}
#autoPotionPanel .autoAttackChoices{margin:8px 0 16px;border:1px solid #a89156;border-radius:10px;padding:8px 12px;}
#autoPotionPanel .autoAttackChoices label{padding:4px 8px;background:#22384a;border-radius:8px;}
#autoPotionPanel header button{min-width:48px;min-height:48px;font-size:24px;border-radius:8px;touch-action:manipulation;}
@media(pointer:coarse),(max-width:900px){#touchCombatDock{bottom:calc(112px + env(safe-area-inset-bottom));}#coordHud{bottom:calc(88px + env(safe-area-inset-bottom));right:8px;font-size:9px;max-width:calc(100vw - 16px);overflow:hidden;}}

#tcsBoot{position:fixed;inset:0;z-index:20000;background:#03080e;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom);box-sizing:border-box;opacity:1;transition:opacity .65s ease;touch-action:manipulation;}
#tcsBoot[hidden]{display:none;}#tcsBoot.leaving{opacity:0;pointer-events:none;}#tcsBootLogo{width:min(1100px,96vw);max-height:78dvh;object-fit:contain;animation:tcsLogoReveal 1.2s ease-out both;}
@keyframes tcsLogoReveal{from{opacity:0;filter:blur(7px);transform:scale(.96);}to{opacity:1;filter:blur(0);transform:scale(1);}}
.tcsBootControls{width:min(520px,90vw);text-align:center;color:#ead8a2;font:14px/1.6 system-ui;}.tcsBootControls p{margin:8px 0;}.tcsBootControls progress{display:block;width:100%;height:10px;accent-color:#e3b756;margin:12px 0;}.tcsBootControls progress[hidden]{display:none;}.tcsBootControls button{min-height:48px;padding:10px 20px;margin:4px;border:1px solid #ab8644;border-radius:8px;background:#0a1827;color:#ffe6a4;font-size:14px;cursor:pointer;touch-action:manipulation;}.tcsBootControls button:disabled{opacity:.6;cursor:wait;}.tcsBootControls button[hidden]{display:none;}.tcsBooting #gameWrap{visibility:hidden;}.authLogo img{display:block;width:100%;max-height:200px;object-fit:contain;}
@media(prefers-reduced-motion:reduce){#tcsBootLogo{animation:none;}#tcsBoot{transition:none;}}

/* Triple Crown Saga login: atmospheric kingdom, readable royal panel. */
#authModal{background:linear-gradient(90deg,rgba(2,8,15,.25),rgba(2,8,15,.5),rgba(2,8,15,.2)),var(--login-art229) center center/cover no-repeat #050d16;padding:16px;box-sizing:border-box;overflow-y:auto;}
#authModal .authCard{position:relative;background:linear-gradient(145deg,rgba(10,23,35,.96),rgba(4,12,22,.95));border:1px solid #b7934e;box-shadow:0 0 0 4px #1a263955,0 20px 70px #000b,0 0 36px #c19b3722;backdrop-filter:blur(8px);max-height:calc(100dvh - 32px);box-sizing:border-box;}
#authModal .authCard h2{color:#ffe1a0;}#authModal .authCard>p,#authModal .authCard label{color:#c2ccd6;}#authModal .authCard form button{background:linear-gradient(#6d5026,#392a18);border-color:#d4b34f;color:#fff0bd;}#authModal .authLogo img{border-radius:8px;max-height:170px;}
@media(max-width:520px){#authModal{background-position:65% center;padding:10px;}#authModal .authCard{width:min(390px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:16px;}#authModal .authLogo img{max-height:130px;}}

.vanShop{padding:4px;gap:10px;max-height:none;overflow:visible}
.vanShopSummary p{margin:4px 0 8px}.vanShopHelp{font-size:12px;color:#c2ccd6;line-height:1.5}
.vanProduct{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;padding:10px;border:1px solid #ab9b73;border-radius:12px;background:#132232;min-width:0;box-sizing:border-box}
.vanShop .itemThumb{width:40px;height:40px;object-fit:contain}
.vanProductInfo{min-width:0;line-height:1.45}.vanProductInfo b{display:block;color:#fff;font-size:13px;overflow-wrap:anywhere}.vanProductInfo small{display:block;color:#ffd974;font-size:12px}
.quickPotionChoices.vanShop .vanExchange{grid-column:1/-1;width:100%;min-height:38px;padding:7px 10px;display:flex;justify-content:center;align-items:center;border:1px solid #d4b34f;border-radius:7px;background:linear-gradient(#795c2e,#49371d);color:#fff0bd;font-size:14px;font-weight:bold;cursor:pointer;touch-action:manipulation}
.quickPotionChoices.vanShop .vanExchange:hover:enabled{background:linear-gradient(#96733a,#624823)}.quickPotionChoices.vanShop .vanExchange:focus-visible{outline:2px solid #fff0bd;outline-offset:2px}.quickPotionChoices.vanShop .vanExchange:disabled{opacity:.6;cursor:wait}

.enchantRiskNotice{margin:12px 0;padding:12px;border:1px solid #ce9144;border-radius:10px;background:#392818;color:#ffe5b5;font-size:12px;line-height:1.6}.enchantRiskNotice p{margin:6px 0}.enchantRiskNotice label,.enchantRiskCard label{display:flex;align-items:center;gap:8px;cursor:pointer}.enchantRiskNotice small{display:block;color:#d0b894;margin-top:5px}.enchantRiskNotice input,.enchantRiskCard input{width:18px;height:18px;flex:0 0 18px}.enchantRiskDialog{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:#03070cd9}.enchantRiskCard{width:min(430px,100%);max-height:90dvh;overflow:auto;box-sizing:border-box;background:#101c2b;border:1px solid #d0a653;border-radius:12px;padding:20px;color:#e9f0f5;box-shadow:0 12px 50px #0009;font-size:14px;line-height:1.6}.enchantRiskCard h3{margin:0 0 12px;color:#ffda83}.enchantRiskDetails{padding:12px;background:#38231b;color:#ffd1a5;border-radius:8px}.enchantRiskButtons{display:flex;gap:10px;margin-top:18px}.enchantRiskButtons button{flex:1;min-height:44px;border:1px solid #a89573;border-radius:8px;color:#fff;background:#273546;cursor:pointer}.enchantRiskButtons #confirmEnchantRisk{background:#7d3c27;border-color:#db9563}.enhanceResultBurst span{max-width:100%;padding:0 8px;box-sizing:border-box;font-size:12px;line-height:1.5}

/* V67 dungeon room lobby */
#subMenuBody.dungeonMenu{color:#e9e3d5;min-width:0;max-width:620px}
.dungeonHeader{display:flex;gap:14px;align-items:center;border-bottom:1px solid #ad965a;padding-bottom:14px;margin-bottom:14px}
.dungeonHeader img{width:70px;height:90px;object-fit:contain}.dungeonHeader h3{color:#f3cf77;margin:0 0 8px}.dungeonHeader p{margin:0;font-size:13px;line-height:1.6}
.dungeonMenu p{line-height:1.65}.dungeonScaling{background:#233044;padding:12px;border-radius:8px;font-size:12px}.dungeonToolbar{display:flex;gap:8px;margin:12px 0}
.dungeonMenu button{background:#715723;border:1px solid #cfac5a;color:#fff0c1;border-radius:7px;padding:9px 14px;cursor:pointer}.dungeonMenu button:disabled{opacity:.45;cursor:default}
.dungeonMenu form{display:grid;gap:14px}.dungeonMenu label{display:grid;gap:7px}.dungeonMenu input{box-sizing:border-box;width:100%;min-width:0;padding:10px;background:#101b2a;color:#fff;border:1px solid #7c8799;border-radius:6px}
.dungeonRoomList{display:grid;gap:10px}.dungeonRoomList article{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px;border:1px solid #6d6958;border-radius:8px;background:#182435}.dungeonRoomList b{overflow-wrap:anywhere}.dungeonRoomList p{margin:4px 0;font-size:12px}.dungeonRoomList button{flex-shrink:0}
.dungeonRoom h4{color:#f3cf77;overflow-wrap:anywhere}.dungeonRoom ul{padding-left:22px}.dungeonRoom li{padding:5px 0;overflow-wrap:anywhere}.dungeonRoom li span{font-size:11px;color:#eac774;margin-left:8px}.dungeonRoom button{margin:4px}.dungeonMessage{color:#ffd77d;min-height:20px;font-size:13px}
#dungeonHud{position:fixed;left:50%;top:70px;transform:translateX(-50%);z-index:120;display:flex;flex-direction:column;gap:6px;align-items:center;background:#101d2de8;color:#fce1a2;border:1px solid #c5a45c;border-radius:8px;padding:10px 16px;max-width:85vw;font-size:13px;text-align:center}#dungeonHud[hidden]{display:none}#dungeonHud span{font-size:11px;color:#ccd9eb}#dungeonHud button{background:#543b29;color:#fff3dc;border:1px solid #b69c69;border-radius:5px;padding:5px 12px;cursor:pointer}

/* V68 dungeon selection rows: image, information, actions */
.dungeonCatalogTitle{border-bottom:1px solid #a18a58;padding:0 0 12px;margin-bottom:16px}.dungeonCatalogTitle h3{margin:0 0 6px;color:#ffdb85;font-size:20px}.dungeonCatalogTitle p{margin:0;color:#b7c6d4;font-size:13px}
.dungeonCatalog{display:grid;gap:12px}.dungeonCatalogRow{display:grid;grid-template-columns:100px minmax(0,1fr) 138px;align-items:center;gap:14px;background:linear-gradient(110deg,#18283b,#111c2c);border:1px solid #ad965e;border-radius:9px;padding:10px;box-sizing:border-box;min-width:0}
.dungeonCatalogImage{display:block;width:100px;height:100px;object-fit:cover;border:1px solid #c2a56c;border-radius:6px;box-sizing:border-box}.dungeonCatalogInfo{min-width:0}.dungeonCatalogInfo h4{margin:0 0 7px;color:#ffe2a3;font-size:16px;overflow-wrap:anywhere}.dungeonCatalogInfo strong{display:block;color:#a1d9ba;font-size:12px;line-height:1.6}.dungeonCatalogInfo p{margin:5px 0;color:#d3dbe4;font-size:12px}.dungeonCatalogInfo small{display:block;color:#9eafc0;font-size:11px}
.dungeonCatalogActions{display:grid;gap:8px}.dungeonCatalogActions button{width:100%;min-height:38px;padding:7px 6px;font-size:12px;font-weight:bold;white-space:normal}.dungeonCatalogActions #dungeonBrowseRooms{background:linear-gradient(#385d71,#243e50);border-color:#759eac;color:#e0f6ff}.dungeonCatalogActions button:focus-visible{outline:2px solid #fff0b6;outline-offset:2px}
@media(max-width:560px){.dungeonCatalogRow{grid-template-columns:70px minmax(0,1fr) 105px;gap:8px;padding:8px}.dungeonCatalogImage{width:70px;height:86px}.dungeonCatalogInfo h4{font-size:13px}.dungeonCatalogInfo strong,.dungeonCatalogInfo p{font-size:11px}.dungeonCatalogActions button{font-size:11px;padding:7px 3px}}
@media(max-width:360px){.dungeonCatalogRow{grid-template-columns:64px minmax(0,1fr)}.dungeonCatalogImage{width:64px;height:80px}.dungeonCatalogActions{grid-column:1/-1;grid-template-columns:1fr 1fr}}
#subMenu:has(#subMenuBody.dungeonMenu){inset:0;width:auto;height:auto;align-items:center;justify-content:center;background:#03060bd0;padding:16px;pointer-events:auto;z-index:110}
#subMenu:has(#subMenuBody.dungeonMenu) .subWindow{box-sizing:border-box;width:min(700px,94vw);max-width:100%;max-height:85dvh;padding:20px;overflow:auto;pointer-events:auto}
#subMenuBody.dungeonMenu{max-width:none;max-height:calc(85dvh - 95px);overflow:auto}
@media(max-width:560px){#subMenu:has(#subMenuBody.dungeonMenu){padding:8px}#subMenu:has(#subMenuBody.dungeonMenu) .subWindow{width:100%;padding:14px}}
/* V69 daily quest notice board */
.dailyBoardHeader{display:flex;gap:14px;align-items:center;border-bottom:1px solid #a58a50;padding-bottom:12px;margin-bottom:12px}.dailyBoardHeader img{width:86px;height:76px;object-fit:contain}.dailyBoardHeader h3{margin:0 0 6px;color:#f4d18a}.dailyBoardHeader p{font-size:12px;line-height:1.6;margin:0}.dailyQuestMenu{color:#e6e1d5}.dailyQuestCard{border:1px solid #9d8755;border-radius:9px;padding:14px;background:#162435}.dailyQuestCard h4{color:#ffe0a0;margin:0 0 8px}.dailyQuestCard p{font-size:12px;line-height:1.7}.dailyQuestProgress{height:24px;position:relative;border:1px solid #61718a;background:#0a1220;border-radius:6px;overflow:hidden}.dailyQuestProgress i{display:block;height:100%;background:linear-gradient(90deg,#3c7851,#80ba76)}.dailyQuestProgress span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:bold;font-size:12px;text-shadow:0 1px 2px black}.dailyQuestReward{color:#ffe0a0!important}.dailyQuestCard button{width:100%;min-height:40px;background:linear-gradient(#725529,#43301e);border:1px solid #d3ad58;color:#fff0be;border-radius:7px;cursor:pointer}.dailyQuestCard button:disabled{opacity:.5;cursor:default}.dailyQuestNotice{color:#ffda83;font-size:12px}.dailyQuestMenu small{color:#a9b9c9;font-size:11px}.dailyQuestTracker{margin-top:8px;border-top:1px solid #857049;padding-top:8px}
#subMenu:has(#subMenuBody.dailyQuestMenu){width:min(460px,92vw)}#subMenu:has(#subMenuBody.dailyQuestMenu) .subWindow{width:100%;box-sizing:border-box}

/* Upgrade buttons are siblings of skills, so cooldown filters never dim them. */
#party .partySkillControl{position:relative;min-width:0;height:100%;overflow:visible}
#party .partySkillControl>.skillslot{width:100%;height:100%}
#party .partySkillControl>.skillUp{right:-2px;top:-10px;bottom:auto;width:28px;height:28px;min-width:28px;padding:0;z-index:20;background:#ffdf35;color:#181100;border:2px solid #fff7bb;box-shadow:0 2px 5px #000a,0 0 8px #ffdf3580;font:900 23px/1 Arial;opacity:1!important;filter:none!important;touch-action:manipulation}
#party .partySkillControl>.skillUp:hover,#party .partySkillControl>.skillUp:focus-visible{background:#fff178;outline:2px solid #fff;outline-offset:2px}
@media(pointer:coarse){#party .partySkillControl>.skillUp{width:32px;height:32px;min-width:32px;font-size:26px;top:-12px}}

/* Keep the local-map canvas in the panel flow so it cannot cover the world-map header. */
#worldMapOverlay .worldMapPanel{position:relative;overflow:auto}
#worldMapLarge{position:static;inset:auto;width:100%;height:auto}
#worldMapLarge[hidden]{display:none!important}
#worldMapOverlay .worldMapHead{position:relative;z-index:2;gap:10px;flex-wrap:wrap}
#worldMapOverlay .worldMapHead button:not(#closeWorldMap){width:auto;height:auto;min-height:36px;font-size:13px;line-height:1.35;white-space:normal;padding:7px 12px}
#worldMapOverlay #closeWorldMap{flex-shrink:0}
#flowerChannelLabel small{display:block;margin-top:4px;font-size:10px;color:#c7d6e8}

/* Map controls are only shown inside the minimap dialog. */
#worldMapOverlay #worldTravelDock{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;margin:0 0 10px;border-bottom:1px solid #526079}
#worldTravelDock button,#worldTravelDock select{min-height:40px;padding:7px 12px;border:1px solid #bba76a;border-radius:6px;background:#20314a;color:#ffe8a3;font:13px system-ui}
#worldTravelDock select:disabled{opacity:.65}#flowerChannelHint{flex-basis:100%;margin:0;min-height:20px;font:13px system-ui;color:#ffe8a3}#flowerChannelHint[data-state=combat]{color:#ffabab}
#worldMapOverlay #connectedWorldMap{overflow:auto;max-height:65vh;touch-action:pan-x pan-y}
#worldMapOverlay #connectedWorldMap svg{width:100%;height:auto;max-height:none;display:block}
@media(pointer:coarse){#worldMapOverlay .worldMapPanel{zoom:1!important}#worldTravelDock button,#worldTravelDock select{min-height:44px}}
@media(max-width:700px){#worldMapOverlay #connectedWorldMap svg{min-width:1050px}}

/* Travel controls belong only to the opened map dialog. */
#worldMapOverlay:not(.open) #worldTravelDock{display:none!important}
@media(pointer:coarse){#worldTravelDock{position:static!important;inset:auto!important;transform:none!important}#worldMapOverlay.open~#chatBox{visibility:hidden}.bagDiscardButton{min-height:44px}}
.bagDiscardButton{padding:8px 12px;background:#643337;color:#fff1e9;border:1px solid #d48780;border-radius:6px}
#discardPicker50{position:fixed;inset:0;z-index:250010;background:#000b;display:grid;place-items:center;padding:12px}#discardPicker50[hidden]{display:none!important}
#discardPicker50 section{width:min(420px,94vw);max-height:85dvh;overflow:auto;background:#122031;color:#eef4ff;border:1px solid #a87769;border-radius:10px;padding:16px}#discardPicker50 label{display:block;margin:12px 0}#discardPicker50 select,#discardPicker50 input,#discardPicker50 button{min-height:44px;max-width:100%;padding:8px;background:#20314a;color:#fff;border:1px solid #657791;border-radius:6px}#discardPicker50 select{width:100%}

/* Elite Lv.24 retains Lv.20 artwork, distinguished by a red item border. */
.elite24Icon{box-sizing:border-box!important;border:2px solid #ff3434!important;border-radius:5px!important;box-shadow:0 0 5px #ff292980!important}.marketRow .elite24Icon{width:40px;height:40px;display:inline-block}

/* Compact, viewport-bounded monster catalog and details. */
#subMenu.monsterMode{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;translate:none!important;width:min(620px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 40px)!important}
#subMenu.monsterMode .subWindow{max-height:calc(100dvh - 40px)!important;overflow:hidden!important;display:flex;flex-direction:column;padding:12px!important}
#subMenu.monsterMode #subMenuBody{min-height:0;max-height:calc(100dvh - 120px)!important;overflow:auto!important;overscroll-behavior:contain;touch-action:pan-y!important}
#subMenu.monsterMode .monsterBookGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
#subMenu.monsterMode .monsterCard{min-width:0;min-height:110px;padding:6px;font-size:11px}
#subMenu.monsterMode .monsterPortrait{width:54px;height:58px}
#subMenu.monsterMode .monsterCard>b{font-size:11px;overflow-wrap:anywhere}
#subMenu.monsterMode .monsterCard small{font-size:9px}
#subMenu.monsterMode .monsterTooltip{font-size:11px;line-height:1.35;max-width:min(240px,calc(100vw - 28px));max-height:55dvh;overflow:auto}
#monsterDetail58.social54{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;translate:none!important;width:min(540px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 40px)!important;overflow:auto!important;box-sizing:border-box;padding:12px!important;font-size:12px!important;line-height:1.45;overscroll-behavior:contain;touch-action:pan-y!important}
#monsterDetail58 header{position:sticky;top:-12px;background:#111d2b;z-index:2;padding:8px 0}
#monsterDetail58 header button{min-width:30px;min-height:30px}
#monsterDetail58 h3{font-size:14px;margin:8px 0}#monsterDetail58 p{font-size:11px;margin:5px 0}
#monsterDetail58 .monsterDetailHero58{gap:10px;margin-top:8px;align-items:flex-start}
#monsterDetail58 .monsterDetailPortrait58{flex-basis:70px;width:70px;height:76px}
#monsterDetail58 .monsterDropList58 article{gap:7px;margin:5px 0;padding:6px;font-size:11px}
#monsterDetail58 .monsterDropList58 b{font-size:11px}#monsterDetail58 .monsterDropList58 small{display:block;font-size:10px;overflow-wrap:anywhere}
#monsterDetail58 .monsterDropList58 img{max-width:34px;max-height:34px;object-fit:contain}
#subMenu.monsterMode .desertAtlasPortrait,#monsterDetail58 .desertAtlasPortrait{background-size:400% 400%!important;background-position:0 0!important}
#worldMapOverlay #connectedWorldMap{max-height:65dvh;overflow:auto!important}
@media(max-width:600px){#subMenu.monsterMode .monsterBookGrid{grid-template-columns:repeat(3,minmax(0,1fr))}#subMenu.monsterMode .monsterCard{min-height:98px}#monsterDetail58.social54{font-size:11px!important}#monsterDetail58 .monsterDetailPortrait58{flex-basis:56px;width:56px;height:64px}}

/* Crafting ingredients -> result; inventory values are display only. */
.craftRecipe109{display:block!important;padding:16px!important;margin:12px 0!important;border:1px solid #74603b;border-radius:12px;background:linear-gradient(135deg,#192330,#101721)}
.craftFlowHost109{min-width:0;max-width:100%}.craftFlow109{display:flex;align-items:center;gap:10px;overflow-x:auto;max-width:100%;padding:16px 4px;box-sizing:border-box}.craftNode109{flex:0 0 104px;text-align:center;color:#e7dbc0}.craftArt109{height:66px;display:flex;justify-content:center;align-items:center;background:#0d1520;border:1px solid #6f674b;border-radius:9px;overflow:hidden}.craftArt109 img{max-width:54px;max-height:54px;object-fit:contain}.craftName109{display:block;font-size:12px;line-height:1.4;margin:6px 0;min-height:34px;overflow-wrap:anywhere}.craftNode109 strong{font-size:13px;font-variant-numeric:tabular-nums}.craftMissing109 strong{color:#ff9991}.craftEnough109 strong{color:#92dfa3}.craftLink109{flex:0 0 20px;font-size:23px;text-align:center;color:#d9bc79}.craftOutput109{flex-basis:132px}.craftOutput109 .craftArt109{height:98px;border-color:#d8b66e;box-shadow:inset 0 0 20px #ad833025}.craftOutput109 strong{color:#f2d491}.craftRecipe109>input{width:80px;margin:8px}.craftRecipe109>button{margin:8px;padding:10px 20px}@media(max-width:600px){.craftFlow109{gap:6px}.craftNode109{flex-basis:80px}.craftOutput109{flex-basis:100px}.craftLink109{flex-basis:14px}.craftArt109{height:58px}.craftOutput109 .craftArt109{height:84px}}

/* Mobile selling windows can expand independently of character/inventory panels. */
#shopWindowSize110{display:none}.mailboxToolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mailboxToolbar button{min-height:36px;padding:6px 10px}
@media(pointer:coarse){
#shopWindowSize110:not([hidden]){display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 10px;margin:0 38px 0 8px;background:#27374a;color:#f2dba4;border:1px solid #8c784f;border-radius:6px;font-size:12px!important;touch-action:manipulation!important}
#subMenu.shopWide110{position:fixed!important;left:calc(6px + env(safe-area-inset-left))!important;right:calc(6px + env(safe-area-inset-right))!important;top:calc(6px + env(safe-area-inset-top))!important;bottom:calc(6px + env(safe-area-inset-bottom))!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;transform:none!important;translate:none!important}
#subMenu.shopWide110 .subWindow{zoom:1!important;height:100%!important;max-height:100%!important;width:100%!important;max-width:none!important;box-sizing:border-box;display:flex!important;flex-direction:column!important;overflow:hidden!important}
#subMenu.shopWide110 #subMenuBody{flex:1!important;min-height:0!important;overflow:auto!important;max-height:none!important}
#subMenu.shopWide110 .minaSellLayout{grid-template-columns:1fr!important;gap:8px!important}
#subMenu.shopWide110 .minaSellLayout .shopIntro{display:flex;flex-wrap:wrap;gap:6px;padding:4px!important}#subMenu.shopWide110 .minaSellLayout .shopIntro span{display:none}#subMenu.shopWide110 .minaSellLayout .shopTouchInfo{margin:4px 0;padding:5px;font-size:10px}
#subMenu.shopWide110 .sellBagGrid{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))!important;max-height:none!important;gap:5px!important}
#subMenu.shopWide110 .sellBagGrid .accountSlot{height:64px!important;min-height:64px!important;max-height:64px!important}
#subMenu.shopWide110 .marketSourceGrid{grid-template-columns:repeat(auto-fit,minmax(78px,1fr))!important;max-height:none!important}
#subMenu.shopWide110 .playerShopPicker56{max-height:none!important;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important}
#subMenu.shopWide110 .marketPanel .marketSource{min-width:0;padding:5px}
#subMenu.shopWide110 .marketSources .itemCardDetails{font-size:10px}.mailboxToolbar button{min-height:40px}
}

#shopWindowSize110:not([hidden]){display:inline-flex;align-items:center;min-height:34px;padding:5px 10px;margin:0 10px;background:#27374a;color:#f2dba4;border:1px solid #8c784f;border-radius:6px;font-size:12px;cursor:pointer}
#subMenu.shopWide110{position:fixed!important;inset:20px max(12px,env(safe-area-inset-right)) 20px max(12px,env(safe-area-inset-left))!important;width:auto!important;max-width:1160px!important;height:auto!important;max-height:none!important;margin:auto!important;translate:none!important;transform:none!important}
#subMenu.shopWide110 .subWindow{zoom:1!important;width:100%!important;max-width:none!important;height:100%!important;max-height:100%!important;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden!important}
#subMenu.shopWide110 #subMenuBody{flex:1;min-height:0;max-height:none!important;overflow:auto!important;overflow-x:hidden!important;box-sizing:border-box}
#subMenu.shopWide110 .playerShopBody{display:block!important}.craftRecipe109{max-width:100%;box-sizing:border-box;min-width:0;overflow:hidden}
.craftFlow109{display:grid!important;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr) 22px minmax(0,1.3fr);gap:6px!important;overflow:visible!important;width:100%;max-width:100%;box-sizing:border-box}
.craftFlow109 .craftNode109{min-width:0;width:auto;max-width:100%}.craftFlow109 .craftArt109{min-width:0}.craftFlow109 .craftName109{font-size:12px;min-height:34px;overflow-wrap:anywhere}.craftFlow109 strong{display:block;overflow-wrap:anywhere;font-size:12px}.craftFlow109 .craftArt109 img{max-width:100%;object-fit:contain}
.itemPicker111{position:fixed;inset:0;display:grid;place-items:center;z-index:200150;background:#000a;padding:12px;box-sizing:border-box}.itemPicker111>section{background:#101c2d;border:1px solid #b59a5f;border-radius:12px;padding:14px;color:#eeddb8;width:min(850px,96vw);max-height:88dvh;overflow:auto;box-sizing:border-box}.itemPicker111 h3{margin:0 0 10px}.itemPicker111 button,.scrollUse111{min-height:40px;background:#263a50;color:#ffe7a2;border:1px solid #8b7b50;border-radius:7px;padding:8px;cursor:pointer}.itemPickerGrid111{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;margin-top:12px}.itemPickerGrid111>button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.itemPickerGrid111 img{width:48px;height:48px;object-fit:contain}.itemPickerGrid111 b,.itemPickerGrid111 small{display:block;overflow-wrap:anywhere}.scrollUse111{display:block;width:100%;margin-top:12px;pointer-events:auto!important}#itemHoverTooltip:has(.scrollUse111){pointer-events:auto!important}.enchantMainSlot,.enchantBoosterSlot{cursor:pointer}
@media(pointer:coarse){
#subMenu.shopWide110{inset:calc(6px + env(safe-area-inset-top)) calc(6px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(6px + env(safe-area-inset-left))!important;max-width:none!important;width:auto!important;max-height:none!important}
#subMenu.shopWide110 .subWindow{zoom:1!important;height:100%!important;max-height:100%!important;width:100%!important}
#subMenu.shopWide110 .craftRecipe109{padding:10px!important;margin:8px 0!important}.craftFlow109{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1fr) 12px minmax(0,1.25fr);gap:3px!important}.craftFlow109 .craftArt109{height:54px!important}.craftFlow109 .craftOutput109 .craftArt109{height:72px!important}.craftFlow109 .craftArt109 img{max-width:40px;max-height:46px}.craftFlow109 .craftName109{font-size:10px;min-height:42px}.craftFlow109 strong{font-size:11px}.craftLink109{font-size:17px!important}
#phoneMovePad{left:calc(18px + env(safe-area-inset-left))!important;bottom:calc(132px + env(safe-area-inset-bottom))!important;width:128px!important;height:128px!important;box-sizing:border-box;background:rgba(20,42,59,.20)!important;border:2px solid #d5c58b88!important;box-shadow:0 0 12px #12253522;opacity:.70!important;z-index:48!important}
#phoneMovePad i{width:46px!important;height:46px!important;left:50%!important;top:50%!important;margin-left:-24px;margin-top:-24px;background:#b0c5d17a!important;border-color:#eee5b180!important}#phoneMovePad span{font-size:11px!important}
#subMenu .windowDragHandle{flex-wrap:wrap;gap:5px!important}#subMenuTitle{flex:1;min-width:90px;white-space:normal!important}#shopWindowSize110:not([hidden]){margin-right:36px!important}
.itemPickerGrid111{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}
}

#itemHoverTooltip.pinned:has(.scrollUse111){max-height:75dvh;overflow-y:auto!important;box-sizing:border-box}

.compactLevel112,#profileSize112{display:none}
#navigationHud112{position:fixed;right:12px;top:98px;width:min(270px,calc(100vw - 148px));z-index:78;padding:9px;background:#101d2de8;border:1px solid #ad9758;border-radius:8px;color:#f9e2a5;font:12px Arial;pointer-events:auto}#navigationHud112[hidden]{display:none!important}#navigationHud112>b,#navigationHud112>span{display:block;margin-bottom:5px}#navigationHud112>span{font-size:11px;color:#c3d0dc}#navigationHud112 button,#worldRouteInfo112 button,.worldGraphTools112 button{min-height:34px;padding:5px 9px;background:#263b50;border:1px solid #8a805c;border-radius:6px;color:#ffe9b3;cursor:pointer;margin:3px}#navigationHud112 button:disabled,#worldRouteInfo112 button:disabled{opacity:.45}
#connectedWorldMap{min-height:0;overflow:hidden}.worldGraphViewport112{max-height:58dvh;overflow:auto;touch-action:pan-x pan-y!important;overscroll-behavior:contain;border:1px solid #4c5d70;border-radius:8px;background:#0a1422}#connectedWorldMap .worldGraphViewport112 svg{display:block;width:1074px;max-width:none!important;max-height:none!important;height:auto;touch-action:pan-x pan-y!important}#connectedWorldMap [data-map-target112]{cursor:pointer;outline:none}#connectedWorldMap [data-map-target112]:focus .worldMapFrame112{stroke:#fff;stroke-width:5}#connectedWorldMap .routePass112 .worldMapFrame112{stroke:#d8ba69;stroke-width:3}#connectedWorldMap .routeSelected112 .worldMapFrame112{stroke:#fff1a2;stroke-width:5;fill:#504125}#connectedWorldMap .routeEdge112{stroke:#ffe28c;stroke-width:7;stroke-dasharray:13 7}#worldRouteInfo112 p{margin:6px 0;font-size:12px;overflow-wrap:anywhere}.worldGraphTools112{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:12px;color:#d5dfec}.worldMapPanel:has(#connectedWorldMap){overflow:auto!important;max-height:94dvh!important}
@media(pointer:coarse){
#profileSize112{display:block;position:absolute;right:0;top:-32px;height:29px;min-height:29px;padding:4px 10px;border:1px solid #a99a68;border-radius:6px;background:#142436e8;color:#ffe6a2;font:12px Arial;z-index:4;pointer-events:auto;touch-action:manipulation!important}
body.profileCompact112 #party.panel{left:12px!important;right:auto!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;width:calc((100vw - 24px)/.75)!important;height:54px!important;gap:4px!important}
body.profileCompact112 #party.panel .member{height:54px!important;min-height:54px!important;max-height:54px!important;padding:3px 5px 13px!important;border-radius:5px!important;overflow:hidden!important}
body.profileCompact112 #party .portrait,body.profileCompact112 #party .bagBtn,body.profileCompact112 #party .info>b,body.profileCompact112 #party .info>span,body.profileCompact112 #party .resourceText,body.profileCompact112 #party .skillbar,body.profileCompact112 #party .buffIcons{display:none!important}
body.profileCompact112 #party .info{position:static!important;margin:0!important;padding:0!important;width:100%!important;min-width:0!important}
body.profileCompact112 #party .compactLevel112{display:block!important;color:#ffe4a1;font:10px/11px Arial;margin:0 0 2px!important}
body.profileCompact112 #party .bar{height:9px!important;min-height:9px!important;margin:2px 0!important;position:relative!important}
body.profileCompact112 #party .bar .barText{font-size:7px!important;line-height:8px!important;margin:0!important}
body.profileCompact112 #party .memberExp{display:block!important;position:absolute!important;left:4px!important;right:4px!important;bottom:3px!important;margin:0!important;padding:0!important}
body.profileCompact112 #party .memberExp .expPair{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px!important;height:7px!important}
body.profileCompact112 #party .miniExp{height:7px!important;min-height:7px!important;margin:0!important}body.profileCompact112 #party .miniExp>span{font-size:5px!important;line-height:6px!important}
.worldGraphViewport112{max-height:50dvh}#worldRouteInfo112 p{font-size:11px}#connectedWorldMap>small{font-size:10px}.worldGraphTools112 button{min-height:38px}
}

@media(pointer:coarse){.worldMapPanel:has(#connectedWorldMap){zoom:1!important;width:calc(100vw - 14px)!important;box-sizing:border-box;max-height:94dvh!important;padding:8px!important}}

@media(pointer:coarse){#profileSize112{position:fixed!important;right:12px!important;top:auto!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;z-index:80!important}body.profileCompact112 #profileSize112{bottom:calc(58px + env(safe-area-inset-bottom))!important}body:has(#mainMenu.open,#subMenu.open,#accountBagWindow.open,#characterModal.open,#worldMapOverlay.open,#characterSelect.open,#authModal.open) #profileSize112{display:none!important}}

.npcDirectory114{max-width:900px;margin:auto}.npcDirectory114 input{display:block;width:100%;box-sizing:border-box;padding:10px;background:#101b2d;color:#eff5ff;border:1px solid #6f7f96;border-radius:6px;margin:8px 0 16px}.npcDirectory114 article{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px;margin:10px 0;border:1px solid #53627b;border-radius:9px;background:#142134}.npcDirectory114 article b{color:#ffe29b}.npcDirectory114 article p{grid-column:1;margin:0;line-height:1.6}.npcDirectory114 article small{grid-column:1;color:#acc2dd}.npcDirectory114 article button{grid-column:2;grid-row:1/4;align-self:center;min-height:44px}#socialTop55{flex-wrap:wrap}@media(max-width:600px){.npcDirectory114 article{grid-template-columns:1fr}.npcDirectory114 article button{grid-column:1;grid-row:auto;width:100%}}

.npcDirectory114 select{display:block;width:100%;max-width:100%;min-height:44px;padding:10px;margin:8px 0 16px;background:#101b2d;color:#eff5ff;border:1px solid #6f7f96;border-radius:6px}.npcDirectory114 option{white-space:normal}#autoPotionPanel select{max-width:100%;padding:8px;background:#0a1724;color:#fff;border:1px solid #7c8b98;border-radius:5px}.autoAreaChoices117{border:1px solid #7c8b98;border-radius:8px;padding:10px;margin:12px 0}.portrait>.halberdPortrait116{width:100%;height:100%;display:block}

/* Keep both allocation buttons visible on narrow screens. */
.classicCharacter .classicUpgradeGrid .statRow{display:grid;grid-template-columns:minmax(45px,1fr) 30px 26px 58px!important;gap:5px!important;align-items:center}.classicCharacter .classicUpgradeGrid [data-stat-all130]{font-size:10px!important;height:32px!important;min-height:32px;padding:4px}.bidelReset130{margin-top:18px;padding:14px;border:1px solid #8f7949;border-radius:10px}.bidelReset130 button{min-height:40px;margin:4px}.bidelReset130 p{font-size:12px;line-height:1.7}.thanyaPortrait130{object-fit:contain;max-width:100%;max-height:100%;display:block}

.thanyaPortrait130{position:static!important;inset:auto!important;width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%}.certificateDrop{overflow:hidden;isolation:isolate;box-sizing:border-box}.certificateDrop>.thanyaPortrait130{position:static!important;inset:auto!important;width:110px!important;height:110px!important;max-width:100%!important;max-height:110px!important;margin:0 auto 8px;display:block}.certificateDrop>b,.certificateDrop>p{position:relative;display:block;overflow-wrap:anywhere}.certificateDrop p{margin:6px 0}

.motionPortrait134{position:static!important;inset:auto!important;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block}.certificateDrop>.motionPortrait134{position:static!important;inset:auto!important;width:110px!important;height:110px!important;max-width:100%!important;max-height:110px!important;margin:0 auto 8px;display:block}.partyPick .motionPortrait134{width:100%;height:100%}

/* v201: readable monster encyclopedia, separate from compact shop sizing. */
#subMenu.monsterMode{height:min(720px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important;width:min(760px,calc(100vw - 24px))!important;box-sizing:border-box!important;overflow:hidden!important}
#subMenu.monsterMode .subWindow{zoom:1!important;display:flex!important;flex-direction:column!important;height:100%!important;max-height:100%!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box!important;padding:12px!important}
#subMenu.monsterMode .windowDragHandle{flex:0 0 auto;min-height:40px!important}
#subMenu.monsterMode #subMenuBody{flex:1 1 0%!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px!important}
#subMenu.monsterMode .monsterBookGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#subMenu.monsterMode .monsterBookFilters59{position:sticky;top:-8px;background:#101e30;z-index:2;padding:8px 0;display:flex;gap:8px;flex-wrap:wrap}
#subMenu.monsterMode .monsterBookFilters59 button{font-size:13px!important;min-height:40px!important}
#subMenu.monsterMode .monsterCard{min-height:145px!important;gap:7px!important;overflow:hidden!important}
#subMenu.monsterMode .monsterPortrait{width:78px;height:80px;image-rendering:auto}
#subMenu.monsterMode .monsterCard>b{font-size:13px!important;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
#subMenu.monsterMode .monsterCard small{font-size:11px!important;line-height:1.4}
#subMenu.monsterMode .monsterTooltip{display:none!important}
#monsterDetail58.social54{position:fixed!important;inset:12px auto auto 50%!important;transform:translateX(-50%)!important;zoom:1!important;width:min(760px,calc(100vw - 24px))!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important;box-sizing:border-box!important;overflow:auto!important;touch-action:pan-y!important;overscroll-behavior:contain;background:#101e30;color:#f5e6c5;font-size:14px!important;padding:14px!important}
#monsterDetail58 header{position:sticky;top:-14px;background:#101e30;padding:10px 0;z-index:2;min-height:40px}
#monsterDetail58 [data-close]{min-width:44px;min-height:44px;font-size:24px;touch-action:manipulation}
#monsterDetail58 .monsterDetailHero58{align-items:flex-start;gap:12px}
#monsterDetail58 .monsterDetailHero58>div{min-width:0;overflow-wrap:anywhere}
#monsterDetail58 p{line-height:1.5}
#monsterDetail58 .monsterDropList58 article{min-width:0;flex-wrap:wrap}
#monsterDetail58 .monsterDropList58 b{font-size:13px;line-height:1.45}
#monsterDetail58 .monsterDropList58 small{display:block;font-size:12px;color:#c1cfe1}
#monsterDetail58 .monsterDropList58 article>div{min-width:100px}
.statBonus201{color:#ff9d35!important;font-weight:900;white-space:nowrap;text-shadow:0 0 5px #ff8b2422}
@media(max-width:600px),(pointer:coarse){
#subMenu.monsterMode{left:calc(8px + env(safe-area-inset-left))!important;right:calc(8px + env(safe-area-inset-right))!important;top:calc(8px + env(safe-area-inset-top))!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;transform:none!important;translate:none!important;width:calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right))!important;height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;max-height:none!important;max-width:none!important;z-index:31000!important}
#subMenu.monsterMode .subWindow{zoom:1!important;height:100%!important;max-height:100%!important;padding:8px!important}
#subMenu.monsterMode .monsterBookGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#subMenu.monsterMode #subMenuTitle{font-size:16px!important;line-height:1.5!important}
#subMenu.monsterMode .monsterCard{min-height:142px!important}
#monsterDetail58 .monsterDetailPortrait58{flex-basis:72px;width:72px;height:80px}
}

#target{height:auto!important;min-height:48px}.tbar.armor203{height:5px!important;margin-top:3px;background:#102033}.tbar.armor203 i{background:linear-gradient(90deg,#608db7,#b5ecff)!important}.cashBanner canvas{position:absolute;right:0;bottom:-10px;width:160px!important;height:160px!important;object-fit:contain}#subMenuBody [data-recruit203],#subMenuBody [data-promote203]{display:block;width:100%;padding:14px;margin:12px 0}.monsterPortrait.zombieAtlas203,.monsterDetailPortrait58.zombieAtlas203{background-size:600% 400%!important;background-position:0 0!important}#monsterDetail58{display:block!important;z-index:42000!important}
.nunProducts204{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.nunProducts204 article{display:flex;align-items:center;gap:10px;border:1px solid #83734e;border-radius:8px;padding:12px;background:#142335}.nunProducts204 article>div{min-width:0;flex:1}.nunProducts204 small,.nunProducts204 strong{display:block;line-height:1.5}.nunProducts204 button,.neckRecipe204 button{min-height:44px;padding:10px}.neckRecipe204{border:1px solid #83734e;border-radius:10px;background:#142335;padding:14px;margin:12px 0}.neckRecipe204 header{display:flex;gap:12px;align-items:center}.neckIngredients204{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.neckIngredients204>div{flex:1;min-width:100px;text-align:center;padding:12px;border:1px solid #57677d;border-radius:8px}.neckIngredients204 strong{display:block;margin-top:8px}#mineHud204{position:fixed;right:12px;top:200px;width:235px;z-index:900;background:#13263fee;color:#f2e0ad;padding:12px;border:1px solid #bd9ae8;border-radius:10px;font:12px system-ui}#mineHud204[hidden]{display:none}#mineHud204>div{height:10px;background:#090f20;margin:10px 0;border-radius:5px;overflow:hidden}#mineHud204 i{display:block;height:100%;background:linear-gradient(90deg,#8266d5,#e6d6ff)}#mineHud204 button{padding:8px;min-height:36px}#oreDialog204 button{min-height:44px;padding:10px;margin:6px}@media(max-width:600px){.nunProducts204{grid-template-columns:1fr}.neckRecipe204 header p{font-size:12px}.neckIngredients204>div{min-width:90px}#mineHud204{right:8px;top:180px;width:200px;font-size:11px}}.nunProducts204 article b{font-size:14px}.nunProducts204 article small{font-size:12px;color:#cbd8e8}.neckIngredients204>div>b{display:block;margin-top:8px}
#travelButton205{position:fixed;right:12px;top:175px;z-index:450;padding:8px 12px;background:#172538ed;color:#ffe5a4;border:1px solid #ccb35e;border-radius:9px;cursor:pointer}#travelDialog205{position:fixed;inset:0;z-index:48000;background:#030911b3;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}#travelDialog205 article{width:min(560px,100%);max-height:86dvh;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:#152131;color:#e5edf6;border:1px solid #d5b65c;border-radius:14px;padding:18px;box-sizing:border-box}#travelDialog205 header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-18px;background:#152131;z-index:1}#travelDialog205 section{padding:12px;border:1px solid #52647c;border-radius:8px;margin:10px 0}#travelDialog205 button{padding:9px;margin:3px;border:1px solid #b49d64;background:#24384e;color:#ffe0a5;border-radius:6px}#travelDialog205 button:disabled{opacity:.4}@media(max-width:700px){#travelButton205{top:170px;right:7px;font-size:11px;padding:7px}#travelDialog205{padding:8px}#travelDialog205 article{max-height:92dvh}}

.holyShop207{font-size:15px;line-height:1.6}.holyShop207 button,.holyShop207 select{min-height:44px;padding:8px;margin:8px}
#abyssLore209{position:fixed;inset:0;z-index:48050;display:grid;place-items:center;padding:16px;background:#040916bf;box-sizing:border-box}#abyssLore209 .loreCard209{display:flex;flex-direction:column;width:min(900px,100%);max-height:92dvh;overflow:hidden;padding:0!important;background:linear-gradient(145deg,#1a2c42,#101a2b);border:1px solid #c9b272;border-radius:16px;box-shadow:0 20px 70px #0009;color:#e6ecf5;box-sizing:border-box}#abyssLore209 header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 22px;border-bottom:1px solid #bfa76a55;background:#112034}#abyssLore209 header small{color:#c4b183;font-size:12px;letter-spacing:.06em}#abyssLore209 h2{margin:5px 0 0;color:#ffe8ad;font-size:22px;line-height:1.4}#abyssLore209 header button{flex:0 0 42px;min-width:42px;min-height:42px;border:1px solid #cbb278;background:#20344b;color:#ffe8ae;border-radius:8px;font-size:20px;cursor:pointer}#abyssLore209 .loreBody209{display:grid;grid-template-columns:255px minmax(0,1fr);gap:24px;padding:22px;overflow-y:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}#abyssLore209 aside{position:sticky;top:0;align-self:start;text-align:center}#abyssLore209 .lorePortrait209{position:relative;width:100%;height:310px;overflow:hidden;border-radius:120px 120px 14px 14px;background:radial-gradient(ellipse at 50% 37%,#d9c6973b,transparent 65%),linear-gradient(transparent,#1c3047)}#abyssLore209 .lorePortrait209 img{position:absolute;top:0;left:50%;transform:translateX(-50%);width:145%;max-width:none;height:auto;image-rendering:auto;filter:drop-shadow(0 4px 8px #0005)}#abyssLore209 aside strong{display:block;color:#ffe4a0;font-size:18px;margin-top:12px}#abyssLore209 aside span{display:block;color:#b9c9dc;font-size:12px;margin-top:5px}#abyssLore209 .loreText209{font-size:15px;line-height:1.85;min-width:0}#abyssLore209 .loreText209>p{margin:0 0 14px}#abyssLore209 b{color:#ffe6a2}#abyssLore209 .loreWater209{border:1px solid #b9a67066;background:#0d1a2bd9;padding:16px;border-radius:12px;margin-top:20px}#abyssLore209 h3{display:flex;gap:10px;align-items:center;color:#ffe8a8;margin:0 0 12px;font-size:18px}#abyssLore209 h3 img{width:48px;height:48px;flex:0 0 48px}#abyssLore209 ol{padding-left:22px;margin:12px 0}#abyssLore209 li{margin:7px 0}#abyssLore209 .loreWarning209{padding:12px;border-left:3px solid #d78c7c;border-radius:5px;background:#623e3e35;color:#f0c3ba}#abyssLore209 .loreBlessing209{color:#c9e2c4}#abyssLore209 .loreWater209 small{display:block;color:#b6c5d9;font-size:12px;line-height:1.7}#abyssLore209 footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid #bfa76a55;background:#112034}#abyssLore209 footer span{font-size:12px;color:#bdcadb}#abyssLore209 footer button,.nunLoreButton209{padding:11px 16px;min-height:44px;border:1px solid #cfb478;border-radius:8px;background:linear-gradient(#8d783e,#62532e);color:#fff1ca;font:inherit;font-weight:bold;cursor:pointer}.nunLoreButton209{width:100%;margin-bottom:14px;text-align:left}#abyssLore209 button:focus-visible,#abyssLore209 [tabindex]:focus-visible{outline:2px solid #ffe6a3;outline-offset:3px}@media(max-width:650px){#abyssLore209{padding:8px}#abyssLore209 .loreCard209{max-height:94dvh;border-radius:12px}#abyssLore209 header{padding:12px}#abyssLore209 h2{font-size:17px}#abyssLore209 .loreBody209{grid-template-columns:minmax(0,1fr);gap:16px;padding:15px}#abyssLore209 aside{position:static}#abyssLore209 .lorePortrait209{width:170px;height:195px;margin:auto}#abyssLore209 aside strong{margin-top:8px;font-size:16px}#abyssLore209 .loreText209{font-size:14px;line-height:1.85}#abyssLore209 .loreWater209{padding:12px}#abyssLore209 footer{padding:10px 12px;flex-wrap:wrap}#abyssLore209 footer button{width:100%;font-size:14px}#abyssLore209 footer span{width:100%;text-align:center}}

.armoGold210{border:1px solid #ffdc75!important;box-sizing:border-box;box-shadow:0 0 4px #ffe8a0,inset 0 0 5px #edb83a88,0 0 9px #c8944a99!important;border-radius:6px}

/* Compact combat sheet, real equipment slots and readable mobile controls. */
#characterModal .classicCharacter{width:min(690px,96vw)!important;max-width:96vw!important;background:linear-gradient(135deg,#161b22f7,#0d1522fa)!important;border:1px solid #a59168!important}
#characterModal .classicCharColumns{display:grid!important;grid-template-columns:minmax(160px,1fr) minmax(190px,.95fr)!important;gap:14px!important}
#characterModal .classicEquipment .equipGrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;align-content:start}
#characterModal .equipSlot{min-width:0!important;min-height:68px!important;height:auto!important;padding:5px!important;box-sizing:border-box!important;border:1px solid #736343!important;background:#0c1119!important;position:relative;overflow:hidden}
#characterModal .equipSlotVisual{width:42px!important;height:42px!important;margin:auto!important;overflow:hidden}
#characterModal .equipSlot small{display:block;font-size:9px!important;line-height:1.3!important;max-height:26px;overflow:hidden;text-align:center;overflow-wrap:anywhere}
#characterModal .classicStatPair{display:flex;justify-content:space-between;gap:8px;font-size:11px!important;padding:3px 0!important;line-height:1.4}
#characterModal .classicSummary h3,#characterModal .classicEquipment h3{font-size:13px!important;border-bottom:1px solid #736343;padding-bottom:7px}
#characterModal .characterBaseStats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important;font-size:11px!important}
.socketPanel229{padding:12px;color:#e6dbc1;line-height:1.6}.socketPanel229 article{padding:12px;margin:9px 0;border:1px solid #89734f;border-radius:8px;background:#111f32}.socketPanel229 button{padding:10px;margin:5px;min-height:42px}.socketPanel229 .itemThumb{width:48px;height:48px}.socketGemShop229{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.toolDrag229{display:inline-flex;align-items:center;justify-content:center;min-width:25px;min-height:32px;font-size:22px;line-height:1;color:#ffe1a0;touch-action:none!important;cursor:move;user-select:none}
@media(pointer:coarse){#hideUi155{top:56px!important;left:8px!important}#travelButton205:not([data-user-placed229]){top:136px!important;right:12px!important;left:auto!important;bottom:auto!important}#phoneZoomControls{max-width:190px}#hideUi155,#travelButton205{display:inline-flex;align-items:center;gap:4px}#characterModal .classicCharColumns{grid-template-columns:minmax(135px,1fr) minmax(145px,.95fr)!important;gap:8px!important}#characterModal .equipSlot{min-height:60px!important}.socketGemShop229{grid-template-columns:1fr}body.uiHidden155 #travelButton205{display:none!important}}

/* Upgrade tab must suppress the equipment/status grid even against its explicit grid rule. */
#characterModal .classicCharColumns[hidden],#characterModal .classicStatUpgrade[hidden],#characterModal .equipmentInspectBox[hidden]{display:none!important}
#characterModal{width:min(720px,96vw)!important;max-width:96vw!important}
#characterModal .classicStatUpgrade:not([hidden]){display:block!important;margin:0!important;padding:10px 0!important}
#characterModal .classicStatUpgrade h3{position:sticky;top:0;background:#142030;z-index:4;padding:10px!important}
#characterModal .statChoice144{position:sticky;top:40px;z-index:3;background:#142030;padding:8px;border:1px solid #75664a;border-radius:7px}
#characterModal .statChoice144 select,#characterModal .statChoice144 button{min-height:44px;font-size:16px;touch-action:manipulation}
#characterModal .classicUpgradeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#characterModal .classicUpgradeGrid .statRow{display:grid;grid-template-columns:minmax(42px,1fr) minmax(32px,auto) 42px 64px;gap:7px;padding:8px;align-items:center;font-size:13px}
#characterModal .classicUpgradeGrid .statRow button{min-height:44px;height:auto;min-width:0;font-size:14px;touch-action:manipulation}
#characterModal .statRecommend230{display:block;color:#9be9bb;font-size:10px;font-weight:bold}
@media(max-width:600px){#characterModal .classicUpgradeGrid{grid-template-columns:1fr}#characterModal .classicStatUpgrade .statChoice144{top:40px;flex-wrap:wrap}#characterModal .classicStatUpgrade .elementBox{line-height:1.7}}

/* Dedicated socket service, isolated from option enchanting. */
#socketWindow236{position:fixed;inset:0;z-index:43000;display:flex;align-items:center;justify-content:center;padding:14px;box-sizing:border-box;background:rgba(3,8,14,.68);font:14px Tahoma,system-ui,sans-serif;color:#ede8d7;overscroll-behavior:contain}
#socketWindow236 *{box-sizing:border-box}#socketWindow236 button,#socketWindow236 input{font:inherit;touch-action:manipulation}#socketWindow236 button{cursor:pointer;color:#ddd9c9;border:1px solid #75684e;background:linear-gradient(#303535,#171c22);border-radius:4px;min-height:44px;padding:7px 10px}#socketWindow236 button:hover:not(:disabled){border-color:#f2d083;background:linear-gradient(#4b4430,#262522)}#socketWindow236 button:focus-visible,#socketWindow236 input:focus-visible{outline:2px solid #ffe29c;outline-offset:2px}#socketWindow236 button:disabled{opacity:.45;cursor:default}#socketWindow236 .socketShell236{width:min(800px,96vw);max-height:92dvh;display:flex;flex-direction:column;background:linear-gradient(135deg,#172127f5,#101319fa);border:1px solid #c8b27d;border-radius:10px;box-shadow:0 0 0 3px #171b20,0 0 0 4px #665d47,0 18px 80px #000b;overflow:hidden}#socketWindow236 .socketHeader236{padding:9px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #75684e;background:linear-gradient(90deg,#3b3b2b,#192126)}#socketWindow236 h2{font-size:19px;margin:3px 0;color:#fff0b9}#socketWindow236 h3{font-size:15px;margin:9px 0;overflow-wrap:anywhere}#socketWindow236 small{display:block;color:#b5baaf;font-size:12px;line-height:1.65}#socketWindow236 .socketModes236{display:flex;padding:9px 12px;gap:8px;background:#0e151c;border-bottom:1px solid #534c3e}#socketWindow236 .socketModes236 button{flex:1}#socketWindow236 button.active,#socketWindow236 button.selected{border-color:#e6c46c;background:linear-gradient(#575037,#28271f);color:#fff0b0}#socketWindow236 .socketColumns236{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(320px,1.1fr);min-height:0;overflow:auto}#socketWindow236 .socketInventory236{border-right:1px solid #665c45;padding:12px;display:flex;flex-direction:column;min-height:0;max-height:72dvh}#socketWindow236 .socketInventory236 nav{display:flex;gap:4px}#socketWindow236 .socketInventory236 nav button{flex:1;padding:5px;font-size:12px}#socketWindow236 input{background:#0b1219;color:#eee;border:1px solid #605947;min-height:44px;border-radius:4px;padding:8px;max-width:100%}#socketWindow236 [data-socket-search]{width:100%;margin:9px 0}#socketWindow236 .socketPicker236{overflow-y:auto;min-height:90px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9c8c65 #10171c}#socketWindow236 .socketPick236{margin:0 0 7px}#socketWindow236 .socketPick236>button{display:flex;align-items:center;text-align:left;width:100%;gap:9px;padding:8px}#socketWindow236 .socketPick236 b{font-size:12px;line-height:1.6}#socketWindow236 .socketPick236>input{width:100%;margin-top:3px}#socketWindow236 .socketWork236{padding:14px 22px;text-align:center;min-width:0}#socketWindow236 .socketInstruction236{color:#b8d3d9;font-size:12px;margin:0 0 10px}#socketWindow236 .socketTarget236{width:94px;height:94px;display:inline-flex;justify-content:center;align-items:center;border:3px double #d3c794;border-radius:2px;background:radial-gradient(#385f70,#142b38 65%,#0e151d);box-shadow:0 0 0 3px #111a20,0 0 0 4px #827d62}#socketWindow236 .socketTarget236>span{font-size:34px;color:#c6ba89}#socketWindow236 .itemVisual{display:inline-block;flex:0 0 auto}#socketWindow236 .socketCount236{margin:13px 0 5px;padding:8px;border-top:1px solid #75684e;border-bottom:1px solid #75684e;color:#dad4b7}#socketWindow236 .socketSlots236{display:flex;flex-direction:column;gap:6px;padding:8px 0;text-align:left}#socketWindow236 .socketSlots236>div{display:flex;align-items:center;gap:10px;font-size:12px}#socketWindow236 .socketSlotArt236{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#090e13;border:1px solid #514c40;color:#65665d;font-size:23px;flex-shrink:0}#socketWindow236 .socketSlotArt236.opened{border-color:#9c946a;color:#dace98}#socketWindow236 .socketSlotArt236 .itemVisual{transform:scale(.75)}#socketWindow236 .socketPowder236{margin-top:8px;border:1px solid #675e48;padding:9px;background:#111b23}#socketWindow236 .socketPowder236>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:7px;text-align:left}#socketWindow236 .socketStepper236{display:flex;align-items:center;gap:4px}#socketWindow236 .socketStepper236 button{width:36px;padding:0;font-size:18px}#socketWindow236 output{min-width:22px;text-align:center}#socketWindow236 .short{color:#ff9f94}#socketWindow236 .socketRate236{height:26px;position:relative;background:#090e14;border:1px solid #75684e;margin:10px 0 5px;overflow:hidden}#socketWindow236 .socketRate236>span{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#65501d,#cfa73e)}#socketWindow236 .socketRate236>b{position:relative;display:block;text-align:center;line-height:24px;color:#fff7cf;font-size:12px;text-shadow:0 1px 3px #000}#socketWindow236 footer{margin-top:11px;border-top:1px solid #675e48;padding-top:7px}#socketWindow236 footer>p{margin:4px}#socketWindow236 .socketPrimary236{display:block;width:100%;margin:10px 0 5px;min-height:48px;background:linear-gradient(#806846,#4a3621);border-color:#bd9c60;color:#fff0be;font-size:17px;font-weight:bold}#socketWindow236 .socketResult236{min-height:22px;font-size:12px;color:#f0cd83;line-height:1.6}#socketWindow236 .socketGemChoice236{border:1px solid #5c5544;margin:8px 0;padding:10px;text-align:left}#socketWindow236 .socketGemChoice236>button{display:flex;align-items:center;gap:8px;width:100%;margin-top:7px}#socketWindow236 .socketGemChoice236 p{font-size:12px;line-height:1.7;color:#dcd3b8}#socketWindow236 details{text-align:left;font-size:12px;color:#bdbba9;line-height:1.7}#socketWindow236 details p{margin-bottom:0}#socketWindow236 .socketEmpty236{color:#a9b1b0;padding:14px 5px;line-height:1.8}
@media(max-width:600px){#socketWindow236{padding:8px}#socketWindow236 .socketShell236{width:100%;max-height:95dvh}#socketWindow236 .socketColumns236{display:flex;flex-direction:column;overflow-y:auto}#socketWindow236 .socketWork236{padding:12px 16px;flex:0 0 auto;order:0}#socketWindow236 .socketTarget236{width:76px;height:76px}#socketWindow236 .socketInventory236{border-right:0;border-top:1px solid #75684e;max-height:none;flex:0 0 auto;padding:12px;order:1}#socketWindow236 .socketPicker236{max-height:250px}#socketWindow236 .socketSlots236{flex-direction:row;flex-wrap:wrap;gap:12px}#socketWindow236 .socketSlots236>div{flex:1;min-width:125px}#socketWindow236 .socketHeader236 h2{font-size:17px}#socketWindow236 .socketPowder236>div:first-child{gap:5px}#socketWindow236 .socketStepper236 button{width:40px}#socketWindow236 .socketModes236{padding:6px 10px}}


#gemWorkshop238{position:fixed;inset:0;z-index:43000;padding:12px;display:flex;align-items:center;justify-content:center;background:#020710b8;color:#e5e4da;font:14px Tahoma,system-ui,sans-serif;overscroll-behavior:contain}#gemWorkshop238 *{box-sizing:border-box}#gemWorkshop238 .gemShell238{width:min(720px,96vw);max-height:92dvh;min-height:0;display:flex;flex-direction:column;border:1px solid #c3ac71;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,#1d2a33,#0f1721);box-shadow:0 20px 70px #000a}#gemWorkshop238 header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#2a302c;border-bottom:1px solid #7c7157;flex-shrink:0}#gemWorkshop238 h2{font-size:18px;margin:4px 0;color:#f6df9b}#gemWorkshop238 button,#gemWorkshop238 select{min-height:44px;max-width:100%;font:inherit;color:#eae3c6;border:1px solid #7f7455;border-radius:5px;background:#192630;padding:8px;touch-action:manipulation}#gemWorkshop238 button{cursor:pointer}#gemWorkshop238 button:disabled{opacity:.45;cursor:default}#gemWorkshop238 button.active,#gemWorkshop238 button.selected{border-color:#edce76;background:#4e4630}#gemWorkshop238 nav{display:flex;gap:7px;padding:9px 12px;flex-shrink:0}#gemWorkshop238 nav button{flex:1}#gemWorkshop238 .gemWorkshopBody238{overflow-y:auto;overflow-x:hidden;min-height:0;flex:1 1 auto;padding:8px 16px 16px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}#gemWorkshop238 p{line-height:1.7}#gemWorkshop238 small{display:block;color:#bbc1bc;line-height:1.6;font-size:12px}#gemWorkshop238 .gemHint238{font-size:12px;color:#b5d0d9}#gemWorkshop238 .gemWarning238{font-size:12px;color:#f0bc88;border:1px solid #766044;padding:9px;border-radius:5px}#gemWorkshop238 .gemOreGrid238{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}#gemWorkshop238 .gemOreGrid238 article{text-align:center;border:1px solid #615c49;border-radius:6px;padding:10px 5px;background:#0c151d;min-width:0}#gemWorkshop238 .gemOreGrid238 b{display:block;font-size:13px}#gemWorkshop238 .gemOreGrid238 strong{display:block;color:#e5cd87;font-size:12px;margin-top:5px}#gemWorkshop238 .gemReagent238{display:flex;flex-direction:column;gap:8px}#gemWorkshop238 select{width:100%;min-width:0}#gemWorkshop238 footer{padding:10px 16px;border-top:1px solid #7b6e50;display:flex;gap:8px;flex-shrink:0;background:#101b25}#gemWorkshop238 footer [data-gem-submit]{flex:1;background:linear-gradient(#816638,#493c27);font-weight:bold;color:#fff0bc}#gemWorkshop238 .gemDissolveList238{display:grid;grid-template-columns:1fr 1fr;gap:8px}#gemWorkshop238 .gemDissolveList238 button{display:flex;align-items:center;text-align:left;gap:8px;min-width:0;overflow-wrap:anywhere}#gemWorkshop238 .gemDissolveList238 b{font-size:13px}#gemWorkshop238 .gemDissolveList238 .itemVisual{flex-shrink:0}#gemWorkshop238 .gemSelected238{margin-top:12px;padding:10px;border:1px solid #d7bf75;display:flex;align-items:center;gap:10px}#gemWorkshop238 .gemList238{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}#gemWorkshop238 .gemList238 article{border:1px solid #625b48;border-radius:4px;padding:9px;overflow-wrap:anywhere}#gemWorkshop238 .gemList238 b{display:block;font-size:12px}#gemWorkshop238 .gemResult238{color:#ecd48c;min-height:20px}#socketWindow236 .socketColumns236,#socketWindow236 .socketPicker236{touch-action:pan-y;-webkit-overflow-scrolling:touch}
@media(max-width:600px){#gemWorkshop238{padding:7px}#gemWorkshop238 .gemShell238{width:100%;max-height:95dvh}#gemWorkshop238 header{padding:9px 12px}#gemWorkshop238 h2{font-size:16px}#gemWorkshop238 .gemWorkshopBody238{padding:4px 12px 12px}#gemWorkshop238 .gemOreGrid238{grid-template-columns:1fr 1fr}#gemWorkshop238 .gemDissolveList238{grid-template-columns:1fr}#gemWorkshop238 footer{padding:8px 12px}#subMenu.enchantMode.open,#subMenu.shopMode.open{max-height:92dvh!important;display:flex!important;flex-direction:column!important}#subMenu.enchantMode #subMenuBody,#subMenu.shopMode #subMenuBody{min-height:0!important;max-height:calc(92dvh - 80px)!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}}

@media(max-width:600px){#subMenu.vaultMode239 .subWindow,#subMenu.enchantMode .subWindow,#subMenu.shopMode .subWindow{max-height:92dvh!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}#subMenu.vaultMode239 #subMenuBody,#subMenu.enchantMode #subMenuBody,#subMenu.shopMode #subMenuBody{max-height:calc(92dvh - 80px)!important;min-height:0!important;flex:1 1 auto;overflow-y:auto!important;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.vault85Grid{min-width:0;overflow-x:hidden}}
