/* Gesture affordances and motion sprites stay independent of the card artwork. */
.battle-gesture-card{touch-action:none;-webkit-touch-callout:none;user-select:none}
.battle-gesture-card.battle-is-held{z-index:24;filter:drop-shadow(0 0 16px #ffda73);outline:2px solid #f9df96;outline-offset:4px}
.battle-gesture-card.battle-is-striking{z-index:28;filter:drop-shadow(0 9px 15px #000a) drop-shadow(0 0 17px #ffdf8b);transition:none!important}
.cpu-god.battle-target-ready{outline:3px solid #9ce5ff;outline-offset:5px;filter:drop-shadow(0 0 18px #48c4ff);z-index:25}
.battle-motion-layer{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden}
.battle-aim{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 4px #020a16)}
.battle-aim>path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.battle-aim-shadow{stroke:#111b27;stroke-width:14}
.battle-aim-line{stroke:#e2b868;stroke-width:9;filter:drop-shadow(0 0 5px #dbab47)}
.battle-aim-core{stroke:#fff4c5;stroke-width:2.2}
.battle-aim.is-valid .battle-aim-line{stroke:#74d7ff;filter:drop-shadow(0 0 7px #4cc3ff)}
.battle-motion-hint{position:absolute;transform:translate(-50%,-100%);padding:8px 15px;max-width:230px;text-align:center;border:1px solid #e4bf73;color:#fff0c9;font-size:14px;font-weight:600;background:linear-gradient(150deg,#183347f5,#06101cf5);box-shadow:inset 0 0 0 3px #203044,0 5px 15px #000a;white-space:nowrap;text-shadow:0 1px 3px #000}
.battle-motion-tools{position:absolute;left:68%;bottom:13.7%;max-width:12%;z-index:16;display:flex;flex-direction:column;align-items:stretch;gap:7px}
.battle-motion-tools button{min-height:38px;padding:6px 13px;font-size:12px;line-height:1.4;border:1px solid #ac8a4b;background:linear-gradient(155deg,#243b48,#091624);box-shadow:inset 0 0 0 2px #172b38;color:#f5dfad;white-space:nowrap}
.battle-motion-tools button:hover{border-color:#ffe0a0;background:#213e50}
.battle-phase-dialog{width:min(470px,92vw);padding:32px;background:linear-gradient(145deg,#122d3f,#06141f 60%);border:1px solid #edce81;box-shadow:inset 0 0 0 4px #132b3c,inset 0 0 0 5px #96713f,0 15px 70px #000b}
.battle-phase-dialog::before{content:'';position:absolute;inset:0;border:28px solid transparent;border-image:url('assets/interface-v6/ornate-panel-gold.svg') 32/28px/0 stretch;pointer-events:none}
.battle-phase-dialog h2{font-family:'Songti TC','Noto Serif TC',serif;font-size:25px;color:#ffe2a5;margin:0 0 14px;line-height:1.5}
.battle-phase-dialog p{font-size:15px;line-height:1.7;color:#c4d3dc}
.battle-phase-choices{display:grid;gap:11px;margin:22px 0 16px}
.battle-phase-choices button{min-height:48px;padding:10px 25px;border:0;background:url('assets/interface-v6/ornate-button-amber.svg') center/100% 100% no-repeat;color:#fff0cc;font-size:17px;text-shadow:0 2px 3px #000}
.battle-phase-choices [data-motion="close-phase"]{background:none;border:1px solid #637585;color:#c2cfda}
.battle-phase-dialog small{color:#9eafbd;font-size:12px}
.battle-damage-panel{position:absolute;left:78.8%;top:55%;width:20.5%;padding:20px 16px;z-index:31;background:linear-gradient(135deg,#183447f8,#06121ef8);border:1px solid #d1ad67;box-shadow:inset 0 0 0 3px #122b3c,inset 0 0 0 4px #7b623e,0 6px 24px #0009}
.battle-damage-panel strong{font-family:'Songti TC',serif;font-size:20px;color:#ffe1a1;display:block}
.battle-damage-panel p{font-size:13px;color:#d3dce1;line-height:1.65;margin:10px 0}
.battle-damage-panel div{display:flex;flex-direction:column;gap:9px}
.battle-damage-panel button{border:1px solid #ba9656;background:linear-gradient(#4c3821,#181c23);font-size:14px;padding:10px;min-height:44px;color:#f7e0b0;line-height:1.5}
.battle-damage-panel [data-motion="cancel"]{background:#102333;border-color:#526b7a;color:#c5d0d8;font-size:12px;min-height:36px;padding:6px}
.battle-damage-panel small{display:block;color:#9eb2bf;font-size:11px;line-height:1.5;margin-top:12px}
.battle-draw-back{position:absolute;border:1px solid #ecd497;box-shadow:0 8px 16px #000a,0 0 12px #ffda7733;border-radius:3px;overflow:hidden;background:#07131f;transform-origin:50% 50%}
.battle-draw-back img{width:100%;height:100%;object-fit:fill;display:block}
.battle-impact-flare{position:absolute;width:150px;height:150px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fffbe6 0%,#ffe1a3 6%,#e7ae5077 25%,#4fc9ff55 45%,transparent 70%);box-shadow:0 0 55px #ecc77766}
.battle-impact-flare::after{content:'';position:absolute;left:-30%;right:-30%;top:49%;height:2px;background:linear-gradient(90deg,transparent,#fff1ae,transparent);box-shadow:0 0 8px #ebc265}
@media(max-aspect-ratio:1/1),(max-width:760px){
  .battle-motion-tools{left:81%;right:1%;max-width:none;bottom:auto;top:42.6%;z-index:16;gap:4px}
  .battle-motion-tools button{font-size:11px;min-height:44px;padding:4px;white-space:normal;line-height:1.35;box-shadow:inset 0 0 0 1px #172b38}
  .battle-motion-hint{font-size:12px;padding:6px 11px}
  .battle-damage-panel{left:6%;top:9%;width:88%;padding:14px 17px;max-height:32%;overflow:auto}
  .battle-damage-panel strong{font-size:18px}
  .battle-damage-panel p{font-size:12px;margin:6px 0}
  .battle-damage-panel div{flex-direction:row;gap:8px}
  .battle-damage-panel button{flex:2;font-size:12px;padding:6px;min-height:42px}
  .battle-damage-panel [data-motion="cancel"]{flex:1;font-size:11px}
  .battle-damage-panel small{font-size:10px;margin-top:8px}
  .battle-phase-dialog{padding:27px 24px}
  .battle-phase-dialog h2{font-size:23px}
  .battle-impact-flare{width:110px;height:110px}
}
@media(prefers-reduced-motion:reduce){.battle-is-held,.battle-target-ready{transition:none!important}}
