:root{color-scheme:dark;--gold:#d8b878;--text:#e8e5d9;--muted:#9caca8;--line:#68736755;--panel:#131c1f;--red:#b84943}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0a1012;color:var(--text);font-family:Manrope,Arial,sans-serif;overscroll-behavior:none}body{touch-action:none;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:#182225;touch-action:manipulation}button:active{filter:brightness(1.35);transform:translateY(1px)}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}#game{display:block;width:100%;height:100%;image-rendering:pixelated}#hud{position:fixed;inset:0;pointer-events:none}#hud button,#joystick{pointer-events:auto}.topbar{position:absolute;top:max(12px,var(--safe-top));left:14px;right:14px;display:flex;gap:10px;align-items:center;max-width:550px}.portrait{height:57px;width:54px;flex-shrink:0;position:relative;border:1px solid #b79e66;background:linear-gradient(140deg,#3b4440,#151d1d);box-shadow:0 3px 10px #0008}.portrait span{font-family:Georgia,serif;font-size:30px;color:#e0c695}.portrait b{position:absolute;bottom:-7px;left:16px;width:22px;background:#b69860;color:#141a1c;font-size:12px;padding:2px}.vitals{flex:1;min-width:0}.namebar{display:flex;justify-content:space-between;font-size:12px;text-shadow:0 2px 3px #000;margin-bottom:5px;gap:6px}.namebar strong{font-size:14px}.namebar span{color:var(--gold)}.bar{height:16px;background:#080d0ed9;position:relative;border:1px solid #79877966;overflow:hidden}.bar i{position:absolute;inset:0 auto 0 0;width:100%;transition:width .16s}.bar span{position:absolute;inset:0;text-align:center;font-size:10px;line-height:14px;text-shadow:0 1px #000}.health i{background:linear-gradient(#a34b46,#742b2a)}.mana{height:9px;margin-top:3px}.mana i{background:linear-gradient(#6d9cac,#365b76)}.mana span{font-size:8px;line-height:8px}.xp{height:3px;border:0;margin-top:4px}.xp i{background:#c3ac77}.square{width:40px;height:40px;font-size:24px;flex-shrink:0;background:#152023de}.zone{position:absolute;top:90px;left:16px;max-width:calc(100% - 145px);text-shadow:0 2px 4px #000,0 0 10px #000}.zone>span{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-weight:600;color:#e6d4ab}.zone small{display:block;font-size:12px;color:#c4cfc7;line-height:1.5;margin-top:3px}#mapButton{position:absolute;right:14px;top:85px;padding:0;background:#071015dd;border:1px solid #74806b66;box-shadow:0 3px 20px #0007}#minimap{display:block;width:100px;height:84px;image-rendering:pixelated}#mapButton span{display:block;font-size:9px;letter-spacing:2px;color:#c4b382;padding:2px;border-top:1px solid #74806b33}#bossHud{position:absolute;top:175px;left:50%;transform:translateX(-50%);width:min(330px,80vw);text-align:center;font-family:Georgia,serif;text-shadow:0 2px #000}#bossHud>span{display:block;margin-bottom:7px;color:#ead6b1}#bossHud .bar{height:9px;border-color:#b27e56}.bottomnav{position:absolute;bottom:max(9px,var(--safe-bottom));left:50%;transform:translateX(-50%);display:flex;gap:5px;white-space:nowrap}.bottomnav button{height:34px;padding:0 11px;font-size:13px;background:#101a1de8}.bottomnav b{font-size:10px;background:#b99b63;color:#101617;padding:1px 4px;margin-left:5px}#joystick{position:absolute;left:24px;bottom:75px;width:126px;height:126px;border-radius:50%;background:#0e1b205c;border:1px solid #bdc4a743;touch-action:none}.joy-ring{position:absolute;inset:16px;border:1px solid #bdc4a722;border-radius:50%}#stick{position:absolute;width:52px;height:52px;left:36px;top:36px;border-radius:50%;border:1px solid #d5d2aa7a;background:radial-gradient(circle at 40% 30%,#80948980,#33494490);box-shadow:0 3px 10px #0004}#joystick>span{position:absolute;bottom:-21px;left:0;right:0;text-align:center;color:#b9c5b28a;font-size:9px;letter-spacing:2px}.action-controls{position:absolute;right:17px;bottom:60px;width:185px;height:185px}.action{position:absolute;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 25%,#3a4542e8,#111b20ef);overflow:hidden;touch-action:none;box-shadow:0 4px 15px #0006}.action span,.action small{position:relative;z-index:1}.action small{font-size:10px;color:#d8d6be}.action span{font-size:26px;line-height:1.1;margin-bottom:3px;font-family:Georgia,serif}.attack{width:83px;height:83px;right:1px;top:64px;border:2px solid #d2b577;color:#ecd6a2}.attack span{font-size:37px}.skill{width:65px;height:65px;right:30px;top:0;border-color:#8fbdc0;color:#a6d2d9}.potion{width:54px;height:54px;left:0;top:78px;color:#e79283;border-color:#b7796b}.dash{width:53px;height:53px;right:84px;bottom:0;border-color:#909d7c;color:#cad5a1}.action i{position:absolute;inset:0;top:100%;background:#020608c9;pointer-events:none}.action.cooldown{filter:saturate(.4)}#interact{position:absolute;bottom:260px;left:50%;transform:translateX(-50%);padding:11px 18px;background:#15272bea;border-color:#cbb079;color:#eddbb9;font-size:14px;max-width:90vw;box-shadow:0 3px 20px #0008}#toast{position:absolute;top:28%;left:50%;transform:translateX(-50%);text-align:center;max-width:90vw;width:350px;font-size:15px;color:#f0dcae;text-shadow:0 2px 4px #000;background:linear-gradient(90deg,transparent,#0b141be6 20%,#0b141be6 80%,transparent);padding:12px 18px;opacity:0;transition:opacity .2s}#toast.show{opacity:1}#lootFeed{position:absolute;left:16px;top:185px;font-size:12px;line-height:1.7;text-shadow:0 2px 3px #000;max-width:65vw}.screen{position:fixed;inset:0;z-index:20}.title-screen{background:#111c20 url('cover.webp') center 45%/cover no-repeat;display:flex;justify-content:center;align-items:center;overflow:auto;touch-action:pan-y}.title-shade{position:fixed;inset:0;background:linear-gradient(0deg,#080f12 0%,#0b1218e8 18%,#0b12189c 48%,#0b121844 70%,#0b12188a 100%)}.title-content{position:relative;width:min(510px,100%);padding:36px 24px 45px;text-align:center}.eyebrow{font-size:10px;letter-spacing:3px;color:#c6b789}.title-content h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(40px,9.8vw,66px);line-height:.98;letter-spacing:3px;margin:24px -12px 14px;text-shadow:0 3px 24px #000,0 2px 2px #000;color:#eee4c9}.title-content h1 em{font-style:normal;font-size:1.2em;color:#dbc18d;letter-spacing:8px}.title-divider{display:flex;align-items:center;justify-content:center;gap:14px;color:#cbb17d;font-size:12px}.title-divider:before,.title-divider:after{content:'';height:1px;width:70px;background:#b89b6055}.intro{color:#b7c3be;font-size:13px;line-height:1.7;margin:20px -5px 26px}.classes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.class{padding:15px 3px 12px;background:#101b20cb;display:flex;flex-direction:column;align-items:center;border-color:#7a897450}.class.selected{background:#5c503c66;border-color:#d6b576;box-shadow:inset 0 0 20px #b3943712}.class>span{font-size:29px;color:#d9c397;height:42px;font-family:Georgia,serif}.class strong{font-size:14px}.class small{font-size:9px;color:#a9b3a8;margin-top:6px}.primary{min-height:52px;width:100%;background:linear-gradient(135deg,#d4b57c,#a88c54);color:#111a1c;border:1px solid #e4c58b;font-weight:800;font-size:15px;letter-spacing:.3px;margin-top:8px;padding:12px 18px}.primary span{float:right}.secondary{width:100%;padding:13px;font-size:14px;margin-top:9px;border-color:#867957;background:#263130}.save-note{font-size:11px;color:#8e9c98;line-height:1.7;margin:18px 0 0}.edition{position:absolute;bottom:17px;color:#8d927c;font-size:9px;letter-spacing:3px}.modal{position:fixed;inset:0;background:#03090cc9;backdrop-filter:blur(5px);z-index:30;display:flex;align-items:center;justify-content:center;padding:15px;touch-action:pan-y}.panel{width:min(540px,100%);max-height:calc(100dvh - 30px);overflow:auto;background:linear-gradient(140deg,#1d2a2e,#10191d);border:1px solid #8d866255;box-shadow:0 12px 70px #0009;padding:21px}.panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;font-weight:600;margin:3px 0 0;color:#e6d6b3}.panel p{font-size:14px;line-height:1.65;color:#b7c4bf}.panel h3{font-family:Georgia,serif;font-size:18px;color:#c9b887;font-weight:normal;margin:22px 0 10px}.tabs{display:flex;gap:6px;margin-bottom:15px}.tabs button{flex:1;padding:9px 4px;font-size:13px}.tabs button.active{border-color:var(--gold);color:var(--gold)}.equipment{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:12px 0}.equip-slot{text-align:center;min-height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 2px;background:#080e123f}.equip-slot span{font-size:24px}.equip-slot small{font-size:9px;color:#aab7b3}.equip-slot b{font-size:10px;line-height:1.5;margin-top:4px}.item-list{display:grid;gap:7px}.item-row{padding:11px;background:#0c161bcc;border:1px solid #8d94752b;display:flex;gap:11px;align-items:center;text-align:left;width:100%}.item-icon{width:40px;height:40px;background:#788a8212;display:grid;place-items:center;flex-shrink:0;font-family:Georgia,serif;font-size:27px}.item-main{flex:1;min-width:0}.item-main b{font-size:13px;display:block}.item-main small{font-size:11px;color:#9fadab;display:block;margin-top:4px}.item-side{font-size:12px;color:#d9bb81;white-space:nowrap}.rarity-0{color:#d1d6d0}.rarity-1{color:#83c58f}.rarity-2{color:#7db9e7}.rarity-3{color:#c195f0}.rarity-4{color:#f5b75d}.detail-icon{font-size:65px;text-align:center;padding:10px;font-family:Georgia,serif;background:#090f1333}.detail-name{text-align:center;font-family:Georgia,serif;font-size:24px;margin:15px 0 8px}.detail-meta{text-align:center;font-size:12px;color:#a9b4ad}.attribute{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #8a977422;font-size:14px}.attribute small{display:block;color:#96a8a4;font-size:11px;margin-top:3px}.attribute .plus{width:34px;height:34px;color:#dfc78d;font-size:22px}.good{color:#82cb9b}.bad{color:#de9388}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-box{background:#0b1419aa;padding:12px}.stat-box small{display:block;font-size:11px;color:#94a7a3}.stat-box b{display:block;font-size:20px;color:#d9d9c9;margin-top:3px}.inline-actions{display:flex;gap:8px}.inline-actions>*{flex:1}.empty{padding:22px;text-align:center;color:#91a49c}.map-full{width:100%;height:auto;image-rendering:pixelated;border:1px solid #75856744}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#bac8bd;margin-top:12px}.legend i{display:inline-block;width:7px;height:7px;margin-right:5px}.quest-block{padding:12px;background:#0a13188c;border-left:2px solid #b79a60;margin-bottom:10px}.quest-block strong{font-size:14px;color:#d4c394}.quest-block p{font-size:12px;margin:6px 0}.shortcut{display:inline-block;padding:1px 5px;background:#ffffff12;border:1px solid #ffffff22;font-size:11px}.warning{color:#d79983!important}.smallprint{font-size:11px!important;color:#80978f!important}button:disabled{opacity:.4;cursor:default}#continueButton:not([hidden])+#startButton{background:transparent;border-color:#75826955;color:#aebbb5;font-size:13px;min-height:42px}
@media(min-width:800px){.topbar{top:22px;left:25px;width:380px}.zone{left:27px;top:98px}#mapButton{right:25px;top:22px}#minimap{width:150px;height:125px}.action-controls{right:40px;bottom:50px}#joystick{left:40px;bottom:65px}.title-screen{background-size:auto 115%;background-color:#0b1418}.title-shade{background:linear-gradient(90deg,#081114ee,transparent 40%,transparent 60%,#081114ee),linear-gradient(0deg,#080f12,#0b121899 55%,#0b121866)}#lootFeed{left:27px}.title-content{padding-top:40px}.intro{margin-top:25px}.classes{margin-top:35px}}
@media(max-height:540px) and (orientation:landscape){.title-content{width:640px;padding:15px 20px;display:grid;grid-template-columns:1fr 1fr;gap:3px 25px;align-items:center}.title-content>.eyebrow,.title-content h1,.title-divider,.intro{grid-column:1}.title-content h1{font-size:40px;margin:10px 0}.title-content .classes{grid-column:2;grid-row:1/4;margin:0;align-self:end}.title-content .primary{grid-column:2}.title-content .save-note{grid-column:2;margin:3px 0;font-size:10px}.intro{font-size:11px;margin:10px 0;grid-row:5/7}.edition{display:none}.topbar{width:300px;top:9px;left:12px}.zone{top:80px;left:14px}.zone>span{font-size:19px}.zone small{font-size:10px}#mapButton{top:9px;right:12px}#minimap{width:84px;height:70px}#joystick{bottom:44px;left:25px;width:110px;height:110px}#stick{left:28px;top:28px}.action-controls{bottom:28px;transform:scale(.85);transform-origin:bottom right}.bottomnav{bottom:8px}#interact{bottom:65px}#bossHud{top:95px;width:240px}#lootFeed{top:135px}.panel{max-height:calc(100dvh - 20px)}}

.volume-label{display:flex;justify-content:space-between;font-size:14px;margin:22px 0 12px;color:#d1c4a3}#music-volume{width:100%;height:36px;accent-color:#d8b878;touch-action:pan-x}

.equipment{grid-template-columns:repeat(4,1fr)}.equip-slot{min-height:68px}.mana-potion{width:51px;height:51px;left:0;top:12px;border-color:#789ec0;color:#9ebfe7}.mana-potion span{font-size:25px}.bottomnav{gap:3px}.bottomnav button{padding:0 8px}#questCompass{position:absolute;left:50%;transform:translateX(-50%);bottom:96px;display:flex;align-items:center;gap:8px;padding:8px 10px;background:#142227cc;border-color:#b8a16a77;color:#e2c994;font-size:12px}#compassArrow{display:block;font-size:21px}.skill-card{padding:15px;margin:12px 0;border:1px solid #53665b66;background:#101d23}.skill-card.skill-active{border-color:#ccb37b;background:#b8a06712}.skill-heading{display:flex;justify-content:space-between;gap:10px;font-size:14px}.skill-heading span{font-size:12px;color:#d2bd85}.skill-card p{font-size:13px;margin:10px 0}.skill-card>small{font-size:12px;color:#9dafb3}.skill-card .secondary{font-size:12px}.stats-grid .stat-box b{font-size:18px}@media(max-height:540px) and (orientation:landscape){#questCompass{bottom:60px}}@media(max-width:370px){.bottomnav button{padding:0 5px}.bottomnav span{font-size:11px}#questCompass{bottom:230px}}

#bossHint{position:absolute;top:212px;left:50%;transform:translateX(-50%);width:min(400px,92vw);padding:7px 10px;background:#17272ee8;border:1px solid #dcbb8066;text-align:center;font-size:12px;color:#f4d6a3;line-height:1.5}#comboCounter{position:absolute;right:17px;top:270px;color:#f0d499;font-size:15px;font-weight:800;text-shadow:0 2px 3px #000}#lootFeed{top:155px;max-width:55vw}.zone{max-width:calc(100% - 135px)}@media(max-height:540px) and (orientation:landscape){#bossHint{top:126px;width:330px}#comboCounter{top:180px}}

#worldFloor{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;image-rendering:pixelated}#game{position:relative;z-index:1}#hud{z-index:3}
#mob-volume{width:100%;height:36px;accent-color:#d8b878;touch-action:pan-x}

/* 3.3: readable menus, safe touch areas and a quieter desktop HUD. */
html,body{height:100dvh;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.title-content h1,.panel h2,.zone>span{font-family:Georgia,"Times New Roman",serif}
.title-content h1{font-size:clamp(36px,8.8vw,58px);line-height:1.12;letter-spacing:2px}
.title-content h1 em{letter-spacing:5px}
.title-content{padding-top:max(28px,var(--safe-top));padding-bottom:max(45px,var(--safe-bottom));margin:auto}
.title-content .intro{font-size:14px}.eyebrow,.save-note,.class small,.edition{font-size:12px}
.class small{line-height:1.4}.class{min-height:112px}.title-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.text-button{border:0;background:transparent;color:#d8c297;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px;font-size:14px}
#offlineStatus{margin-top:6px;color:#adbbb3;min-height:20px}.no-script{position:fixed;inset:20% 5%;z-index:50;background:#172328;padding:24px}
.panel{padding:22px;max-height:calc(100dvh - max(30px,var(--safe-top)) - var(--safe-bottom));scrollbar-width:thin;scrollbar-color:#8d7955 #172328}
.panel p{font-size:16px}.panel .smallprint{font-size:13px!important;line-height:1.6;color:#abbab3!important}
.panel h2{font-size:28px}.panel .eyebrow{font-size:12px;letter-spacing:2px}
.item-main b{font-size:14px}.item-main small,.attribute small,.stat-box small,.detail-meta,.legend{font-size:13px;line-height:1.5}
.item-main,.skill-heading strong{overflow-wrap:anywhere}.item-side{font-size:13px}.item-row{padding:12px 10px}
.equip-slot small,.equip-slot b{font-size:12px}.equip-slot{min-height:80px}.attribute .plus,.square{min-width:44px;min-height:44px}
.skill-card .secondary,.skill-heading span,.quest-block p{font-size:14px}.skill-heading{align-items:center}
button{transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:#d8b878}
.bottomnav button{height:44px;min-width:44px;font-size:14px}.bottomnav{bottom:max(8px,var(--safe-bottom))}
#joystick{bottom:calc(78px + var(--safe-bottom));left:max(18px,var(--safe-left))}
.action-controls{bottom:calc(64px + var(--safe-bottom));right:max(16px,var(--safe-right))}
#questCompass{bottom:calc(104px + var(--safe-bottom));min-height:44px}
#interact{bottom:calc(270px + var(--safe-bottom));min-height:44px}
.zone{top:calc(max(12px,var(--safe-top)) + 78px)}
#mapButton{top:calc(max(12px,var(--safe-top)) + 75px)}
.left-handed #joystick{left:auto;right:max(18px,var(--safe-right))}
.left-handed .action-controls{right:auto;left:max(16px,var(--safe-left))}
.reduced-motion *, .reduced-motion *:before,.reduced-motion *:after{transition:none!important;animation:none!important}
@media(max-width:380px) and (orientation:portrait){
  #joystick{width:110px;height:110px;left:12px}#stick{left:28px;top:28px}
  .action-controls{width:174px;right:8px}#questCompass{bottom:calc(226px + var(--safe-bottom))}
  .bottomnav{gap:2px}.bottomnav button{padding:0 5px}.bottomnav span{font-size:12px}
  .title-content{padding-left:16px;padding-right:16px}.class small{font-size:12px}.classes{gap:5px}
  .left-handed #joystick{right:12px;left:auto}.left-handed .action-controls{left:8px;right:auto}
}
@media(min-width:900px) and (pointer:fine){
  .topbar{top:24px;left:28px}.zone{top:110px;left:30px}#mapButton{top:24px;right:28px}
  #joystick{opacity:.38}#joystick:after{content:'W A S D';position:absolute;inset:46px 0;text-align:center;letter-spacing:5px;font-size:13px}#stick,#joystick>span{visibility:hidden}
  .action-controls{opacity:.8}#questCompass{bottom:90px}.bottomnav{bottom:20px}
  .title-content{width:540px;padding:45px 30px}.title-screen{background-size:cover}
  .title-content:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse,#0b1519e8 45%,transparent 73%)}
}
@media(max-height:540px) and (orientation:landscape){
  .title-content{width:740px;padding:18px max(22px,var(--safe-right)) 18px max(22px,var(--safe-left))}
  .title-content h1{font-size:34px}.title-content .classes{margin:0}.class{min-height:98px;padding:8px 3px}
  .title-tools{grid-column:2;margin:0}.title-content .save-note{grid-column:2;font-size:12px}.intro{font-size:13px!important}
  .topbar{left:max(12px,var(--safe-left));top:max(8px,var(--safe-top));width:300px}
  .zone{left:max(14px,var(--safe-left));top:80px}#mapButton{top:8px;right:max(12px,var(--safe-right))}
  #joystick{bottom:calc(53px + var(--safe-bottom));left:max(24px,var(--safe-left))}
  .action-controls{bottom:calc(48px + var(--safe-bottom));transform:scale(.9)}
  #questCompass{bottom:calc(64px + var(--safe-bottom))}#interact{bottom:calc(118px + var(--safe-bottom));max-width:42vw}
  #lootFeed{max-width:30vw}.left-handed .action-controls{transform-origin:bottom left}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(orientation:portrait) and (max-width:899px){#questCompass{left:18px;transform:none;bottom:calc(220px + var(--safe-bottom))}#interact{bottom:calc(274px + var(--safe-bottom))}.left-handed #questCompass{left:auto;right:18px}}
/* Shared expeditions keep the game itself in the foreground. */
.coop-entry{border-color:#6faaa8;background:linear-gradient(120deg,#213b3c,#152c32);color:#b3e5df;min-height:50px}
.coop-label{display:block;margin:22px 0 8px;color:#d9c69e;font-size:14px}
.coop-input{display:block;width:100%;padding:14px 12px;border:1px solid #677e77;background:#0b171c;color:#e8e5d9;font:inherit;font-size:16px;border-radius:3px;user-select:text;-webkit-user-select:text;touch-action:manipulation}
#coopMenuStatus{color:#a9dacf;font-size:14px;overflow-wrap:anywhere;min-height:23px}
#partyBar{position:absolute;top:calc(max(12px,var(--safe-top)) + 76px);left:16px;width:calc(100% - 150px);max-width:255px;background:#0e2228ed;border-color:#559f9980;padding:8px 10px;text-align:left;min-height:57px;box-shadow:0 3px 15px #0004}
#partyName{display:block;color:#a4dfd7;font-size:13px;font-weight:700}.party-track{display:block;position:relative;height:4px;margin:5px 0;background:#142e34;overflow:hidden}.party-track i{display:block;height:100%;width:100%;background:#64afa5}
#partyStatus{display:block;font-size:12px;color:#a3beba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coop-active .zone{top:calc(max(12px,var(--safe-top)) + 142px)}
.coop-active #bossHud{top:245px}.coop-active #bossHint{top:279px}.coop-active #lootFeed{top:210px}
@media(min-width:900px) and (pointer:fine){#partyBar{left:auto;right:28px;top:185px;width:220px}.coop-active .zone{top:110px}.coop-active #bossHud{top:175px}.coop-active #bossHint{top:212px}.coop-active #lootFeed{top:165px}}
@media(max-height:540px) and (orientation:landscape){.coop-entry{grid-column:2;font-size:14px;min-height:44px}#partyBar{left:50%;top:8px;transform:translateX(-50%);width:190px;min-height:48px}.coop-active .zone{top:80px}.coop-active #bossHud{top:85px}.coop-active #bossHint{top:119px}.coop-active #lootFeed{top:145px}}
/* Two readable active slots with separate touch targets. */
.action-controls{height:204px!important;width:192px}
#support{width:59px;height:59px;left:4px;top:-42px;border-color:#79bfd0;background:#17313a;color:#b4edee}
#support span{font-size:28px}#support small{font-size:10px}
#skill{top:-42px;left:74px;width:64px;height:64px}
#manaPotion{left:5px;top:28px}
#riftBar{position:absolute;top:194px;left:16px;max-width:calc(100% - 32px);padding:8px 12px;background:#491e2be8;border-color:#c56570;color:#ffd6ba;font-size:12px;letter-spacing:.3px;min-height:38px}
.coop-active #riftBar{top:207px}.coop-active #lootFeed{top:260px}
@media(min-width:900px) and (pointer:fine){#riftBar,.coop-active #riftBar{top:145px;left:28px}.coop-active #lootFeed{top:225px}}
@media(max-height:540px) and (orientation:landscape){#riftBar,.coop-active #riftBar{top:66px;left:50%;transform:translateX(-50%);max-width:310px;font-size:11px}#support,#skill{top:-25px}}
#manaPotion{top:20px}
@media(orientation:portrait) and (max-width:899px){#interact{bottom:calc(332px + var(--safe-bottom))}}

/* Sprint 1: one model, independent touch and keyboard presentations. */
.action-controls{transform:none!important;display:grid;gap:6px;width:auto;height:auto!important;pointer-events:none}
.action-controls .action{position:relative!important;inset:auto!important;margin:0!important;transform:none!important;pointer-events:auto;touch-action:none;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;min-height:48px}
.action-controls .action span{font-size:24px;line-height:1}.action-controls .action small{font-size:10px;line-height:1.2;margin-top:3px;position:relative;z-index:2}.action-controls .action i{pointer-events:none;z-index:0}.action-controls .action span,.hotkey{z-index:1}.action-controls .action em{position:absolute;inset:0;display:grid;place-items:center;font:bold 18px system-ui;color:#fff;z-index:3;text-shadow:0 1px 3px #000;pointer-events:none}.action-controls .cooldown span{opacity:.3}.action-controls .no-mana{border-color:#608ca6;filter:saturate(.4)}.action-controls .action:active{background:#59644b}.action-controls button:disabled{opacity:.4}.hotkey{position:absolute;top:3px;left:5px;font:10px system-ui;color:#ddcda7}
.slot-picker{display:flex;gap:6px;margin:10px 0}.slot-picker button{min-width:36px;min-height:40px}.specializations{display:grid;grid-template-columns:1fr 1fr;gap:8px}.specializations small{display:block;font-size:11px;line-height:1.5;margin-top:6px}.mana-warning{animation:mana-pulse .2s alternate infinite}@keyframes mana-pulse{to{filter:brightness(2.4)}}
@media(pointer:fine){
 #joystick{display:none!important}.action-controls{left:50%!important;right:auto!important;bottom:calc(58px + var(--safe-bottom));transform:translateX(-50%)!important;grid-template-columns:repeat(10,54px);gap:5px}
 .action-controls .action{width:54px!important;height:58px!important;border-radius:8px}.action-controls #attack{grid-column:7;grid-row:1}.action-controls #dash{grid-column:8;grid-row:1}.action-controls #potion{grid-column:9;grid-row:1}.action-controls #manaPotion{grid-column:10;grid-row:1}
 #interact{bottom:130px!important}#questCompass{bottom:140px;left:22px;transform:none}#lootFeed{max-width:300px}.action-controls .action small{font-size:9px}
}
@media(pointer:coarse){
 .hotkey{display:none}.action-controls{right:max(10px,var(--safe-right))!important;left:auto!important;bottom:calc(62px + var(--safe-bottom));grid-template-columns:repeat(3,56px);grid-template-rows:56px 56px 76px 50px;gap:7px}
 .action-controls .build-skill{width:56px!important;height:56px!important}.action-controls #attack{grid-column:2/4;grid-row:3;justify-self:end;width:76px!important;height:76px!important}.action-controls #attack span{font-size:34px}.action-controls #dash{grid-column:1/3;grid-row:3;width:62px!important;height:62px!important;align-self:center;justify-self:center}.action-controls #potion{grid-column:2;grid-row:4;width:50px!important;height:50px!important}.action-controls #manaPotion{grid-column:3;grid-row:4;width:50px!important;height:50px!important}
 #joystick{display:block!important;left:max(12px,var(--safe-left))!important;right:auto!important;bottom:calc(80px + var(--safe-bottom));width:126px;height:126px;transform:none!important}#stick{left:35px;top:35px}
 #minimap{width:76px;height:64px}#mapButton{right:max(10px,var(--safe-right));top:max(12px,var(--safe-top))}.topbar{left:max(10px,var(--safe-left));width:calc(100% - 110px)}.topbar .vitals{min-width:0}.namebar{font-size:11px}.bar.mana{height:17px}.bar.mana span{font-size:10px}.zone{max-width:calc(100% - 105px)}
 #questCompass{left:12px!important;right:auto!important;bottom:calc(223px + var(--safe-bottom));transform:none!important;max-width:135px;font-size:10px}#interact{bottom:calc(367px + var(--safe-bottom))!important;max-width:90vw}.bottomnav{bottom:calc(8px + var(--safe-bottom))}#lootFeed{max-width:150px;max-height:84px;overflow:hidden}.zone small{max-width:220px}.action-controls .action small{font-size:10px}
}
@media(pointer:coarse) and (orientation:landscape){
 .action-controls{grid-template-columns:repeat(4,56px);grid-template-rows:56px 56px 76px;right:max(14px,var(--safe-right))!important;bottom:calc(42px + var(--safe-bottom));gap:8px}
 #skill{grid-column:2;grid-row:2}#support{grid-column:3;grid-row:2}#skill3{grid-column:1;grid-row:2}#skill4{grid-column:2;grid-row:1}#skill5{grid-column:3;grid-row:1}#skill6{grid-column:4;grid-row:1}
 .action-controls #attack{grid-column:3/5;grid-row:3;justify-self:center}.action-controls #dash{grid-column:2;grid-row:3;justify-self:center}.action-controls #potion{grid-column:1;grid-row:3;align-self:center}.action-controls #manaPotion{grid-column:4;grid-row:2;align-self:center}
 #joystick{left:max(25px,var(--safe-left))!important;bottom:calc(60px + var(--safe-bottom))}#questCompass{bottom:calc(202px + var(--safe-bottom));left:max(20px,var(--safe-left))!important}#interact{bottom:55px!important;max-width:220px}#mapButton{right:280px;top:10px}#minimap{width:64px;height:54px}.topbar{width:280px}.zone{top:80px;max-width:280px}#bossHud{top:100px}#lootFeed{top:130px}.bottomnav{left:50%;transform:translateX(-50%)}
}
@media(pointer:coarse) and (orientation:portrait) and (max-width:380px){
 .action-controls{grid-template-columns:repeat(3,52px);grid-template-rows:52px 52px 72px 48px;gap:6px;right:max(8px,var(--safe-right))!important}.action-controls .build-skill{width:52px!important;height:52px!important}.action-controls #attack{width:72px!important;height:72px!important}.action-controls #potion,.action-controls #manaPotion{width:48px!important;height:48px!important}#joystick{width:118px;height:118px;left:10px!important}#stick{left:31px;top:31px}.namebar #gold{display:none}.topbar{width:calc(100% - 100px)}
}
@media(prefers-reduced-motion:reduce){.mana-warning{animation:none;filter:brightness(1.6)}}

/* Browser/Telegram viewport and system inset adapter; no whole-control scaling. */
:root{--safe-top:max(env(safe-area-inset-top),var(--tg-safe-top,0px));--safe-right:max(env(safe-area-inset-right),var(--tg-safe-right,0px));--safe-bottom:max(env(safe-area-inset-bottom),var(--tg-safe-bottom,0px));--safe-left:max(env(safe-area-inset-left),var(--tg-safe-left,0px));}
html,body{height:var(--game-height,100%)}#hud,.screen{height:var(--game-height,100%);bottom:auto}
@media(orientation:landscape) and (hover:none){#mapButton{top:max(10px,var(--safe-top))}.topbar{top:max(8px,var(--safe-top))}.zone{top:calc(80px + var(--safe-top))}}

/* NPC conversations: reuse the world sprite as a compact face portrait. */
.modal-header{align-items:flex-start!important}.modal-heading{min-width:0;flex:1}.modal-header-side{display:flex;align-items:flex-start;gap:10px;flex-shrink:0}.npc-portrait{margin:0;width:96px;height:96px;overflow:hidden;position:relative;background:radial-gradient(circle at 50% 42%,#40504b66,#0a1115 72%);border:1px solid #b79a60;box-shadow:inset 0 0 0 2px #10191d,inset 0 0 18px #0009,0 4px 16px #0006}.npc-portrait:after{content:'';position:absolute;inset:4px;border:1px solid #d1bd7b26;pointer-events:none}.npc-portrait canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.modal-header-side .square{position:relative;z-index:1}
@media(max-width:520px){.panel header.modal-header{gap:8px;margin-bottom:14px}.npc-portrait{width:76px;height:76px}.modal-header-side{gap:6px}.panel .modal-header h2{font-size:24px;line-height:1.05}.modal-header-side .square{width:36px;height:36px}}
@media(max-width:360px){.npc-portrait{width:68px;height:68px}.panel{padding:16px}.panel .modal-header h2{font-size:22px}}

/* The armory uses one visual language for equipment, trading and forging. */
.modal:is([data-kind="inventory"],[data-kind="shop"],[data-kind="forge"],[data-kind="item"]) .panel{width:min(1000px,100%);padding:28px;background:radial-gradient(ellipse at 0 0,#34433e55,transparent 60%),#111b1e;border-color:#9a865b88;box-shadow:0 24px 100px #000b,inset 0 0 0 5px #12191a}
.gear-tabs{display:flex;gap:24px;border-bottom:1px solid #bb9b5938;margin-bottom:14px}.gear-tabs button{padding:10px 0 12px;border:0;border-bottom:2px solid transparent;background:none;color:#a3b1aa;font-size:14px;min-height:44px}.gear-tabs button[aria-current="page"]{color:#e9cf98;border-bottom-color:#d8b878}
.gear-wallet{display:flex;flex-wrap:wrap;gap:12px 26px;padding:12px 0 18px;font-size:12px;color:#9cafaa}.gear-wallet b{color:#e3c893;margin-left:7px;font-variant-numeric:tabular-nums}.gear-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px}.gear-sidebar{min-width:0;padding-right:22px;border-right:1px solid #ae986b2b}.gear-main{min-width:0}.panel .gear-section-heading h3,.panel .gear-sidebar>h3{margin:0;font-size:19px;color:#e6d6b3}.gear-section-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin-bottom:16px}.gear-section-heading small{font-size:11px;color:#9cafaa}.gear-hero-stats{display:flex;gap:18px;padding:16px 0 20px}.gear-hero-stats small{display:block;font-size:10px;color:#94aaa2}.gear-hero-stats b{display:block;font:20px Georgia;color:#e8dec7;margin-top:5px}.gear-equipment{display:grid;gap:7px}.gear-equip{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px;background:#172326;border-color:#73847638;min-height:61px}.gear-equip.selected{border-color:#d5b67c;background:#49433244;box-shadow:inset 3px 0 #d5b67c}.gear-equip>span:first-child{width:36px;flex-shrink:0}.gear-equip>span:nth-child(2){flex:1;min-width:0}.gear-equip small{display:block;font-size:10px;color:#9caea7}.gear-equip b{display:block;font-size:11px;line-height:1.5;overflow-wrap:anywhere;margin-top:3px}.gear-equip em{font-style:normal;font-size:12px}.gear-equip svg,.gear-art svg,.gear-empty svg{width:100%;height:100%;fill:#d8b8780d;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 3px 2px #0008)}
.gear-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.gear-filters button{font-size:12px;padding:8px 12px;min-height:40px;background:#0d171a;border-color:#8092833b;color:#b1bdb3}.gear-filters button[aria-pressed="true"]{background:#4a433033;border-color:#bba067;color:#ebd4a6}.gear-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gear-card{display:flex;flex-direction:column;text-align:left;min-width:0;padding:12px;background:radial-gradient(ellipse at 50% 35%,#9dac9c12,transparent 72%),#182326;border-color:#73847655;position:relative;transition:background .15s,border-color .15s}.gear-card:before{content:'';position:absolute;inset:0 0 auto;height:2px;background:currentColor;opacity:.65}.gear-card:hover{background-color:#253134;border-color:currentColor}.gear-card-top,.gear-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px}.gear-card-top small{color:#a1b2a9;font-size:10px}.gear-card-top b{font-size:11px;min-height:14px}.gear-art{display:block;width:68px;height:68px;margin:12px auto 14px}.gear-card-name{font-size:12px;line-height:1.5;min-height:36px;overflow-wrap:anywhere}.gear-card-stat{font-size:10px;color:#bac6be;margin:8px 0 12px}.gear-card-bottom{margin-top:auto;border-top:1px solid #9caa8326;padding-top:9px}.gear-card-bottom small{font-size:10px;color:#92a59d}.gear-card-bottom strong{font-size:11px}.gear-empty{grid-column:1/-1;text-align:center;padding:40px 16px;color:#a9b9b0;border:1px dashed #66755a66}.gear-empty svg{width:64px;height:64px;margin:0 auto 20px;display:block;color:#a69269}.gear-empty b{display:block}.panel .gear-empty p{font-size:13px}
.gear-disposal{margin-top:20px;border-top:1px solid #9caa8333;padding-top:16px}.gear-disposal summary{cursor:pointer;font-size:12px;color:#a7b8ad;min-height:32px}.gear-disposal .primary{background:#253032;color:#ddc58e;border-color:#867957;font-size:13px}.gear-detail{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px}.gear-showcase{background:radial-gradient(ellipse at 50% 20%,#b69a5422,transparent 70%),#0e171a;padding:25px 18px;text-align:center;border:1px solid #7b896441;align-self:start}.gear-art.large{width:128px;height:128px;margin:10px auto 24px}.panel .gear-showcase h3{font-size:22px;line-height:1.35;color:inherit;margin:0}.panel .gear-showcase p{font-size:12px}.gear-showcase>small{font-size:11px;color:#a4b6ac}.gear-comparison{font-size:13px;font-variant-numeric:tabular-nums}.compare-heading,.compare-row{display:grid;grid-template-columns:minmax(0,1fr) 75px 95px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #8a987228}.compare-heading{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#97aa9e}.compare-row>span:first-child{color:#b9c7bc}.compare-row>span:nth-child(2){color:#8fa197}.compare-row>strong{text-align:right;color:#e6dfc9}.compare-row small{display:block;margin-top:3px;font-size:11px;font-weight:400}.compare-heading>span:not(:first-child),.compare-row>span:nth-child(2){text-align:right}.gear-actions{margin-top:20px}.gear-quote{font-style:italic;font-family:Georgia,serif!important;line-height:1.7!important;font-size:14px!important;color:#aabbaf!important;margin:18px 0 26px}.supply-card{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 0;border-top:1px solid #8a98722e}.supply-icon{font-size:28px;color:#cf8f7c}.supply-icon.mana{color:#8eb8d2}.supply-card>div{flex:1}.supply-card b{display:block;font-size:12px}.supply-card small{display:block;font-size:10px;color:#a2b4a8;margin-top:6px}.supply-card button{min-height:44px;padding:8px 12px;color:#e3c893;background:#29312a;border-color:#c4a96955;margin-left:auto}.forge-item{display:flex;align-items:center;gap:20px;padding:14px;background:radial-gradient(ellipse at 15% 30%,#b9894322,transparent 70%),#0e171a;border:1px solid #87724e44}.forge-item .gear-art{flex-shrink:0;margin:4px}.forge-item h3{font-size:20px;margin:5px 0 10px;color:inherit}.forge-item small{color:#99ad9e;font-size:11px}.forge-item b{color:#dcc69c}.forge-track{display:flex;gap:6px;margin:18px 0}.forge-track span{flex:1;text-align:center;padding:9px 3px;font-size:11px;border:1px solid #69776344;background:#111b1e;color:#859c90}.forge-track .complete{background:#a1853b20;color:#e8c887;border-color:#ab8d5377}.forge-cost{display:flex;gap:20px;flex-wrap:wrap;padding:18px 0;color:#98a99e;font-size:12px}.forge-cost b{color:#e4c893}.forge-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.forge-choices button{padding:20px 12px;border-color:#ae915d;background:linear-gradient(145deg,#393829,#1e2928);min-height:90px}.forge-choices small{display:block;color:#b7c8b9;font-size:12px;margin-top:10px}.forge-success{padding:20px;color:#e2c18b;border:1px solid #bea16066;background:#b59b4c12}
@media(max-width:700px){.modal:is([data-kind="inventory"],[data-kind="shop"],[data-kind="forge"],[data-kind="item"]) .panel{padding:18px}.gear-layout,.gear-detail{grid-template-columns:1fr;gap:22px}.gear-sidebar{padding-right:0;border-right:0;border-bottom:1px solid #ae986b2b;padding-bottom:18px}.gear-equipment{grid-template-columns:1fr 1fr}.gear-equip{min-width:0;gap:6px;padding:7px}.gear-equip>span:first-child{width:27px}.gear-equip b{font-size:10px}.gear-equip em{font-size:10px}.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gear-wallet{gap:10px 16px}.gear-card{padding:10px}.gear-showcase{display:grid;grid-template-columns:80px minmax(0,1fr);gap:6px 16px;text-align:left;padding:16px}.gear-art.large{grid-row:1/4;width:76px;height:90px;margin:0}.panel .gear-showcase h3{font-size:20px}.gear-showcase .forge-track{grid-column:1/-1;margin:8px 0}.gear-showcase>small{grid-column:1/-1}.panel .gear-showcase p{margin:0}.compare-heading,.compare-row{grid-template-columns:minmax(0,1fr) 58px 70px;gap:8px;font-size:12px}.compare-heading{font-size:9px}.gear-tabs{gap:25px}.gear-filters button{min-height:44px}.gear-hero-stats{padding-bottom:14px}.supply-card{flex-wrap:nowrap}.gear-quote{margin:12px 0!important}}
@media(prefers-reduced-motion:reduce){.gear-card{transition:none}}
.gear-loadout{margin:8px 0}.gear-loadout summary{cursor:pointer;min-height:44px;padding:12px 0;color:#cfbd94;font-size:12px}.gear-loadout[open] summary{margin-bottom:8px}.gear-loadout .gear-equipment{margin-top:0}
@media(max-width:700px){.gear-layout{gap:16px}.gear-sidebar{padding-bottom:8px}.gear-sidebar .gear-hero-stats{padding:12px 0}.gear-filters{gap:6px}.gear-filters button{padding:8px;font-size:11px}.gear-loadout{margin-bottom:0}}

/* v46: keep the edition label from colliding with the title content on short screens */
@media (max-height:780px){.title-screen .edition{display:none}}
/* v48: on touch screens hide empty skill slots so the thumb zone stays clean */
@media (pointer:coarse){#hud .build-skill:disabled{visibility:hidden}}

/* ===== v59: Ragnarok Online–style windows (all menus) ===== */
#modal{background:#0a1322a8;backdrop-filter:blur(2px)}
#modal .panel{--ro-ink:#2b3346;--ro-soft:#5d6679;--ro-blue:#2f5597;--ro-line:#9fb1cf;background:linear-gradient(#fdfdfe,#eef2f8 70%,#e6ecf5)!important;border:1px solid #6b82ad!important;border-radius:9px;box-shadow:0 0 0 1px #fff inset,0 10px 40px #0009!important;padding:0 14px 14px!important;color:var(--ro-ink);font-size:13px;scrollbar-color:#8fa6cc #e3e9f3}
#modal .panel *{color:var(--ro-ink);text-shadow:none}
#modal .panel :is(div,section,aside,nav,details,header,article,label,p,ul,li){background-color:transparent;border-color:var(--ro-line)}
#modal .modal-header{position:sticky;top:0;z-index:5;margin:0 -14px 12px!important;padding:7px 10px 7px 14px;background:linear-gradient(#b7cdeb,#8aa9d6 55%,#7898c8)!important;border-bottom:1px solid #5d78a8;border-radius:8px 8px 0 0;box-shadow:0 1px 0 #ffffffa0 inset}
#modal .modal-header *{color:#fff!important;text-shadow:0 1px 0 #3b5687}
#modal .modal-header h2,#modal .modal-header h1{font:700 16px/1.25 Georgia,'Times New Roman',serif;margin:2px 0 0;letter-spacing:.2px}
#modal .eyebrow{font-size:10px;letter-spacing:1.5px;opacity:.95}
#modal .modal-header .square{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;font-size:14px;line-height:1;border-radius:4px;background:linear-gradient(#fff,#d8e1ef)!important;border:1px solid #5d78a8!important;color:#2f4472!important;text-shadow:none!important;box-shadow:none}
#modal .modal-header .square *{color:#2f4472!important;text-shadow:none!important}
#modal .npc-portrait{border-radius:6px;border:1px solid #5d78a8}
#modal h3{font:700 14px Georgia,serif;color:var(--ro-blue)!important;border-bottom:1px solid #c9d5e8;padding-bottom:4px;margin:14px 0 8px}
#modal .smallprint,#modal small{color:var(--ro-soft)!important}
#modal b,#modal strong{color:#1f2638}
/* RO buttons */
#modal button{font-family:inherit}
#modal :is(.primary,.secondary){min-height:34px!important;padding:7px 12px!important;margin-top:6px;border-radius:5px;font-size:13px!important;font-weight:700;letter-spacing:0;text-transform:none;box-shadow:0 1px 0 #fff inset,0 1px 2px #0002}
#modal .primary{background:linear-gradient(#fefefe,#cddbf1)!important;border:1px solid #5f7fb8!important;color:#1d3466!important}
#modal .secondary{background:linear-gradient(#ffffff,#e2e6ee)!important;border:1px solid #9aa6bb!important;color:#2f3646!important}
#modal :is(.primary,.secondary):hover:not(:disabled){filter:brightness(1.04);border-color:#3f63a8!important}
#modal :is(.primary,.secondary):active:not(:disabled){background:linear-gradient(#c8d6ee,#f4f7fc)!important}
#modal button:disabled{opacity:.55;filter:grayscale(.4)}
#modal .plus{width:28px;height:28px;border-radius:4px;background:linear-gradient(#fff,#cfdcf2)!important;border:1px solid #5f7fb8!important;color:#1d3466!important;font-weight:800}
#modal input,#modal select,#modal textarea{background:#fff!important;border:1px solid #8fa3c6!important;color:#1f2638!important;border-radius:4px}
/* boxes */
#modal :is(.stat-box,.quest-block,.attribute,.gear-hero-stats>div,.forge-item,.gear-comparison,.legend){background:#f4f7fc!important;border:1px solid #c6d2e6!important;border-radius:5px}
#modal .quest-block{border-left:3px solid #6d8fd0!important}
#modal .stats-grid{gap:6px}
#modal .stat-box{padding:7px 9px}
#modal .stat-box b{font-size:15px}
/* tabs & filters like RO window tabs */
#modal .gear-tabs{border-bottom:1px solid #8fa6cc;gap:2px;margin-bottom:8px}
#modal .gear-tabs button{background:linear-gradient(#f7f9fd,#dfe6f2)!important;border:1px solid #9fb1cf!important;border-bottom:none!important;border-radius:6px 6px 0 0;padding:5px 14px;color:#3a4660!important;font-size:12px}
#modal .gear-tabs button[aria-current=page]{background:#fff!important;color:#1d3466!important;font-weight:800;box-shadow:0 1px 0 #fff}
#modal .gear-filters button{background:linear-gradient(#fff,#e3e8f1)!important;border:1px solid #a7b4ca!important;border-radius:12px;padding:4px 11px;font-size:12px;min-height:0}
#modal .gear-filters button[aria-pressed=true]{background:linear-gradient(#dbe7fb,#b9cdee)!important;border-color:#5f7fb8!important;color:#1d3466!important;font-weight:800}
#modal .gear-wallet{background:linear-gradient(#f6f8fc,#e7edf6)!important;border:1px solid #c6d2e6!important;border-radius:5px;padding:5px 10px}
#modal details>summary{cursor:pointer;color:var(--ro-blue)!important;font-weight:700}
/* rarity colours readable on light windows */
#modal .rarity-0{--rare:#7b8494}#modal .rarity-1{--rare:#2f8f45}#modal .rarity-2{--rare:#2c6fd0}#modal .rarity-3{--rare:#8c3fd0}#modal .rarity-4{--rare:#d07a10}
#modal :is(h3,b,strong,span).rarity-0,#modal :is(h3,b,strong,span).rarity-1,#modal :is(h3,b,strong,span).rarity-2,#modal :is(h3,b,strong,span).rarity-3,#modal :is(h3,b,strong,span).rarity-4{color:var(--rare)!important}
#modal .gear-card{background:#fff!important;border:1px solid #c6d2e6!important;border-top:3px solid var(--rare)!important;border-radius:6px}
#modal .gear-card .gear-card-name{color:var(--rare)!important}
#modal .gear-art svg,#modal .ro-icon svg{stroke:var(--rare,#56607a);fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
#modal .good{color:#1f8a3a!important}#modal .bad{color:#c43b2f!important}
#modal .forge-track span{background:#e3e9f3!important;border:1px solid #b9c7de;color:#5d6679!important}
#modal .forge-track span.complete{background:linear-gradient(#ffe7a6,#f1c050)!important;color:#5a3d00!important;border-color:#c9952a}
/* RO equipment window: paper doll */
#modal .gear-loadout{margin-top:8px}
#modal .ro-doll{display:grid;grid-template-columns:1fr 112px 1fr;grid-template-areas:"helm hero amulet" "armor hero ring" "weapon hero shield" ". boots .";gap:6px;align-items:stretch;background:radial-gradient(ellipse at 50% 40%,#ffffff,#e4ebf6)!important;border:1px solid #b8c7de!important;border-radius:7px;padding:8px}
#modal .ro-doll-hero{grid-area:hero;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:linear-gradient(#f2f6fc,#dfe7f4)!important;border:1px solid #c3d0e5!important;border-radius:6px;overflow:hidden}
#modal .ro-doll-sprite{background-repeat:no-repeat;image-rendering:auto;transform:scale(.9);transform-origin:center bottom;filter:drop-shadow(0 4px 3px #0003)}
#modal .ro-doll-hero b{font-size:12px}
#modal .ro-slot{position:relative;display:flex;align-items:center;gap:6px;min-height:46px;padding:4px 6px;background:#fff!important;border:1px solid #c3cfe3!important;border-left:3px solid var(--rare)!important;border-radius:5px;text-align:left;cursor:pointer}
#modal .ro-slot.empty{background:#f1f4f9!important;border-left-color:#c3cfe3!important;cursor:default}
#modal .ro-slot.empty .ro-icon svg{stroke:#b4bfd2}
#modal .ro-slot small{font-size:11px;line-height:1.15;color:#3a4458!important;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#modal .ro-slot.empty small{color:#9aa5b8!important}
#modal .ro-slot.selected,#modal .ro-slot[aria-pressed=true]{outline:2px solid #4a73c4;outline-offset:1px}
#modal .ro-slot .ro-icon{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;background:linear-gradient(#f7f9fd,#e6ecf6);border:1px solid #d3dceb;border-radius:4px}
#modal .ro-slot .ro-icon svg{width:24px;height:24px}
.ro-doll-helm{grid-area:helm}.ro-doll-amulet{grid-area:amulet}.ro-doll-armor{grid-area:armor}.ro-doll-ring{grid-area:ring}.ro-doll-weapon{grid-area:weapon}.ro-doll-shield{grid-area:shield}.ro-doll-boots{grid-area:boots}
/* RO inventory grid */
#modal .ro-bag{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:4px;padding:6px;background:linear-gradient(#e9eef6,#dde5f1)!important;border:1px solid #a9b9d4!important;border-radius:6px}
#modal .ro-cell{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:0;background:linear-gradient(#ffffff,#eef2f8)!important;border:1px solid #b9c6dc!important;border-bottom:3px solid var(--rare)!important;border-radius:4px;cursor:pointer;min-height:0}
#modal .ro-cell.empty{background:linear-gradient(#f3f6fa,#e8edf5)!important;border:1px solid #cdd6e5!important;cursor:default}
#modal .ro-cell:hover:not(.empty){border-color:#4a73c4!important;box-shadow:0 0 0 1px #4a73c4}
#modal .ro-cell .ro-icon svg{width:30px;height:30px}
#modal .ro-cell i{position:absolute;font-style:normal;font-size:10px;font-weight:800;line-height:1}
#modal .ro-plus{left:3px;top:3px;color:#b0700a!important}
#modal .ro-fav{right:3px;top:2px;color:#d9a400!important}
#modal .ro-up{right:3px;bottom:3px;color:#1f8a3a!important}
#modal .ro-down{right:3px;bottom:3px;color:#c43b2f!important}
#modal .gear-equipment{display:none}
@media (max-width:700px){#modal .panel{padding:0 10px 12px!important}#modal .modal-header{margin:0 -10px 10px!important}#modal .ro-doll{grid-template-columns:1fr 96px 1fr}#modal .ro-doll-sprite{transform:scale(.75)}#modal .ro-bag{grid-template-columns:repeat(6,1fr)}}
#modal .gear-layout{grid-template-columns:minmax(340px,390px) minmax(0,1fr)!important;gap:16px!important}
@media (max-width:800px){#modal .gear-layout{grid-template-columns:1fr!important}}
#modal :is([data-act=buy-potion],[data-act=buy-mana],[data-act=buy-branch],[data-act=equip-build]){background:linear-gradient(#fefefe,#cddbf1)!important;border:1px solid #5f7fb8!important;color:#1d3466!important;border-radius:5px;font-weight:700}
#modal :is([data-act=buy-potion],[data-act=buy-mana],[data-act=buy-branch],[data-act=equip-build]) *{color:#1d3466!important}
/* RO status window */
#modal .ro-status-head{display:flex;gap:12px;align-items:center;background:linear-gradient(#f6f9fd,#e3eaf5)!important;border:1px solid #c3d0e5!important;border-radius:6px;padding:8px}
#modal .ro-status-head .ro-doll-hero{width:96px;height:130px;flex:0 0 96px}
#modal .ro-status-head>div:last-child{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
#modal .ro-status-head>div:last-child>b{font:700 16px Georgia,serif;color:#1d3466!important}
#modal .ro-xp{height:8px;background:#d5deec!important;border:1px solid #9fb1cf!important;border-radius:4px;overflow:hidden}
#modal .ro-xp i{display:block;height:100%;background:linear-gradient(#ffe38a,#e0a92c)}
#modal .attribute{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;margin-bottom:4px}
#modal .attribute span{display:flex;flex-direction:column}
#modal .ro-params{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;background:#fff!important;border:1px solid #c6d2e6!important;border-radius:6px;padding:4px 10px}
#modal .ro-params div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dotted #d3dceb!important;font-size:12px}
#modal .ro-params span{color:#4b5568!important}
@media (max-width:420px){#modal .ro-params{grid-template-columns:1fr}}
/* RO menu: pause as an icon tile grid */
#modal[data-kind=pause] #modalBody{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
#modal[data-kind=pause] #modalBody>*{grid-column:auto}
#modal[data-kind=pause] #modalBody>:not(button){grid-column:1/-1}
#modal[data-kind=pause] #modalBody>button{margin:0!important;min-height:64px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px!important;line-height:1.15;padding:6px 4px!important;text-align:center}
#modal[data-kind=pause] #modalBody>button::before{font-size:20px;line-height:1;content:'•'}
#modal[data-kind=pause] #modalBody [data-act=close]{grid-column:1/-1!important;min-height:40px!important;flex-direction:row!important}
#modal[data-kind=pause] #modalBody [data-act=close]::before{content:'▶'!important;font-size:14px!important}
#modal[data-kind=pause] #modalBody [data-act=bag]::before{content:'🎒'}#modal[data-kind=pause] #modalBody [data-act=stats]::before{content:'🛡'}#modal[data-kind=pause] #modalBody [data-act=skills]::before{content:'✨'}#modal[data-kind=pause] #modalBody [data-act=journal]::before{content:'📖'}#modal[data-kind=pause] #modalBody [data-act=daily]::before{content:'📜'}#modal[data-kind=pause] #modalBody [data-act=daily]{font-size:12px}
#modal[data-kind=pause] #modalBody [data-act=expedition]::before{content:'🏰'}#modal[data-kind=pause] #modalBody [data-act=rift]::before{content:'🩸'}#modal[data-kind=pause] #modalBody [data-act=coop]::before{content:'🤝'}#modal[data-kind=pause] #modalBody [data-act=forge]::before{content:'⚒'}#modal[data-kind=pause] #modalBody [data-act=transfer]::before{content:'💾'}#modal[data-kind=pause] #modalBody [data-act=device]::before{content:'🖥'}#modal[data-kind=pause] #modalBody [data-act=release]::before{content:'🆕'}#modal[data-kind=pause] #modalBody [data-act=help]::before{content:'🎮'}#modal[data-kind=pause] #modalBody [data-act=audio]::before{content:'🎵'}#modal[data-kind=pause] #modalBody [data-act=performance]::before{content:'🔋'}#modal[data-kind=pause] #modalBody [data-act=sell-all]::before{content:'💰'}#modal[data-kind=pause] #modalBody [data-act=camp]::before{content:'🔥'}#modal[data-kind=pause] #modalBody [data-act=title]::before{content:'🚪'}
@media (max-width:420px){#modal[data-kind=pause] #modalBody{grid-template-columns:repeat(3,1fr)}}
#modal .attribute span{display:block}
#modal .attribute span b{margin-left:4px;font-size:15px;color:#1d3466!important}
#modal .attribute span small{display:block;font-size:11px}

/* ===== v64: Ragnarok Online–style HUD ===== */
#hud .topbar{background:linear-gradient(#fbfcfe,#e7edf6)!important;border:1px solid #6b82ad!important;border-radius:8px;box-shadow:0 0 0 1px #fff inset,0 4px 14px #0007!important;padding:5px 6px 6px!important;gap:6px!important}
#hud .topbar .portrait{background:linear-gradient(#e9f0fa,#c8d7ee)!important;border:1px solid #6b82ad!important;border-radius:6px;color:#2f4472!important}
#hud .topbar .portrait span{color:#2f4472!important;text-shadow:none!important}
#hud .topbar .portrait b{background:linear-gradient(#ffe38a,#e0a92c)!important;color:#4a3200!important;border:1px solid #b07a12!important;border-radius:4px;text-shadow:none!important}
#hud .namebar{border-bottom:1px solid #c6d2e6;padding-bottom:2px;margin-bottom:3px!important}
#hud .namebar strong{color:#1d3466!important;font:700 13px Georgia,serif;text-shadow:none!important}
#hud .namebar #gold{color:#7a5a10!important;font-weight:700;text-shadow:none!important}
#hud .topbar .bar{background:#3b4252!important;border:1px solid #586274!important;border-radius:3px;height:13px!important;box-shadow:0 1px 0 #fff}
#hud .topbar .bar.health i{background:linear-gradient(#9ef07c,#41b52f 60%,#2f9022)!important}
#hud .topbar .bar.mana i{background:linear-gradient(#9cc4ff,#3f7fe6 60%,#2c62c4)!important}
#hud .topbar .bar.xp{height:5px!important;background:#c9d3e3!important;border-color:#9fb1cf!important}
#hud .topbar .bar.xp i{background:linear-gradient(#ffe38a,#e0a92c)!important}
#hud .topbar .bar span{color:#fff!important;font-size:10px!important;font-weight:700;text-shadow:0 1px 1px #000,0 0 2px #000!important}
#hud .topbar .square{background:linear-gradient(#fff,#d8e1ef)!important;border:1px solid #6b82ad!important;color:#2f4472!important;border-radius:6px}
#hud #mapButton{background:linear-gradient(#fbfcfe,#e7edf6)!important;border:1px solid #6b82ad!important;border-radius:8px;padding:3px!important;box-shadow:0 4px 14px #0007}
#hud #mapButton canvas{border-radius:4px;border:1px solid #9fb1cf}
#hud #mapButton span{color:#2f4472!important;font-weight:800;text-shadow:none!important}
#hud .zone #zoneName{text-shadow:0 2px 0 #0008,0 0 8px #000a}
#hud #questCompass{background:linear-gradient(#fbfcfe,#e7edf6)!important;border:1px solid #6b82ad!important;color:#1d3466!important;border-radius:8px}
#hud #questCompass *{color:#1d3466!important;text-shadow:none!important}
/* hotkey bar like RO's F1–F9 skill bar */
#hud .action.build-skill,#hud .action:not(.attack){background:linear-gradient(#f8fafd,#d3def0)!important;border:1px solid #6b82ad!important;color:#1d3466!important;box-shadow:0 1px 0 #fff inset,0 3px 8px #0006!important}
#hud .action.build-skill *,#hud .action:not(.attack) *{color:#1d3466!important;text-shadow:none!important}
#hud .action .hotkey{background:#2f4472!important;color:#fff!important;border-radius:3px;padding:0 3px}
#hud .action.attack{background:radial-gradient(circle at 50% 35%,#fff7e0,#f0cf7a 55%,#c9962f)!important;border:2px solid #8a5f12!important;box-shadow:0 0 0 2px #fff6 inset,0 4px 12px #0008!important}
#hud .action.attack *{color:#3e2800!important;text-shadow:none!important}
#hud .action.cooldown{filter:grayscale(.5) brightness(.85)}
#hud .bottomnav{background:linear-gradient(#fbfcfe,#e2e9f4)!important;border:1px solid #6b82ad!important;border-radius:8px;padding:3px!important;box-shadow:0 4px 14px #0007}
#hud .bottomnav button{background:linear-gradient(#ffffff,#dde5f1)!important;border:1px solid #9fb1cf!important;color:#1d3466!important;border-radius:5px;text-shadow:none!important}
#hud .bottomnav button *{color:#1d3466!important;text-shadow:none!important}
#hud .bottomnav button b{background:#d9433a!important;color:#fff!important;border-radius:8px;padding:0 4px}
#hud #toast{background:linear-gradient(#fbfcfe,#e7edf6)!important;border:1px solid #6b82ad!important;color:#1d3466!important;border-radius:8px;box-shadow:0 6px 20px #0008;text-shadow:none!important}
#hud #lootFeed div{text-shadow:0 1px 0 #000,0 0 4px #000}
#hud #interact{background:linear-gradient(#fefefe,#cddbf1)!important;border:1px solid #5f7fb8!important;color:#1d3466!important;border-radius:6px;text-shadow:none!important}
#hud #bossHud{background:linear-gradient(#fbfcfe,#e7edf6)!important;border:1px solid #8a3a3a!important;border-radius:8px;padding:4px 8px}
#hud #bossHud #bossName{color:#7a1d1d!important;text-shadow:none!important;font-weight:800}
#hud #joystick .joy-ring{border-color:#c8d6ee!important;background:radial-gradient(circle,#ffffff22,#7d9cd033)!important}
#hud #joystick #stick{background:radial-gradient(circle at 40% 35%,#fff,#bccbe6)!important;border:1px solid #6b82ad!important}
@media (pointer:fine) and (min-width:768px){#hud .action-controls{bottom:calc(72px + var(--safe-bottom))!important}}
#modal[data-kind=pause] #modalBody [data-act=use-branch]::before{content:"🌿"}

/* ===== v69: mobile UX ===== */
/* iOS: no magnifier / callout / selection on long press anywhere in the game */
html,body,#hud,#hud *,#modal .panel,#titleScreen,canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#modal input,#modal textarea,#modal input *,#modal textarea *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
#hud button,#hud .action,#joystick,canvas{touch-action:none}
/* inventory: item description window + richer cells */
#modal .ro-iteminfo{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 10px;align-items:start;margin-bottom:8px;padding:8px 10px;background:#fff!important;border:1px solid #b8c7de!important;border-left:4px solid var(--rare,#9fb1cf)!important;border-radius:6px;box-shadow:0 2px 6px #0001}
#modal .ro-iteminfo.empty{display:block;color:#6b7488!important;font-size:12px;border-left-color:#c9d4e6!important;background:#f6f8fc!important}
#modal .ro-iteminfo>.ro-icon{width:44px;height:44px;display:grid;place-items:center;background:linear-gradient(#f7f9fd,#e6ecf6);border:1px solid #d3dceb;border-radius:6px}
#modal .ro-iteminfo>.ro-icon svg{width:34px;height:34px}
#modal .ro-iteminfo-body{display:flex;flex-direction:column;gap:2px;min-width:0}
#modal .ro-iteminfo-body b{font-size:14px;line-height:1.2}
#modal .ro-iteminfo-body p{margin:3px 0 1px;font-size:12px;line-height:1.35;color:#2b3346!important}
#modal .ro-iteminfo-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px}
#modal .ro-iteminfo-actions button{margin:0!important}
#modal .ro-cell.selected{outline:2px solid #3f63a8;outline-offset:1px;background:linear-gradient(#eef4ff,#d9e6fb)!important}
#modal .ro-lv{left:3px;bottom:3px;color:#3a4458!important;background:#ffffffd0;border-radius:3px;padding:1px 2px}
/* interact prompt: small pill, never in the middle of the screen */
#hud #interact{left:auto!important;right:max(10px,var(--safe-right))!important;transform:none!important;bottom:calc(330px + var(--safe-bottom))!important;max-width:min(46vw,240px)!important;min-height:34px!important;padding:6px 12px!important;font-size:13px!important;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (pointer:fine) and (min-width:768px){#hud #interact{right:auto!important;left:50%!important;transform:translateX(-50%)!important;bottom:calc(140px + var(--safe-bottom))!important}}
/* toast: compact, high, not covering the fight */
#hud #toast{top:calc(96px + var(--safe-top,0px))!important;width:auto!important;max-width:min(86vw,420px)!important;padding:7px 12px!important;font-size:13px!important;pointer-events:none}
@media (max-width:899px){#hud #toast{top:calc(150px + var(--safe-top,0px))!important}}
/* mobile windows: centred, edge-to-edge, no stray scrollbar */
@media (max-width:700px){#modal{padding:6px!important;align-items:flex-start!important;padding-top:max(6px,var(--safe-top,0px))!important}#modal .panel{width:100%!important;max-width:100%!important;margin:0 auto!important;scrollbar-width:none;max-height:calc(100dvh - 12px - var(--safe-top,0px) - var(--safe-bottom,0px))!important}#modal .panel::-webkit-scrollbar{display:none}#modal .gear-wallet{flex-wrap:wrap;gap:4px 12px}#modal .ro-doll{padding:6px;gap:5px}#modal .ro-slot{min-height:42px;padding:3px 5px}#modal .ro-slot small{font-size:10px}#hud .topbar{max-width:calc(100vw - 132px)!important}}
@media (max-width:800px){#modal .gear-layout>.gear-main{order:-1}#modal .gear-layout>.gear-sidebar{border-top:1px solid #c9d5e8;padding-top:6px}}
/* v71: RO-style NPC portraits in window headers */
#modal .npc-portrait{background:radial-gradient(circle at 50% 38%,#ffffff,#d6e2f3 70%,#b9cbe6)!important;border:1px solid #4f6b9c!important;border-radius:7px;box-shadow:0 0 0 2px #ffffffb0,0 2px 8px #0003!important}
#modal .npc-portrait:after{border-color:#ffffff90!important;border-radius:5px}
#modal[data-kind=pause] #modalBody [data-act=use-bloody]::before{content:"🩸"}
#modal :is([data-act=buy-bloody]){background:linear-gradient(#fff3f1,#f5c9c2)!important;border:1px solid #b5463a!important;color:#6a1a12!important;border-radius:5px;font-weight:700}
#modal :is([data-act=buy-bloody]) *{color:#6a1a12!important}
/* v73: risky refine, hall of fame, egg button */
#modal .ro-refine{margin-top:12px;padding:8px 10px;background:linear-gradient(#fff8ef,#fbe7cf)!important;border:1px solid #d29a4e!important;border-radius:6px}
#modal .ro-refine h3{color:#8a4a00!important;border-bottom-color:#e8c79a!important;margin-top:2px}
#modal .ro-refine-btn{background:linear-gradient(#fff4dc,#f3c46a)!important;border:1px solid #a8681a!important;color:#4a2a00!important}
#modal .ro-hall{display:flex;flex-direction:column;gap:4px}
#modal .ro-hall-row{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;padding:6px 10px;background:#fff!important;border:1px solid #c6d2e6!important;border-radius:5px}
#modal .ro-hall-row.me{background:linear-gradient(#eef4ff,#d9e6fb)!important;border-color:#5f7fb8!important}
#modal .ro-hall-row b{font-size:16px;text-align:center}
#modal .ro-hall-row em{font-style:normal;font-size:12px;color:#5d6679!important}
#modal[data-kind=pause] #modalBody [data-act=hall]::before{content:"🏆"}
#modal :is([data-act=buy-egg]){background:linear-gradient(#fefefe,#cddbf1)!important;border:1px solid #5f7fb8!important;color:#1d3466!important;border-radius:5px;font-weight:700}
#modal :is([data-act=buy-egg]) *{color:#1d3466!important}
#modal .forge-choices button{background:linear-gradient(#ffffff,#e2e8f3)!important;border:1px solid #8fa6cc!important;border-radius:6px;padding:8px 10px;text-align:left}
#modal .forge-choices button *{color:#1f2638!important}
#modal .forge-choices button small{color:#4b5568!important}
#modal .forge-choices button:hover:not(:disabled){border-color:#3f63a8!important}
/* v75: equipment sets */
#modal .ro-sets{display:flex;flex-direction:column;gap:5px}
#modal .ro-set{padding:6px 9px;background:#fff!important;border:1px solid #c6d2e6!important;border-left:3px solid var(--rare)!important;border-radius:5px;display:flex;flex-direction:column;gap:1px}
#modal .ro-set b{font-size:12px}
#modal .ro-set small{font-size:11px;color:#8a93a6!important}
#modal .ro-set small.on{color:#1f8a3a!important;font-weight:700}

/* v78 RO world map */.world-map{display:block;width:100%;height:auto;border:2px solid #b88a55;box-shadow:inset 0 0 0 1px #3a2410,0 4px 18px #0007;background:#3c437e}.world-rows{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.world-row,#modal .panel .world-row{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;padding:6px 9px;background:linear-gradient(#8c4a2c,#5a2616);border:1px solid #d9a774;color:#fff3dc;font-size:12px}.world-row b{flex:1 1 100%;font-family:Georgia,serif;font-size:13px}.world-row span{color:#f1cc98}.world-row em{font-style:normal;color:#ffe9c4;opacity:.85}.world-row.here{box-shadow:0 0 0 2px #ffe28a}.world-row.locked{background:linear-gradient(#5a5a66,#34343e);border-color:#9a9aa8}#modal[data-kind=map] .panel{width:min(760px,100%)}@media (max-width:520px){.world-rows{grid-template-columns:1fr}}
#modal .panel .world-row b,#modal .panel .world-row{color:#fff3dc}#modal .panel .world-row span{color:#f1cc98}#modal .panel .world-row em{color:#ffe9c4}#modal[data-kind=map] .gear-tabs{margin-bottom:10px}
#modal .panel .world-row.locked{background:linear-gradient(#5a5a66,#34343e);border-color:#9a9aa8}#modal .panel .world-row.locked span,#modal .panel .world-row.locked em{color:#c9c9d6}
/* v79 maps fit the viewport height */#modal[data-kind=map] .map-full,#modal[data-kind=map] .world-map{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 210px);margin:0 auto;display:block}#modal[data-kind=map] .gear-tabs button{min-height:36px;padding:6px 16px 8px}#modal[data-kind=map] .legend{justify-content:center}
/* v81 Kafra */.kafra-hello p{font-family:Georgia,serif;font-style:italic}.kafra-menu{display:grid;gap:6px}.kafra-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:12px 0 6px!important}.kafra-h small{font-size:11px;opacity:.75;font-family:Manrope,Arial,sans-serif}.kafra-grid{max-height:34dvh;overflow:auto}.kafra-warp{display:grid;gap:6px}.kafra-dest{display:flex;justify-content:space-between;align-items:center;text-align:left}.kafra-dest b{font-family:Georgia,serif}

/* Online world (RO model): no dash-dodge. */
body.online-world #dash{display:none}
