/* Small painted PNGs. Labels, counts, focus and hit areas remain live HTML. */
.painted-icon{object-fit:contain;pointer-events:none;user-select:none;vertical-align:middle;flex-shrink:0;filter:drop-shadow(0 2px 2px #06040a99)}
body.in-battle .sanctuary-rail{width:236px;gap:7px;isolation:isolate}
body.in-battle .sanctuary-rail:before{content:'';position:absolute;inset:-8px -9px -8px;background:radial-gradient(ellipse,#110d19bd,transparent 73%);border:0;z-index:-1;pointer-events:none}
body.in-battle .sanctuary-rail button{position:relative;min-width:52px;min-height:64px;padding:0 2px;gap:3px;border:0;outline-offset:3px}
body.in-battle .sanctuary-rail i{width:43px;height:43px;transform:none;background:none;border:0;box-shadow:none}
body.in-battle .sanctuary-rail i:before,body.in-battle .sanctuary-rail i:after{display:none}
body.in-battle .sanctuary-rail .painted-icon{width:43px;height:43px;transition:filter .18s,transform .18s}
body.in-battle .sanctuary-rail span{display:block;font:10px/1.4 'SimSun',serif;letter-spacing:1px;color:#d4c7df;text-shadow:0 1px 4px #000}
body.in-battle .sanctuary-rail button:hover .painted-icon,body.in-battle .sanctuary-rail button:focus-visible .painted-icon{transform:translateY(-2px);filter:brightness(1.25) drop-shadow(0 0 6px #c394df88)}
body.in-battle .sanctuary-rail button.is-active:after{content:'';position:absolute;right:8px;top:4px;width:5px;height:5px;transform:rotate(45deg);background:#d7acfa;box-shadow:0 0 6px #cca7f9;border:1px solid #f0ddff;pointer-events:none}
body.in-battle .sanctuary-rail button:focus-visible,body.in-battle .pile-control:focus-visible{outline:1px solid #dfc3f0;border-radius:5px}
body.in-battle .hud-values .painted-icon{width:29px;height:29px}
body.in-battle .hud-values .potion-hud .painted-icon{width:29px;height:34px}
body.in-battle .hud-deck .painted-icon{width:31px;height:36px}
body.in-battle .hud-settings .painted-icon{width:35px;height:35px;transition:transform .25s}
body.in-battle .hud-settings:hover .painted-icon{transform:rotate(20deg)}
body.in-battle .hud-relic .painted-icon{width:30px;height:30px}
body.in-battle .command-panel .ability-orb .painted-icon{width:80%;height:80%;object-fit:contain;filter:drop-shadow(0 1px 3px #000a)}
body.in-battle .stage-power.is-ready .painted-icon,body.in-battle .stage-power.is-sustained .painted-icon{filter:brightness(1.15) drop-shadow(0 0 4px #d4aafa55)}
body.in-battle .stage-power.is-unavailable .painted-icon{filter:saturate(.4) brightness(.7)}
body.in-battle .command-equipment:not(.equipped) .gear-art{background:none;border:0;clip-path:none;padding:0;box-shadow:none}
body.in-battle .command-equipment:not(.equipped) .gear-art .painted-icon{width:100%;height:100%;clip-path:none;opacity:.85}
body.in-battle .command-shield .painted-icon{width:22px;height:24px}
body.in-battle .intent-main .painted-icon{width:27px;height:27px}
body.in-battle .intent-main em .painted-icon{width:18px;height:18px}
body.in-battle .pile-control{position:relative;inset:auto;display:block;flex:none;width:78px;height:82px;min-width:0;min-height:44px;margin:0;padding:0;background:none;border:0;box-shadow:none;color:#f0e6f5;transform:none;isolation:isolate;overflow:visible;cursor:pointer}
body.in-battle .pile-control:before{content:'';position:absolute;inset:23% -9% 10%;border:0;background:radial-gradient(ellipse,#130d20c9,transparent 73%);z-index:-1;pointer-events:none}
body.in-battle .pile-control .pile-art{position:absolute;inset:0 3px auto;display:block;width:72px;height:64px;transform:none;outline:0;border:0;border-radius:0;background:none;box-shadow:none;clip-path:none}
body.in-battle .pile-art:before,body.in-battle .pile-art:after{display:none}
body.in-battle .pile-control .pile-art .painted-icon{display:block;width:100%;height:100%;max-width:none;object-fit:contain;opacity:1;transition:filter .18s,transform .18s}
body.in-battle .pile-control.is-empty .painted-icon{filter:saturate(.45) brightness(.8) drop-shadow(0 2px 3px #000b)}
body.in-battle .pile-control:hover .painted-icon,body.in-battle .pile-control:focus-visible .painted-icon{transform:translateY(-3px);filter:brightness(1.2) drop-shadow(0 0 5px #be8fd375)}
body.in-battle .pile-control .pile-count{position:absolute;inset:auto 0 18px auto;display:grid;place-items:center;min-width:24px;width:auto;height:24px;padding:0 5px;border:1px solid #ad9abb;border-radius:50%;background:radial-gradient(circle at 35% 20%,#49394f,#16121df2 75%);box-shadow:0 0 0 2px #17111fcc;color:#f0e9f5;font:16px/1 Georgia,serif;z-index:2}
body.in-battle .pile-control small,body.in-battle .right-piles .pile-control small{position:absolute;inset:auto -8px 0;display:block;height:16px;margin:0;text-align:center;white-space:nowrap;font:10px/16px 'SimSun',serif;letter-spacing:2px;color:#d3c4df;text-shadow:0 1px 5px #000}
body.in-battle .energy-panel{width:78px;height:82px}
body.in-battle .right-piles{width:100%;padding:0;gap:16px;min-height:82px;margin-top:7px;justify-content:center;background:none;border:0;box-shadow:none;clip-path:none}
@media(min-width:701px) and (max-height:860px){
 body.in-battle .sanctuary-rail button{min-height:54px}
 body.in-battle .sanctuary-rail i,body.in-battle .sanctuary-rail .painted-icon{width:34px;height:34px}
 body.in-battle .pile-control{width:67px;height:71px}
 body.in-battle .pile-control .pile-art{width:61px;height:54px}
 body.in-battle .pile-control .pile-count{font-size:14px;height:22px;min-width:22px}
 body.in-battle .right-piles{min-height:71px;gap:15px}
 body.in-battle .energy-panel{width:67px;height:71px}
}
@media(max-width:700px){
 body.in-battle .sanctuary-rail{left:10px;top:77px;width:184px;gap:2px}
 body.in-battle .sanctuary-rail button{min-width:44px;min-height:48px;padding:0;gap:0}
 body.in-battle .sanctuary-rail i,body.in-battle .sanctuary-rail .painted-icon{width:30px;height:30px}
 body.in-battle .sanctuary-rail span{display:block;font-size:8px;letter-spacing:0}
 body.in-battle .hud-values .painted-icon{width:20px;height:20px}
 body.in-battle .hud-values .potion-hud .painted-icon{width:21px;height:25px}
 body.in-battle .hud-settings .painted-icon{width:27px;height:27px}
 body.in-battle .hud-deck .painted-icon{width:23px;height:27px}
 body.in-battle .intent-main .painted-icon{width:20px;height:20px}
 body.in-battle .command-shield .painted-icon{width:17px;height:19px}
 body.in-battle .energy-panel{left:10px;width:51px;height:62px;bottom:1px}
 body.in-battle .pile-control{width:51px;height:62px;min-height:44px}
 body.in-battle .pile-control .pile-art{inset:0 0 auto;width:51px;height:45px}
 body.in-battle .pile-control .pile-count{inset:auto -1px 15px auto;font-size:12px;height:19px;min-width:19px;padding:0 3px}
 body.in-battle .pile-control small,body.in-battle .right-piles .pile-control small{height:14px;line-height:14px;font-size:8px;letter-spacing:1px;inset-inline:-3px}
 body.in-battle .right-piles{position:absolute;right:calc(100% + 10px);top:-8px;width:114px;min-height:62px;height:62px;gap:10px;margin:0;padding:0}
}
@media(prefers-reduced-motion:reduce){.painted-icon{transition:none!important;animation:none!important}}
