/* Generated by tools/build-interface.js. Edit ui-system.css or mobile-windows.css, not this bundle. */
@layer ui-priority, legacy;
@layer legacy {
/* layout: style.css */
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101827;color:#f2f5ff;font-family:system-ui,sans-serif}main{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}#boot{padding:24px;text-align:center;background:radial-gradient(circle at 50% 35%,#263c65,#101827 60%)}h1{font-size:clamp(2rem,8vw,4rem);margin:0;color:#70e1ff}p{color:#b8c4db;max-width:420px;text-align:center}.loader{width:42px;height:42px;border:4px solid #ffffff30;border-top-color:#70e1ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#auth,#character{overflow-y:auto;padding:14px}.card{width:min(420px,100%);padding:24px;border:1px solid #ffffff18;border-radius:22px;background:#18263e;box-shadow:0 20px 60px #0005}.card h1{font-size:clamp(1.8rem,7vw,2.2rem);text-align:center}.card p{margin-left:auto;margin-right:auto}.tabs{display:flex;gap:8px;margin:18px 0 12px}.tabs button{flex:1;min-width:0;padding:10px;background:#243753;color:#b8c4db}.tabs button.active{background:#70e1ff;color:#102039}form{display:flex;flex-direction:column;gap:10px}input,button,select{font:inherit;border:0;border-radius:12px;padding:13px 14px}input,select{width:100%;background:#f3f6ff;color:#152039}button{cursor:pointer;background:#70e1ff;color:#102039;font-weight:800;min-width:0}label{color:#b8c4db;font-size:.9rem}#authStatus,#characterStatus{min-height:22px;color:#ffadad;font-size:.9rem}#version{font-size:.8rem}#characterList{display:flex;flex-direction:column;gap:10px;margin:16px 0}.character-option{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:12px;background:#243753}.character-option strong{color:#70e1ff}.character-option button{padding:8px 12px;background:#70e1ff}#game{justify-content:flex-start;background:#0a1120}header{height:52px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#131f35;gap:8px}#stats{font-size:.72rem;color:#b8c4db;white-space:nowrap}#floorControls{display:flex;gap:6px}#floorControls button{padding:6px 9px;background:#34567d;color:#f2f5ff;font-size:.8rem}canvas{display:block;touch-action:none;max-width:100%;max-height:calc(100% - 52px);object-fit:contain}#joystick{position:fixed;bottom:30px;left:30px;width:120px;height:120px;border-radius:50%;background:#ffffff28;border:2px solid #ffffff40;display:none;touch-action:none}#stick{position:absolute;width:48px;height:48px;border-radius:50%;background:#70e1ff;left:34px;top:34px}#leave{position:fixed;right:18px;bottom:18px;min-width:auto;padding:10px 16px;background:#ff7185;color:white}@media(max-width:600px){header{padding:0 8px;gap:4px}header strong{font-size:.82rem}#count{font-size:.7rem}#coordinates{font-size:.75rem;color:#b8c4db;white-space:nowrap}#stats{font-size:.62rem}#floorControls button{padding:5px 6px}}@media(max-height:600px){#auth,#character{justify-content:flex-start;padding-top:8px}.card{padding:14px 18px}.card h1{font-size:1.7rem}.tabs{margin:10px 0 8px}.tabs button{padding:8px 9px}input,button,select{padding:10px 12px}.card p{margin:6px auto}}
main[hidden]{display:none!important}
.camera-zoom-controls{display:flex;align-items:center;gap:10px;margin:16px 0 8px}.camera-zoom-controls input{flex:1}.camera-zoom-controls button{min-width:48px;padding:8px 12px}
#hudStats .stat-bar{width:min(calc(42vw / var(--eternium-ui-scale,1)),calc((100vw - 28px) / var(--eternium-ui-scale,1)),280px)}
@media(max-width:600px){#hudStats .stat-bar{width:min(calc(46vw / var(--eternium-ui-scale,1)),calc((100vw - 20px) / var(--eternium-ui-scale,1)),320px)}}
.apk-mode #hudStats .stat-bar{width:min(calc(46vw / var(--eternium-ui-scale,1)),calc((100vw - 44px) / var(--eternium-ui-scale,1)),310px)}
#nearbyEntitiesPanel{position:fixed;z-index:9;top:108px;right:12px;width:min(330px,calc(100vw - 24px));max-height:min(48vh,360px);overflow:hidden;border:1px solid #70e1ff66;border-radius:14px;background:#101c30eF;box-shadow:0 10px 30px #0009;color:#f2f5ff;backdrop-filter:blur(5px);touch-action:none}#nearbyEntitiesPanel.anchored .nearby-entities-header{cursor:default}#nearbyEntitiesPanel.minimized{width:auto;max-height:none}#nearbyEntitiesPanel.minimized #nearbyEntitiesList{display:none}.nearby-entities-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;background:#1d3554;color:#70e1ff;cursor:move;user-select:none}.nearby-entities-header div{display:flex;gap:5px}.nearby-entities-header button{min-width:32px;padding:4px 7px;background:#34567d;color:#fff;line-height:1}.nearby-entities-header button:first-child{background:#70e1ff;color:#102039}.nearby-entities-header span{color:#fff}.nearby-entity{display:grid;grid-template-columns:26px minmax(0,1fr) auto minmax(58px,auto);align-items:center;gap:8px;min-height:52px;padding:10px 12px;border-bottom:1px solid #ffffff12;font-size:.88rem;cursor:pointer;user-select:none}.nearby-entity:hover,.nearby-entity:focus{background:#2a4b70;outline:none}.nearby-entity>span{font-size:1.15rem}.nearby-entity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nearby-entity small{color:#9fb2cd;font-size:.7rem}.nearby-entity.player strong{color:#b8e8ff}.nearby-entity.monster strong{color:#ff9c9c}.nearby-entity.npc strong{color:#a9f5bd}.nearby-hp{position:relative;display:block;min-width:58px;height:15px;overflow:hidden;border:1px solid #dcecff88;border-radius:4px;background:#172235;color:#fff;font-size:.6rem;line-height:13px;text-align:center}.nearby-hp i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#a7192e,#ef4250)}.nearby-hp.empty{min-width:58px;border:0;background:transparent}.nearby-empty{margin:0;padding:14px 10px;color:#b8c4db;font-size:.8rem;text-align:center}@media(max-width:600px){#nearbyEntitiesPanel{top:92px;right:8px;width:min(310px,calc(100vw - 16px));max-height:44vh}.nearby-entity{grid-template-columns:24px minmax(0,1fr) auto minmax(52px,auto);min-height:58px;padding:10px 9px;font-size:.8rem}.nearby-hp,.nearby-hp.empty{min-width:52px}}
.chat-card{width:min(560px,94vw)!important;max-height:82vh;display:flex;flex-direction:column}.chat-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.chat-tabs button{padding:9px 6px;background:#243753;color:#b8c4db}.chat-tabs button.active{background:#70e1ff;color:#102039}.chat-messages{min-height:120px;max-height:38vh;overflow-y:auto;padding:4px 2px;display:flex;flex-direction:column;gap:6px;text-align:left}.chat-message{padding:8px 10px;border-radius:10px;background:#243753}.chat-message.mine{background:#2f6480}.chat-message>div{display:flex;justify-content:space-between;gap:8px}.chat-message strong{color:#70e1ff;font-size:.78rem}.chat-message time{color:#9fb2cd;font-size:.65rem}.chat-message p{margin:3px 0 0;color:#f2f5ff;max-width:none;text-align:left;overflow-wrap:anywhere}.chat-compose,.chat-add-friend{display:flex;flex-direction:row;gap:6px;margin-top:8px}.chat-compose input,.chat-add-friend input{min-width:0;flex:1}.chat-compose button,.chat-add-friend button{padding:10px 12px}.chat-help,.chat-empty,.chat-private-title{display:block;color:#b8c4db;font-size:.75rem;text-align:center}.chat-help{margin:6px 0}.chat-friend-list{display:flex;gap:6px;overflow-x:auto;padding:3px 0 8px}.chat-friend{flex:0 0 auto;padding:8px 11px;background:#243753;color:#dcecff}.chat-friend.active{background:#70e1ff;color:#102039}.chat-private-title{padding:6px;color:#70e1ff;font-weight:800}
#hudStats{position:fixed;z-index:5;top:64px;left:12px;right:12px;display:flex;justify-content:space-between;pointer-events:none}.stat-bar{position:relative;width:min(34vw,220px);height:28px;overflow:hidden;border:2px solid #dcecff;border-radius:7px;background:#172235;box-shadow:0 3px 8px #0008}.stat-fill{position:absolute;inset:0 auto 0 0;width:100%;transition:width .2s ease}.health .stat-fill{background:linear-gradient(90deg,#a7192e,#ef4250)}.mana .stat-fill{background:linear-gradient(90deg,#1453a0,#3aa9ff)}.stat-label,.stat-text{position:absolute;z-index:1;top:50%;transform:translateY(-50%);font-weight:900;text-shadow:0 1px 3px #000}.stat-label{left:8px;font-size:.72rem}.stat-text{left:50%;transform:translate(-50%,-50%);font-size:.85rem;white-space:nowrap}@media(max-width:600px){#hudStats{top:58px;left:8px;right:8px}.stat-bar{width:38vw;height:25px}.stat-text{font-size:.74rem}.stat-label{font-size:.64rem}}
#protectedZoneStatus{position:fixed;z-index:6;top:98px;left:50%;transform:translateX(-50%);padding:6px 12px;border:1px solid;border-radius:999px;background:#101c30eF;box-shadow:0 3px 10px #0008;font-size:.78rem;font-weight:900;white-space:nowrap;pointer-events:none}#protectedZoneStatus.is-protected{border-color:#71f0b0;color:#b8ffd9}#protectedZoneStatus.is-normal{border-color:#ffb86b;color:#ffd6aa}@media(max-width:600px){#protectedZoneStatus{top:91px;font-size:.68rem;padding:5px 9px}}
#menuButtons{position:fixed;z-index:7;right:18px;bottom:78px;display:flex;flex-direction:column;gap:8px}#menuButtons button{min-width:112px;padding:10px 14px;background:#34567d;color:#f2f5ff;box-shadow:0 3px 8px #0008}.game-panel{position:fixed;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0009}.game-panel[hidden]{display:none!important}.panel-card{position:relative;width:min(360px,90vw);padding:26px 22px;border:1px solid #ffffff26;border-radius:18px;background:#18263e;box-shadow:0 20px 60px #000b;text-align:center}.panel-card h2{margin:0 0 12px;color:#70e1ff}.panel-card p{margin:0 auto;color:#b8c4db}.panel-close{position:absolute;top:8px;right:8px;min-width:0;padding:4px 10px;background:#405878;color:#fff}@media(max-width:600px){#menuButtons{right:10px;bottom:74px}#menuButtons button{min-width:98px;padding:9px 10px;font-size:.8rem}}
#menuButtons{position:fixed;z-index:7;right:18px;bottom:78px;display:flex;flex-direction:column;gap:8px}#menuButtons button{min-width:112px;padding:10px 14px;background:#34567d;color:#f2f5ff;box-shadow:0 3px 8px #0008}.game-panel{position:fixed;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0009}.game-panel[hidden]{display:none!important}.panel-card{position:relative;width:min(360px,90vw);padding:26px 22px;border:1px solid #ffffff26;border-radius:18px;background:#18263e;box-shadow:0 20px 60px #000b;text-align:center}.panel-card h2{margin:0 0 12px;color:#70e1ff}.panel-card p{margin:0 auto;color:#b8c4db}.panel-close{position:absolute;top:8px;right:8px;min-width:0;padding:4px 10px;background:#405878;color:#fff}.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.equipment-slot{min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px;border:1px solid #70e1ff55;border-radius:12px;background:#243753;color:#f2f5ff;font-weight:700}.equipment-slot small{min-height:16px;color:#9fb2cd;font-size:.68rem;font-weight:400;line-height:1.15}.slot-icon{font-size:1.45rem;line-height:1.2}@media(max-width:600px){#menuButtons{right:10px;bottom:74px}#menuButtons button{min-width:98px;padding:9px 10px;font-size:.8rem}.panel-card{padding:24px 14px}.equipment-grid{gap:7px}.equipment-slot{min-height:78px;padding:6px;font-size:.82rem}.equipment-slot small{font-size:.62rem}}
#rankingsButton{display:block;pointer-events:auto;position:relative;z-index:8;margin-top:8px;width:min(34vw,220px);padding:7px 10px;background:#34567d;color:#f2f5ff;box-shadow:0 3px 8px #0008;font-size:.8rem}.rankings-card{width:min(430px,92vw);max-height:min(76vh,620px);display:flex;flex-direction:column;text-align:left}.rankings-card h2{text-align:center}.rankings-list{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:5px;padding:3px 2px 10px}.ranking-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;background:#243753;color:#eaf3ff}.ranking-row strong{color:#70e1ff}.ranking-row b{font-size:.82rem;color:#b8e8ff}.ranking-row.current{background:#2f6480;outline:2px solid #70e1ff}.current-ranking{position:sticky;bottom:0;margin-top:8px;padding:12px 10px;border-radius:10px;background:#70e1ff;color:#102039;font-weight:900;text-align:center;box-shadow:0 -8px 16px #18263e}.rankings-list p{text-align:center;width:100%}@media(max-width:600px){#rankingsButton{width:38vw;padding:6px 8px;font-size:.7rem}.rankings-card{max-height:78vh}.ranking-row{padding:8px;font-size:.85rem}.ranking-row b{font-size:.72rem}.current-ranking{font-size:.8rem}}
.apk-mode button{min-height:64px;padding:18px 23px;font-size:1.08rem}.apk-mode #floorControls button{min-height:58px;padding:13px 17px}.apk-mode #menuButtons{gap:12px;right:22px;bottom:92px}.apk-mode #menuButtons button{min-width:180px;padding:18px 22px;font-size:1.08rem}.apk-mode #leave{padding:18px 24px;font-size:1.08rem}.apk-mode #rankingsButton{min-height:60px;padding:15px 19px;font-size:1.05rem}.apk-mode .panel-close{min-height:52px;padding:11px 16px}.apk-mode .stat-bar{width:min(44vw,310px);height:44px;border-width:3px}.apk-mode .stat-label{left:13px;font-size:1rem}.apk-mode .stat-text{font-size:1.12rem}.apk-mode #joystick{width:144px;height:144px}.apk-mode #stick{width:60px;height:60px;left:40px;top:40px}
.apk-mode #auth .card,.apk-mode #character .card{width:min(520px,94vw);padding:34px 30px}.apk-mode #auth .card h1,.apk-mode #character .card h1{font-size:2.65rem}.apk-mode #auth .tabs{gap:12px;margin:24px 0 18px}.apk-mode #auth .tabs button,.apk-mode #auth input,.apk-mode #auth select{min-height:64px;font-size:1.12rem}.apk-mode #auth form{gap:16px}.apk-mode #auth small{font-size:.95rem}
.inventory-card{width:min(520px,94vw)!important;text-align:left}.inventory-card h2{text-align:center}.inventory-toolbar{display:flex;gap:8px;margin:4px 0 10px}.inventory-search{flex:1;min-width:0;padding:10px 12px!important}.inventory-sort{width:112px;padding:10px 8px!important}.inventory-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px}.inventory-tabs button{padding:9px 5px;background:#243753;color:#b8c4db;font-size:.75rem}.inventory-tabs button.active{background:#70e1ff;color:#102039}.inventory-body{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:10px}.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:42vh;overflow-y:auto;padding:2px}.inventory-item{position:relative;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 4px;border:1px solid #70e1ff44;border-radius:10px;background:#243753;color:#f2f5ff}.inventory-item:hover,.inventory-item.selected{background:#2f6480;border-color:#70e1ff;outline:2px solid #70e1ff55}.inventory-icon{font-size:1.65rem;line-height:1.2}.inventory-item strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.inventory-item small{color:#70e1ff;font-weight:900}.inventory-detail{min-height:130px;padding:12px;border:1px solid #70e1ff44;border-radius:10px;background:#101c30;color:#b8c4db;font-size:.78rem}.inventory-detail strong,.inventory-detail span{display:block}.inventory-detail strong{margin-bottom:8px;color:#70e1ff;font-size:.95rem}.inventory-detail button{width:100%;margin-top:14px;padding:9px}.inventory-empty{grid-column:1/-1;color:#b8c4db;text-align:center;font-size:.8rem}@media(max-width:600px){.inventory-card{width:min(520px,96vw)!important}.inventory-body{grid-template-columns:1fr}.inventory-detail{min-height:76px}.inventory-detail button{width:auto;float:right;margin-top:-28px}.inventory-grid{max-height:35vh}.inventory-item{min-height:76px}.inventory-tabs button{font-size:.68rem}}
.inventory-window{padding-top:12px!important}.inventory-window h2{cursor:move;touch-action:none}.inventory-window .panel-close,.inventory-window .panel-minimize,.inventory-window .panel-anchor{z-index:3}.inventory-window .panel-close{right:8px}.inventory-window .panel-minimize{right:48px}
.game-panel:has(.movable-panel){align-items:flex-start;justify-content:flex-end;padding:68px 12px 12px;background:transparent;pointer-events:none}.game-panel:has(.movable-panel) .panel-card{pointer-events:auto;max-height:calc(100vh - 82px);overflow-y:auto;box-shadow:0 14px 36px #000c}.game-panel:has(.movable-panel) .panel-card.panel-minimized{overflow:hidden;pointer-events:auto}.game-panel:has(.movable-panel) .panel-card h2{cursor:move;touch-action:none}@media(max-width:600px){.game-panel:has(.movable-panel){padding:58px 8px 8px}}
#rankingsPanel{align-items:flex-start;justify-content:flex-end;padding:68px 12px 12px;background:transparent;pointer-events:none}#rankingsPanel .panel-card{pointer-events:auto;max-height:calc(100vh - 82px);overflow-y:auto;box-shadow:0 14px 36px #000c}@media(max-width:600px){#rankingsPanel{padding:58px 8px 8px}}
.panel-card:not(.panel-minimized) .panel-close{right:6px;width:30px;height:30px;padding:2px 6px}.panel-card:not(.panel-minimized) .panel-minimize{right:42px;width:30px;height:30px;min-width:30px;padding:2px 6px}.panel-card:not(.panel-minimized) .panel-anchor{right:78px;width:30px;height:30px;min-width:30px;padding:2px 4px}.panel-card:not(.panel-minimized) h2{padding-left:96px;padding-right:96px}.panel-card.panel-minimized .panel-anchor{right:38px;width:30px;height:30px;min-width:30px}.panel-card.panel-minimized .panel-minimize{width:30px;height:30px;min-width:30px}
.inventory-window-title{display:block!important;margin:-4px 0 14px!important;padding:9px 96px 9px 10px!important;border-bottom:1px solid #70e1ff55;border-radius:8px;color:#70e1ff;background:#1d3554;text-align:left!important;font-size:1rem;line-height:1.25;cursor:move!important;user-select:none}.panel-card.panel-minimized .inventory-window-title{margin:0!important;padding:0 80px 0 0!important;border:0;background:transparent;text-align:left!important;font-size:.86rem}
.character-class-badge{display:block;margin-top:4px;color:#70e1ff;font-size:.78rem;font-weight:800}
.inventory-drag-header{display:block;margin:-4px 0 14px;padding:9px 96px 9px 10px;border-bottom:1px solid #70e1ff55;border-radius:8px;background:#1d3554;color:#70e1ff;font-size:1rem;font-weight:900;line-height:1.25;text-align:left;cursor:move;user-select:none;touch-action:none}.panel-card.panel-minimized .inventory-drag-header{margin:0;padding:0 80px 0 0;border:0;background:transparent;font-size:.86rem;line-height:32px}
.panel-card.panel-minimized .inventory-drag-header{display:block!important}
.set-card{width:min(430px,calc(100vw - 24px))!important;max-height:calc(100vh - 24px)!important;overflow:hidden!important;padding:14px 16px!important}.set-card h2{margin:0 0 6px}.set-card .equipment-grid{gap:6px;margin-top:8px}.set-card .equipment-slot{min-height:clamp(52px,10vh,78px);padding:5px;font-size:.82rem}.set-card .equipment-slot small{min-height:12px;font-size:.62rem}.set-card .slot-icon{font-size:1.25rem}@media(max-height:600px){.set-card{padding:10px 12px!important}.set-card h2{margin-bottom:3px}.set-card .equipment-grid{gap:4px;margin-top:4px}.set-card .equipment-slot{min-height:clamp(44px,9vh,62px);padding:3px;font-size:.72rem}.set-card .equipment-slot small{font-size:.55rem}.set-card .slot-icon{font-size:1rem}}.apk-mode .set-card{padding:12px!important}.apk-mode .set-card .equipment-slot{min-height:clamp(48px,9vh,68px);padding:4px;font-size:.76rem}.apk-mode .set-card .slot-icon{font-size:1.05rem}.apk-mode .set-card .equipment-slot small{font-size:.58rem}
.inventory-card{width:min(500px,calc(100vw - 24px))!important;padding:16px 22px 20px!important;border:1px solid #70e1ff66;border-radius:22px;background:linear-gradient(145deg,#203b5d 0%,#172b47 58%,#12233b 100%);box-shadow:0 18px 45px #000b,0 0 0 1px #ffffff0d inset}.inventory-card .inventory-drag-header{margin:-5px -10px 14px;padding:10px 112px 10px 14px;border:0;border-radius:13px;background:linear-gradient(90deg,#2d567d,#244568);color:#d9f6ff;font-size:1.05rem;letter-spacing:.01em;box-shadow:0 3px 0 #0d1d32aa}.inventory-card .inventory-drag-header::before{content:'🎒';margin-right:8px}.inventory-card .gold-section{margin:12px 0 14px!important;padding:12px 16px!important;border:1px solid #f4c95daa;border-radius:15px;background:linear-gradient(135deg,#554528,#3d3424);box-shadow:0 4px 12px #0004,inset 0 1px #ffe8a044}.inventory-card .gold-section strong{color:#fff0bd;font-size:.92rem}.inventory-card .gold-section span:last-child{font-size:1.35rem}.inventory-content{padding-top:2px}.inventory-toolbar{gap:8px;margin:0 0 10px}.inventory-search,.inventory-sort{border:1px solid #8bb6dc;box-shadow:0 2px 6px #0003}.inventory-search:focus,.inventory-sort:focus{outline:3px solid #70e1ff55;border-color:#70e1ff}.inventory-tabs{gap:6px;margin-bottom:12px}.inventory-tabs button{border:1px solid #ffffff0f;border-radius:10px;background:#294466;color:#d8e7f7;transition:background .15s,transform .15s}.inventory-tabs button:hover{background:#3c638a;transform:translateY(-1px)}.inventory-tabs button.active{background:#70e1ff;color:#102039;box-shadow:0 3px 8px #0004}.inventory-body{gap:12px}.inventory-grid{gap:8px;padding:3px}.inventory-item{min-height:88px;border:1px solid #70e1ff44;border-radius:13px;background:linear-gradient(145deg,#294a6d,#213c5c);box-shadow:0 3px 7px #0003;transition:transform .15s,background .15s}.inventory-item:hover,.inventory-item.selected{background:linear-gradient(145deg,#37688b,#2d5778);transform:translateY(-2px)}.inventory-empty{display:flex;min-height:112px;flex-direction:column;align-items:center;justify-content:center;margin:0;padding:18px;border:1px dashed #8bb6dc66;border-radius:14px;background:#142a43;color:#c6d8eb;font-size:.82rem}.inventory-empty::before{content:'🎒';display:block;margin-bottom:6px;font-size:1.8rem;filter:grayscale(.15)}.inventory-detail{border:1px solid #70e1ff55;border-radius:13px;background:linear-gradient(145deg,#132843,#102138);box-shadow:inset 0 1px #ffffff0d}.inventory-card.panel-minimized{background:linear-gradient(90deg,#203b5d,#172b47)}@media(max-width:600px){.inventory-card{width:min(500px,calc(100vw - 16px))!important;padding:14px 12px 16px!important}.inventory-card .inventory-drag-header{margin:-4px -4px 12px;padding-left:10px}.inventory-body{grid-template-columns:1fr}.inventory-detail{min-height:82px}.inventory-grid{max-height:32vh}}
.update-link{display:block;margin-top:16px;padding:14px 18px;border-radius:12px;background:#70e1ff;color:#102039;font-weight:900;text-decoration:none;text-align:center}
canvas{background:#1a6680}
#boot,#auth,#character{background-image:linear-gradient(#09132688,#09132688),url('assets/eternium-ot-wallpaper.webp');background-size:cover;background-position:center;background-repeat:no-repeat}#boot h1{display:none}#auth .card,#character .card{background:#18263ecc;backdrop-filter:blur(3px)}
.brand-logo{display:block;object-fit:contain}.boot-logo{width:clamp(130px,24vw,220px);height:clamp(130px,24vw,220px);margin-bottom:-4px;filter:drop-shadow(0 8px 14px #000b)}.card-logo{width:92px;height:92px;margin:0 auto -4px;filter:drop-shadow(0 5px 10px #0008)}.client-brand{display:flex;align-items:center;gap:8px}.client-brand img{width:34px;height:34px;object-fit:contain}.client-brand strong{color:#70e1ff}
.support-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:12px;padding:10px 14px;border:1px solid #70e1ff77;border-radius:12px;background:#244568;color:#eaf8ff;font-weight:700;text-align:center;text-decoration:none}.support-link:hover,.support-link:focus-visible{background:#345f85;outline:2px solid #70e1ff66}.apk-mode .support-link{min-height:56px;font-size:1rem}
#menuButtons.menu-collapsed{gap:0}#menuButtons.menu-collapsed button:not(#menuCollapseButton){display:none}#menuCollapseButton{order:99!important;min-width:36px!important;width:36px;padding:7px 8px!important;background:#70e1ff;color:#102039;font-size:1rem;line-height:1}#menuButtons.menu-collapsed #menuCollapseButton{display:block}
.panel-minimize{position:absolute;top:8px;right:48px;min-width:32px;padding:4px 9px;background:#405878;color:#fff;line-height:1}.panel-anchor{position:absolute;top:8px;right:88px;min-width:32px;padding:4px 7px;background:#405878;color:#fff;line-height:1}.panel-card.panel-anchored{outline:2px solid #70e1ff66}.panel-card.panel-minimized{display:flex!important;align-items:center;width:180px!important;min-width:180px!important;height:44px!important;min-height:44px!important;padding:5px 80px 5px 12px!important;overflow:hidden}.panel-card.panel-minimized>*:not(.panel-minimize):not(.panel-anchor):not(h2){display:none!important}.panel-card.panel-minimized h2{display:block;margin:0!important;padding:0!important;overflow:hidden;color:#70e1ff;font-size:.86rem;line-height:32px;text-overflow:ellipsis;white-space:nowrap}.panel-card.panel-minimized .panel-minimize{position:absolute;top:6px;right:6px;display:block;width:32px;height:32px;min-width:32px;padding:3px;margin:0;background:#70e1ff;color:#102039}.panel-card.panel-minimized .panel-anchor{top:6px;right:42px;width:32px;height:32px;min-width:32px;padding:3px;margin:0;background:#405878;color:#fff}
.panel-drag-handle{cursor:move;user-select:none;touch-action:none}.movable-panel{position:fixed!important;top:68px;right:12px;left:auto;z-index:11;will-change:left,top}
#inventoryPanel,#setPanel,#settingsPanel,#chatPanel{align-items:flex-start;justify-content:flex-end;padding:68px 12px 12px;background:transparent;pointer-events:none}#inventoryPanel .panel-card,#setPanel .panel-card,#settingsPanel .panel-card,#chatPanel .panel-card{pointer-events:auto;max-height:calc(100vh - 82px);overflow-y:auto;box-shadow:0 14px 36px #000c}.delete-dialog{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;background:#050b16cc}.delete-dialog[hidden]{display:none}.delete-dialog-card{width:min(420px,100%);padding:24px;border:2px solid #70e1ff;border-radius:18px;background:#18263e;box-shadow:0 20px 70px #000b;text-align:center}.delete-dialog-card h2{margin:0 0 12px;color:#ff7185}.delete-dialog-card p{margin:8px auto;color:#dcecff}.delete-dialog-card strong{color:#70e1ff}.delete-dialog-actions{display:flex;gap:10px;margin-top:20px}.delete-dialog-actions button{flex:1}.delete-dialog-actions button:last-child{background:#ff7185;color:#fff}
.inventory-card.panel-minimized .inventory-drag-header{display:flex!important;flex:1 1 auto;min-width:0;max-width:none;margin:0!important;padding:0 82px 0 0!important;border:0;background:transparent;box-shadow:none;line-height:32px;cursor:move;touch-action:none;user-select:none}.inventory-card.panel-minimized .panel-anchor,.inventory-card.panel-minimized .panel-minimize,.inventory-card.panel-minimized .panel-close{display:block!important;z-index:5;pointer-events:auto}.inventory-card.panel-minimized .panel-close{position:absolute!important;top:6px!important;right:78px!important;width:32px!important;height:32px!important;padding:3px!important}.inventory-card.panel-minimized .panel-anchor{right:42px!important}.inventory-card.panel-minimized .panel-minimize{right:6px!important}
.nearby-entity.selected{background:#70e1ff33;outline:2px solid #70e1ff;box-shadow:inset 0 0 0 1px #d8f8ff66}.nearby-entity.selected strong{color:#fff}
#nearbyEntitiesPanel .nearby-entity.selected{background:#315b78;outline:2px solid #70e1ff;box-shadow:0 0 12px #70e1ff66}
.inventory-icon img{display:block;width:42px;height:42px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 3px #0008)}.inventory-item .inventory-icon{display:flex;align-items:center;justify-content:center;min-height:44px}
#combatNotice{position:fixed;z-index:100;left:50%;top:112px;transform:translate(-50%,-8px);opacity:0;pointer-events:none;max-width:min(360px,82vw);padding:8px 14px;border:1px solid #70e1ff88;border-radius:10px;background:#10243ddd;color:#e8f8ff;box-shadow:0 5px 18px #0008;font-size:.8rem;font-weight:700;text-align:center;transition:opacity .16s,transform .16s}#combatNotice.visible{opacity:1;transform:translate(-50%,0)}
.apk-mode #hudStats{top:60px;left:10px;right:10px}.apk-mode #hudStats .stat-bar{width:min(24vw,290px);height:38px}.apk-mode #hudStats>div:last-child{margin-right:76px}.apk-mode #menuButtons{left:12px;right:auto;bottom:92px;gap:7px}.apk-mode #menuButtons button{min-width:142px;min-height:48px;padding:10px 14px;font-size:.92rem}.apk-mode #leave{left:12px;right:auto;bottom:18px;width:142px;min-height:46px;padding:10px 14px;font-size:.92rem}.apk-mode #quickAbilities{right:10px;bottom:10px;transform:scale(.86);transform-origin:right bottom}.apk-mode #nearbyEntitiesPanel{top:106px;left:12px;right:auto;width:min(290px,30vw);max-height:38vh}.apk-mode .game-panel:has(.movable-panel){padding:64px 12px 12px}.apk-mode .game-panel:has(.movable-panel) .panel-card{width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 86px);padding:18px 16px}.apk-mode .settings-card{font-size:.88rem}.apk-mode .settings-card button{min-height:46px;padding:10px 14px;font-size:.9rem}
#nearbyEntitiesPanel{z-index:20}
.apk-mode #nearbyEntitiesPanel{left:12px;right:auto;width:min(330px,calc(100vw - 24px));z-index:20}
.nearby-select-button{min-height:34px!important;padding:6px 8px!important;border:1px solid #70e1ff88;border-radius:8px;background:#70e1ff;color:#102039;font-size:.68rem;font-weight:900;white-space:nowrap;touch-action:manipulation}
.nearby-select-button:active{background:#b8f2ff;transform:scale(.97)}
@media(max-width:600px){.nearby-select-button{min-height:40px!important;padding:7px 9px!important;font-size:.7rem}}
.direction-pad{position:fixed;z-index:8;left:24px;bottom:28px;width:156px;height:156px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;padding:5px;border:2px solid #ffffff40;border-radius:24px;background:#10243dcc;box-shadow:0 6px 18px #0008;touch-action:none;user-select:none}
.direction-pad button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:0;border:1px solid #70e1ff66;border-radius:12px;background:#34567d;color:#eaf8ff;font-size:1.7rem;line-height:1;touch-action:none;user-select:none;-webkit-user-select:none}
.direction-pad button:active,.direction-pad button.active{background:#70e1ff;color:#102039;transform:scale(.94)}
.direction-pad-center{border-radius:12px;background:#1c3552}
@media(max-width:600px){.direction-pad{left:14px;bottom:18px;width:156px;height:156px}.direction-pad button{font-size:1.65rem}}
.apk-mode .direction-pad{left:18px;bottom:24px;width:180px;height:180px;gap:6px;padding:6px}.apk-mode .direction-pad button{min-height:0;padding:0;font-size:1.95rem}
#hudStats{top:54px}
#hudStats .stat-bar{width:min(38vw,360px)}
#nearbyEntitiesPanel{width:min(390px,calc(100vw - 24px));max-height:min(54vh,440px)}
#nearbyEntitiesPanel .nearby-entities-header{padding:12px 14px;font-size:1rem}
.team-card{width:min(460px,94vw)!important}.team-card h3{margin:4px 0 8px;color:#70e1ff}.team-card p{font-size:.8rem;margin-bottom:12px}.team-form{display:flex;gap:7px;margin:12px 0}.team-form input{min-width:0;flex:1}.team-member-list,.team-request-list,.team-invite-list{display:grid;gap:6px;margin:10px 0}.team-member-row,.team-request-row,.team-search-result{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid #70e1ff33;border-radius:8px;background:#203551;text-align:left;font-size:.78rem}.team-member-row small,.team-request-row small,.team-search-result small{display:block;color:#a8bad2;font-size:.68rem}.team-request-row>span:last-child{display:flex;gap:4px}.team-request-row button,.team-search-result button{min-width:0;padding:5px 7px;font-size:.68rem}.team-section-title{margin-top:15px;color:#70e1ff;font-weight:800;font-size:.78rem}.team-empty{padding:8px!important;font-size:.75rem}.team-leave-button{width:100%;margin-top:12px;background:#b94a5b;color:#fff}.team-roster-panel{position:fixed;z-index:8;top:108px;left:12px;width:min(300px,calc(100vw - 24px));max-height:42vh;overflow:hidden;border:1px solid #70e1ff66;border-radius:14px;background:#101c30eF;box-shadow:0 10px 30px #0009;color:#f2f5ff;backdrop-filter:blur(5px)}.team-roster-panel[hidden]{display:none}.team-roster-panel.team-roster-collapsed{width:auto;max-height:none}.team-roster-panel.team-roster-collapsed #teamRosterList{display:none}.team-roster-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#1d3554;color:#70e1ff}.team-roster-header button{min-width:30px;padding:3px 8px;background:#34567d;color:#fff}.team-roster-member{padding:8px 10px;border-bottom:1px solid #ffffff12}.team-roster-name{font-size:.78rem;font-weight:800}.team-roster-name small{color:#a8bad2;font-size:.65rem;font-weight:400}.team-bar{height:6px;margin-top:4px;border-radius:4px;background:#0b1422;overflow:hidden}.team-bar i{display:block;height:100%;border-radius:4px}.team-bar.health i{background:#e64c62}.team-bar.mana i{background:#4b9ee8}@media(max-width:600px){.team-roster-panel{top:92px;left:8px;width:min(290px,calc(100vw - 16px))}.team-form{flex-direction:column}.team-form button{width:100%}}
#nearbyEntitiesPanel .nearby-entity{min-height:62px;padding:12px 14px;grid-template-columns:30px minmax(0,1fr) auto minmax(70px,auto);font-size:.95rem}
#nearbyEntitiesPanel .nearby-hp,#nearbyEntitiesPanel .nearby-hp.empty{min-width:70px;height:17px}
.apk-mode #hudStats{top:56px}
.apk-mode #hudStats .stat-bar{width:min(42vw,340px)}
.apk-mode #nearbyEntitiesPanel{width:min(370px,calc(100vw - 24px));max-height:44vh}
@media(max-width:600px){#hudStats{top:54px}#hudStats .stat-bar{width:min(47vw,280px)}#nearbyEntitiesPanel{width:min(350px,calc(100vw - 16px));max-height:48vh}}
#joystick{display:none!important}
#directionPad{transform:scale(var(--direction-pad-scale,1));transform-origin:left bottom}
#quickAbilities .quick-ability{width:calc(48px * var(--quick-bar-scale,2));height:calc(48px * var(--quick-bar-scale,2));min-width:calc(48px * var(--quick-bar-scale,2));font-size:calc(.68rem * var(--quick-bar-scale,2))}
#quickAbilities .quick-ability span{font-size:calc(.62rem * var(--quick-bar-scale,2))}
#quickAbilities .quick-ability-row[data-quick-category="all"],#quickAbilities .quick-consumable-row{grid-template-columns:repeat(4,calc(48px * var(--quick-bar-scale,2)))}
#quickAbilities .quick-consumable-row{min-height:calc(48px * var(--quick-bar-scale,2))}
#quickAbilities #abilitiesButton{width:calc(48px * var(--quick-bar-scale,2));min-width:calc(48px * var(--quick-bar-scale,2));height:calc(34px * var(--quick-bar-scale,2))}
@media(max-width:600px){#quickAbilities .quick-ability{width:calc(42px * var(--quick-bar-scale,2));height:calc(42px * var(--quick-bar-scale,2));min-width:calc(42px * var(--quick-bar-scale,2))}#quickAbilities .quick-ability-row[data-quick-category="all"],#quickAbilities .quick-consumable-row{grid-template-columns:repeat(4,calc(42px * var(--quick-bar-scale,2)))}#quickAbilities .quick-consumable-row{min-height:calc(42px * var(--quick-bar-scale,2))}}
#directionPad{left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));width:min(190px,calc(100vw - 28px));height:min(190px,calc(100vw - 28px));display:block;padding:0;border-radius:50%;overflow:visible;transform-origin:left bottom}
#directionPad button{position:absolute;width:28%;height:28%;min-height:0;padding:0;border-radius:30%;font-size:clamp(1.1rem,5vw,1.8rem);line-height:1;z-index:2}
#directionPad button:nth-of-type(1){left:18%;top:12%}#directionPad button:nth-of-type(2){left:36%;top:2%}#directionPad button:nth-of-type(3){left:54%;top:12%}
#directionPad button:nth-of-type(4){left:2%;top:36%}#directionPad button:nth-of-type(5){left:70%;top:36%}
#directionPad button:nth-of-type(6){left:18%;top:60%}#directionPad button:nth-of-type(7){left:36%;top:70%}#directionPad button:nth-of-type(8){left:54%;top:60%}
#directionPad .direction-pad-center{position:absolute;left:36%;top:36%;width:28%;height:28%;border:1px solid #70e1ff44;border-radius:50%;background:#1c3552;z-index:1}
.apk-mode #directionPad{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:min(200px,calc(100vw - 32px));height:min(200px,calc(100vw - 32px))}
#directionPad{display:none!important}
#directionPadWindow{position:fixed;z-index:1000;left:12px;bottom:12px;width:208px;height:238px;padding:30px 8px 8px;border:2px solid #70e1ff99;border-radius:24px;background:#10243def;box-shadow:0 10px 28px #000b;touch-action:none;pointer-events:auto;overflow:visible}
.direction-pad-window-title{position:absolute;top:5px;left:0;right:0;text-align:center;color:#bfefff;font-size:.72rem;font-weight:900;pointer-events:none}
.direction-pad-window-body{position:relative;width:100%;height:100%}
.direction-pad-window-button{position:absolute;width:28%;height:28%;min-height:0!important;min-width:0!important;padding:0!important;border:1px solid #70e1ff88;border-radius:30%;background:#34567d;color:#eaf8ff;font-size:1.7rem;line-height:1;touch-action:none;user-select:none;-webkit-user-select:none}
.direction-pad-window-button:active,.direction-pad-window-button.active{background:#70e1ff;color:#102039;transform:scale(.94)}
.direction-pad-window-center{position:absolute;left:36%;top:36%;width:28%;height:28%;border:1px solid #70e1ff44;border-radius:50%;background:#1c3552}
.direction-pad-window-button:nth-of-type(1){left:18%;top:12%}.direction-pad-window-button:nth-of-type(2){left:36%;top:2%}.direction-pad-window-button:nth-of-type(3){left:54%;top:12%}.direction-pad-window-button:nth-of-type(4){left:2%;top:36%}.direction-pad-window-button:nth-of-type(5){left:70%;top:36%}.direction-pad-window-button:nth-of-type(6){left:18%;top:60%}.direction-pad-window-button:nth-of-type(7){left:36%;top:70%}.direction-pad-window-button:nth-of-type(8){left:54%;top:60%}
@media(max-width:600px){#directionPadWindow{left:8px;bottom:8px;width:174px;height:204px;padding-top:27px}.direction-pad-window-button{font-size:1.35rem}}
.ping-indicator{display:inline-flex;align-items:center;margin-left:10px;padding:4px 9px;border:2px solid #71839d;border-radius:5px;background:#101d31;color:#dbe7f5;font-size:.76rem;font-weight:800;line-height:1;white-space:nowrap}
.ping-indicator.low{border-color:#57e389;color:#57e389}.ping-indicator.medium{border-color:#ffd34d;color:#ffd34d}.ping-indicator.high{border-color:#ff4f5e;color:#ff4f5e}
@media(max-width:600px){.ping-indicator{margin-left:5px;padding:4px 6px;font-size:.66rem}}
#directionPadWindow{transition:opacity .15s,visibility .15s}
#directionPadWindow.control-hidden{opacity:0;visibility:hidden;pointer-events:none}
#genericJoystickWindow{position:fixed;z-index:1000;left:12px;bottom:12px;width:208px;height:238px;padding:30px 8px 8px;border:2px solid #70e1ff99;border-radius:24px;background:#10243def;box-shadow:0 10px 28px #000b;touch-action:none;pointer-events:none;opacity:0;visibility:hidden;overflow:visible}
#genericJoystickWindow.active{pointer-events:auto;opacity:1;visibility:visible}
.generic-joystick-title{position:absolute;top:5px;left:0;right:0;text-align:center;color:#bfefff;font-size:.72rem;font-weight:900;pointer-events:none}
.generic-joystick-base{position:absolute;left:12%;top:18%;width:76%;height:76%;border:2px solid #70e1ff88;border-radius:50%;background:#1b3554aa;box-shadow:inset 0 0 0 10px #0b1a2b55;touch-action:none}
.generic-joystick-knob{position:absolute;left:50%;top:50%;width:38%;height:38%;margin:-19%;border-radius:50%;background:#70e1ff;border:2px solid #c8f6ff;box-shadow:0 4px 12px #0008;pointer-events:none;will-change:transform}
@media(max-width:600px){#genericJoystickWindow{left:8px;bottom:8px;width:174px;height:204px;padding-top:27px}}
.logout-button{width:100%;margin-top:12px;background:#ff7185;color:#fff;border:0;border-radius:10px;padding:11px 14px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px #0003}
.logout-button:hover{background:#ff5b72}
.equipment-slot.is-equipped{border-color:#70e1ffcc;background:linear-gradient(145deg,#2d5879,#213a59);box-shadow:inset 0 0 0 1px #70e1ff33,0 4px 10px #0004}
.equipment-item-image{display:block;width:42px;height:42px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 3px #0008)}
.equipment-slot .slot-icon{display:flex;align-items:center;justify-content:center;min-height:42px}
.minimap-card{width:min(350px,92vw)!important;padding:18px!important}.minimap-card h2{margin:0 0 10px}.minimap-card canvas{display:block;width:100%;height:auto;aspect-ratio:10/7;border:2px solid #70e1ff77;border-radius:10px;background:#081525;image-rendering:pixelated;image-rendering:crisp-edges}.minimap-card p{margin-top:8px;font-size:.72rem}.minimap-card.panel-minimized{width:min(190px,70vw)!important;padding:10px 42px 10px 12px!important}.minimap-card.panel-minimized h2{margin:0;font-size:.82rem;text-align:left}.minimap-card.panel-minimized canvas,.minimap-card.panel-minimized p{display:none}
#character{justify-content:flex-start;align-items:center;padding-top:24px;padding-bottom:24px;scroll-padding-top:24px}
#character .card{margin:0 auto;flex:0 0 auto}
@media(max-width:600px){#character{padding-top:14px;padding-bottom:20px}}
 .unequip-item-button{min-height:0!important;padding:3px 7px!important;border:1px solid #ffb86b;border-radius:6px;background:#704634;color:#ffe8d2;font-size:.62rem;font-weight:800}.unequip-item-button:hover{background:#98543d}
.pickup-button{position:fixed;z-index:1001;left:230px;bottom:54px;min-width:88px;min-height:48px;padding:10px 12px;border:2px solid #70e1ff99;border-radius:14px;background:#70e1ff;color:#102039;font-weight:900;box-shadow:0 6px 16px #0009;touch-action:manipulation}.pickup-button:disabled{opacity:.45;cursor:not-allowed}.pickup-button:not(:disabled):active{transform:scale(.95);background:#b8f2ff}.inventory-drop-button{width:100%;margin-top:8px;background:#ffb454;color:#102039}.inventory-drop-button:disabled{opacity:.55}@media(max-width:600px){.pickup-button{left:190px;bottom:42px;min-width:80px;min-height:46px;padding:9px 10px;font-size:.82rem}}.apk-mode .pickup-button{left:230px;bottom:38px;min-width:96px;min-height:54px;font-size:.94rem}@media(max-width:600px){.apk-mode .pickup-button{left:190px;bottom:26px;min-width:88px;min-height:50px}}
.inventory-capacity{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px 10px;border:1px solid #70e1ff55;border-radius:10px;background:#142a43;color:#d8e7f7;font-size:.78rem}.inventory-capacity strong{margin-right:auto;color:#70e1ff}.inventory-capacity span{white-space:nowrap;color:#bfefff}.inventory-buy-slot{min-height:32px!important;margin:0!important;padding:6px 9px!important;background:#70e1ff;color:#102039;font-size:.68rem;font-weight:900;white-space:nowrap}.inventory-buy-slot:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.inventory-capacity{flex-wrap:wrap}.inventory-buy-slot{width:100%!important}}

/* layout: set-skin.css */
.set-character-preview{flex-direction:row!important;gap:4px;position:relative}
.set-character-content{display:flex;min-width:0;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:2px}
.set-character-content img{width:82px!important;height:106px!important}
.skin-switch{width:30px;min-width:30px;height:42px;padding:0;border:1px solid #70e1ff77;border-radius:9px;background:#34567d;color:#f2f5ff;font-size:1.8rem;line-height:1;box-shadow:0 2px 6px #0006}
.skin-switch:active{background:#70e1ff;color:#102039}
.set-card #applySkinButton{width:100%;margin-top:14px;background:#70e1ff;color:#102039}
.set-card #applySkinButton:disabled{opacity:.7;cursor:wait}
@media(max-width:600px){.skin-switch{width:26px;min-width:26px;height:38px;font-size:1.5rem}.set-character-content img{width:70px!important;height:94px!important}}

/* layout: chat-command.css */
.chat-private-title::after{content:'Escribe /cerrar para cerrar este chat y borrar el historial.';display:block;margin-top:4px;color:#b8c4db;font-size:.68rem;font-weight:400}
.friend-status{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;vertical-align:middle;box-shadow:0 0 5px currentColor}.friend-status.online{background:#43e879;color:#43e879}.friend-status.offline{background:#ef5365;color:#ef5365}
.chat-friend-remove{flex:0 0 auto;width:28px;min-width:28px;padding:5px 7px;background:#8d4052;color:#fff;font-weight:900}

/* layout: abilities.css */
#quickAbilities{position:fixed;z-index:8;right:6px;bottom:6px;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.quick-ability-row{display:flex;gap:5px}.quick-ability{width:48px;height:48px;min-width:48px;padding:4px;background:#243753;color:#f2f5ff;border:1px solid #70e1ff66;border-radius:9px;font-size:.68rem;line-height:1}.quick-ability span{display:block;margin-top:3px;font-size:.62rem;color:#b8e8ff}.quick-ability.physical{border-color:#e59b5a99}.quick-ability.magic{border-color:#8c7cff99}#abilitiesButton{width:48px;min-width:48px;height:34px;padding:4px;background:#70e1ff;color:#102039;font-size:1.1rem}.abilities-card{width:min(620px,94vw);max-height:84vh;overflow-y:auto}.ability-category{margin-top:14px;text-align:left}.ability-category h3{margin:8px 0;color:#70e1ff;font-size:.9rem}.ability-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;margin:6px 0;padding:8px;border-radius:9px;background:#243753}.ability-row strong,.ability-row small{display:block}.ability-row small{margin-top:2px;color:#9fb2cd;font-size:.68rem}.ability-row select{width:auto;padding:7px 5px;font-size:.72rem}.ability-upgrade{padding:7px 9px;background:#70e1ff;color:#102039;font-size:.75rem}@media(max-width:600px){#quickAbilities{right:6px;bottom:6px}.quick-ability{width:42px;height:42px;min-width:42px}.ability-row{grid-template-columns:minmax(0,1fr) auto auto}.ability-row small{font-size:.6rem}}
#abilitiesPanel{align-items:flex-start;justify-content:flex-end;padding:68px 12px 12px;background:transparent;pointer-events:none}#abilitiesPanel .abilities-card{pointer-events:auto;max-height:calc(100vh - 82px);box-shadow:0 14px 36px #000c}@media(max-width:600px){#abilitiesPanel{padding:58px 8px 8px}}
#quickAbilities .quick-ability.fireball{background-color:#291521;background-image:url('assets/spells/fireball/thumbnail.png');background-size:cover;background-position:center;color:#fff;text-shadow:0 1px 3px #000;border-color:#ff8a3d}
#quickAbilities .quick-ability.fireball span{display:none}
#quickAbilities .quick-ability.ice_bolt{background-color:#102b42;background-image:url('assets/spells/ice-spike/thumbnail.png');background-size:cover;background-position:center;color:#fff;text-shadow:0 1px 3px #000;border-color:#8ee8ff}
#quickAbilities .quick-ability.ice_bolt span{display:none}
#quickAbilities .quick-ability.healing_light{background-color:#183d35;background-image:url('assets/spells/healing/thumbnail.png');background-size:cover;background-position:center;color:#fff;text-shadow:0 1px 3px #000;border-color:#87f0ba}
#quickAbilities .quick-ability.healing_light span{display:none}
#quickAbilities .quick-ability.healing_small{background-color:#183d35;background-image:url('assets/spells/healing/thumbnail.png');background-size:cover;background-position:center;color:#fff;text-shadow:0 1px 3px #000;border-color:#87f0ba}
#quickAbilities .quick-ability.healing_small span{display:none}
#quickAbilities .quick-ability.warrior_cleave{background-image:url('assets/spells/warrior-cleave/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.warrior_shockwave{background-image:url('assets/spells/warrior-shockwave/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.warrior_charge{background-image:url('assets/spells/warrior-charge/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.warrior_throwing_axe{background-image:url('assets/spells/warrior-throwing-axe/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.paladin_holy_strike{background-image:url('assets/spells/paladin-holy-strike/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.paladin_light_hammer{background-image:url('assets/spells/paladin-light-hammer/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.paladin_aegis{background-image:url('assets/spells/paladin-aegis/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.paladin_divine_heal{background-image:url('assets/spells/paladin-divine-heal/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.mage_arcane_bolt{background-image:url('assets/spells/mage-arcane-bolt/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.mage_frost_nova{background-image:url('assets/spells/mage-frost-nova/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.mage_poison_orb{background-image:url('assets/spells/mage-poison-orb/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability.mage_arcane_barrier{background-image:url('assets/spells/mage-arcane-barrier/thumbnail.png');background-size:cover;background-position:center;text-shadow:0 1px 3px #000}
#quickAbilities .quick-ability-row[data-quick-category="all"]{display:grid;grid-template-columns:repeat(4,48px);gap:5px}
#quickAbilities .quick-consumable-row{display:grid;grid-template-columns:repeat(4,48px);gap:5px;min-height:48px;padding:5px;border:1px solid #ff6b5b;border-radius:4px;background:#183b4a}.quick-ability.consumable{border-color:#70e1ff99;background:#1b4658}.quick-ability.consumable.filled{background:#254f61}.consumable-settings{display:none!important}
#quickAbilities .quick-ability{width:calc(48px * var(--quick-bar-scale,2));height:calc(48px * var(--quick-bar-scale,2));min-width:calc(48px * var(--quick-bar-scale,2))}
#quickAbilities .quick-ability-row[data-quick-category="all"],#quickAbilities .quick-consumable-row{grid-template-columns:repeat(4,calc(48px * var(--quick-bar-scale,2)))}
#quickAbilities .quick-consumable-row{min-height:calc(48px * var(--quick-bar-scale,2))}
@media(max-width:600px){#quickAbilities .quick-ability{width:calc(42px * var(--quick-bar-scale,2));height:calc(42px * var(--quick-bar-scale,2));min-width:calc(42px * var(--quick-bar-scale,2))}#quickAbilities .quick-ability-row[data-quick-category="all"],#quickAbilities .quick-consumable-row{grid-template-columns:repeat(4,calc(42px * var(--quick-bar-scale,2)))}}
.character-progress{display:block!important;margin:8px 0 14px!important;padding:12px 14px;border:1px solid #70e1ff55;border-radius:10px;background:#14263e;color:#dbeeff;text-align:left!important;font-size:.76rem;max-width:none!important}.progress-heading,.progress-details{display:flex;justify-content:space-between;align-items:center;gap:10px}.progress-heading strong{color:#70e1ff;font-size:.95rem}.progress-heading span,.progress-details span{color:#b8c4db;font-size:.68rem}.progress-track{display:block;height:12px;margin:9px 0 6px;overflow:hidden;border:1px solid #70e1ff66;border-radius:999px;background:#0b1728}.progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#42b8ed,#70e1ff);transition:width .25s ease}.progress-details{font-size:.68rem}
.combat-progress-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #70e1ff33}.combat-progress-heading strong{color:#ffd166;font-size:.82rem}.combat-progress-heading span{color:#ffe8a3;font-size:.68rem}.combat-progress-fill{background:linear-gradient(90deg,#e59b5a,#ffd166)}
.defense-progress-heading strong{color:#9fe3b1}.defense-progress-heading span{color:#c9f5d2}.defense-progress-fill{background:linear-gradient(90deg,#4fc477,#9fe3b1)}
.ability-row{grid-template-columns:minmax(0,1fr) auto!important}.ability-progress{margin-top:8px}.ability-progress .progress-track{height:12px;margin-top:5px}.ability-progress .progress-details{color:#cceeff}

/* layout: diamond-ui.css */
.diamond-section{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:10px 0;padding:12px;border:1px solid #79e9ff99;border-radius:12px;background:linear-gradient(135deg,#183e59,#222d54);box-shadow:inset 0 0 20px #6be6ff16}.diamond-icon{font-size:2.25rem;filter:drop-shadow(0 2px 5px #48d9ff88)}.diamond-balance{display:flex;flex-direction:column;align-items:flex-start}.diamond-balance strong{color:#bff7ff;font-size:.83rem}.diamond-balance span{color:#72eaff;font-size:1.45rem;font-weight:900}.diamond-actions{display:flex;gap:6px}.diamond-actions button{padding:8px 10px;background:#55d5ed;color:#102039;font-size:.72rem}.diamond-actions button:last-child{background:#866eea;color:#fff}.diamond-card{width:min(430px,92vw)}#diamondPanelContent{display:grid;gap:10px;margin-top:14px}.diamond-method{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:#2a4965;color:#fff}.diamond-method small{color:#c2cede;font-weight:400}.diamond-method:disabled{cursor:not-allowed;opacity:.65}.diamond-store-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px;border:1px solid #70e1ff55;border-radius:12px;background:#101c30}.diamond-store-empty>span{font-size:2.2rem}.diamond-store-empty p{margin:0;font-size:.82rem}@media(max-width:600px){.diamond-section{grid-template-columns:auto 1fr;padding:9px}.diamond-actions{grid-column:1/-1;width:100%}.diamond-actions button{flex:1}.diamond-icon{font-size:1.9rem}}.apk-mode .diamond-actions button{min-height:48px;font-size:.9rem}

/* layout: character-selection.css */
#character .card{width:min(540px,100%);padding:28px;background:linear-gradient(150deg,#172b42f5,#0d192cf5);border:1px solid #789bb337;box-shadow:0 18px 60px #0008}
#character .card h1{font-size:clamp(1.7rem,6vw,2rem);color:#edfaff;letter-spacing:-.5px;text-align:left}
#character .card>p:first-of-type{text-align:left;font-size:.9rem;line-height:1.5;margin:10px 0 22px;color:#b9c9dc}
#characterList{gap:12px;margin:0 0 18px}
#character .character-option{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;padding:16px;border:1px solid #6ba4c634;background:linear-gradient(135deg,#213b55,#1a2c44);border-radius:16px}
#character .character-portrait{width:58px;height:72px;display:grid;place-items:center;border-radius:12px;background:#0e2033;border:1px solid #82d9ed30}
#character .character-portrait img{width:58px;height:64px;object-fit:contain;image-rendering:pixelated}
#character .character-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
#character .character-name{font-size:1.05rem;color:#fff;overflow-wrap:anywhere;line-height:1.25}
#character .character-meta{color:#bed0e1;font-size:.78rem;line-height:1.4}
#character .character-level{display:inline-block;padding:3px 8px;border-radius:6px;background:#6ee0fa17;color:#8ae4f9;font-size:.72rem;font-weight:700}
#character .character-actions{display:flex;align-items:center;gap:8px}
#character .character-enter{min-height:44px;padding:10px 16px;background:#6be0f7;color:#092236;border-radius:10px}
#character .delete-character{width:38px;min-height:44px;padding:8px;background:#ff6d8412;color:#ff9ba9;border:1px solid #ff9ba933;border-radius:10px}
#character .delete-character:hover{background:#ff6d8433}
#character #newCharacter{width:100%;min-height:48px;background:#68dff518;border:1px dashed #68dff566;color:#9deeff;margin:0}
#character #characterForm{margin-top:18px;padding:20px;border:1px solid #789bb333;border-radius:14px;background:#09182ba8;gap:10px}
#character #characterForm[hidden],#character #newCharacter[hidden]{display:none!important}
#character .character-form-title{font-size:1.1rem;color:#eef9ff;margin:0 0 6px}
#character #characterForm label{font-size:.8rem;color:#b9cde2;margin-top:4px}
#character #characterForm input,#character #characterForm select{min-height:46px;background:#20354c;color:#eff8ff;border:1px solid #7aa4c44d;border-radius:10px;color-scheme:dark}
#character #characterForm input::placeholder{color:#9bafc5}
#character #characterForm button[type=submit]{margin-top:6px;min-height:46px}
#character .character-form-cancel{background:transparent;color:#bed0e1;min-height:44px}
#character button:focus-visible,#character input:focus-visible,#character select:focus-visible{outline:2px solid #9eefff;outline-offset:3px}
#characterStatus:empty{display:none}
#character #accountLogout{background:transparent;border:1px solid #839cb13d;color:#b7c9dc;font-size:.82rem;min-height:44px}
@media(max-width:460px){#character .card{padding:20px 16px}#character .character-option{gap:10px;padding:12px;grid-template-columns:48px minmax(0,1fr)}#character .character-portrait{width:48px}#character .character-portrait img{width:48px}#character .character-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 44px}#character .delete-character{width:44px}#character #characterForm{padding:16px 12px}}

/* layout: game-interface.css */
/* Shared in-game palette. Dimensions managed by settings remain adjustable. */
#game{--ui-surface:#102237;--ui-border:#6f9eb54d;--ui-text:#e9f5ff;--ui-muted:#a7bfd1;background:#142e40}
#game header{background:linear-gradient(90deg,#0c1b2b,#152c43);border-bottom:1px solid #80c8e43b;box-shadow:0 2px 12px #0004}
#game .client-brand strong{letter-spacing:.3px}
#game #count,#game #coordinates{font-size:.8rem;color:#bfd1df}
#game .ping-indicator{border-width:1px;border-radius:7px;font-size:.7rem;padding:5px 8px;background:#091927}
#game #floorControls button{border:1px solid #8cc9df30;border-radius:8px;background:#223e56;color:#e5f6ff;min-height:30px}
#game #hudStats .stat-bar{height:30px;border:1px solid #b3d9e580;border-radius:9px;background:#0b1828;box-shadow:0 3px 8px #0005,inset 0 1px 3px #0005}
#game .health .stat-fill{background:linear-gradient(90deg,#a92a44,#f45b70)}
#game .mana .stat-fill{background:linear-gradient(90deg,#1a5c9c,#55b5f0)}
#game .stat-label{font-size:.68rem;letter-spacing:1px;left:10px;color:#f5fbff}
#game .stat-text{font-size:.82rem;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000,0 0 4px #000}
#game #menuButtons{gap:6px!important;margin-top:10px!important}
#game #menuButtons button,#game #rankingsButton{background:linear-gradient(135deg,#28465e,#1c344d);border:1px solid #85bbd33b;border-radius:10px;color:var(--ui-text);font-size:.8rem;min-height:36px;padding:8px 14px;box-shadow:0 3px 8px #0003;transition:background .12s,border-color .12s}
#game #menuButtons button:hover,#game #rankingsButton:hover{background:#335a74;border-color:#8fd9f0}
#game #leave{background:#633247;color:#ffdee4;border:1px solid #f39aab55;border-radius:10px;min-height:36px;padding:8px 14px;font-size:.8rem;box-shadow:none}
#game #leave:hover{background:#81415a}
#game #nearbyEntitiesPanel,#game .team-roster-panel{background:#102237f5;border:1px solid var(--ui-border);border-radius:12px;box-shadow:0 8px 24px #0005}
#game .nearby-entities-header,#game .team-roster-header{background:linear-gradient(90deg,#203c53,#182e44);color:#c8f1ff;gap:12px}
#game #nearbyEntitiesPanel .nearby-entities-header{padding:10px 12px;font-size:.85rem}
#game .nearby-entities-header>div{display:flex;gap:5px;align-items:center}
#game .nearby-entities-header button,#game .team-roster-header button{border:1px solid #9ec8dc30;border-radius:7px;background:#31536b;color:#e6f6ff;min-width:28px;min-height:28px;padding:4px 7px;line-height:1}
#game #nearbyEntitiesPanel .nearby-entity{border-bottom:1px solid #8daec71c;font-size:.85rem;min-height:52px;padding:10px 12px}
#game #nearbyEntitiesPanel .nearby-entity.selected{outline:none;background:#244d64;box-shadow:inset 3px 0 #74e1f8}
#game .team-roster-member{padding:10px 12px}
#game .team-bar{height:7px;background:#091522}
#game #genericJoystickWindow,#game #directionPadWindow{border:1px solid #8ed3ed66;border-radius:20px;background:#10263be8;box-shadow:0 8px 24px #0004}
#game .generic-joystick-title{color:#b9d5e5;font-size:.68rem;letter-spacing:.7px;font-weight:600;top:8px}
#game .generic-joystick-base{border-color:#6faccc80;background:#16354d;box-shadow:inset 0 0 0 8px #081a2b55}
#game .generic-joystick-knob{background:linear-gradient(135deg,#a0efff,#48c3e4);border-color:#c7f7ff;box-shadow:0 3px 10px #0006}
#game .pickup-button{background:#224b60;color:#d5f7ff;border:1px solid #79c4dd88;border-radius:12px;font-size:.8rem;box-shadow:0 4px 12px #0003}
#game .pickup-button:disabled{background:#19364a;color:#8aa6b9;opacity:.7}
#game #quickAbilities{gap:8px}
#game #quickAbilities .quick-consumable-row{padding:5px;gap:5px;border:1px solid #94b8c84d;border-radius:12px;background:#10283ae8}
#game #quickAbilities .quick-ability-row{gap:5px}
#game #quickAbilities .quick-ability{border-radius:10px;border:1px solid #8cbcd066;box-shadow:inset 0 1px 0 #ffffff13,0 2px 5px #0003;color:#f4fbff}
#game #quickAbilities .quick-ability.empty{background:linear-gradient(145deg,#203d53,#172c41);color:#aec6d8;text-shadow:none}
#game #quickAbilities .quick-ability.empty span{color:#92adbf;font-weight:500}
#game #quickAbilities .quick-ability:hover{border-color:#adf0ff}
#game #abilitiesButton{border:1px solid #a2e9fa80;border-radius:10px;background:#78dbef;color:#0e2b40;box-shadow:0 3px 10px #0003}
#game .panel-card{border-color:var(--ui-border);background:linear-gradient(145deg,#182f46,#102034);box-shadow:0 12px 36px #0006}
#game button:focus-visible{outline:2px solid #bcf2ff;outline-offset:3px}
@media(min-width:901px){#game .team-roster-panel{top:220px}#game #menuButtons button{min-width:110px}}
@media(max-width:900px){#game #count,#game #coordinates{font-size:.7rem}#game #hudStats .stat-bar{height:28px}#game #menuButtons button,#game #rankingsButton,#game #leave{min-height:40px;padding:8px 10px}#game .team-roster-panel{top:200px}}
@media(max-height:650px) and (min-width:901px){#game #menuButtons{gap:5px!important}#game #menuButtons button{min-height:32px;padding:6px 12px}#game .team-roster-panel{top:210px}}

/* layout: apk-interface.css */
/* Android WebView: inset-aware edges and bounded touch controls. */
.apk-mode #game{--mobile-edge: max(10px,env(safe-area-inset-left));--quick-cell:min(calc(48px * var(--quick-bar-scale,2)),calc((100vw - 40px)/4),calc((100dvh - 110px)/4))}
.apk-mode #game header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));height:46px;min-height:46px}
.apk-mode #game #hudStats{top:50px;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}
.apk-mode #game #hudStats>div:last-child{margin-right:0}
.apk-mode #game #hudStats .stat-bar{height:30px;width:min(calc(43vw / var(--eternium-ui-scale,1)),300px)}
.apk-mode #game #menuButtons{gap:5px!important}
.apk-mode #game #menuButtons button,.apk-mode #game #rankingsButton,.apk-mode #game #leave{min-width:96px;min-height:40px;font-size:.78rem;padding:8px 12px}
.apk-mode #game #floorControls button{min-height:34px;padding:6px 9px;font-size:.8rem}
.apk-mode #game .client-brand img{width:28px;height:28px}
.apk-mode #game .client-brand strong{font-size:.8rem}
.apk-mode #game #quickAbilities{right:max(10px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));transform:none;gap:6px}
.apk-mode #game #quickAbilities .quick-ability-row[data-quick-category=all],.apk-mode #game #quickAbilities .quick-consumable-row{grid-template-columns:repeat(4,var(--quick-cell));gap:4px}
.apk-mode #game #quickAbilities .quick-consumable-row{padding:4px;min-height:0}
.apk-mode #game #quickAbilities .quick-ability{width:var(--quick-cell);height:var(--quick-cell);min-width:0;min-height:0;padding:4px;font-size:clamp(.72rem,2.4vh,1rem)}
.apk-mode #game #quickAbilities .quick-ability span{font-size:clamp(.58rem,1.8vh,.75rem)}
.apk-mode #game #abilitiesButton{width:44px;min-width:44px;height:32px;min-height:32px;padding:2px;font-size:1.2rem}
.apk-mode #game #genericJoystickWindow,.apk-mode #game #directionPadWindow{left:max(10px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));backdrop-filter:none}
.apk-mode #game .pickup-button{left:calc(max(10px,env(safe-area-inset-left)) + var(--movement-control-size,174px) + 8px);bottom:max(16px,env(safe-area-inset-bottom));min-width:72px;min-height:44px;font-size:.75rem;padding:8px}
.apk-mode #game .team-roster-panel{top:185px;max-height:25vh;backdrop-filter:none}
.apk-mode #game #nearbyEntitiesPanel{max-width:calc(100vw - 24px);max-height:32vh;backdrop-filter:none}
.apk-mode #game #nearbyEntitiesPanel .nearby-entities-header button{min-height:32px;padding:4px 8px;font-size:.85rem}
.apk-mode #game .panel-card{max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right))}
@media(max-height:480px){.apk-mode #game #menuButtons button{min-height:32px;padding:5px 10px}.apk-mode #game #nearbyEntitiesPanel .nearby-entity{min-height:44px;padding:8px 10px}.apk-mode #game #count{font-size:.65rem}.apk-mode #game #coordinates{font-size:.65rem}}

/* layout: inventory-equipment.css */
/* One larger, touch-friendly inventory window, preserving the current palette. */
#game .game-panel{z-index:1100}
#game #diamondPanel{z-index:1101}
#game #setButton{display:none!important}
#game .unified-inventory:not(.panel-minimized){width:min(760px,calc(100vw - 44px))!important;max-width:calc(100vw - 44px)!important;max-height:calc(100dvh - 44px)!important;padding:18px!important;box-sizing:border-box;overflow:auto!important;scroll-padding-top:72px}
#game .unified-inventory .inventory-drag-header{min-height:46px;box-sizing:border-box;display:flex;align-items:center;padding-right:142px;font-size:18px}
#game .unified-inventory:not(.panel-minimized)>.panel-close,#game .unified-inventory:not(.panel-minimized)>.panel-minimize,#game .unified-inventory:not(.panel-minimized)>.panel-anchor{width:40px;height:40px;min-width:40px;min-height:40px;top:12px;padding:0;font-size:18px}
#game .unified-inventory:not(.panel-minimized)>.panel-close{right:12px}
#game .unified-inventory:not(.panel-minimized)>.panel-minimize{right:56px}
#game .unified-inventory:not(.panel-minimized)>.panel-anchor{right:100px}
.inventory-sections{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 18px;padding:5px;border:1px solid #7299b64d;border-radius:15px;background:#0c1d30}
.inventory-sections button{min-height:48px;padding:12px;font-size:16px;border:1px solid transparent;background:transparent;color:#b6cddd;border-radius:10px}
.inventory-sections button.active{color:#092536;background:linear-gradient(135deg,#99efff,#5cd4ee);box-shadow:0 3px 10px #0004}
#game .inventory-bag-view[hidden],#game .inventory-equipment-view[hidden]{display:none!important}
#game .unified-inventory .inventory-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,1fr);gap:14px;align-items:start}
#game .unified-inventory .inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));align-items:start;gap:10px;max-height:none;overflow:visible}
#game .unified-inventory .inventory-item{min-height:112px;height:auto;padding:12px 8px;gap:8px}
#game .unified-inventory .inventory-item strong{font-size:14px;white-space:normal;line-height:1.35;overflow-wrap:anywhere}
#game .unified-inventory .inventory-icon img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}
#game .unified-inventory .inventory-detail{font-size:15px;min-height:170px;padding:16px}
#game .unified-inventory .inventory-detail>strong{font-size:18px}
#game .unified-inventory .inventory-detail button{float:none;margin:12px 0 0;min-height:46px;font-size:15px;width:100%}
#game .unified-inventory input,#game .unified-inventory select{min-height:48px;font-size:16px}
#game .unified-inventory .inventory-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#game .unified-inventory .inventory-tabs button{min-width:0;min-height:46px;font-size:14px;padding:8px 4px}
#game .unified-inventory .inventory-capacity{flex-wrap:wrap;gap:10px;font-size:14px}
#game .unified-inventory .inventory-capacity button{min-height:44px;font-size:14px}
.item-attributes{display:flex;flex-wrap:wrap;align-content:start;gap:6px;margin:12px 0;color:#d2e6ef;font-size:14px;line-height:1.4;text-align:left}
#game .item-attributes>span{display:block;padding:6px 9px;border:1px solid #78d6ed38;border-radius:8px;background:#16374b;color:#c6f2ff;font-size:inherit}
.item-attributes p{margin:4px 0;font-size:14px;color:#b3cad9}
#game #setPanel.inventory-equipment-view{position:static;inset:auto;padding:0;margin:0;background:transparent;pointer-events:auto;transform:none;width:auto;max-width:none;overflow:visible}
#game #setPanel .equipment-content{position:static!important;inset:auto!important;transform:none!important;zoom:1!important;width:100%!important;max-width:none!important;max-height:none!important;padding:0!important;overflow:visible!important;border:0;background:transparent;box-shadow:none}
#game #setPanel .equipment-grid{grid-template-columns:minmax(0,1fr) minmax(110px,.8fr) minmax(0,1fr);gap:12px;margin:14px 0}
#game #setPanel .equipment-slot{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:148px;padding:12px 10px;border-radius:14px;font-size:15px;gap:5px;background:linear-gradient(145deg,#203e55,#14293e);border:1px solid #7fb7cf4d;overflow-wrap:anywhere}
#game #setPanel .equipment-slot.is-equipped{border-color:#78ddef99;background:linear-gradient(145deg,#244d61,#183248)}
#game #setPanel .slot-item{font-size:16px;line-height:1.35;font-weight:700;color:#e4f7ff}
#game #setPanel .slot-label{font-size:14px;color:#a9c6d7}
#game #setPanel .slot-details{font-size:13px;min-height:0;color:#99b4c5}
#game #setPanel .slot-icon{font-size:26px;line-height:1.2}
#game #setPanel .equipment-item-image{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}
#game #setPanel .equipment-slot .item-attributes{justify-content:center;margin:5px 0;font-size:13px}
#game #setPanel .equipment-slot .item-attributes>span{padding:4px 6px}
#game #setPanel .unequip-item-button{min-height:44px;width:100%;margin-top:auto;padding:9px;font-size:14px;border-radius:9px;background:#31556c;color:#e4f7ff}
#game #setPanel .set-character-preview{min-height:230px;border-color:#709db34d;background:radial-gradient(ellipse at center,#2b5870,#102237 75%)}
#game #setPanel .set-character-content img{width:100px!important;height:132px!important;object-fit:contain}
#game #setPanel .skin-switch{width:34px;min-width:34px;min-height:48px}
#game #setPanel #applySkinButton{min-height:48px;font-size:16px;margin:8px 0}
.equipment-summary{padding:15px;border:1px solid #79d7ed4d;border-radius:14px;background:linear-gradient(115deg,#1e465a,#173049);text-align:left}
.equipment-summary strong,.equipment-summary span{display:block}.equipment-summary strong{color:#bff4ff;font-size:19px;margin-bottom:5px}.equipment-summary span{color:#b9cfdf;font-size:14px;line-height:1.5}
.equipped-item-detail{padding:14px;border:1px dashed #85b5ca66;border-radius:12px;color:#b9cfdf;font-size:15px;text-align:left;margin-top:12px}
.equipped-item-detail>strong{color:#d5f6ff;font-size:17px}
.safe-area-measure{position:fixed;visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
#game #quickAbilities{right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));transform:none!important;gap:7px;max-width:calc(100vw - 44px);box-sizing:border-box}
#game #quickAbilities .quick-ability-row[data-quick-category=all],#game #quickAbilities .quick-consumable-row,.apk-mode #game #quickAbilities .quick-ability-row[data-quick-category=all],.apk-mode #game #quickAbilities .quick-consumable-row{grid-template-columns:repeat(4,var(--safe-quick-cell,60px));gap:5px}
#game #quickAbilities .quick-consumable-row,.apk-mode #game #quickAbilities .quick-consumable-row{min-height:0;padding:5px;box-sizing:content-box}
#game #quickAbilities .quick-ability,.apk-mode #game #quickAbilities .quick-ability{width:var(--safe-quick-cell,60px);height:var(--safe-quick-cell,60px);min-width:0;min-height:0;box-sizing:border-box}
#game #quickAbilities #abilitiesButton{display:block;align-self:stretch;width:auto;min-width:0;min-height:48px;height:auto;padding:10px;font-size:16px;touch-action:manipulation}
#game .pickup-button:disabled{pointer-events:none}
@media(max-width:600px) and (orientation:portrait){#game #quickAbilities .quick-ability-row[data-quick-category=all],#game #quickAbilities .quick-consumable-row,.apk-mode #game #quickAbilities .quick-ability-row[data-quick-category=all],.apk-mode #game #quickAbilities .quick-consumable-row{grid-template-columns:repeat(2,var(--safe-quick-cell,60px))}}
@media(max-width:600px){#game #nearbyEntitiesPanel{width:45vw!important;max-width:45vw!important}#game #nearbyEntitiesPanel .nearby-entities-header{gap:4px;padding:8px;font-size:13px}#game #nearbyEntitiesPanel .nearby-entities-header button{min-width:28px;min-height:32px;padding:4px}#game #nearbyEntitiesPanel .nearby-entities-empty{font-size:12px}}
@media(pointer:coarse){#game #menuButtons button,#game #rankingsButton,#game #leave{min-height:46px;font-size:15px}#game .unified-inventory .gold-section strong,#game .unified-inventory .diamond-section strong{font-size:15px}}
@media(max-width:600px){#game .unified-inventory:not(.panel-minimized){padding:14px!important}#game .unified-inventory .inventory-body{grid-template-columns:1fr}#game .unified-inventory .inventory-detail{min-height:100px}#game .unified-inventory .inventory-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}#game #setPanel .equipment-grid{grid-template-columns:1fr 1fr;grid-template-areas:'avatar avatar' 'helmet amulet' 'armor shield' 'pants ring' 'boots weapon';gap:10px}#game #setPanel .set-character-preview{min-height:165px}#game #setPanel .equipment-slot{min-height:140px}#game .unified-inventory .inventory-tabs{grid-template-columns:repeat(2,1fr)}#game .unified-inventory .inventory-capacity button{width:100%}}

/* Item inspection: keep navigation visible; scroll only the active section. */
#game .unified-inventory:not(.panel-minimized){display:flex;flex-direction:column;width:min(860px,calc(100vw - 44px))!important;max-height:min(calc(100dvh - 44px),var(--inventory-safe-height,calc(100vh - 44px)))!important;overflow:hidden!important;background:linear-gradient(145deg,#172f43,#0c1c2d);border-color:#6b9db766;box-shadow:0 20px 70px #0008,inset 0 1px #def7ff15}
.unified-inventory>.inventory-drag-header,.unified-inventory>.inventory-sections{flex-shrink:0}
#game .unified-inventory .inventory-drag-header{margin:0!important;border-radius:12px;background:linear-gradient(100deg,#244c65,#1b354e);box-shadow:none}
.unified-inventory>.inventory-sections{margin:12px 0;padding:4px;border-radius:12px;background:#091a2a}
.unified-inventory>.inventory-bag-view,.unified-inventory>.inventory-equipment-view{min-height:0;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#48768e #0d2132;scroll-padding:12px;padding:2px 4px 10px 0!important}
.inventory-wallets{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
#game .unified-inventory .inventory-wallets>.diamond-section,#game .unified-inventory .inventory-wallets>.gold-section{margin:0!important;min-width:0;min-height:70px;box-sizing:border-box;padding:10px 12px!important;gap:10px;border-radius:12px;box-shadow:none;justify-content:flex-start}
#game .unified-inventory .inventory-wallets .gold-icon{width:34px;height:34px}
#game .unified-inventory .inventory-wallets .diamond-icon{font-size:28px}
#game .unified-inventory .inventory-wallets strong{font-size:13px}
#game .unified-inventory .inventory-wallets .diamond-actions{margin-left:auto;gap:5px}
#game .unified-inventory .inventory-wallets button{min-width:0;min-height:40px;padding:8px;font-size:12px}
#game .unified-inventory .inventory-wallets .gold-section span:last-child,#game .unified-inventory .inventory-wallets #diamondBalance{font-size:23px;line-height:1.2}
#game .unified-inventory .inventory-capacity{margin-bottom:12px;padding:10px 12px;border:1px solid #537e954d;border-radius:10px;background:#142d40}
#game .unified-inventory .inventory-body{grid-template-columns:minmax(0,1fr) minmax(270px,.85fr);gap:16px}
#game .unified-inventory .inventory-grid{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:9px;padding:3px;align-content:start}
#game .unified-inventory .inventory-item{min-height:126px;justify-content:center;transition:border-color .12s,background .12s;background:linear-gradient(155deg,#1e3c51,#142b3f);box-shadow:0 2px 5px #0002}
#game .unified-inventory .inventory-item:hover,#game .unified-inventory .inventory-item.selected{transform:none;background:linear-gradient(155deg,#2b556d,#1b3a50);border-color:#83e1f5;box-shadow:inset 0 0 0 1px #83e1f533}
.inventory-stat-hint{font-size:12px;color:#f4d194;padding:4px 6px;border-radius:6px;background:#101f2d;white-space:nowrap}
#game .unified-inventory .inventory-detail{position:sticky;top:0;min-height:180px;padding:16px;border-radius:15px;background:linear-gradient(145deg,#173347,#102639);border-color:#6bafcc66;box-shadow:0 5px 18px #0003}
.item-detail-heading{display:flex;align-items:center;gap:14px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid #82adbf33;text-align:left}
.item-detail-art{display:flex;align-items:center;justify-content:center;flex:0 0 76px;height:76px;border:1px solid #7ed8ee70;border-radius:15px;background:radial-gradient(circle,#2d5972,#0d2638);box-shadow:inset 0 0 22px #7adaed12;color:#a6dbe8;font-size:32px}
.item-detail-art img{width:60px;height:60px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 3px #0006)}
#game .item-detail-heading>div:last-child{min-width:0;flex:1}
#game .item-detail-heading small{display:block;font-size:12px;line-height:1.5;color:#9fbfce;margin-bottom:5px;letter-spacing:.02em}
#game .item-detail-heading strong{display:block;font-size:21px;line-height:1.25;color:#e7f9ff;margin:0!important;overflow-wrap:anywhere}
#game .item-attributes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
#game .item-attributes>.item-stat{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid #679cb34d;border-radius:10px;background:#10283b;color:#e1f5fc}
#game .item-stat small{font-size:12px;color:#a2c0d0;font-weight:500;line-height:1.25}
#game .item-stat b{font-size:26px;line-height:1.15;font-variant-numeric:tabular-nums}
#game .item-stat[data-stat=attack],#game .item-stat[data-stat=magicAttack]{border-color:#deb97480;background:linear-gradient(145deg,#3b362a,#252c2c)}
#game .item-stat[data-stat=attack] b,#game .item-stat[data-stat=magicAttack] b{font-size:38px;color:#ffe3a3}
#game .item-stat[data-stat=physicalReductionPercent] b{color:#a4e9c0}
#game .item-stat[data-stat=interval] b{font-size:23px;color:#bdddf7}
.item-attributes>.item-requirements,.item-attributes>p{grid-column:1/-1}
.item-requirements{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;padding-top:12px;border-top:1px solid #82adbf33}
.item-requirements>span{display:inline-block!important;border:1px solid #7a9dae55;border-radius:6px;padding:5px 8px;background:#142f42;color:#bcd3df;font-size:12px}
#game .item-stat-unavailable{color:#9eb7c6;font-size:14px}
#game .unified-inventory .inventory-detail button{border-radius:10px;box-shadow:none}
#game .unified-inventory .inventory-detail button:first-of-type{background:linear-gradient(110deg,#96eafa,#5dcced);color:#0b2c3b}
#game #setPanel .equipment-summary{padding:12px 14px;margin:0 0 10px;border-radius:12px;background:linear-gradient(100deg,#1d4258,#132d40)}
#game #setPanel .equipment-summary strong{font-size:17px}
#game #setPanel .equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'avatar avatar' 'helmet amulet' 'armor shield' 'pants ring' 'boots weapon';gap:9px;align-items:start;margin:12px 0}
#game #setPanel .set-character-preview{flex-direction:row!important;min-height:132px;height:132px;justify-content:center;gap:20px;background:radial-gradient(ellipse,#23485c,#11293b 75%)}
#game #setPanel .set-character-content{flex:0 1 150px}
#game #setPanel .set-character-content img{width:64px!important;height:86px!important}
#game #setPanel .equipment-slot{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;justify-content:start;min-height:100px;gap:4px 10px;padding:12px;text-align:left;border-radius:12px}
#game #setPanel .equipment-slot .slot-icon{grid-column:1;grid-row:1/4;display:flex;align-items:center;justify-content:center;width:44px;min-height:44px}
#game #setPanel .equipment-slot .equipment-item-image{width:40px;height:40px}
#game #setPanel .equipment-slot .slot-label,#game #setPanel .equipment-slot .slot-item,#game #setPanel .equipment-slot .slot-details{grid-column:2}
#game #setPanel .slot-label{font-size:12px;font-weight:500}
#game #setPanel .slot-item{font-size:15px}
#game #setPanel .slot-details{display:none}
#game #setPanel .equipment-slot .compact-attributes{display:flex;flex-wrap:wrap;grid-column:1/-1;margin:6px 0;gap:5px;justify-content:flex-start}
#game #setPanel .compact-attributes>.item-stat{display:inline-flex;flex-direction:row;align-items:baseline;gap:6px;padding:5px 7px;border-radius:6px}
#game #setPanel .compact-attributes .item-stat b{font-size:15px}
#game #setPanel .compact-attributes .item-stat small{font-size:11px}
#game #setPanel .compact-attributes .item-stat-unavailable{font-size:12px;font-weight:400;margin:0}
#game #setPanel .equipment-slot .unequip-item-button{grid-column:1/-1;min-height:40px;margin:2px 0 0;font-size:13px;border:1px solid #7ba9bc55;background:#203f55}
#game #setPanel .equipment-slot.is-inspected{outline:2px solid #b0edff;outline-offset:1px}
#game #setPanel .equipped-item-detail{margin:10px 0 0;padding:10px 12px;background:#0f2536;border-radius:12px;min-height:0}
#game #setPanel .equipped-item-detail.has-item{padding:16px;border-style:solid;border-color:#6bb5cd88}
@media(min-width:1050px){#game #setPanel .equipment-grid{grid-template-columns:170px 1fr 1fr;grid-template-areas:'avatar helmet amulet' 'avatar armor shield' 'avatar pants ring' 'avatar boots weapon'}#game #setPanel .set-character-preview{height:100%;min-height:360px;flex-direction:column!important;gap:14px}#game #setPanel .set-character-content{flex:0 1 auto}#game #setPanel .set-character-content img{width:100px!important;height:136px!important}}
@media(max-width:600px){.inventory-wallets{grid-template-columns:1fr;gap:8px}#game .unified-inventory .inventory-wallets>.diamond-section,#game .unified-inventory .inventory-wallets>.gold-section{min-height:54px;padding:8px 10px!important}#game .unified-inventory .inventory-body{grid-template-columns:1fr}#game .unified-inventory .inventory-detail{position:static;grid-row:1}#game .unified-inventory .inventory-detail:not(:has(.item-detail-heading)){min-height:0;padding:12px;font-size:14px}#game .unified-inventory .inventory-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}#game .unified-inventory .inventory-item{min-height:120px}#game #setPanel .equipment-slot{grid-template-columns:1fr;justify-items:center;text-align:center;padding:10px;min-height:112px}#game #setPanel .equipment-slot .slot-icon{grid-column:1;grid-row:auto}#game #setPanel .equipment-slot .slot-label,#game #setPanel .equipment-slot .slot-item{grid-column:1}#game #setPanel .equipment-slot .compact-attributes,#game #setPanel .equipment-slot .unequip-item-button{grid-column:1}#game #setPanel .equipment-slot .compact-attributes{justify-content:center}.item-detail-art{flex-basis:64px;height:64px}.item-detail-art img{width:52px;height:52px}#game .item-detail-heading strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){#game .unified-inventory *{scroll-behavior:auto!important;transition:none!important}}

/* layout: ability-training.css */
#abilitiesList .ability-row{grid-template-columns:64px minmax(0,1fr) auto}#abilitiesList .ability-icon{width:64px;height:64px;object-fit:contain}.ability-row.locked{opacity:.55}.quick-ability{position:relative;overflow:hidden}.quick-ability img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.quick-slot-number{position:absolute;top:3px;left:5px;z-index:2;text-shadow:0 1px 3px #000}.cooldown-label{position:absolute;inset:0;z-index:3;display:grid!important;place-items:center;font-size:20px;background:#081426aa}.cooldown-label:empty{display:none!important}#abilityToast{position:fixed;top:110px;left:50%;transform:translateX(-50%);z-index:30;max-width:70vw;padding:12px 20px;background:#142c44f5;border:1px solid #e9cb82;border-radius:10px;color:#fff1bf;pointer-events:none}#abilityToast[hidden]{display:none}#abilitiesNotice{color:#ffe6a0}#abilitiesList .progress-track{height:6px}@media(max-width:600px){#abilitiesList .ability-row{grid-template-columns:42px minmax(0,1fr) auto}#abilitiesList .ability-icon{width:42px;height:42px}}

/* layout: loot-ui.css */
.loot-storage{margin:12px 0;padding:12px;border:1px solid #d7b15b;border-radius:10px;background:#142238;color:#edf3ff;text-align:left}
.loot-storage summary{cursor:pointer;font-weight:700;padding:8px;min-height:32px}
.loot-storage p{font-size:.85rem;line-height:1.4}
.loot-storage [role=status]{color:#ffd77d}
.loot-list{max-height:300px;overflow:auto;overscroll-behavior:contain}
.loot-row{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid #ffffff25}
.loot-row small{color:#ffd77d}.loot-row>div{display:flex;flex-wrap:wrap;gap:6px}
.loot-row button{padding:9px;font-size:.85rem;min-height:40px}
.panel-minimized .loot-storage{display:none}

/* layout: combat-visuals.css */
#combatTargetPanel{position:fixed;z-index:30;top:108px;left:50%;transform:translateX(-50%);width:min(330px,calc(100vw - 24px));padding:12px 14px;border:1px solid #70e1ff88;border-radius:14px;background:#101c30ee;box-shadow:0 10px 28px #000b;color:#f2f5ff;pointer-events:auto}#combatTargetPanel[hidden]{display:none!important}#combatTargetCancel{position:absolute;top:7px;right:7px;min-width:28px;padding:3px 8px;background:#405878;color:#fff;font-size:1.1rem;line-height:1}.combat-target-main{display:flex;align-items:center;gap:10px;padding-right:34px}.combat-target-icon{font-size:1.55rem}.combat-target-main strong,.combat-target-main small{display:block}.combat-target-main strong{color:#70e1ff}.combat-target-main small{margin-top:2px;color:#b8c4db;font-size:.72rem}.combat-target-hp{position:relative;height:19px;margin-top:10px;overflow:hidden;border:1px solid #dcecff88;border-radius:5px;background:#172235;text-align:center;font-size:.72rem;line-height:17px}.combat-target-hp i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#a7192e,#ef4250)}.combat-target-hp span{position:relative;z-index:1;text-shadow:0 1px 3px #000}.combat-target-statuses,.combat-target-icons{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.combat-target-statuses span,.combat-target-icons span{padding:3px 6px;border:1px solid #ffffff24;border-radius:6px;background:#243753;color:#dcecff;font-size:.68rem}.combat-target-icons span{font-size:1rem;padding:2px 5px}.combat-target-more{color:#ffd166;font-weight:900}.combat-target-timer{min-height:15px;margin-top:7px;color:#ffd166;font-size:.72rem;font-weight:800}@media(max-width:600px){#combatTargetPanel{top:92px;width:min(350px,calc(100vw - 16px));padding:10px 12px}}

}
/* Eternium: dark slate, aged iron, restrained brass. The sole appearance source. */
:root{
  color-scheme:dark;
  --ui-bg:#0b1018;--ui-panel:#141d29;--ui-raised:#1d2938;--ui-inset:#0e1621;
  --ui-iron:#46525f;--ui-iron-dim:#303d4c;--ui-gold:#c7a56c;--ui-gold-soft:#9f8459;
  --ui-text:#f0e9da;--ui-muted:#b6bec8;--ui-faint:#8793a2;--ui-focus:#e4c68e;
  --ui-red:#dc6470;--ui-green:#91c7a0;--ui-blue:#92bbdf;
  --ui-font:system-ui,-apple-system,'Segoe UI',sans-serif;--ui-title:Georgia,'Palatino Linotype',serif;
  --ui-radius:8px;--ui-gap:12px;--ui-touch:44px;--ui-shadow:0 10px 28px #0006;
}

html,body{background:var(--ui-bg);color:var(--ui-text);font-family:var(--ui-font);font-size:16px;line-height:1.45}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
h1,h2,h3,.ui-title,.inventory-drag-header{font-family:var(--ui-title);font-weight:600;letter-spacing:.025em;color:var(--ui-text);line-height:1.2}
h1{font-size:clamp(28px,4vw,42px)}h2{font-size:22px}h3{font-size:18px}
p,small,label{color:var(--ui-muted)}a{color:var(--ui-focus)}
button,input,select,textarea{font:inherit;line-height:1.3;border-radius:var(--ui-radius)}
button,.ui-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-touch);min-width:var(--ui-touch);
  padding:10px 14px;color:var(--ui-text);border:1px solid var(--ui-iron);font-size:14px;font-weight:600;
  background:linear-gradient(#293544,#1a2533);box-shadow:inset 0 1px #ffffff0c,0 2px 0 #05090f;
  transition:background-color .12s,border-color .12s,box-shadow .12s;cursor:pointer;touch-action:manipulation;
}
button:hover:not(:disabled){border-color:var(--ui-gold-soft);background:linear-gradient(#334151,#232f3e)}
button:active:not(:disabled),button.is-pressed{box-shadow:inset 0 2px 5px #0008;background:#101b28;border-color:var(--ui-gold);translate:0 1px}
button:disabled,button[aria-disabled=true]{cursor:not-allowed;color:var(--ui-faint);border-color:#36414c;background:#1a222e;box-shadow:none;opacity:.65}
button.ui-primary,#authSubmit,#characterForm button[type=submit],.character-enter,.inventory-detail button:first-of-type,#applySkinButton{background:linear-gradient(#d3b580,#b3925f);border-color:#e3c796;color:#191b21;text-shadow:none}
button.ui-danger,.delete-character,#deleteDialogAccept,#leave,.inventory-drop-button,#accountLogout,.team-leave-button{background:linear-gradient(#5a2e36,#3d202a);border-color:#9d5862;color:#ffe1e2}
button.active,button[aria-selected=true],button[aria-pressed=true],.inventory-tabs button.active,.chat-tabs button.active{background:linear-gradient(#3f3a2d,#2d2b25);border-color:var(--ui-gold);color:#f6dfaf;box-shadow:inset 0 0 0 1px #b2955e25}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
input:not([type=range]):not([type=checkbox]),select,textarea{min-height:44px;padding:11px 12px;background:var(--ui-inset);border:1px solid var(--ui-iron);color:var(--ui-text);box-shadow:inset 0 1px 3px #0004;font-size:16px}
input::placeholder,textarea::placeholder{color:#929eac}input[type=range]{accent-color:var(--ui-gold);min-height:44px;padding:0;min-width:0}input[type=checkbox]{accent-color:var(--ui-gold);width:22px;height:22px}
select option{background:var(--ui-panel);color:var(--ui-text)}
progress,.progress-track{background:#080e17;border-color:var(--ui-iron-dim);border-radius:4px}
.progress-fill{border-radius:2px;background:linear-gradient(90deg,#75613d,#c4a366)}
.combat-progress-fill{background:linear-gradient(90deg,#755b40,#b6956a)}.defense-progress-fill{background:linear-gradient(90deg,#3b6350,#81b293)}
.card,.panel-card,.delete-dialog-card,.ui-surface{background:linear-gradient(135deg,#1a2431,#111a26);border:1px solid var(--ui-iron);border-top-color:#71808b;border-radius:12px;box-shadow:var(--ui-shadow),inset 0 0 0 3px #090f1770;color:var(--ui-text)}
.card{padding:28px}.card h1{color:#e0c28c}.card p{color:var(--ui-muted)}
.tabs,.inventory-sections,.chat-tabs{padding:4px;gap:6px;border:1px solid var(--ui-iron-dim);border-radius:8px;background:#0c1420}
.tabs button,.inventory-sections button,.chat-tabs button,.inventory-tabs button{color:var(--ui-muted);font-size:14px;background:#1c2938;border:1px solid #374555;border-radius:6px;box-shadow:none;min-height:44px}
.tabs button.active,.inventory-sections button.active{background:linear-gradient(#4e4431,#322f27);color:#f4dca8;border-color:#a38b61}
.ui-icon{width:20px;height:20px;display:inline-block;flex:0 0 20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.ui-icon-button{padding:9px;min-width:44px;min-height:44px}.ui-icon-button .ui-icon{width:20px;height:20px}
.ui-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:650;color:var(--ui-gold)}
/* Ability library: viewport-aware layout, never a scaled-down desktop card. */
@layer ui-priority{
 #game #abilitiesPanel{position:fixed!important;inset:0!important;padding:0!important;z-index:17000!important;background:transparent;pointer-events:none!important;touch-action:pan-y}
 #game #abilitiesPanel[data-modal=true]{background:#05090db8!important;pointer-events:auto!important}
 #game #abilitiesPanel[hidden]{display:none!important}
 #abilitiesPanel .abilities-card:not(.panel-minimized){width:min(1080px,calc(var(--ability-vw,100vw) - 32px))!important;height:min(720px,calc(var(--ability-vh,100dvh) - 32px))!important;max-height:calc(var(--ability-vh,100dvh) - 32px)!important;transform:none!important;zoom:1!important;font-size:16px!important;text-align:left;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 #abilitiesPanel.ability-touch .abilities-card:not(.panel-minimized){left:calc(var(--ability-vx,0px) + max(16px,env(safe-area-inset-left)))!important;top:calc(var(--ability-vy,0px) + max(16px,env(safe-area-inset-top)))!important;width:calc(var(--ability-vw,100vw) - max(16px,env(safe-area-inset-left)) - max(16px,env(safe-area-inset-right)))!important;height:calc(var(--ability-vh,100dvh) - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important}
 #abilitiesPanel .ui-window-body{display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:0!important;min-width:0!important}
 #abilitiesList .ability-choice{display:grid!important;grid-template-columns:48px minmax(0,1fr) 16px!important;width:100%!important;min-height:96px!important;margin:0 0 8px!important;padding:12px!important;text-align:left;font-size:16px!important;line-height:1.45!important;opacity:1!important}
}
#abilitiesNotice:empty{display:none}#abilitiesNotice{margin:0;padding:8px 16px;flex:none}
.ability-workspace{display:grid;grid-template-columns:minmax(220px,34%) minmax(0,1fr);flex:1;min-height:0;min-width:0}
.ability-library,#abilityDetail{padding:18px;overflow:auto;overflow-x:hidden;min-width:0;min-height:0;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#786b53 #101824;text-align:left}
.ability-library{border-right:1px solid var(--ui-iron);background:#101a25}
.ability-library h3{margin:0 0 14px;font-size:18px}
#abilitiesList .ability-choice img{width:48px;height:48px;object-fit:contain}
#abilitiesList .ability-choice>span{min-width:0;overflow-wrap:anywhere}
#abilitiesList .ability-choice strong{display:block;font-size:17px;color:var(--ui-text)}
#abilitiesList .ability-choice span span{display:block;font-size:15px;color:var(--ui-muted);margin-top:4px}
#abilitiesList .ability-choice.locked{border-style:dashed;background:#18202a}
#abilitiesList .ability-choice.locked::after{content:none}
#abilitiesList .ability-choice.is-selected{border-color:var(--ui-gold);box-shadow:inset 4px 0 var(--ui-gold);background:#302e27}
#abilitiesList .ability-choice .ability-assigned{color:#ddc18f}
.ability-selection-mark{color:var(--ui-gold)}
.ability-detail-heading{display:flex;align-items:center;gap:16px}.ability-detail-heading img{width:72px;height:72px;object-fit:contain;flex:none}
.ability-detail-heading h3{font-size:24px;margin:0 0 5px;color:#ebd1a1}.ability-detail-heading p{margin:3px 0;font-size:16px}
#abilityDetail p{line-height:1.55;font-size:16px}#abilityDetail h4{font-size:18px;color:#e2ceaa;margin:18px 0 10px}
.ability-facts,.ability-effects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.ability-facts>div,.ability-effects>div{padding:12px;border:1px solid var(--ui-iron-dim);background:var(--ui-inset);border-radius:7px;min-width:0;overflow-wrap:anywhere}
#abilityDetail dt{color:var(--ui-muted);font-size:16px}#abilityDetail dd{margin:6px 0 0;font-size:18px;color:var(--ui-text);font-weight:600}
.ability-training{border-top:1px solid var(--ui-iron);margin-top:18px}.ability-training .progress-track{height:14px}.ability-use-count{color:#e7cd9c}
.ability-assignment,.ability-picker-actions{display:flex;gap:12px;flex-wrap:wrap}.ability-assignment>button,.ability-picker-actions>button{min-height:48px;font-size:16px;flex:1}
.ability-back{display:none;margin-bottom:16px;min-height:44px;font-size:16px}
.ability-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ability-slot-grid button{display:flex;flex-direction:column;padding:10px 5px;gap:6px;min-width:0;min-height:100px;font-size:16px;overflow-wrap:anywhere}.ability-slot-grid img{width:40px;height:40px;object-fit:contain}.ability-slot-grid span{font-size:15px}
.ability-extras{border-top:1px solid var(--ui-iron);margin-top:18px}.ability-extras summary{padding:14px 0;min-height:48px;cursor:pointer;font-size:16px;color:#e0c38f}
#abilitiesPanel .character-progress{padding:12px;margin:0!important}#abilitiesPanel .character-progress span,#abilitiesPanel .character-progress strong{font-size:16px;line-height:1.5}#abilitiesPanel .progress-heading,#abilitiesPanel .progress-details,#abilitiesPanel .combat-progress-heading{flex-wrap:wrap}
.ability-consumable{display:grid;gap:8px;margin:12px 0;font-size:16px}
#abilitiesPanel.ability-single .ability-workspace{grid-template-columns:minmax(0,1fr)}
#abilitiesPanel.ability-single[data-view=detail] .ability-library,#abilitiesPanel.ability-single:not([data-view=detail]) #abilityDetail{display:none}
#abilitiesPanel.ability-single .ability-back{display:inline-flex}
/* First sample: inventory and HUD. */
#game{
  --ui-surface:var(--ui-panel);--ui-border:var(--ui-iron);--ui-text:#f0e9da;--ui-muted:#b6bec8;
  background-color:var(--ui-bg);
  background-image:linear-gradient(90deg,#00000038,transparent 22%,transparent 78%,#00000038),
    repeating-linear-gradient(135deg,#ffffff03 0 1px,transparent 1px 5px),
    linear-gradient(180deg,#202933,#111820 75%);
}
/* Let the slate backdrop show through the world canvas, including its side margins. */
#game #arena{background:transparent}
#game #arena{image-rendering:pixelated;image-rendering:crisp-edges}
#game header{height:48px;min-height:48px;background:linear-gradient(#1c2632,#101a25);border-bottom:1px solid #675a42;box-shadow:0 2px 8px #0003}
#game header strong{color:#e0c18b;font-family:var(--ui-title);font-size:16px;letter-spacing:.035em}
#game #count,#game #coordinates{font-size:12px;color:var(--ui-muted)}#game .ping-indicator{border-radius:4px;background:#111c27}
#game #hudStats .stat-bar,.ui-stat-bar{height:30px;border:1px solid #9b9686;border-radius:5px;background:#0a111c;box-shadow:inset 0 0 0 2px #0008,0 2px 5px #0003}
#game .health .stat-fill,.health .stat-fill{background:linear-gradient(90deg,#792c37,#c54b5e)}
#game .mana .stat-fill,.mana .stat-fill{background:linear-gradient(90deg,#284c73,#4c83b5)}
#game .stat-label,#game .stat-text{font-size:13px;color:#fff5e7;font-weight:650;text-shadow:0 1px 2px #000}
#game .stat-label{letter-spacing:.04em}#game .stat-bar.is-low{border-color:#e9a2a5;box-shadow:inset 0 0 0 2px #792d3780}
.stat-bar.is-low::after{content:'!';position:absolute;right:9px;top:3px;color:#ffe5df;font-size:16px;font-weight:800}
#game #menuButtons button,#game #rankingsButton,#game #leave,#game #floorControls button{min-height:44px;font-size:13px;border-radius:6px}
#game #menuButtons button,#game #rankingsButton{background:linear-gradient(#273442,#192535);border-color:#485565;color:var(--ui-text);box-shadow:0 2px 0 #050a13}
#game #floorControls button{background:#1d2a38;border-color:#455363;color:#e1d7bf}
#game #leave{background:linear-gradient(#53303b,#34202b);border-color:#88505d;color:#f9d9df}
#game .unified-inventory:not(.panel-minimized){background:linear-gradient(135deg,#1a2431,#111a26);border-color:var(--ui-iron);border-top-color:#8c8778;box-shadow:var(--ui-shadow),inset 0 0 0 3px #090f1770}
#game .unified-inventory .inventory-drag-header{background:linear-gradient(#293441,#1c2936);color:#e7d0a2;border-bottom:1px solid #9f845950;border-radius:7px;box-shadow:none;font-family:var(--ui-title);font-size:21px}
#game .inventory-drag-header::before{content:none}
.inventory-wallets{gap:10px}
#game .unified-inventory .inventory-wallets>.diamond-section,#game .unified-inventory .inventory-wallets>.gold-section{background:#172230;border-color:#4b5664;box-shadow:none}
#game .unified-inventory .inventory-wallets>.gold-section{border-color:#8a734f;background:linear-gradient(120deg,#302d25,#20232a)}
#game .diamond-section strong,#game .gold-section strong{color:#dfcfaf}#game #diamondBalance{color:#b0ccdf}#game #goldCoinsText{color:#e3c384}
#game .unified-inventory .inventory-capacity{background:#121e2b;border-color:#3c4e60;color:var(--ui-muted)}#game .inventory-capacity strong{color:#e6d5b6}
#game .unified-inventory .inventory-item{background:linear-gradient(145deg,#233041,#162131);border-color:#445363;box-shadow:inset 0 1px #ffffff07,0 2px 3px #0002;border-radius:8px;color:var(--ui-text)}
#game .unified-inventory .inventory-item:hover,#game .unified-inventory .inventory-item.selected{background:linear-gradient(#36382f,#242d33);border-color:#bea373;box-shadow:inset 0 0 0 1px #d4b87d30;transform:none}
#game .inventory-item strong{color:var(--ui-text)}#game .inventory-item small{color:#d9bf8a}.inventory-stat-hint{background:#111a25;color:#d9bd83;border:1px solid #7e6f4a55}
#game .unified-inventory .inventory-detail{background:linear-gradient(145deg,#1c2a39,#111d2a);border-color:#536374;border-radius:9px;box-shadow:0 3px 10px #0003}
#game .item-detail-art{border-color:#8d7b5c;background:radial-gradient(circle,#3c423e,#152230);box-shadow:inset 0 1px #ffffff10;border-radius:8px}
#game .item-detail-heading{border-bottom-color:#79806d40}#game .item-detail-heading strong{color:var(--ui-text)}#game .item-detail-heading small{color:var(--ui-muted)}
#game .item-attributes>.item-stat{background:#101e2b;border-color:#435263;border-radius:6px;color:var(--ui-text)}#game .item-stat small{color:var(--ui-muted)}
#game .item-stat[data-stat=attack],#game .item-stat[data-stat=magicAttack]{background:linear-gradient(135deg,#373426,#252a2b);border-color:#a28c5f}
#game .item-stat[data-stat=attack] b,#game .item-stat[data-stat=magicAttack] b{color:#eed19b}#game .item-stat[data-stat=physicalReductionPercent] b{color:#a3cfab}
#game .item-requirements{border-color:#687b8b44}.item-requirements>span{background:#1a2936;color:#d0d1c6;border-color:#495567}
#game .unified-inventory .inventory-detail button:first-of-type{background:linear-gradient(#d3b580,#b3925f);border-color:#e3c796;color:#191b21}
#game #setPanel .equipment-summary{background:linear-gradient(100deg,#2c302f,#192635);border-color:#7a7156}.equipment-summary strong{color:#e4cfaa}.equipment-summary span{color:var(--ui-muted)}
#game #setPanel .equipment-slot{background:linear-gradient(#223042,#172333);border-color:#414f5e;border-radius:8px;color:var(--ui-muted)}#game #setPanel .equipment-slot.is-equipped{background:linear-gradient(#30352f,#1b2a32);border-color:#9e8d68}
#game #setPanel .equipment-slot.is-inspected{outline-color:#ddc18a}#game #setPanel .slot-item{color:var(--ui-text)}#game #setPanel .slot-label{color:var(--ui-muted)}
#game #setPanel .set-character-preview{background:radial-gradient(ellipse,#333d41,#131f2d 75%);border-color:#50606e;border-radius:8px}#game #setPanel .set-character-content span{color:#d1c3a9}
#game #setPanel .unequip-item-button{background:#263341;color:var(--ui-text);border-color:#5a6570}#game #setPanel .equipped-item-detail{background:#121f2d;border-color:#6e7c8a;color:var(--ui-muted)}
.inventory-empty,.chat-empty,.nearby-empty{background:#121d2a;color:var(--ui-muted);border-color:#4b5a6a}.inventory-empty::before{content:'◇';filter:none;color:var(--ui-gold)}
.loot-storage{border-color:#786747;background:#151f2c;color:var(--ui-text)}.loot-row{border-color:#4a566744}.loot-row small{color:#d5ba84}
/* Window chrome: the same fixed header and interior scroll in every panel. */
.ui-window-header{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-height:60px;padding:8px 10px 8px 16px;background:linear-gradient(#2a3542,#1a2735);border-bottom:1px solid #8b77524d;border-radius:10px 10px 0 0;user-select:none}
.ui-window-header>h2,.ui-window-header>.inventory-drag-header{flex:1;min-width:0;color:#e8d0a0;font-size:21px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:move;touch-action:none}
.ui-window-header>button{flex:0 0 44px}
.ui-window-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px;scrollbar-width:thin;scrollbar-color:#6d6b5b #101a27}
.ui-window-body>h3:first-child,.ui-window-body>p:first-child{margin-top:0}
.ui-window-body button{min-height:44px}.ui-window-body>button{margin-top:10px}
.ui-window-body .camera-zoom-controls,.ui-window-body .ui-scale-controls{margin:12px 0;gap:10px}
.ui-window-body .settings-card{font-size:15px}.ui-window-body .progress-track{border-radius:3px}
.ui-window.is-front{border-color:#9c895f}
@layer ui-priority{
 #game #menuButtons.menu-collapsed button:not(#menuCollapseButton){display:none!important}
 .ui-window{display:flex!important;flex-direction:column!important;padding:0!important;overflow:hidden!important;max-height:calc(var(--ui-viewport-height,100dvh) - 32px)!important;max-width:calc(var(--ui-viewport-width,100vw) - 32px)!important}
 .ui-window>.ui-window-header{display:flex!important;min-height:60px!important}
 .ui-window-header>h2,.ui-window-header>.inventory-drag-header{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:block!important}
 .ui-window-header>.panel-close,.ui-window-header>.panel-minimize,.ui-window-header>.panel-anchor{position:static!important;inset:auto!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:9px!important;font-size:16px!important;z-index:auto!important}
 .ui-window.panel-minimized{display:flex!important;min-height:0!important;width:min(280px,calc(100vw - 32px))!important;height:60px!important;padding:0!important}
 .ui-window.panel-minimized>.ui-window-header{display:flex!important;flex:1 1 auto!important;width:100%!important;border:0!important;border-radius:9px!important;min-height:60px!important}
 .ui-window.panel-minimized>.ui-window-header>h2,.ui-window.panel-minimized .inventory-drag-header{display:block!important;font-size:15px!important;line-height:1.3!important;max-width:none!important;padding:0!important}
 .ui-window.panel-minimized>.ui-window-body,.ui-window.panel-minimized>.inventory-sections,.ui-window.panel-minimized>.inventory-bag-view,.ui-window.panel-minimized>.inventory-equipment-view{display:none!important}
 #game .ui-window.unified-inventory:not(.panel-minimized){padding:0!important}
 #game .ui-window.unified-inventory>.inventory-sections{margin:12px 16px!important}
 #game .ui-window.unified-inventory>.inventory-bag-view,#game .ui-window.unified-inventory>.inventory-equipment-view{padding:2px 16px 16px!important}
 #game .ui-window.unified-inventory>.ui-window-header .inventory-drag-header{font-size:21px!important}
 #game .ui-window.unified-inventory.panel-minimized .inventory-drag-header{font-size:15px!important}
 button,.ui-button{backdrop-filter:none!important}
 #nearbyEntitiesPanel,#directionPadWindow,#genericJoystickWindow,.team-roster-panel{backdrop-filter:none!important}
}
/* Entry, account and character creation share the same frame. */
#boot{background:radial-gradient(ellipse at 50% 30%,#263344,#0b111c 72%)}#boot h1{color:#d9bc85}
.loader{border-color:#55616a;border-top-color:#cdb07c}
#auth,#character{background:linear-gradient(#0a111c78,#0a111cba),url('assets/eternium-ot-wallpaper.webp') center/cover no-repeat;scrollbar-color:#746c58 #101925}
#auth .brand-logo,#character .brand-logo{filter:none}#auth .card,#character .card{border-top:2px solid #ac8c55}
#auth .card h1,#character .card h1{font-family:var(--ui-title);color:#e0c28c}
#authStatus,#characterStatus,#abilitiesNotice{color:#e3b1ac}#auth .card small,#character .card small{color:var(--ui-muted);line-height:1.55}
.character-option{background:linear-gradient(#233040,#192534);border:1px solid #4b5867;border-left:3px solid #9c8459;border-radius:8px;gap:12px}
.character-option strong,.character-name{color:#ead4a7}.character-meta,.character-level{color:var(--ui-muted)}.character-class{color:#c9bfaa}
.character-portrait{background:radial-gradient(circle,#38474d,#152231);border-color:#81765e;border-radius:8px}
.character-option .character-enter{border-color:#d1b57b;background:linear-gradient(#ceb07d,#a88b59);color:#181c23}.character-option .delete-character{background:#482630;color:#f7d9df;border-color:#945661}
#characterForm{background:#111e2c;border:1px solid #4a5869;border-radius:8px;padding:16px;margin:12px 0}
#characterForm label{font-size:14px;font-weight:600;color:#d1c7b2}
.delete-dialog{background:#060a12c9;backdrop-filter:none}.delete-dialog-card{border-color:#a96b69}.delete-dialog-card h2{color:#e2b6ae}.delete-dialog-card strong{color:#f0d6a6}
/* Chat, parties, maps and other cards no longer carry separate palettes. */
.chat-message,.team-member-row,.team-request-row,.invitation-row,.ability-row,.character-progress{background:#1b2838;border:1px solid #3b4a5b;border-radius:7px;color:var(--ui-text)}
.chat-message.mine{background:#283a43;border-color:#537177}.chat-message strong,.team-roster-name,.team-section-title{color:#ddc497}.chat-message p{color:var(--ui-text);text-align:left}.chat-message time{color:#a9b3c0}
.chat-empty,.chat-help,.chat-private-title{color:var(--ui-muted);line-height:1.5}.chat-friend{background:#213040;color:var(--ui-text);border-color:#445465}.chat-friend.active{background:#3c392e;color:#f2d6a0;border-color:#9e895d}
.friend-status.online{background:#8ebc9c}.friend-status.offline{background:#7e8794}
.chat-messages{padding:8px 0;gap:8px;min-height:100px}.chat-compose,.chat-add-friend{gap:8px}
#rankingsList>div,.ranking-row{border-bottom:1px solid #465362;background:#182636;color:var(--ui-text)}#currentRanking{color:#dbbf88}
.character-progress{padding:14px;color:var(--ui-muted)}.progress-heading strong,.progress-details [data-level]{color:#e0c58b}.progress-heading span,.progress-details span{color:var(--ui-muted)}
.ability-category h3,.ability-row strong{color:#e2d2ad}.ability-row small{color:var(--ui-muted);font-size:13px;line-height:1.5}.ability-row select{font-size:13px;min-width:106px}.ability-row.locked{opacity:.75;border-style:dashed}.ability-row.locked::after{content:'Bloqueada';color:#c6b3a0;font-size:12px}
.ability-art-fallback{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #857459;border-radius:6px;background:#1d293a;color:#d8bd89;font-size:24px}
.ability-icon{border:1px solid #7b715b66;border-radius:6px;background:#0d1927}
.equipment-summary,.team-section-title{color:#dcc399}.team-empty{color:var(--ui-muted)}
#game #nearbyEntitiesPanel,#game .team-roster-panel,#combatTargetPanel{background:linear-gradient(#192532,#111d2a);border:1px solid #58616c;border-top-color:#8f8063;border-radius:8px;box-shadow:0 4px 14px #0004;color:var(--ui-text)}
#game #nearbyEntitiesPanel{top:202px}
#game.ui-hud-compact #nearbyEntitiesPanel{top:96px}
#game .nearby-entities-header,#game .team-roster-header{background:linear-gradient(#293442,#1b2937);color:#e2c89a;border-bottom:1px solid #74644866;font-family:var(--ui-title);font-size:16px}
#game .nearby-entities-header button,#game .team-roster-header button{border-color:#566270;background:#223041;color:var(--ui-text);min-width:44px;min-height:44px;padding:8px}
#game #nearbyEntitiesPanel .nearby-entity{border-color:#52616c33;color:var(--ui-text)}#game #nearbyEntitiesPanel .nearby-entity.selected{background:#34372e;box-shadow:inset 3px 0 #c7a56c}
#game .nearby-entity.npc strong{color:#a9ccab}#game .nearby-entity.monster strong{color:#e7b0ab}#game .nearby-entity.player strong{color:#d5dbe0}
.nearby-hp,.combat-target-hp{border-color:#8e8780;background:#0a131e;border-radius:3px}.nearby-hp i,.combat-target-hp i{background:linear-gradient(90deg,#7c303a,#c95c67)}
.team-bar{background:#09111c;border:1px solid #59606a33}.team-bar.health i{background:#aa4857}.team-bar.mana i{background:#4677a2}
.combat-target-main strong{color:#e2d0a7}.combat-target-main small{color:var(--ui-muted)}#combatTargetCancel{border-color:#566473;background:#243343;color:#e6d4b0}
#protectedZoneStatus.is-normal{background:#18212bf2;border-color:#8f7953;color:#ddc69f}#protectedZoneStatus.is-protected{background:#152a27f2;border-color:#719181;color:#c0dfc9}
/* Movement keeps its original geometry and input handlers. */
#game #directionPadWindow,#game #genericJoystickWindow{border:1px solid #8a806c;border-radius:20px;background:linear-gradient(145deg,#202c3aee,#111c2aee);box-shadow:inset 0 0 0 3px #080f1870,0 4px 12px #0004}
#game #directionPadWindow:not(.control-hidden){opacity:var(--ui-control-opacity,1)}#game #genericJoystickWindow.active{opacity:var(--ui-control-opacity,1)}
#game .direction-pad-window-title,#game .generic-joystick-title{font-family:var(--ui-title);font-size:13px;color:#d4c19e;letter-spacing:.035em}
#game .direction-pad-window-button{background:linear-gradient(#39424b,#202d3b);border:1px solid #8b897f;border-radius:9px;color:#e8dcc3;box-shadow:inset 0 1px #ffffff12,0 3px 0 #060d18}
#game .direction-pad-window-button.active,#game .direction-pad-window-button:active{background:#534933;border-color:#cbb17c;color:#fff0d5;box-shadow:inset 0 2px 5px #0008}
#game .direction-pad-window-center{background:radial-gradient(circle,#384451,#1b2839);border-color:#8b8067}
#game .generic-joystick-base{background:radial-gradient(circle,#243548 30%,#172535 65%,#0c1725);border:2px solid #7c807e;box-shadow:inset 0 0 0 7px #101b2b,inset 0 0 0 8px #8d795633}
#game .generic-joystick-knob{background:radial-gradient(circle at 38% 28%,#d5bc8b,#a18b64 68%,#6f624b);border:2px solid #ddcba4;box-shadow:0 3px 8px #0008}
#game .pickup-button{background:linear-gradient(#30404c,#202e3b);border-color:#8a7b5b;color:#e6d2a9;border-radius:8px;box-shadow:0 3px 8px #0004}
#game .pickup-button:disabled{background:#192734;color:#98a2ac;border-color:#455462;opacity:.75;pointer-events:auto}
/* Skill art stays intact. States add readable labels, not replacement spell icons. */
#game #quickAbilities{padding:0;gap:6px}
#game #quickAbilities .quick-consumable-row{background:#111c29ed;border-color:#756c56;border-radius:7px}
#game #quickAbilities .quick-ability{background:#142231;border-color:#8b7e65;border-radius:7px;box-shadow:inset 0 0 0 2px #09111b,0 2px 3px #0003;color:var(--ui-text);position:relative;overflow:hidden}
#game #quickAbilities .quick-ability.empty{background:linear-gradient(135deg,#1e2b39,#111d2b);border-color:#4c5969;color:#b3bdc8;opacity:1}
#game #quickAbilities .quick-ability:focus{border-color:#e5c994;box-shadow:inset 0 0 0 2px #c4a56e80}
#game #quickAbilities .quick-ability span{color:inherit}#game #quickAbilities .quick-slot-number{padding:2px 4px;min-width:18px;background:#09131dda;border-radius:0 0 4px 0;font-size:12px}
#game #quickAbilities .quick-ability.is-no-mana{border-color:#a3bcd6;filter:saturate(.35)}#game #quickAbilities .quick-ability.is-locked{border-style:dashed}
.quick-state-label{position:absolute;z-index:4;left:0;right:0;bottom:0;background:#071322ed;font-size:10px!important;font-weight:650;padding:4px 1px;line-height:1.15;text-shadow:none;display:block}
.quick-state-label:empty{display:none}.quick-state-label[data-state=mana]{color:#d3e7ff!important}
#game #quickAbilities .cooldown-label{background:linear-gradient(to top,#070e19d9 var(--cooldown-progress,100%),#070e1944 var(--cooldown-progress,100%));color:#fff2dc;font-size:20px;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000}
#game #quickAbilities #abilitiesButton,#quickInspectButton{background:linear-gradient(#4d4433,#332f28);border:1px solid #a38c61;color:#efdab5;min-height:44px;font-size:14px;box-shadow:0 2px 0 #080e17;border-radius:7px}
#quickInspectButton{align-self:stretch;padding:8px 12px}#quickInspectButton[aria-pressed=true]{background:#b69c68;color:#17212b;border-color:#f2d8a2}
.ui-quick-toolbar{display:flex;gap:6px;align-self:stretch}.ui-quick-toolbar>button{flex:1;min-width:0!important;padding:8px!important;font-size:13px!important}
#game.ui-short-landscape #menuButtons{position:fixed!important;top:88px!important;right:max(22px,env(safe-area-inset-right))!important;left:auto!important;bottom:auto!important;display:flex!important;flex-direction:row!important;gap:4px!important;align-items:stretch!important;transform:none!important;width:auto!important;margin:0!important;z-index:15}
#game.ui-short-landscape #menuButtons>button{width:48px;min-width:48px;max-width:48px;min-height:52px;padding:4px;flex-direction:column;gap:3px}
#game.ui-short-landscape #menuButtons .ui-button-label{font-size:9px;max-width:42px;overflow:hidden;text-overflow:ellipsis}
#game.ui-short-landscape #hudStats>div:first-child{display:grid;grid-template-columns:1fr 78px;gap:5px}
#game.ui-short-landscape #healthBar{grid-column:1/-1}
#game.ui-short-landscape #rankingsButton,#game.ui-short-landscape #leave{width:auto;margin:0;padding:8px;min-height:44px;font-size:12px}
#game.ui-short-landscape #leave{grid-column:2}
#game.ui-short-landscape #nearbyEntitiesPanel{top:136px;width:220px;max-width:220px}
#game.ui-short-landscape .nearby-empty{display:none}
#game.ui-short-landscape .nearby-entities-header{padding:5px 8px}
.ui-ability-info{position:fixed;z-index:15000;width:min(330px,calc(100vw - 32px));padding:18px;border:1px solid #a78e61;border-radius:9px;background:linear-gradient(#233040,#142132);box-shadow:var(--ui-shadow);color:var(--ui-text)}
.ui-ability-info h3{margin:0 48px 10px 0;color:#e8cd97}.ui-ability-info>button{position:absolute;right:8px;top:8px}.ui-ability-info p{font-size:14px;text-align:left;line-height:1.5;margin:10px 0 0}.ui-ability-facts{color:#dcc99f;border-top:1px solid #6f6b5e66;padding-top:12px}
.ui-preferences{margin:18px 0 0;padding-top:14px;border-top:1px solid #746e5d66;text-align:left}.ui-preferences h3{margin:0 0 14px;color:#e0c48f}.ui-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin:4px 0;font-size:14px}.ui-preferences output{float:right;color:#ddc18b}.ui-preferences p{font-size:13px;text-align:left}
.ui-hud-compact #coordinates,.ui-hud-compact #rankingsButton,.ui-hud-compact #leave{display:none!important}
#hudDetailsToggle{flex:0 0 44px;color:#d9c291;background:#1b2939;border-color:#5b6571;min-width:44px;padding:8px}
#uiNotifications{position:fixed;z-index:18000;top:max(78px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(390px,calc(100vw - 32px));display:grid;gap:8px;pointer-events:none}
.ui-notice{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #7d8995;border-left:3px solid #a4b4c7;border-radius:8px;background:#172332f7;box-shadow:0 4px 12px #0005;color:var(--ui-text);pointer-events:auto}
.ui-notice>div{min-width:0;flex:1}.ui-notice strong,.ui-notice span{display:block}.ui-notice strong{font-size:12px;letter-spacing:.04em;color:#c9d5df}.ui-notice span{font-size:14px;margin-top:3px;overflow-wrap:anywhere}.ui-notice .ui-icon-button{min-width:32px;min-height:32px;padding:6px;box-shadow:none;background:transparent;border-color:transparent}.ui-notice>.ui-icon{margin-top:4px}
.ui-notice[data-type=error]{border-left-color:#e2989d}.ui-notice[data-type=error] strong{color:#f0b6b9}.ui-notice[data-type=success]{border-left-color:#95c69f}.ui-notice[data-type=success] strong{color:#b3dcb9}.ui-notice[data-type=warning]{border-left-color:#d1b37d}.ui-notice[data-type=warning] strong{color:#ead09e}
.ui-confirm-overlay{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:16px;background:#050a12c7}.ui-confirm-card{width:min(440px,100%);padding:24px;border:1px solid #a18a65;border-radius:10px;background:linear-gradient(#25303e,#142130);box-shadow:var(--ui-shadow)}.ui-confirm-card h2{color:#e8c996;margin:0 0 12px}.ui-confirm-card p{font-size:15px;text-align:left}.ui-confirm-actions{display:flex;gap:12px;margin-top:20px}.ui-confirm-actions button{flex:1}
/* Native titles remain available, but empty/loading UI is also readable on touch. */
.ui-empty{padding:20px;border:1px dashed #5c6877;border-radius:8px;color:var(--ui-muted);text-align:center;background:#101d2b}.ui-empty .ui-icon{width:28px;height:28px;margin-bottom:8px}
.ui-window-body [role=status],.ui-window-body [role=alert]{line-height:1.5}
@media(pointer:coarse){button,.ui-button{min-height:44px}#game #nearbyEntitiesPanel .nearby-entity{min-height:52px}#game .nearby-entities-header button{min-width:44px;min-height:44px}.ui-window-body{font-size:16px}}
@media(max-width:600px){.ui-window-header{padding-left:12px;gap:3px}.ui-window-header>h2,.ui-window-header>.inventory-drag-header{font-size:18px}.ui-window-body{padding:14px}.card{padding:22px 18px}#game #count{max-width:95px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#game #coordinates{display:none}#game header{gap:5px;padding:0 8px}.client-brand strong{display:none}#hudDetailsToggle{min-width:36px;flex-basis:36px;padding:6px}#game #floorControls{gap:4px}#game #floorControls button{min-width:36px;padding:6px}.ability-row small{font-size:12px}.ui-window-body .ability-row{grid-template-columns:42px minmax(0,1fr)}.ui-window-body .ability-row>select{grid-column:2;width:100%}#game #nearbyEntitiesPanel .nearby-entities-header{flex-wrap:wrap;gap:4px}#quickInspectButton{min-height:44px;font-size:13px}}
@media(max-width:600px){.ui-quick-toolbar{flex-direction:column}}
@media(max-height:500px){.ui-window-header{min-height:54px}.ui-window-body{padding:12px}#game .client-brand img{width:26px;height:26px}#game #count{font-size:11px}#game #coordinates{display:none}}
/* Sample page uses these same production components, without the game simulation. */
.ui-sample{height:auto;min-height:100%;padding:32px;display:block;background:radial-gradient(ellipse at top,#1e2b3b,#0b111c 75%)}
.ui-sample main{height:auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:24px;max-width:1080px;margin:auto;align-items:start}.ui-sample article{padding:24px}.ui-sample h1{max-width:1080px;margin:0 auto 24px}.ui-sample h2{margin-top:0}.ui-sample .sample-buttons{display:flex;flex-wrap:wrap;gap:12px}.ui-sample .sample-bars{display:grid;gap:12px;margin:24px 0}.ui-sample .ui-stat-bar{position:relative;width:100%;overflow:hidden}.ui-sample .stat-text,.ui-sample .stat-label{color:var(--ui-text)}
.ui-sample .item-attributes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.ui-sample .item-stat{display:flex;flex-direction:column;padding:14px;border:1px solid var(--ui-iron);border-radius:6px;background:var(--ui-inset)}.ui-sample .item-stat b{font-size:30px;color:#e5c68d}.ui-sample .item-detail-heading strong{font-size:22px}
button:disabled:not(.quick-ability){background:#1b2431;color:#8b98a8;border-color:#3e4b5d;box-shadow:none}
@media(max-width:650px){.ui-sample{padding:18px}.ui-sample main{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}}
html.ui-reduced-motion *,html.ui-reduced-motion *::before,html.ui-reduced-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* Server-authoritative death summary and public corpse inventories. */
#game .world-panel{position:fixed;inset:0;z-index:18000;display:grid;place-items:center;padding:16px;background:#050a12b8;pointer-events:auto}
#game .world-panel[hidden]{display:none!important}
#game .world-card{width:min(920px,100%);max-width:100%;max-height:calc(100dvh - 32px);margin:0;overflow:hidden;display:flex;flex-direction:column;text-align:left;transform:none}
#game .world-card .ui-window-header{flex-shrink:0}
#game .world-card .ui-window-body{min-height:0;overflow:auto}
@layer ui-priority{#game .world-card{position:relative!important;inset:auto!important;width:min(920px,calc(100vw - 32px))!important;max-height:calc(100dvh - 32px)!important;transform:none!important}#game #deathPanel .world-card,#game #worldSelectPanel .world-card{width:min(560px,calc(100vw - 32px))!important}}
#game .world-panel-content{min-width:0;overflow-wrap:anywhere}
#game .world-panel-content p{text-align:left;margin:10px 0;line-height:1.5}
#game .world-panel-content h3{margin:12px 0;color:#ead09e}
#game .world-panel button,#game .world-panel input{min-height:44px}
#game #deathPanel .world-card{width:min(560px,100%)}
#game #worldSelectPanel .world-card{width:min(560px,100%)}
.world-two-inventories{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}
.world-inventory{min-width:0;border:1px solid #69644f;border-radius:8px;padding:12px;background:#0d1928}
.world-inventory h3{font-size:16px}.world-item-list{display:grid;gap:8px}
.world-item-row{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid #455364;border-radius:6px;background:#1b2839}
.world-item-row strong,.world-item-row span{display:block}.world-item-row strong{font-size:14px}.world-item-icon img{width:36px;height:36px;object-fit:contain;image-rendering:pixelated}
.world-item-actions{grid-column:1/-1;display:flex;gap:8px}.world-item-actions input{width:85px;min-width:0;padding:8px;color:#f0e9da;background:#101c2b;border:1px solid #7a7766;border-radius:4px}.world-item-actions button{flex:1}
.world-loot-status{color:#d9c99d}.world-currency-safe{color:#b3d9ae}.world-empty{color:#aebbc9}
.world-selection-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px;border-bottom:1px solid #65708055}.world-selection-row small{grid-column:1;color:#d9c99d}.world-selection-row button{grid-column:2;grid-row:1/3}
@media(max-width:650px){#game .world-panel{padding:8px}#game .world-card{max-height:calc(100dvh - 16px)}.world-two-inventories{grid-template-columns:1fr;gap:12px}.world-inventory{padding:8px}.world-item-row strong{font-size:15px}}
/* Account friends dropdown; independent of the character's battle team. */
#game #friendsButton{display:flex;align-items:center;gap:8px;pointer-events:auto;min-height:44px;margin:8px 0 0;width:100%;max-width:220px;padding:8px 12px;background:linear-gradient(#273442,#192535);border:1px solid #786445;border-radius:6px;box-shadow:0 2px 0 #050a13;color:#f0e9da;font:inherit;font-size:14px;text-align:left}
#friendsButton>span:last-child{margin-left:auto}.friends-trigger-counts{display:flex;gap:4px}.friends-trigger-counts small,.friends-unread{background:#5c4229;color:#fbe4ae;border:1px solid #aa8750;border-radius:5px;padding:2px 5px;font:600 12px system-ui}
#game #friendsPanel{position:fixed;z-index:19000;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:12px;background:linear-gradient(145deg,#252d37,#131d29 80%);border:1px solid #a18451;border-radius:9px;box-shadow:0 12px 35px #000b,inset 0 0 0 3px #070d1555;color:#f0e9da;font-family:var(--ui-body,system-ui);font-size:15px;text-align:left;pointer-events:auto;overflow:hidden;isolation:isolate}
#game #friendsPanel[hidden]{display:none}#friendsPanel *{box-sizing:border-box}#friendsPanel button,#friendsPanel summary,#chatContent button{min-height:44px}#friendsPanel button{margin:0;padding:8px 12px;border:1px solid #59616a;border-radius:5px;background:linear-gradient(#303d4b,#202c3a);color:#f0e9da;font:inherit;cursor:pointer}
#friendsPanel button:hover,#friendsPanel summary:hover{border-color:#d2b47b;background:#36414b}#friendsPanel :focus-visible,#friendsButton:focus-visible{outline:2px solid #eccb8b;outline-offset:2px}
.friends-heading{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto}.friends-heading h2{margin:0;color:#e0c18b;font:600 20px var(--ui-title,Georgia)}.friends-heading button{width:44px;flex-shrink:0;display:grid;place-items:center}.friends-heading svg{width:20px;height:20px}
.friends-tabs{display:flex;gap:6px;flex-shrink:0}.friends-tabs button{flex:1}#friendsPanel .friends-tabs .active{border-color:#c09e62;background:#59462e;color:#ffdf9f}
#friendsPanel input{width:100%;min-height:44px;background:#101a27;color:#f0e9da;border:1px solid #6c6c66;border-radius:5px;padding:10px;font:inherit}#friendsPanel input[hidden]{display:none}.friends-status{color:#e7c08b;font-size:14px}.friends-status:empty{display:none}
.friends-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;flex:1}.friends-body>p{padding:8px;margin:0;color:#b6bec8;line-height:1.5}.friends-row{display:flex;align-items:center;gap:8px;padding:10px 2px;border-bottom:1px solid #73716b40;min-height:76px}.friends-row>div:first-child{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.friends-row strong{overflow-wrap:anywhere;font-size:16px}.friends-row small{color:#c7b98e;font-size:13px}.friends-presence{display:flex;align-items:center;gap:6px;color:#b6bec8;font-size:14px}.friends-presence:before{content:'';width:9px;height:9px;border-radius:50%;background:#ca7270}.friends-presence[data-online=true]:before{background:#75b88a}
.friends-actions{position:relative;flex-shrink:0}.friends-actions summary{list-style:none;display:grid;place-items:center;width:44px;border:1px solid #646566;border-radius:5px;font-size:24px;cursor:pointer}.friends-actions summary::-webkit-details-marker{display:none}.friends-action-list{display:flex;flex-direction:column;gap:4px;padding-top:6px}.friends-actions[open]{width:min(190px,60%)}.friends-actions[open] summary{margin-left:auto}.friends-action-list button{text-align:left;width:100%;font-size:14px!important}
.friends-request-form{display:flex;flex-direction:column;gap:8px;padding:4px 0 16px;border-bottom:1px solid #73716b40}.friends-body h3{font-size:16px;color:#dcc496;margin:16px 0 8px}.friends-request-row{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid #73716b40}.friends-request-row>div{display:flex;gap:6px;flex-wrap:wrap}.friends-request-row small,.friends-chat-help{color:#b6bec8;font-size:14px;line-height:1.45}
#game.ui-short-landscape #friendsButton{grid-column:1;margin:0;width:100%;max-width:none}#game.ui-short-landscape #rankingsButton{grid-column:1}#game.ui-short-landscape #hudStats>div:first-child{grid-template-columns:minmax(100px,1fr) 78px}
@media(max-width:600px){#game #friendsButton{max-width:min(180px,calc((50vw - 16px)/var(--eternium-ui-scale,1)));font-size:14px;padding:8px}#game #friendsPanel{padding:10px;font-size:15px;gap:8px}.friends-row{min-height:72px}}

/* Compact, readable character progression with live next-level estimates. */
#abilitiesPanel .character-progress-extras{margin:8px 0 14px;border:1px solid #826c48;border-radius:8px;background:linear-gradient(145deg,#1d2c3c,#151f2b)}
#abilitiesPanel .character-progress-extras>summary{padding:12px 14px;color:#f0d49a;font-weight:700;background:#c7a56c12;border-bottom:1px solid #826c484c}
#abilitiesPanel .character-progress-extras[open]>summary{border-bottom-color:#826c4877}
#abilitiesPanel .character-progress{display:grid;gap:6px;padding:12px!important;border:0!important;border-radius:0 0 8px 8px;background:transparent!important}
#abilitiesPanel .character-progress .progress-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
#abilitiesPanel .character-progress .progress-heading strong{color:#f0d49a;font-size:18px!important}
#abilitiesPanel .character-progress .progress-heading>span{color:#e0e3e7;font-size:15px!important}
#abilitiesPanel .character-progress .progress-track{height:14px;margin:2px 0 3px;border-color:#776747;background:#0b121b}
#abilitiesPanel .character-progress .progress-fill{background:linear-gradient(90deg,#9c794c,#e0bd7b)}
#abilitiesPanel .character-progress .combat-progress-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px;margin-top:5px;padding-top:9px;border-top:1px solid #8b754d55}
#abilitiesPanel .character-progress .combat-progress-heading strong{color:#f0d49a;font-size:16px!important}
#abilitiesPanel .character-progress .combat-progress-heading span{color:#d7c7a7;font-size:14px!important}
#abilitiesPanel .character-progress .combat-progress-fill{background:linear-gradient(90deg,#a77d4c,#e0bd7b)}
#abilitiesPanel .character-progress .defense-progress-heading strong{color:#a9d4b2}
#abilitiesPanel .character-progress .defense-progress-heading span{color:#d0e2d2}
#abilitiesPanel .character-progress .defense-progress-fill{background:linear-gradient(90deg,#4f8764,#9bc8a5)}
#abilitiesPanel .character-progress .progress-summary{display:flex;flex-direction:column;gap:1px;padding:0 2px 2px}
#abilitiesPanel .character-progress .progress-summary strong{color:#f0e9da;font-size:15px!important}
#abilitiesPanel .character-progress .progress-summary>span{color:#c9d2dc;font-size:14px!important}
@media(max-width:600px){#abilitiesPanel .character-progress{padding:10px!important}#abilitiesPanel .character-progress .progress-heading{align-items:flex-start;flex-direction:column;gap:0}#abilitiesPanel .character-progress .progress-summary>span{line-height:1.4}}

/* Mobile readability: raise dense UI copy without scaling the canvas or desktop layout. */
@media(pointer:coarse), (max-width:900px){
  #auth .card,#character .card{font-size:17px;line-height:1.5}
  #auth .tabs button{font-size:15px;line-height:1.25;padding:10px 6px}
  #auth form input,#auth form button,#auth label,#authStatus,#characterStatus,#recoveryHelp{font-size:16px;line-height:1.45}
  #character .character-option{font-size:18px;line-height:1.45}
  #character .character-name{font-size:19px;line-height:1.3}
  #character .character-meta,#character .character-level,#character .character-class{font-size:16px;line-height:1.4}
  #character #characterForm label{font-size:17px}
  #game .ui-window-body,#game .panel-card,#game .world-card,#game #friendsPanel{font-size:17px;line-height:1.5}
  #game .ui-window-body p,#game .ui-window-body label,#game .ui-window-body button,
  #game .panel-card p,#game .panel-card button{font-size:16px;line-height:1.4}
  #game .ui-window-body small,#game .panel-card small,#game .world-item-row span{font-size:14px;line-height:1.4}
  #game .ui-window-header>h2,#game .ui-window-header>.inventory-drag-header{font-size:22px;line-height:1.25}
  #game .ui-window.unified-inventory .inventory-drag-header{font-size:22px!important}
  #game .ui-window.unified-inventory .inventory-sections button,
  #game .ui-window.unified-inventory .inventory-tabs button{font-size:16px;line-height:1.3}
  #game .ui-window.unified-inventory .inventory-item strong{font-size:16px;line-height:1.35}
  #game .ui-window.unified-inventory .inventory-item small,
  #game .ui-window.unified-inventory .inventory-capacity,
  #game .ui-window.unified-inventory .inventory-wallets strong{font-size:14px;line-height:1.4}
  #game .ui-window.unified-inventory .inventory-detail,
  #game .ui-window.unified-inventory .item-attributes,
  #game .ui-window.unified-inventory .item-requirements>span{font-size:16px;line-height:1.45}
  #game .ui-window.unified-inventory .item-detail-heading small,
  #game .ui-window.unified-inventory .item-stat small{font-size:14px;line-height:1.4}
  #game #setPanel .equipment-slot{font-size:16px;line-height:1.35}
  #game #setPanel .slot-label{font-size:14px}
  #game #setPanel .slot-item{font-size:16px}
  #game #setPanel .slot-details{font-size:14px}
  #game #setPanel .equipment-summary span{font-size:15px}
  #game #abilitiesPanel .ability-row small,
  #game #abilitiesPanel .ability-row select{font-size:14px;line-height:1.4}
  #game #abilitiesPanel .ability-library h3{font-size:21px}
  #game #abilitiesPanel #abilitiesList .ability-choice{font-size:18px!important;line-height:1.5!important;min-height:104px!important}
  #game #abilitiesPanel #abilitiesList .ability-choice strong{font-size:19px}
  #game #abilitiesPanel #abilitiesList .ability-choice span span{font-size:16px;line-height:1.45}
  #game #abilitiesPanel #abilityDetail p,#game #abilitiesPanel .ability-detail-heading p{font-size:18px;line-height:1.5}
  #game #abilitiesPanel #abilityDetail dt{font-size:17px}
  #game #abilitiesPanel #abilityDetail dd{font-size:20px}
  #game #abilitiesPanel .ability-assignment>button,#game #abilitiesPanel .ability-picker-actions>button{font-size:18px;line-height:1.35}
  #game #quickAbilities .quick-state-label{font-size:12px!important;line-height:1.25}
  #game #menuButtons button,#game #rankingsButton,#game #leave,#game #floorControls button{font-size:15px}
  #game #count{font-size:14px}
}

/* Device-aware reading sizes. These scopes exclude the canvas, movement pad,
   quick slots and HUD; UI scale preferences continue to size those controls. */
:root.mobile-ui{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mobile-ui :is(#auth,#character){justify-content:flex-start;overflow-y:auto;overflow-x:hidden;min-height:0;height:var(--ui-viewport-height,100dvh);padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));scroll-padding-block:16px}
.mobile-ui :is(#auth,#character) .card{flex:0 0 auto;max-width:100%;font-size:17px;line-height:1.5}
.mobile-ui #auth .card{width:min(560px,100%)}
.mobile-ui #character .card{width:min(720px,100%)}
.mobile-ui #auth .tabs{flex-wrap:wrap}
.mobile-ui #auth .tabs button{flex:1 1 100px}
.mobile-ui #character .character-option{align-items:start}
.mobile-ui #character .character-meta{white-space:normal}
.mobile-ui .inventory-wallets{min-width:0}
.mobile-ui .inventory-wallets>div{flex-wrap:wrap}
.mobile-ui .inventory-capacity,.mobile-ui .inventory-tabs,.mobile-ui .chat-tabs{flex-wrap:wrap}
.mobile-ui .inventory-capacity>*,.mobile-ui .inventory-wallets .diamond-actions{min-width:0;max-width:100%}
.mobile-ui #chatCompose{position:static;flex-shrink:0;flex-wrap:wrap}
.mobile-ui #chatCompose input{flex:1 1 180px;min-width:0}
.mobile-ui #chatContent{min-height:0;overflow-wrap:anywhere}
.mobile-ui #game .ui-window.unified-inventory{container-type:inline-size}
.mobile-ui #menuButtons{overscroll-behavior:contain;scrollbar-width:thin}
.mobile-ui #menuButtons>button{flex-shrink:0}
.mobile-ui #game.ui-short-landscape #hudStats>div:first-child{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.mobile-ui #game.ui-short-landscape #friendsButton{grid-column:1;grid-row:2}
.mobile-ui #game.ui-short-landscape #rankingsButton{grid-column:2;grid-row:2}
.mobile-ui #game.ui-short-landscape #leave{grid-column:2;grid-row:3;justify-self:end;width:78px}
.mobile-ui .ui-window-body,.mobile-ui .inventory-bag-view,.mobile-ui .inventory-equipment-view,.mobile-ui .friends-body{overscroll-behavior:contain;touch-action:pan-y;overflow-wrap:anywhere;scroll-padding-block:16px}
@layer ui-priority{
 :root.mobile-ui :where(#auth .card,#character .card,#game .ui-window-body,#game .inventory-bag-view,#game .inventory-equipment-view,#game #friendsPanel,.ui-confirm-card,.delete-dialog-card){font-size:calc(19px * var(--ui-reading-scale,1))!important;line-height:1.5!important}
 :root.mobile-ui :where(#auth .card,#character .card,#game .ui-window-body,#game .inventory-bag-view,#game .inventory-equipment-view,#game #friendsPanel,.ui-confirm-card,.delete-dialog-card) :is(p,label,button,input,select,textarea,summary,li,dt,dd,strong,b){font-size:calc(19px * var(--ui-reading-scale,1))!important;line-height:1.45!important;overflow-wrap:anywhere}
 :root.mobile-ui :where(#auth .card,#character .card,#game .ui-window-body,#game .inventory-bag-view,#game .inventory-equipment-view,#game #friendsPanel,.ui-confirm-card,.delete-dialog-card) span{font-size:calc(18px * var(--ui-reading-scale,1))!important;line-height:1.45!important}
 :root.mobile-ui :where(#auth .card,#character .card,#game .ui-window-body,#game .inventory-bag-view,#game .inventory-equipment-view,#game #friendsPanel) :is(small,time,.chat-help,.friends-status,.friends-presence,.inventory-stat-hint,.slot-label,.slot-details,.item-stat small){font-size:calc(17px * var(--ui-reading-scale,1))!important;line-height:1.5!important}
 :root.mobile-ui :where(#auth .card,#character .card,#game .ui-window-body,#game .inventory-bag-view,#game .inventory-equipment-view,#friendsPanel) :is(button,input,select,textarea){min-height:44px;white-space:normal}
 :root.mobile-ui #game .ui-window:not(.panel-minimized){transform:none!important;zoom:1!important;max-height:calc(var(--ui-viewport-height,100dvh) - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;max-width:calc(var(--ui-viewport-width,100vw) - max(16px,env(safe-area-inset-left)) - max(16px,env(safe-area-inset-right)))!important}
 :root.mobile-ui #game .ui-window>.ui-window-body{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;flex:1 1 auto}
 :root.mobile-ui #game #abilitiesPanel .ui-window-body{overflow:hidden!important}
 :root.mobile-ui #game .ui-window.unified-inventory>:is(.inventory-bag-view,.inventory-equipment-view){flex:1 1 auto!important;min-height:0!important;overflow:auto!important}
 :root.mobile-ui #game .ui-window-header>:is(h2,.inventory-drag-header){font-size:calc(26px * var(--ui-reading-scale,1))!important;line-height:1.25!important}
 :root.mobile-ui #game .ui-window-body h3{font-size:calc(26px * var(--ui-reading-scale,1))!important;line-height:1.3!important}
 :root.mobile-ui #game .ui-window-body h4{font-size:calc(22px * var(--ui-reading-scale,1))!important;line-height:1.35!important}
 :root.mobile-ui #character .character-option .character-name{font-size:calc(24px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game #currentRanking,:root.mobile-ui #game .ranking-row{font-size:calc(19px * var(--ui-reading-scale,1))!important;line-height:1.45!important}
 :root.mobile-ui #game .item-stat b{font-size:calc(28px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .item-detail-heading strong{font-size:calc(24px * var(--ui-reading-scale,1))!important;line-height:1.3!important}
 :root.mobile-ui #game .inventory-stat-hint{white-space:normal!important;max-width:100%;text-align:center}
 :root.mobile-ui #game .inventory-sections button{font-size:calc(19px * var(--ui-reading-scale,1))!important;line-height:1.45!important;min-height:44px}
 :root.mobile-ui #game #abilitiesList .ability-choice strong{font-size:calc(22px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game #abilityDetail p{font-size:calc(20px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game #abilityDetail dd{font-size:calc(23px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .inventory-item{height:auto!important;min-height:132px!important}
 :root.mobile-ui #game .inventory-item strong{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
 :root.mobile-ui #game #setPanel .equipment-slot{height:auto!important;min-height:132px!important}
 :root.mobile-ui #game .inventory-detail{min-width:0!important;position:static!important}
 :root.mobile-ui #game .chat-messages{max-height:none!important;overflow:visible!important}
 :root.mobile-ui #game #nearbyEntitiesPanel :is(.nearby-entity strong,.nearby-entities-title){font-size:16px!important;line-height:1.4!important}
 :root.mobile-ui #game #nearbyEntitiesPanel :is(small,.nearby-entity-meta,.nearby-empty),:root.mobile-ui #game .team-roster-member small{font-size:14px!important;line-height:1.45!important}
 :root.mobile-ui #game #nearbyEntitiesPanel .nearby-entity{display:grid;grid-template-columns:24px minmax(0,1fr) 56px;height:auto!important;min-width:0;gap:6px;white-space:normal}
 :root.mobile-ui #game #nearbyEntitiesPanel .nearby-entity>strong{grid-column:2;grid-row:1;white-space:normal;overflow-wrap:anywhere}
 :root.mobile-ui #game #nearbyEntitiesPanel .nearby-entity>small{grid-column:2;grid-row:2;min-width:0;overflow-wrap:anywhere}
 :root.mobile-ui #game #nearbyEntitiesPanel .nearby-entity>span:not(.nearby-hp){grid-column:1;grid-row:1/3}
 :root.mobile-ui #game #nearbyEntitiesPanel .nearby-hp{grid-column:3;grid-row:1/3;min-width:0}
 :root.mobile-ui :is(.ui-notice span,.ui-ability-info p){font-size:16px!important;line-height:1.5!important}
 :root.mobile-ui .ui-notice strong{font-size:14px!important}
}
@container(max-width:620px){
 .mobile-ui #game .unified-inventory .inventory-body{grid-template-columns:minmax(0,1fr)}
 .mobile-ui #game .unified-inventory .inventory-detail{grid-row:1}
 .mobile-ui #game .unified-inventory .inventory-wallets{grid-template-columns:minmax(0,1fr)}
 .mobile-ui #game .unified-inventory .inventory-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-ui #game #setPanel .equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'avatar avatar' 'helmet amulet' 'armor shield' 'pants ring' 'boots weapon'}
}

/* Reading geometry follows the same unit as type; the world and quick controls
   are deliberately outside these selectors. No browser/CSS zoom is applied. */
.mobile-ui #auth .card{width:min(calc(560px * var(--ui-reading-scale,1)),100%)}
.mobile-ui #character .card{width:min(calc(720px * var(--ui-reading-scale,1)),100%)}
.mobile-ui :is(#auth,#character) .card{padding:calc(24px * var(--ui-reading-scale,1))}
.mobile-ui #character .character-option{grid-template-columns:calc(58px * var(--ui-reading-scale,1)) minmax(0,1fr) auto;gap:calc(12px * var(--ui-reading-scale,1))}
.mobile-ui #character .character-portrait,.mobile-ui #character .character-portrait img{width:calc(58px * var(--ui-reading-scale,1));height:calc(72px * var(--ui-reading-scale,1))}
.mobile-ui.mobile-reading-single #character .character-option{grid-template-columns:calc(58px * var(--ui-reading-scale,1)) minmax(0,1fr)}
.mobile-ui.mobile-reading-single #character .character-actions{grid-column:1/-1;display:flex;justify-content:stretch}
.mobile-ui.mobile-reading-single #character .character-enter{flex:1}
.mobile-ui .ability-workspace{grid-template-columns:minmax(0,34%) minmax(0,1fr)}
.mobile-ui .ability-library,.mobile-ui #abilityDetail{padding:calc(18px * var(--ui-reading-scale,1))}
.mobile-ui :is(.ability-facts,.ability-effects){gap:calc(12px * var(--ui-reading-scale,1));margin-block:calc(16px * var(--ui-reading-scale,1))}
.mobile-ui :is(.ability-facts,.ability-effects)>div{padding:calc(14px * var(--ui-reading-scale,1))}
.mobile-ui .ability-detail-heading{gap:calc(16px * var(--ui-reading-scale,1))}
.mobile-ui .ability-detail-heading img{width:calc(72px * var(--ui-reading-scale,1));height:calc(72px * var(--ui-reading-scale,1))}
.mobile-ui .ability-slot-grid{gap:calc(10px * var(--ui-reading-scale,1))}
.mobile-ui .ability-slot-grid img{width:calc(40px * var(--ui-reading-scale,1));height:calc(40px * var(--ui-reading-scale,1))}
@layer ui-priority{
 :root.mobile-ui #game .ui-window:not(.panel-minimized){width:min(calc(900px * var(--ui-reading-scale,1)),calc(var(--ui-viewport-width,100vw) - 32px))!important}
 :root.mobile-ui :is(#auth,#character) h1{font-size:calc(30px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui :is(#auth,#character) :is(button,input,select){min-height:calc(48px * var(--ui-reading-scale,1))!important;padding:calc(10px * var(--ui-reading-scale,1)) calc(12px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game #friendsPanel{width:min(calc(420px * var(--ui-reading-scale,1)),calc(var(--ui-viewport-width,100vw) - 32px))!important;padding:calc(12px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #friendsPanel .friends-heading h2{font-size:calc(26px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #friendsPanel :is(button,input){min-height:calc(48px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui .ui-confirm-card,:root.mobile-ui .delete-dialog-card{width:min(calc(520px * var(--ui-reading-scale,1)),calc(var(--ui-viewport-width,100vw) - 32px))!important;max-height:calc(var(--ui-viewport-height,100dvh) - 32px)!important;overflow:auto!important}
 :root.mobile-ui #game :is(#abilitiesPanel .abilities-card,#inventoryPanel .unified-inventory):not(.panel-minimized){width:calc(var(--ui-viewport-width,100vw) - 32px)!important;height:calc(var(--ui-viewport-height,100dvh) - 32px)!important}
 :root.mobile-ui #game .ui-window:not(.panel-minimized)>.ui-window-header{min-height:calc(64px * var(--ui-reading-scale,1))!important;padding:calc(8px * var(--ui-reading-scale,1)) calc(12px * var(--ui-reading-scale,1))!important;gap:calc(6px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .ui-window.panel-minimized .ui-window-header>:is(h2,.inventory-drag-header){font-size:16px!important}
 :root.mobile-ui #game .ui-window:not(.panel-minimized) .ui-window-header>button{width:calc(48px * var(--ui-reading-scale,1))!important;height:calc(48px * var(--ui-reading-scale,1))!important;min-width:calc(48px * var(--ui-reading-scale,1))!important;min-height:calc(48px * var(--ui-reading-scale,1))!important;flex-basis:calc(48px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .ui-window:not(.panel-minimized) .ui-window-header>button .ui-icon{width:calc(22px * var(--ui-reading-scale,1))!important;height:calc(22px * var(--ui-reading-scale,1))!important;flex-basis:auto!important}
 :root.mobile-ui #game .ui-window-body{padding:calc(18px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game #abilitiesPanel .ui-window-body{padding:0!important}
 :root.mobile-ui #game :is(.ui-window-body,.inventory-bag-view,.inventory-equipment-view) :is(button,input,select,textarea){min-height:calc(48px * var(--ui-reading-scale,1))!important;padding:calc(10px * var(--ui-reading-scale,1)) calc(12px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game #abilitiesList .ability-choice{grid-template-columns:calc(52px * var(--ui-reading-scale,1)) minmax(0,1fr) calc(16px * var(--ui-reading-scale,1))!important;min-height:calc(108px * var(--ui-reading-scale,1))!important;padding:calc(14px * var(--ui-reading-scale,1))!important;gap:calc(10px * var(--ui-reading-scale,1))!important;text-align:left!important}
 :root.mobile-ui #game #abilitiesList .ability-choice img{width:calc(52px * var(--ui-reading-scale,1))!important;height:calc(52px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game #abilityDetail p{max-width:none!important;text-align:left!important}
 :root.mobile-ui #game .ui-window .progress-track{height:calc(14px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game #abilitiesPanel .character-progress-extras>summary{padding:calc(12px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .inventory-sections button{min-height:calc(52px * var(--ui-reading-scale,1))!important;padding:calc(10px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .unified-inventory .inventory-body{grid-template-columns:minmax(0,1fr) minmax(calc(300px * var(--ui-reading-scale,1)),.85fr)!important;gap:calc(16px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .unified-inventory .inventory-grid{grid-template-columns:repeat(auto-fill,minmax(calc(112px * var(--ui-reading-scale,1)),1fr))!important;gap:calc(10px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .unified-inventory .inventory-item{min-height:calc(144px * var(--ui-reading-scale,1))!important;padding:calc(10px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .inventory-icon img{width:calc(56px * var(--ui-reading-scale,1))!important;height:calc(56px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .inventory-icon{display:grid!important;place-items:center!important;width:calc(64px * var(--ui-reading-scale,1))!important;height:calc(64px * var(--ui-reading-scale,1))!important;min-height:calc(64px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .inventory-sort{width:calc(130px * var(--ui-reading-scale,1))!important;min-width:calc(130px * var(--ui-reading-scale,1))!important;flex:0 0 auto!important}
 :root.mobile-ui #game .item-detail-art{flex-basis:calc(76px * var(--ui-reading-scale,1))!important;height:calc(76px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game .item-detail-art img{width:calc(60px * var(--ui-reading-scale,1))!important;height:calc(60px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui #game #setPanel .equipment-slot{min-height:calc(144px * var(--ui-reading-scale,1))!important}
 :root.mobile-ui.mobile-reading-single #game .unified-inventory :is(.inventory-body,.inventory-wallets){grid-template-columns:minmax(0,1fr)!important}
 :root.mobile-ui.mobile-reading-single #game .unified-inventory .inventory-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 :root.mobile-ui.mobile-reading-single #game #setPanel .equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:'avatar avatar' 'helmet amulet' 'armor shield' 'pants ring' 'boots weapon'!important}
}

#game .auto-healing-card{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px}
#game .auto-healing-slots{display:grid;gap:10px;margin:16px 0}
#game .auto-healing-slot{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid #40516a;border-radius:8px;background:#172333}
#game .auto-healing-slot>strong{grid-column:1/-1;color:#e8cf9a}
#game .auto-healing-slot label{display:grid;gap:6px;font-size:14px}
#game .auto-healing-slot select{min-width:0;width:100%;min-height:44px;padding:8px;border:1px solid #526276;border-radius:7px;background:#111c2b;color:#f4f6fa;font-size:14px}
#game .auto-healing-card h2{margin:0 40px 12px 0;color:#e8cf9a;font-size:24px}
#game .auto-healing-intro,#game .auto-healing-footnote{line-height:1.55;color:#c1ccda}
#game .auto-healing-selects{display:grid;gap:14px;margin:20px 0}
#game .auto-healing-selects label{display:grid;gap:8px;color:#e8cf9a;font-weight:700}
#game .auto-healing-selects select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #526276;border-radius:8px;background:#172538;color:#f4f6fa;font-size:16px}
#game .auto-healing-inventory,#game .auto-healing-status{padding:12px;border:1px solid #40516a;border-radius:8px;background:#111c2b;color:#e3e9f1;line-height:1.45}
#game .auto-healing-status{min-height:24px;margin-top:10px}
#game .auto-healing-actions{display:flex;gap:10px;margin-top:14px}
#game .auto-healing-actions button{flex:1;min-height:48px}
#game .auto-healing-actions .auto-healing-secondary{background:#293849}
#game .auto-healing-footnote{font-size:13px;margin:14px 0 0}
#game #quickAbilities .quick-consumable-row:has(#autoHealingButton){grid-template-columns:repeat(5,minmax(0,1fr))!important;width:calc(5 * var(--quick-cell,calc(48px * var(--quick-bar-scale,2))) + 30px);max-width:calc(100vw - 24px);box-sizing:border-box;min-width:0}
#game #quickAbilities .quick-consumable-row:has(#autoHealingButton)>.consumable{width:100%!important;min-width:0!important}
#game #quickAbilities #autoHealingButton{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-width:44px;min-height:44px;height:100%;padding:4px 2px;border:2px solid #d7b676;border-radius:7px;background:linear-gradient(145deg,#685231,#30291f);color:#fff0ce;box-shadow:inset 0 0 0 1px #241d15,0 0 8px #d7b67633;line-height:1.1;cursor:pointer}
#game #quickAbilities #autoHealingButton strong{font-size:14px;color:inherit}
#game #quickAbilities #autoHealingButton small{font-size:10px;color:inherit}
#game #quickAbilities #autoHealingButton .auto-healing-symbol{font-size:18px;margin:0;color:inherit}
#game #quickAbilities #autoHealingButton.is-active{background:linear-gradient(145deg,#32513d,#182e23);border-color:#a9d6ac;color:#e4ffe8}
#game #quickAbilities #autoHealingButton:focus-visible{outline:2px solid #fff0ce;outline-offset:2px}
@media(max-width:600px){#game .auto-healing-card{width:calc(100vw - 24px);padding:20px}#game .auto-healing-card h2{font-size:22px}#game .auto-healing-actions{flex-direction:column}#game .auto-healing-slot{grid-template-columns:1fr}#game .auto-healing-slot>strong{grid-column:auto}}

/* Panel independiente del HUD: no escala con los botones del mundo. */
#resourceLoadingPanel[hidden]{display:none!important}
#resourceLoadingPanel:not([hidden]){position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:auto;background:radial-gradient(ellipse at 50% 25%,#243347f5,#080e17fa 75%);color:#f3ebdb;font:16px/1.45 system-ui,sans-serif}
#resourceLoadingPanel .resource-loading-card{box-sizing:border-box;width:min(480px,100%);max-height:calc(100dvh - 28px);overflow:auto;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:clamp(20px,4vw,32px);border:1px solid #ae935b;border-radius:10px;background:linear-gradient(145deg,#233343,#101b29);box-shadow:0 18px 70px #0009,inset 0 0 0 4px #0b131c;text-align:center}
#resourceLoadingPanel .brand-logo{display:block;align-self:center;width:112px;height:112px;max-width:30vw;object-fit:contain;margin:0;filter:drop-shadow(0 6px 12px #0008)}
#resourceLoadingPanel h2{margin:0;color:#f2d795;font-family:Georgia,serif;font-size:clamp(22px,5vw,28px);line-height:1.2}
#resourceLoadingPanel p{max-width:none;margin:0;font-size:16px;color:#e4eaf0;text-align:center;overflow-wrap:anywhere}
#resourceLoadingPanel #resourceLoadingDetail{min-height:1.4em;color:#cad6df;font-size:14px}
#resourceLoadingPanel .resource-progress-track{display:block;flex:none;width:100%;height:22px;overflow:hidden;border:1px solid #9d8552;border-radius:5px;background:#080f19;box-shadow:inset 0 2px 5px #0009}
#resourceProgressFill{display:block;height:100%;width:0;background:linear-gradient(90deg,#8b642b,#e3ba62,#f3d58a);box-shadow:0 0 10px #e1b65c66;transition:width .12s linear}
#resourceProgressText{color:#ffdf91;font-size:20px;font-variant-numeric:tabular-nums}
#resourceLoadingPanel button{display:block;flex:none;min-height:46px;width:100%;padding:12px 16px;border:1px solid #a58c58;border-radius:6px;background:#2b3b4b;color:#fff0cf;font-size:15px;font-weight:700;cursor:pointer}
#resourceLoadingPanel button[hidden]{display:none!important}
#resourceLoadingPanel button:focus-visible{outline:3px solid #7bdaf4;outline-offset:3px}
@media(max-height:500px){#resourceLoadingPanel .resource-loading-card{gap:8px;padding:16px 24px}#resourceLoadingPanel .brand-logo{width:64px;height:64px}#resourceLoadingPanel h2{font-size:22px}#resourceLoadingPanel button{min-height:42px;padding:9px 14px}}
@media(prefers-reduced-motion:reduce){#resourceProgressFill{transition:none}}

/* ═══ HUD optimizado para móvil en horizontal (hud-v2.js) ═══
   Ámbito: html.hud-v2.mobile-ui #game.hud-v2-active (móvil, cualquier orientación). Escritorio no cambia.
   Los controles originales siguen existiendo; aquí solo se recolocan u ocultan. */
#hudV2Top,#hudV2Target,#hudV2Sheet{display:none}
html.hud-v2.mobile-ui #game.hud-v2-active #protectedZoneStatus:not(#_){display:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active{--hud2-edge-l:max(10px,env(safe-area-inset-left));--hud2-edge-r:max(10px,env(safe-area-inset-right));--hud2-edge-t:max(8px,env(safe-area-inset-top));--hud2-edge-b:max(8px,env(safe-area-inset-bottom));--hud2-glass:#0d1520d9;--hud2-line:#c7a56c55}
/* Cabecera fuera del flujo: el mapa ocupa toda la pantalla (1px evita el valor por defecto del lienzo). */
html.hud-v2.mobile-ui #game.hud-v2-active>header{position:absolute!important;inset:0 0 auto 0!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active>#arena{max-height:100%!important}
html.hud-v2.mobile-ui #game.hud-v2-active #menuButtons,
html.hud-v2.mobile-ui #game.hud-v2-active #friendsButton,
html.hud-v2.mobile-ui #game.hud-v2-active #rankingsButton,
html.hud-v2.mobile-ui #game.hud-v2-active #leave,
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .ui-quick-toolbar,
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities #abilitiesButton,
html.hud-v2.mobile-ui #game.hud-v2-active #autoHealingButton,
html.hud-v2.mobile-ui #game.hud-v2-active #pickupButton:disabled,
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .consumable[data-consumable-key=""],
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability.empty:nth-child(n+6),
html.hud-v2.mobile-ui #game.hud-v2-active #questTracker .quest-hint,
html.hud-v2.mobile-ui #game.hud-v2-active:not(.hud-v2-quest-open) #questTracker,
html.hud-v2.mobile-ui #game.hud-v2-active:not(.hud-v2-battle-open) #nearbyEntitiesPanel,
html.hud-v2.mobile-ui #game.hud-v2-active .direction-pad-window-title,
html.hud-v2.mobile-ui #game.hud-v2-active .generic-joystick-title{display:none!important}

/* Ficha del personaje: vida y maná juntos, arriba a la izquierda */
html.hud-v2.mobile-ui #game.hud-v2-active #hudStats{position:fixed!important;top:var(--hud2-edge-t)!important;left:var(--hud2-edge-l)!important;right:auto!important;bottom:auto!important;width:220px!important;display:flex!important;flex-direction:column!important;gap:4px!important;padding:6px 8px!important;margin:0!important;border:1px solid var(--hud2-line)!important;border-radius:12px!important;background:var(--hud2-glass)!important;box-shadow:0 4px 14px #0006!important;transform:none!important;z-index:16!important;pointer-events:none}
html.hud-v2.mobile-ui #game.hud-v2-active #hudStats>div,html.hud-v2.mobile-ui #game.hud-v2-active #manaGroup{display:block!important;width:100%!important;margin:0!important;padding:0!important}
html.hud-v2.mobile-ui #game.hud-v2-active #healthBar,html.hud-v2.mobile-ui #game.hud-v2-active #manaBar{width:100%!important;max-width:none!important;margin:0!important;border-radius:6px!important;min-height:0!important}
html.hud-v2.mobile-ui #game.hud-v2-active #healthBar{height:16px!important}
html.hud-v2.mobile-ui #game.hud-v2-active #manaBar{height:11px!important}
html.hud-v2.mobile-ui #game.hud-v2-active #hudStats .stat-label{top:50%!important;left:6px!important;transform:translateY(-50%);font-size:10px!important;line-height:1!important}
html.hud-v2.mobile-ui #game.hud-v2-active #hudStats .stat-text{top:50%!important;left:auto!important;right:6px!important;transform:translateY(-50%);font-size:10.5px!important;line-height:1!important}
html.hud-v2.mobile-ui #game.hud-v2-active #manaBar .stat-label,html.hud-v2.mobile-ui #game.hud-v2-active #manaBar .stat-text{font-size:9px!important}

/* Misión: debajo de la ficha, plegable con su propia cabecera */
html.hud-v2.mobile-ui #game.hud-v2-active #questTracker{position:fixed!important;top:calc(var(--hud2-edge-t) + 54px)!important;left:var(--hud2-edge-l)!important;right:auto!important;transform:none!important;width:220px!important;box-sizing:border-box;padding:6px 9px!important;font-size:12px!important;line-height:1.3!important;border-radius:12px!important;border-color:var(--hud2-line)!important;background:#0d1520c4!important;box-shadow:0 4px 14px #0005!important;z-index:15!important;max-height:max(78px,calc(var(--ui-viewport-height,100vh) - 265px));overflow-y:auto;overscroll-behavior:contain}
html.hud-v2.mobile-ui #game.hud-v2-active #questTracker .quest-tracker-head{min-height:28px;font-size:12px}
html.hud-v2.mobile-ui #game.hud-v2-active #questTracker .quest-tracker-head strong{color:var(--ui-gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.hud-v2.mobile-ui #game.hud-v2-active #questTracker .quest-badge{flex-basis:18px;height:18px;font-size:11px}
html.hud-v2.mobile-ui #game.hud-v2-active #questTracker .quest-talk{margin-top:5px!important;padding:5px 8px!important;min-height:32px;font-size:12px!important}

/* Zona protegida: aviso discreto centrado */
html.hud-v2.mobile-ui #game.hud-v2-active #protectedZoneStatus{position:fixed!important;top:var(--hud2-edge-t)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;padding:3px 10px!important;font-size:11px!important;line-height:1.4!important;border-radius:999px!important;min-height:0!important;z-index:14!important}

/* Arriba a la derecha: menú, chat y minimapa */
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Top{position:fixed;top:var(--hud2-edge-t);right:var(--hud2-edge-r);z-index:16;display:flex;gap:6px;align-items:flex-start}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-top-buttons{display:flex;flex-direction:column;gap:6px}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-top-buttons>button{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:12px;background:var(--hud2-glass);border:1px solid var(--hud2-line);color:var(--ui-gold)}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2ChatButton{color:var(--ui-text)}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-top-buttons .ui-icon{width:21px;height:21px}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:#f2b53a;box-shadow:0 0 0 2px #0d1520}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:9px;background:var(--ui-red);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-dot[hidden],html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-count[hidden]{display:none}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-map-column{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Minimap{display:block;width:112px;height:78px;min-height:0;padding:0;overflow:hidden;border-radius:12px;border:1px solid #c7a56c88;background:#081525;box-shadow:0 4px 14px #0006}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Minimap canvas{display:block;width:100%;height:100%;image-rendering:pixelated}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Status{display:flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;background:#0d1520c7;color:var(--ui-text);font-size:10.5px;font-weight:600;white-space:nowrap}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-ping-dot{width:6px;height:6px;border-radius:50%;background:var(--ui-green)}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Status[data-level=medium] .hud-v2-ping-dot{background:#e8b84a}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Status[data-level=high] .hud-v2-ping-dot{background:var(--ui-red)}

/* Lista de batalla: botón con contador bajo el minimapa; la ventana solo cuando se pide */
html.hud-v2.mobile-ui #game.hud-v2-active.hud-v2-battle-open #nearbyEntitiesPanel{top:var(--hud2-edge-t)!important;left:calc(var(--hud2-edge-l) + 230px)!important;right:auto!important;bottom:auto!important;width:220px!important;max-width:220px!important;max-height:calc(var(--ui-viewport-height,100vh) - 2 * var(--hud2-edge-t) - 30px)!important;min-height:0;z-index:17!important}

/* Movimiento: sin marco ni título, semitransparente */
html.hud-v2.mobile-ui #game.hud-v2-active #directionPadWindow,html.hud-v2.mobile-ui #game.hud-v2-active #genericJoystickWindow{left:calc(var(--hud2-edge-l) + 8px)!important;bottom:var(--hud2-edge-b)!important;top:auto!important;right:auto!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #directionPadWindow,html.hud-v2.mobile-ui #game.hud-v2-active #genericJoystickWindow{height:auto!important;aspect-ratio:1/1}
html.hud-v2.mobile-ui #game.hud-v2-active #directionPadWindow .direction-pad-window-body{height:100%}
html.hud-v2.mobile-ui #game.hud-v2-active #directionPadWindow .direction-pad-window-button{opacity:.8}
html.hud-v2.mobile-ui #game.hud-v2-active .generic-joystick-base{background:radial-gradient(circle,#0d152055 0 55%,#0d152088 56%)!important;border:2px solid #f0e9da66!important;box-shadow:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active .generic-joystick-knob{background:radial-gradient(circle at 40% 35%,#f3e3bf,#c7a56c)!important;box-shadow:0 2px 8px #0008!important}

/* Recoger: solo aparece cuando hay algo que recoger */
html.hud-v2.mobile-ui #game.hud-v2-active #pickupButton:not(:disabled){position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(var(--hud2-edge-b) + 70px)!important;transform:translateX(-50%)!important;width:auto!important;min-height:44px;padding:0 18px!important;border-radius:999px!important;border:1px solid var(--ui-gold)!important;background:#0d1520e6!important;color:var(--ui-text)!important;z-index:1001}

/* Acciones: arco de habilidades alrededor de la ranura 1 */
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities{position:fixed!important;right:var(--hud2-edge-r)!important;bottom:var(--hud2-edge-b)!important;left:auto!important;top:auto!important;width:244px!important;height:244px!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;transform:none!important;pointer-events:auto;touch-action:none;z-index:8}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row{position:absolute!important;inset:0!important;display:block!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;gap:0!important;background:none!important;border:0!important;box-shadow:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability{--s:54px;--cx:0px;--cy:0px;position:absolute!important;right:calc(var(--cx) - var(--s) / 2)!important;bottom:calc(var(--cy) - var(--s) / 2)!important;left:auto!important;top:auto!important;width:var(--s)!important;height:var(--s)!important;min-width:0!important;min-height:0!important;max-width:none!important;padding:0!important;margin:0!important;border-radius:50%!important;overflow:hidden;pointer-events:auto;border:2px solid #c7a56cb3!important;background:#0d1520e0!important;box-shadow:0 3px 10px #0007!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability:nth-child(1){--s:84px;--cx:52px;--cy:52px;border-width:3px!important;border-color:var(--ui-gold)!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability:nth-child(2){--cx:158px;--cy:46px}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability:nth-child(3){--cx:144px;--cy:105px}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability:nth-child(4){--cx:105px;--cy:144px}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability:nth-child(5){--cx:46px;--cy:158px}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability:nth-child(6){--s:46px;--cx:214px;--cy:96px}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability:nth-child(7){--s:46px;--cx:170px;--cy:170px}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability:nth-child(8){--s:46px;--cx:96px;--cy:214px}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover;border-radius:50%}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row .quick-slot-number{position:absolute!important;top:auto!important;bottom:3px!important;left:50%!important;right:auto!important;transform:translateX(-50%);min-width:0!important;padding:0 4px!important;font-size:9px!important;line-height:13px!important;border-radius:6px!important;background:#0d1520cc!important;z-index:2}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability.empty{border-style:dashed!important;border-color:#f0e9da55!important;background:#0d152077!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability.empty>span:not(.quick-slot-number){display:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability.empty .quick-slot-number{top:50%!important;bottom:auto!important;transform:translate(-50%,-50%);background:none!important;font-size:13px!important;color:#f0e9da99}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row .cooldown-label:empty,html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row .quick-state-label:empty{display:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row .cooldown-label,html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row .quick-state-label{position:absolute!important;inset:0!important;display:grid;place-items:center;font-size:13px!important;border-radius:50%;z-index:1}
/* Consumibles asignados: accesos pequeños a la izquierda del arco */
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-consumable-row{position:absolute!important;left:auto!important;top:auto!important;right:262px!important;bottom:0!important;display:flex!important;flex-direction:row!important;gap:6px!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-consumable-row>.consumable:not(#_){position:relative!important;width:46px!important;height:46px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:12px!important;font-size:0!important;color:transparent!important;overflow:hidden;pointer-events:auto;border:1px solid #f0e9da33!important;background:#0d1520e0 center/30px no-repeat!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-consumable-row>.consumable:not(#_)>span{display:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-consumable-row>.consumable[data-hud-qty]:not([data-hud-qty=""])::after{content:"×" attr(data-hud-qty);position:absolute;right:4px;bottom:2px;font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000,0 0 3px #000}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .consumable[data-consumable-key="potion-red"]:not(#_){background-image:url(assets/items/consumables/potion-red.png)!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .consumable[data-consumable-key="potion-blue"]:not(#_){background-image:url(assets/items/consumables/potion-blue.png)!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .consumable[data-consumable-key="bread"]:not(#_),html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .consumable[data-consumable-key="bread-regeneration"]:not(#_){background-image:url(assets/items/consumables/bread.png)!important}

/* Menú desplegable */
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Sheet:not([hidden]){position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:12px;background:#05080dad}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-card{width:min(600px,calc(100vw - 32px));max-height:calc(var(--ui-viewport-height,100vh) - 24px);overflow:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid #c7a56c80;border-radius:16px;background:linear-gradient(160deg,#1a2330,#0f1620);box-shadow:var(--ui-shadow);color:var(--ui-text)}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-head{display:flex;align-items:center;gap:10px}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-head strong{font-family:var(--ui-title);font-size:18px;color:var(--ui-gold)}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-status{flex:1;color:var(--ui-muted);font-size:12px}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-grid>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:70px;padding:6px 4px;border-radius:12px;font-size:12px;font-weight:600;line-height:1.15;text-align:center}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-grid>button[hidden]{display:none}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-grid>button .ui-icon{width:24px;height:24px;color:var(--ui-gold)}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-grid>button[aria-pressed=true]{border-color:var(--ui-gold);background:#3a2d17}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-grid>button span[data-count]:not([data-count=""])::after{content:" (" attr(data-count) ")";color:#f2b53a}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ui-muted)}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-leave{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 14px}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-leave .ui-icon{width:18px;height:18px}
/* Ventanas ancladas a botones ocultos: centradas */
html.hud-v2.mobile-ui #game.hud-v2-active #friendsPanel{left:50%!important;top:12px!important;transform:translateX(-50%)}
html.hud-v2.mobile-ui #game.hud-v2-active #nearbyEntitiesPanel .nearby-entities-header:not(#_){padding:4px 6px 4px 10px!important;min-height:0}
html.hud-v2.mobile-ui #game.hud-v2-active #nearbyEntitiesPanel .nearby-entities-header strong:not(#_){font-size:14px!important}
html.hud-v2.mobile-ui #game.hud-v2-active #nearbyEntitiesPanel .nearby-entities-header button:not(#_){width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
html.hud-v2.mobile-ui #game.hud-v2-active #nearbyEntitiesPanel .nearby-entity:not(#_){grid-template-columns:22px minmax(0,1fr)!important;min-height:44px!important;padding:5px 8px!important;gap:0 8px!important;align-items:center}
html.hud-v2.mobile-ui #game.hud-v2-active #nearbyEntitiesPanel .nearby-entity:not(#_)>strong{font-size:13px!important;line-height:1.3!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal!important}
html.hud-v2.mobile-ui #game.hud-v2-active #nearbyEntitiesPanel .nearby-entity:not(#_)>small{font-size:11px!important;line-height:1.3!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal!important;color:var(--ui-muted)}
html.hud-v2.mobile-ui #game.hud-v2-active #nearbyEntitiesPanel .nearby-entity:not(#_)>small.nearby-hp{grid-column:2!important;grid-row:3!important}
html.hud-v2.mobile-ui #game.hud-v2-active #nearbyEntitiesPanel .nearby-entity:not(#_)>small.nearby-hp.empty{display:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #nearbyEntitiesPanel .nearby-entity:not(#_)>span:not(.nearby-hp){grid-row:1/4!important;font-size:18px}
/* Vertical: consumibles y Recoger encima del arco; ventanas a lo ancho */
@media (orientation:portrait){
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-consumable-row:not(#_){right:0!important;bottom:250px!important;flex-direction:column!important}
html.hud-v2.mobile-ui #game.hud-v2-active #pickupButton:not(:disabled){bottom:calc(var(--hud2-edge-b) + 250px)!important}
html.hud-v2.mobile-ui #game.hud-v2-active.hud-v2-battle-open #nearbyEntitiesPanel{top:calc(var(--hud2-edge-t) + 54px)!important;left:var(--hud2-edge-l)!important;width:min(260px,calc(100vw - 150px))!important;max-width:none!important;max-height:calc(var(--ui-viewport-height,100vh) - 340px)!important}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
html.hud-v2.mobile-ui #game.hud-v2-active #protectedZoneStatus{top:calc(var(--hud2-edge-t) + 112px)!important;left:auto!important;right:var(--hud2-edge-r)!important;transform:none!important}
}

/* Selector de objetivo junto al arco de habilidades */
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Target{position:fixed;display:grid;place-items:center;right:calc(var(--hud2-edge-r) + 200px);bottom:var(--hud2-edge-b);z-index:9;width:56px;height:56px;min-width:56px;min-height:56px;padding:0;border-radius:50%;border:2px solid #f0e9da55;background:#0d1520d9;color:var(--ui-muted);box-shadow:0 3px 10px #0007}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Target .ui-icon{width:28px;height:28px}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Target.has-entities{color:var(--ui-text);border-color:#e7b0ab99}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Target.has-target{color:#ffb3a7;border-color:var(--ui-red);background:#2a1418e6}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-target-count{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:9px;background:var(--ui-red);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
html.hud-v2.mobile-ui #game.hud-v2-active .hud-v2-target-count:empty{display:none}
/* Ficha del objetivo: barra fina bajo el aviso de zona, sin tapar el centro */
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel:not(#_){top:calc(var(--hud2-edge-t) + 30px)!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important;width:min(300px,calc(100vw - 520px))!important;min-width:200px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 30px;grid-template-rows:auto auto;gap:3px 6px;align-items:center;padding:5px 6px 6px 10px!important;border-radius:10px!important;border-color:#dc647088!important;background:#0d1520e0!important;box-shadow:0 3px 10px #0006!important;pointer-events:auto;z-index:14!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel[hidden]{display:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel .combat-target-main{grid-column:1;grid-row:1;display:flex;align-items:center;gap:6px;min-width:0;margin:0!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel .combat-target-main>div{display:flex;align-items:baseline;gap:6px;min-width:0}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetIcon{font-size:14px!important;line-height:1}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetName{font-size:13px!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ffd0c9}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetKind{display:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel .combat-target-hp{grid-column:1;grid-row:2;position:relative;height:12px!important;min-height:0!important;margin:0!important;border-radius:6px!important;overflow:hidden}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetHpText{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9.5px!important;line-height:1!important;font-weight:700}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetIcons:empty{display:none}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetIcons{grid-column:1/-1;margin:0!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetCancel:not(#_){position:static!important;grid-column:2;grid-row:1/3;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important;display:grid;place-items:center;border-radius:8px!important;font-size:16px!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetCancel .ui-icon{width:16px;height:16px}
@media (orientation:portrait){
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Target{right:var(--hud2-edge-r);bottom:calc(var(--hud2-edge-b) + 250px)}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-consumable-row:not(#_){right:66px!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel:not(#_){top:calc(var(--hud2-edge-t) + 196px)!important;width:min(300px,calc(100vw - 24px))!important}
}

/* Avisos en partida: compactos, arriba en el centro y sin bloquear el juego */
html.hud-v2.mobile-ui.hud-v2-ingame #uiNotifications:not(#_){position:fixed!important;top:max(4px,env(safe-area-inset-top))!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important;width:min(300px,calc(100vw - 32px))!important;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:1400!important}
html.hud-v2.mobile-ui.hud-v2-ingame #uiNotifications .ui-notice:not(#_):not(#__){width:auto;max-width:100%;align-items:center;gap:8px;padding:6px 12px!important;border-radius:999px!important;border-left-width:1px!important;background:#0d1520e6!important;box-shadow:0 3px 10px #0006!important;pointer-events:auto;animation:hud2-toast .18s ease-out}
html.hud-v2.mobile-ui.hud-v2-ingame #uiNotifications .ui-notice strong,html.hud-v2.mobile-ui.hud-v2-ingame #uiNotifications .ui-notice .ui-icon-button{display:none!important}
@layer ui-priority{html.hud-v2.mobile-ui.hud-v2-ingame #uiNotifications .ui-notice span:not(#_):not(#__):not(#___){margin:0!important;font-size:13px!important;line-height:1.3!important}}
html.hud-v2.mobile-ui.hud-v2-ingame #uiNotifications .ui-notice>.ui-icon{margin:0!important;width:16px;height:16px;flex:0 0 16px}
@keyframes hud2-toast{from{opacity:0;transform:translateY(-6px)}}
html.hud-v2.mobile-ui.hud-v2-ingame.ui-reduced-motion #uiNotifications .ui-notice{animation:none}
/* Texto breve de combate junto a las habilidades */
#hudV2Hint{display:none}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Hint{display:block;position:fixed;right:calc(max(10px,env(safe-area-inset-right)) + 20px);bottom:calc(max(8px,env(safe-area-inset-bottom)) + 100px);z-index:12;padding:3px 10px;border-radius:999px;background:#0d1520d0;color:#ffd38a;font-size:12px;font-weight:700;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Hint[data-tone=good]{color:#9be3ae}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Hint.is-visible{opacity:1;transform:none}
/* Aviso de carga del mundo y similares: pequeño */
html.hud-v2.mobile-ui #game.hud-v2-active #combatNotice:not(#_){top:calc(var(--hud2-edge-t) + 74px)!important;padding:5px 12px!important;border-radius:999px!important;font-size:12px!important;max-width:min(320px,70vw)!important;background:#0d1520e0!important;border-color:#c7a56c55!important}
/* Escala de interfaz del jugador: no deformar la ficha (vida desde la izquierda y maná desde la derecha) */
html.hud-v2.mobile-ui #game.hud-v2-active #hudStats>div:not(#_),html.hud-v2.mobile-ui #game.hud-v2-active #hudStats .stat-bar:not(#_){transform:none!important}
html.hud-v2.mobile-ui #game.hud-v2-active #hudStats .stat-bar:not(#_){width:100%!important;max-width:none!important;border-width:1px!important;box-shadow:none!important}
/* Ranura bloqueada: candado en lugar de texto cortado */
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability.is-locked .quick-state-label:not(#_){font-size:0!important;background:#0d1520a8!important}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability.is-locked .quick-state-label:not(#_)::before{content:"";width:18px;height:18px;background:#f0e9dacc;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2.4' d='M5 10h14v11H5V10Zm3 0V6a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2.4' d='M5 10h14v11H5V10Zm3 0V6a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat}
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-ability-row>.quick-ability.is-locked img{filter:grayscale(1) brightness(.6)}
/* Ficha de objetivo algo más estrecha */
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel:not(#_){width:min(260px,calc(100vw - 520px))!important}
/* Toques entre las habilidades no deben llegar al mapa: allí quitarían el objetivo y el ataque del arma */
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-consumable-row:not(#_){pointer-events:auto}

/* Zona: icono bajo el estado de red; el nombre aparece al tocar o mantener pulsado */
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Zone{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:6px;width:auto;min-width:36px;height:30px;min-height:30px;padding:0 6px;border:0;border-radius:999px;background:#0d1520c7;color:#d9c7a0;font-size:11.5px;font-weight:700;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Zone[data-kind=safe]{color:#8fe0b4}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Zone .ui-icon{width:18px;height:18px;display:block}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Zone .hud-v2-zone-label{display:none;white-space:nowrap}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Zone.is-open{padding:0 10px}
html.hud-v2.mobile-ui #game.hud-v2-active #hudV2Zone.is-open .hud-v2-zone-label{display:inline}
/* Ficha del objetivo: a la izquierda bajo vida y maná, compacta (una fila + barra) */
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel:not(#_):not(#__){top:calc(var(--hud2-edge-t) + 54px)!important;left:var(--hud2-edge-l)!important;right:auto!important;transform:none!important;width:220px!important;min-width:0!important;padding:4px 4px 5px 9px!important;grid-template-columns:minmax(0,1fr) 34px;gap:2px 6px;border-radius:12px!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel .combat-target-hp:not(#_){height:9px!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetHpText:not(#_){position:static!important;display:block!important;font-size:0!important}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel .combat-target-main::after{content:attr(data-hp);margin-left:auto;font-size:11px;font-weight:700;color:var(--ui-muted);white-space:nowrap}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetCancel:not(#_):not(#__){width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;background:transparent!important;border-color:transparent!important}
html.hud-v2.mobile-ui #game.hud-v2-active.hud-v2-has-target #questTracker:not(#_){top:calc(var(--hud2-edge-t) + 104px)!important}
@media (orientation:portrait){html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel:not(#_):not(#__){top:calc(var(--hud2-edge-t) + 54px)!important}}
/* 8 ranuras de consumibles: dos filas horizontales de 4 (móvil y escritorio) */
html.hud-v2.mobile-ui #game.hud-v2-active #quickAbilities .quick-consumable-row:not(#_):not(#__){flex-direction:row!important;flex-wrap:wrap!important;width:calc(4 * 46px + 3 * 6px)!important;max-height:none!important;align-content:flex-start!important}
/* Consumibles fuera del HUD móvil (APK con interfaz clásica y escritorio): siempre 4 columnas x 2 filas; el botón Auto ocupa una fila propia debajo */
#game #quickAbilities .quick-consumable-row:not(#_):not(#__){grid-template-columns:repeat(4,var(--safe-quick-cell,60px))!important;width:auto;max-width:calc(100vw - 24px)}
#game #quickAbilities .quick-consumable-row:not(#_):not(#__)>#autoHealingButton{grid-column:1/-1;flex-direction:row;height:auto;min-height:36px;gap:8px}

/* Phone windows use CSS reading units, not the wide-WebView HUD multiplier. */
.window-back-menu{display:none}
#levelHud{position:relative;width:100%;margin-top:2px;pointer-events:auto;transform:none!important}
#game #levelHudButton{display:flex;align-items:center;gap:6px;width:100%;min-height:18px;height:18px;padding:0 2px;border:0;border-radius:2px;background:transparent;box-shadow:none;color:#c7ba9c;font-size:11px;line-height:1;touch-action:none;user-select:none;-webkit-touch-callout:none}
#levelHud .level-hud-label{white-space:nowrap;font-size:11px;font-weight:500}
#levelHud .level-hud-track{display:block;flex:1;height:3px;overflow:hidden;border:0;border-radius:2px;background:#090e16}
#levelHud .level-hud-fill{display:block;width:0;height:100%;background:linear-gradient(90deg,#987845,#dcc18a)}
#levelHudDetails{position:absolute;top:calc(100% + 6px);right:0;z-index:100;width:max-content;max-width:min(320px,calc(100vw - 32px));padding:10px 12px;border:1px solid #b89b62;border-radius:8px;background:#101822fa;color:#f0e9da;box-shadow:0 4px 16px #0009;font:14px/1.5 system-ui;white-space:pre-line;pointer-events:none}
html.hud-v2.mobile-ui #game.hud-v2-active #levelHudDetails{left:0;right:auto}
html.hud-v2.mobile-ui #game.hud-v2-active #combatTargetPanel:not(#_):not(#__):not(#___){top:calc(var(--hud2-edge-t) + 54px + var(--level-hud-space,0px))!important}
html.hud-v2.mobile-ui #game.hud-v2-active #questTracker:not(#_):not(#__){top:calc(var(--hud2-edge-t) + 54px + var(--level-hud-space,0px))!important}
html.hud-v2.mobile-ui #game.hud-v2-active.hud-v2-has-target #questTracker:not(#_):not(#__){top:calc(var(--hud2-edge-t) + 104px + var(--level-hud-space,0px))!important}
@layer ui-priority{
 :root.mobile-ui #game .ui-window:not(#_){--ui-reading-scale:1!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-header{min-height:54px!important;padding:4px 8px!important;gap:4px!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-header>:is(h2,.inventory-drag-header){font-size:20px!important;text-align:left!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-header>button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:0 0 44px!important;padding:8px!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-header>button .ui-icon{width:20px!important;height:20px!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-header>.window-back-menu{display:block!important;width:auto!important;flex:0 0 auto!important;min-width:66px!important;font:600 14px/1.2 system-ui!important;color:var(--ui-text)!important}
 :root.mobile-ui #game .ui-window.panel-minimized:not(#_) .window-back-menu{display:none!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-body{padding:10px!important;font-size:16px!important;line-height:1.4!important;min-height:0!important;overscroll-behavior:contain}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-body :is(p,label,button,input,select,textarea,summary,li,dt,dd,strong,b,span){font-size:16px!important;line-height:1.4!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-body :is(small,time,.slot-label,.slot-details,.item-stat small,.ability-choice span span){font-size:14px!important;line-height:1.3!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-body :is(h3,h4){font-size:18px!important;margin-block:8px!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-body :is(button,input,select){min-height:44px!important;padding:6px 10px!important}
 :root.mobile-ui #game .ui-window:not(#_) .progress-track{height:8px!important}
 :root.mobile-ui #game #abilitiesPanel .ui-window:not(#_) .ui-window-body{padding:0!important;overflow:hidden!important}
 :root.mobile-ui #game #abilitiesPanel .ability-workspace{grid-template-columns:minmax(210px,30%) minmax(0,1fr)!important;min-height:0!important}
 :root.mobile-ui #game #abilitiesPanel.ability-single .ability-workspace{grid-template-columns:minmax(0,1fr)!important}
 :root.mobile-ui #game #abilitiesPanel :is(.ability-library,#abilityDetail){padding:10px!important;overscroll-behavior:contain;min-height:0!important}
 :root.mobile-ui #game #abilitiesPanel #abilitiesList .ability-choice{grid-template-columns:36px minmax(0,1fr) 12px!important;min-height:80px!important;padding:8px!important;gap:8px!important;margin-bottom:6px!important}
 :root.mobile-ui #game #abilitiesPanel #abilitiesList .ability-choice img{width:36px!important;height:36px!important}
 :root.mobile-ui #game #abilitiesPanel #abilitiesList .ability-choice strong{font-size:16px!important}
 :root.mobile-ui #game #abilitiesPanel .ability-detail-heading img{width:48px!important;height:48px!important}
 :root.mobile-ui #game #abilitiesPanel .ability-detail-heading{gap:10px!important}
 :root.mobile-ui #game #abilitiesPanel .ability-detail-heading h3{font-size:20px!important}
 :root.mobile-ui #game #abilitiesPanel #abilityDetail p{font-size:16px!important;margin:6px 0!important}
 :root.mobile-ui #game #abilitiesPanel :is(.ability-facts,.ability-effects){gap:8px!important;margin:10px 0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 :root.mobile-ui #game #abilitiesPanel :is(.ability-facts,.ability-effects)>div{padding:8px!important}
 :root.mobile-ui #game #abilitiesPanel #abilityDetail dt{font-size:14px!important}
 :root.mobile-ui #game #abilitiesPanel #abilityDetail dd{font-size:17px!important;margin:4px 0 0!important}
 :root.mobile-ui #game #abilitiesPanel .character-progress-extras>summary{padding:8px!important}
 :root.mobile-ui #game #abilitiesPanel .ability-assignment{gap:8px!important;margin-top:10px!important}
 :root.mobile-ui #game #abilitiesPanel .ability-combat-summary{margin:8px 0!important;color:var(--ui-muted)}
 :root.mobile-ui #game .unified-inventory:not(#_) :is(.inventory-wallets,.inventory-content){gap:8px!important;margin-block:8px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) :is(.diamond-section,.gold-section,.inventory-capacity){padding:8px!important;margin:0 0 8px!important;min-height:0!important;gap:8px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) :is(.diamond-icon,.gold-icon){width:28px!important;height:28px!important;min-width:28px!important;font-size:24px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-sections button{min-height:44px!important;padding:6px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-body{grid-template-columns:minmax(0,1fr) minmax(240px,.8fr)!important;gap:10px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))!important;gap:8px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-item{min-height:96px!important;padding:6px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-icon{width:44px!important;height:44px!important;min-height:44px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-icon img{width:40px!important;height:40px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .item-stat b{font-size:20px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-sort{width:100px!important;min-width:100px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-wallets{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .diamond-section{grid-template-columns:28px minmax(0,1fr)!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .gold-section{flex-direction:row!important;align-items:center!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-wallets strong{font-size:14px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-wallet-services{margin:4px 0 8px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-wallet-services summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--ui-gold)}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-wallet-services summary::before{content:'▸';margin-right:8px}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-wallet-services[open] summary::before{content:'▾'}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-detail:not(:has(.item-detail-heading)){display:none!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .item-detail-art{height:48px!important;flex-basis:48px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .item-detail-art img{width:44px!important;height:44px!important}
 :root.mobile-ui.mobile-window-open #game .game-panel:has(.panel-minimized){visibility:hidden!important;pointer-events:none!important}
}
@media(max-width:659px){
 @layer ui-priority{
 :root.mobile-ui #game .unified-inventory:not(#_) :is(.inventory-body,.inventory-wallets){grid-template-columns:minmax(0,1fr)!important}
 :root.mobile-ui #game .ui-window:not(#_) .ui-window-header>:is(h2,.inventory-drag-header){font-size:17px!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-wallets{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important;display:grid!important}
 :root.mobile-ui #game .unified-inventory:not(#_) .inventory-tabs button{font-size:14px!important;padding:4px!important}
 }
}
