/* Compact, illustrated combat controls. All dimensions override older HUD
   rules explicitly; recovery and unlock text must never replace the artwork. */
.action-dock{width:min(408px,calc(100vw - 28px));bottom:max(17px,env(safe-area-inset-bottom))}
.action-dock .hotbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:7px;border:1px solid #aa936251;border-radius:9px;background:linear-gradient(180deg,#22313bef,#111c29f5);box-shadow:0 8px 25px #02090e66,inset 0 1px #e9d9af15}
.action-dock .ability{--skill-color:#b8c8c9;--skill-bg:#314a55;display:block;position:relative;isolation:isolate;width:100%;height:82px;min-width:0;min-height:0;margin:0;padding:0;border:1px solid #8ea6b740;border-radius:5px;background:radial-gradient(ellipse at 50% 32%,var(--skill-bg),#182630 78%);color:var(--skill-color);box-shadow:inset 0 1px #f9f0ce17,0 2px 3px #0002;transition:border-color .12s,box-shadow .12s,background-color .12s;overflow:visible}
.action-dock .ability[data-art-tone=steel]{--skill-color:#e1bc8a;--skill-bg:#5a4540}
.action-dock .ability[data-art-tone=guard]{--skill-color:#dcd3a9;--skill-bg:#3b525e}
.action-dock .ability[data-art-tone=life]{--skill-color:#c0d2a4;--skill-bg:#405346}
.action-dock .ability[data-art-tone=arrow]{--skill-color:#d9cf9b;--skill-bg:#4d5444}
.action-dock .ability[data-art-tone=briar]{--skill-color:#b0c492;--skill-bg:#3b5040}
.action-dock .ability[data-art-tone=fire]{--skill-color:#e9b17a;--skill-bg:#624236}
.action-dock .ability[data-art-tone=ice]{--skill-color:#b7dce8;--skill-bg:#355266}
.action-dock .ability[data-art-tone=arcane]{--skill-color:#c5b5dd;--skill-bg:#494359}
.action-dock .ability[data-art-tone=health]{--skill-color:#d99a8b;--skill-bg:#4c3339}
.action-dock .ability[data-art-tone=mana]{--skill-color:#a9cfe6;--skill-bg:#30495f}
.action-dock .ability[data-art-tone=wind]{--skill-color:#b5d7d6;--skill-bg:#345257}
.action-dock .ability .action-art{display:block;position:absolute;left:50%;top:12px;transform:translateX(-50%);width:43px;height:45px;z-index:0;pointer-events:none;transition:opacity .12s,filter .12s}
.action-dock .action-art>svg{display:block;width:100%;height:100%;filter:drop-shadow(0 2px 2px #0007)}
.action-dock .action-art>.item-illustration{width:100%;height:100%;padding:0;background:none;overflow:visible}
.action-dock .action-weapon{width:46px;height:48px;top:10px}
.action-dock .action-flask{width:41px;height:46px;top:11px}
.action-dock .ability>kbd{position:absolute;top:4px;left:4px;z-index:3;display:block;min-width:13px;padding:1px 3px;border:1px solid #82949c50;border-radius:3px;background:#0c1922dc;color:#dfe5d8;font:500 9px/12px Inter,sans-serif;letter-spacing:.02em;box-shadow:0 1px #0003;pointer-events:none}
.action-dock .ability .ability-name{display:block;position:absolute;left:3px;right:3px;bottom:5px;top:auto;transform:none;z-index:2;margin:0;color:#c5d0d1;font:500 9px/11px Inter,sans-serif;text-align:center;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.action-dock .ability .ability-cost{position:absolute;left:0;right:0;bottom:18px;top:auto;z-index:2;display:block;margin:0;padding:0;color:#a9c3cf;font:500 9px/11px Inter,sans-serif;text-align:center;letter-spacing:.02em;text-shadow:0 1px 2px #041019;pointer-events:none}
.action-dock .ability[data-ability=potion] .ability-cost,.action-dock .ability[data-ability=manaPotion] .ability-cost{color:#d7dfd5}
.action-dock .ability .ability-timer{position:absolute;top:5px;right:4px;bottom:auto;left:auto;transform:none;z-index:4;display:block;min-width:15px;margin:0;padding:2px 3px;border:1px solid #7791994d;border-radius:3px;background:#0c1725e8;color:#f2dfba;font:600 11px/12px Inter,sans-serif;text-align:center;text-shadow:none;pointer-events:none}
.action-dock .ability .ability-timer:empty{display:none}
.action-dock .ability.locked .ability-timer{top:30px;left:50%;right:auto;transform:translateX(-50%);padding:3px 5px;font-size:10px;line-height:12px;white-space:nowrap;color:#c2cbd0;border-color:#8b9fa13b;background:#132330df}
.action-dock .ability .cooldown-mask{z-index:1;bottom:16px;left:0;width:100%;max-height:calc(100% - 16px);background:linear-gradient(180deg,#06101935,#08111d80);border-radius:4px 4px 0 0;border-top:1px solid #d5dfcc2b;pointer-events:none}
.action-dock .ability.locked{border-color:#76899432;background:radial-gradient(ellipse at 50% 35%,#34404a,#182630 78%)}
.action-dock .ability.locked .action-art{opacity:.38;filter:saturate(.35)}
.action-dock .ability.unavailable:not(.locked) .action-art{opacity:.75}
.action-dock .ability:hover,.action-dock .ability:focus-visible{border-color:#d6c496a3;box-shadow:inset 0 1px #f7e9b940,0 0 0 1px #e2c89345;outline:none}
.action-dock .ability.queued{border-color:#e8d398;box-shadow:inset 0 0 14px #d4bb5e21,0 0 0 1px #e8d39866}
.action-dock .ability.auto-attacking{border-color:#e8d398;box-shadow:inset 0 2px #e8d398,inset 0 0 16px #d4bb5e20}
.action-dock .ability.queued .ability-timer{background:#c2a365;color:#14212a;border-color:#f0d395;font-size:9px}
.action-dock .ability-tooltip{z-index:60;width:260px;bottom:calc(100% + 13px);padding:14px 16px;background:#122130f5;border:1px solid #82959672;border-radius:7px;box-shadow:0 8px 24px #0006}
.action-dock .ability-tooltip strong{font-family:Inter,sans-serif;font-size:13px;line-height:1.4;color:#eedcba;margin:0 0 7px}
.action-dock .ability-tooltip p{font-size:12px;line-height:1.55;margin:0;color:#c0ccd3}
.action-dock .ability-tooltip span{font-size:10px;line-height:1.5;margin-top:9px;color:#a9c9d7}
.action-dock .experience{height:3px;margin:0 8px 7px;background:#0c1727de;border-radius:3px;box-shadow:0 0 0 1px #9b896926}
.action-dock .experience>i{height:100%;border-radius:3px;background:linear-gradient(90deg,#a18a5c,#d2be87);box-shadow:none}
.action-dock .experience>span{top:-14px;right:0;color:#d1d0b7;font:500 9px/11px Inter,sans-serif;letter-spacing:.035em;text-shadow:0 1px 3px #000}
.action-dock .control-hint{margin-top:6px;gap:10px;color:#a4b6bf;font:400 9px/12px Inter,sans-serif;white-space:nowrap}
.action-dock .control-hint kbd{font:500 8px/10px Inter,sans-serif;padding:1px 3px;color:#bdc8c6;border-color:#7f96a62e;background:#1022318c}
@media(max-width:600px){
 .action-dock{width:calc(100vw - 18px);max-width:360px;bottom:max(10px,env(safe-area-inset-bottom))}
 .action-dock .hotbar{gap:4px;padding:5px;border-radius:7px}
 .action-dock .ability{height:64px;border-radius:4px}
 .action-dock .ability .action-art{width:34px;height:36px;top:14px}
 .action-dock .ability .action-weapon{width:37px;height:39px;top:12px}
 .action-dock .ability .action-flask{width:33px;height:36px;top:12px}
 .action-dock .ability>kbd{top:3px;left:3px;font-size:8px;line-height:10px;padding:1px 2px;min-width:11px}
 .action-dock .ability .ability-name{display:none}
 .action-dock .ability .ability-cost{bottom:4px;font-size:9px;line-height:10px}
 .action-dock .ability .ability-timer{top:3px;right:2px;font-size:10px;line-height:10px;padding:2px;min-width:12px}
 .action-dock .ability.locked .ability-timer{top:27px;font-size:9px;line-height:11px;padding:2px 4px}
 .action-dock .ability .cooldown-mask{bottom:0;max-height:100%;border-radius:4px}
 .action-dock .ability-tooltip{position:fixed;bottom:calc(100% + 13px);left:0;right:0;width:auto;transform:none!important;padding:13px 15px}
 .action-dock .experience{margin:0 5px 7px}
 .action-dock .experience>span{font-size:8px;top:-13px}
 .action-dock .control-hint{display:none}
}
@media(prefers-reduced-motion:reduce){.action-dock .ability,.action-dock .action-art{transition:none}}
.action-dock .stamina-line{display:flex;align-items:center;gap:5px;height:11px;margin:0 8px 5px;padding:0;border:0;background:none;box-shadow:none;color:#b3c3b6;font:500 8px/10px Inter,sans-serif;text-shadow:0 1px 3px #05101c}.stamina-line progress{appearance:none;height:2px;min-width:30px;flex:1;border:0;background:#14242b80;border-radius:2px;overflow:hidden;opacity:.4}.stamina-line progress::-webkit-progress-bar{background:#14242b80}.stamina-line progress::-webkit-progress-value{background:#a3b991}.stamina-line b{min-width:16px;text-align:right;font-size:8px}.stamina-line small{font-size:8px;color:#b8c9bd}.stamina-line>span,.stamina-line>b,.stamina-line>small{visibility:hidden}.stamina-line.spent>span,.stamina-line.spent>b,.stamina-line.spent>small{visibility:visible}.stamina-line.spent progress{opacity:.85}.stamina-line.exhausted{color:#dbac90}.stamina-line.exhausted progress::-webkit-progress-value{background:#bc8e70}.gather-progress,.interaction{bottom:190px}@media(max-width:600px){.action-dock .stamina-line{margin:0 5px 5px;gap:4px}.gather-progress,.interaction{bottom:208px}}
