/* Scroll gestures belong to menus; movement/casting retain pointer capture. */
html,body{touch-action:auto}#world,#overlay,#joystick,#combat-controls,#combat-controls button{touch-action:none}
#modal,#modal .panel,#modal-content,#modal button,#modal summary,#modal label,#modal select{touch-action:pan-y}
#modal .panel{overflow:hidden}#modal-content{overflow-y:auto;overscroll-behavior:contain;min-height:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#a89264 #14283d}
#modal input[type=range]{touch-action:pan-x}#modal input[type=search]{user-select:text}
.collection-grid,.shop-grid,.armory-grid,.settings-shell,.settings-fields,.rune-summary,.hero-browser{min-height:0;min-width:0}
.settings-nav{position:sticky;top:0;align-self:start}.settings-head .secondary{width:auto;font-size:12px;margin:0 0 0 16px;padding:9px 16px}
.setting-row label{line-height:1.7}.setting-row select{max-width:48%}.training-actions button{font-size:12px}.training-switches label{min-width:145px}
.hero-avatar{width:100%;height:100%;display:block;border-radius:inherit;pointer-events:none}
#target-choices{position:absolute;right:calc(234px * var(--control-scale));bottom:calc(92px * var(--control-scale));width:auto;max-width:164px;display:grid;grid-template-columns:repeat(3,46px);gap:8px;background:none;border:0;padding:0;pointer-events:auto;z-index:16}
#target-choices button{position:relative;width:46px;height:46px;padding:0;border:2px solid #8a99a5;border-radius:50%;background:#182f45;opacity:.8;touch-action:none;overflow:visible}
#target-choices button svg{width:100%;height:100%;border-radius:50%;overflow:hidden}#target-choices button.in-range{border-color:#a0d5e3;opacity:1}#target-choices button.locked{border-color:#ffce7b;box-shadow:0 0 12px #f4b659;opacity:1}
#target-choices i{position:absolute;bottom:-3px;left:3px;right:3px;height:4px;background:linear-gradient(to right,#e8998b var(--hp),#192a38 var(--hp));border:1px solid #102638;pointer-events:none}
#target-choices em{position:absolute;bottom:-16px;left:0;right:0;text-align:center;font-size:9px;color:#d7e8eb;font-style:normal;text-shadow:0 1px 3px #000;pointer-events:none}
#target-choices b{display:none;position:absolute;inset:0;place-items:center;font-size:27px;color:#ffe5a1;text-shadow:0 2px 6px #000;pointer-events:none}#target-choices .locked b{display:grid}
#target-choices.hidden{display:none}#skill-description{position:absolute;right:calc(218px * var(--control-scale));bottom:calc(170px * var(--control-scale));width:min(310px,47vw);max-height:42vh;overflow:hidden;padding:13px 16px;background:#0b2035f5;border:1px solid #b99e69;box-shadow:0 10px 30px #0006;color:#d7e4ee;z-index:30;pointer-events:none;font-size:12px;line-height:1.6}
#skill-description strong{display:block;font-size:17px;color:#f1d295}#skill-description span{display:block;font-size:10px;color:#a7c7dc;margin-top:5px}#skill-description p{margin:6px 0}#skill-description small{color:#c2b28f;font-size:10px}#skill-description[hidden]{display:none}
#form-btn[hidden]{display:none}.utility #form-btn{border-color:#d2b374}.utility #form-btn:disabled{opacity:.5}
.hero-browser-head{display:flex;align-items:center;gap:14px;padding-right:30px}.hero-browser-head h2{margin:4px 12px 12px 0}.hero-browser-head input[type=search]{min-width:0;flex:1;background:#0c2338;padding:9px 12px;border:1px solid #8fabc35c;color:#e2eaf2}.hero-browser-head label{font-size:11px;white-space:nowrap}
.hero-role-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 14px}.hero-role-tabs button{border:1px solid #758d9d55;color:#9cb7cd;padding:8px 16px;font-size:12px}.hero-role-tabs .active{color:#f0d197;border-color:#d7b776;background:#354b61}
.hero-browser{display:grid;grid-template-columns:minmax(200px,1fr) minmax(190px,.7fr);gap:18px}#hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:12px;max-height:59vh;overflow-y:auto;touch-action:pan-y;padding:2px 5px 10px 0}.hero-tile{padding:0 0 9px;background:#193450;border:1px solid #7d99b444;color:#dee9f2;min-width:0}.hero-tile .hero-avatar{aspect-ratio:1;max-height:110px}.hero-tile b,.hero-tile small{display:block;margin-top:6px;font-size:12px}.hero-tile small{font-size:9px;color:#a4bbce}.hero-tile.selected{border-color:#edc67c;box-shadow:0 0 12px #e6c07d22}
#hero-detail{padding:14px;background:linear-gradient(140deg,#223d58,#102239);max-height:59vh;overflow-y:auto;touch-action:pan-y}#hero-detail h2{margin:9px 0;font-size:22px}#hero-detail p{font-size:12px;line-height:1.7}.hero-large-avatar{float:right;width:78px;height:78px;border-radius:50%;border:2px solid #d9ba7b;margin:0 0 10px 10px}.hero-detail-skills{clear:both;margin:14px 0}.hero-detail-skills details{padding:9px 0;border-bottom:1px solid #8bafca33}.hero-detail-skills summary{font-size:12px;color:#e6cd9e;cursor:pointer}#hero-detail .primary,#hero-detail .secondary{font-size:12px;margin:6px 0 0;padding:10px;letter-spacing:1px}
.rune-select{display:grid;gap:7px;margin-bottom:13px;font-size:12px}.rune-select select{background:#102a40;border:1px solid #7892a6;color:#d9e6ef;padding:10px;max-width:100%;font-size:11px}.rune-summary .primary{font-size:12px;padding:10px}.rune-summary>small{font-size:10px;color:#9bb3c7}.rune-summary p{line-height:1.8;font-size:12px}
body[data-lobby-theme=divine] #lobby{background:linear-gradient(90deg,#061425c9 0%,transparent 45%,#08132575 100%),linear-gradient(0deg,#071526d9 0%,transparent 34%),url('assets/lixin-lobby.png') center top/cover no-repeat}
body[data-lobby-theme=divine] #lobby .hero-copy{top:31%;left:5%;max-width:28%;text-shadow:0 3px 15px #0008}body[data-lobby-theme=divine] #lobby .hero-copy h1{font-family:'STKaiti','KaiTi',serif;font-size:clamp(27px,4.5vw,64px);letter-spacing:8px;margin:13px 0;color:#f2deb3;line-height:1.35}body[data-lobby-theme=divine] #lobby .hero-copy h1 span{display:block;margin:0;font-size:inherit;letter-spacing:8px;color:#fbefce}
body[data-lobby-theme=divine] #lobby .hero-copy .eyebrow{font-size:10px;color:#d7bc83;letter-spacing:3px}body[data-lobby-theme=divine] #lobby .hero-caption{left:5%;right:auto;bottom:85px;top:auto;width:200px;background:none;border:0;padding:0}body[data-lobby-theme=divine] #lobby .hero-caption p{display:none}body[data-lobby-theme=divine] #lobby .hero-caption h2{font-size:17px;margin:6px 0}body[data-lobby-theme=divine] #lobby #hero-skills{margin-top:8px;gap:14px}body[data-lobby-theme=divine] #lobby #hero-skills button{width:30px;height:30px;background:#152b3cd9}
#lobby .lobby-dock{background:linear-gradient(#0a1c32ec,#08172b);border-top:1px solid #bc9d6559}#lobby .lobby-dock button{border-right:1px solid #8c9eab25}#lobby .lobby-dock button:hover{background:#d8ba7533;color:#fff0c7}
@media(max-height:450px){#skill-description{font-size:10px;bottom:150px;max-height:43vh;padding:9px 12px}#skill-description strong{font-size:14px}.hero-browser{gap:10px}#hero-detail{padding:10px}.hero-role-tabs{margin:4px 0 8px}.hero-role-tabs button{padding:6px 12px}.hero-browser-head h2{font-size:20px}#hero-grid,#hero-detail{max-height:54vh}.hero-tile .hero-avatar{max-height:85px}.hero-tile b{font-size:10px}body[data-lobby-theme=divine] #lobby .hero-copy{top:26%}body[data-lobby-theme=divine] #lobby .hero-copy h1{font-size:32px;margin:8px 0}body[data-lobby-theme=divine] #lobby .hero-caption{bottom:78px}body[data-lobby-theme=divine] #lobby .hero-caption>span{font-size:9px}}
@media(max-width:740px){.hero-browser-head{flex-wrap:wrap;gap:6px}.hero-browser-head h2{margin-bottom:3px}.hero-browser-head label{display:none}.hero-browser{grid-template-columns:1fr 190px}#hero-grid{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}#target-choices{right:209px;grid-template-columns:repeat(3,38px);gap:8px;bottom:94px}#target-choices button{width:38px;height:38px}#skill-description{right:204px;width:220px}body[data-lobby-theme=divine] #lobby .hero-copy h1{font-size:28px}body[data-lobby-theme=divine] #lobby .hero-caption{width:160px;bottom:72px}}

#joystick{scale:var(--joystickSize,1);transform-origin:bottom left}#attack-btn{scale:var(--attackSize,1)}.skill{scale:var(--skillSize,1)}
#joystick[data-mode="fixed"] [data-dir],#joystick[data-mode="follow"] [data-dir]{opacity:.18;pointer-events:none}#joystick[data-mode="fixed"] #stick,#joystick[data-mode="follow"] #stick{width:52px;height:52px;border-radius:50%;background:#51788b99;box-shadow:inset 0 0 14px #bde5f966}
.skill[hidden]{display:none!important}#hud #combat-controls #skills .skill.fourth{left:0;right:auto;bottom:174px;width:61px;height:61px}#skills .skill.fourth kbd{display:none}.utility{gap:7px}.utility #summoner-btn{border-color:#e0c883}.target-choices button em:empty{display:none}

.hero-avatar{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.hero-tile>.hero-avatar{height:96px;border-radius:7px}.hero-large-avatar .hero-avatar{border-radius:50%}#target-choices img{width:100%;height:100%;border-radius:50%}
#portal-btn[hidden]{display:none!important}

#hud #combat-controls[data-four="true"] #skills .skill[data-skill="2"]{left:0;right:auto;bottom:174px;width:61px;height:61px;border-color:#9fc8df;color:#bfe8f5}
#hud #combat-controls[data-four="true"] #skills .skill[data-skill="5"]{left:auto;right:24px;bottom:166px;width:64px;height:64px;border-color:#ddc38c;color:#ffe1a1}
