.battle-scene{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:16/9;min-height:230px;max-height:410px;border:1px solid #9f8e5866;border-radius:12px;margin-bottom:14px;background-size:cover;background-position:center;color:#f7eacc;box-shadow:inset 0 0 70px #06131199}.battle-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(#07100f80,transparent 30%,transparent 80%,#07100faa);z-index:-1}.battle-scene-title{position:absolute;top:15px;left:20px;font:16px Georgia,serif;letter-spacing:1px;text-shadow:0 2px 4px #000}.battle-scene-title span{display:block;font:9px sans-serif;letter-spacing:3px;margin-top:5px;color:#b5c8af}.battle-cast{position:absolute;top:0;right:0;bottom:0;left:0}.battle-unit{position:absolute;bottom:16%;width:26%;height:59%}.battle-hero{left:14%}.battle-enemy{right:12%;height:51%;width:30%}.battle-unit:before{content:"";position:absolute;bottom:0;left:10%;width:80%;height:8%;border-radius:50%;background:#07100fc9;filter:blur(3px)}.battle-motion{width:100%;height:100%;transform-origin:50% 100%}.battle-figure{display:block;width:100%;height:100%;overflow:hidden;filter:drop-shadow(0 3px 2px #0007);animation:battle-breathe 3s ease-in-out infinite;transform-origin:50% 100%}.battle-unit-name{position:absolute;top:100%;left:-25%;width:150%;text-align:center;font:11px Georgia,serif;text-shadow:0 2px 3px #000;margin-top:7px}.battle-scene-caption{position:absolute;bottom:10px;left:10%;width:80%;text-align:center;font:11px sans-serif;color:#e3d6ad;text-shadow:0 2px 3px #000}.is-active .battle-hero .battle-motion{animation:battle-strike .3s ease-out}.is-active .battle-enemy .battle-motion{animation:battle-return .3s ease-out}.is-support .battle-hero .battle-motion,.is-ranged .battle-hero .battle-motion{animation:battle-cast .3s ease-out}.is-victory .battle-enemy{animation:battle-fall .45s forwards}.is-victory .battle-counter{display:none}.battle-effect,.battle-counter{position:absolute;pointer-events:none;opacity:0}.battle-slash{left:63%;top:48%;width:15%;height:20%;border-top:4px solid #fff2bc;border-radius:50%;filter:drop-shadow(0 0 7px #ffac47);animation:battle-flash .3s ease-out}.battle-projectile{left:36%;top:49%;width:13%;height:3px;background:#dcfbff;box-shadow:0 0 12px #65dcff;animation:battle-shot .3s ease-out}.battle-aura{left:14%;top:32%;width:26%;height:49%;border-radius:50%;background:radial-gradient(ellipse,transparent 40%,#99efbaaa 70%,transparent 73%);animation:battle-flash .3s ease-out}.battle-counter{left:25%;top:48%;width:10%;height:12%;border-top:3px solid #ff957c;transform:rotate(-30deg);animation:battle-counter-flash .3s ease-out}@keyframes battle-breathe{50%{transform:scaleY(1.012)}}@keyframes battle-strike{0%,to{transform:translate(0)}35%{transform:translate(32%) rotate(3deg)}70%{transform:translate(-2%)}}@keyframes battle-return{0%,30%,to{transform:translate(0)}45%{transform:translate(4%)}75%{transform:translate(-20%) rotate(-3deg)}}@keyframes battle-cast{40%{transform:rotate(-2deg);filter:brightness(1.3)}80%{transform:translate(-2%)}}@keyframes battle-flash{25%,50%{opacity:1;transform:rotate(-25deg) scale(1.1)}to{opacity:0;transform:rotate(20deg)}}@keyframes battle-shot{10%{opacity:1}45%{opacity:1;transform:translate(240%)}60%,to{opacity:0;transform:translate(240%)}}@keyframes battle-counter-flash{65%,80%{opacity:1}to{opacity:0}}@keyframes battle-fall{to{opacity:.2;filter:grayscale(1);transform:translateY(10px) rotate(9deg)}}@media (prefers-reduced-motion:reduce){.battle-scene *{animation:none!important}.is-victory .battle-enemy{opacity:.3}}.battle-mobile{max-width:460px;margin:0 auto;background:#101b1c;border:1px solid #81745066;border-radius:18px;overflow:hidden;padding:0 12px 12px!important;box-shadow:0 15px 45px #0005}.battle-mobile .battle-scene{margin:0 -12px;border:0;border-radius:0;aspect-ratio:auto;height:360px;min-height:0;max-height:none;background-position:50% 60%}.battle-mobile .battle-scene:after{background:linear-gradient(#091818e6,transparent 42%,transparent 63%,#101b1c);z-index:0}.battle-mobile .battle-scene-title{top:15px;left:0;width:100%;text-align:center;font-size:19px;z-index:2}.battle-mobile .battle-scene-title span{font-size:9px;letter-spacing:2px;margin-top:4px}.battle-hud{position:absolute;top:68px;left:16px;right:16px;display:grid;grid-template-columns:1fr 1fr;gap:30px;z-index:2;font:10px sans-serif;text-shadow:0 1px 3px #000}.battle-hud strong{display:block;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-hud>div:last-child{text-align:right}.battle-hud small{display:block;font-size:9px;line-height:16px;color:#ebead7}.battle-hud meter{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:5px;background:#293d39;border:0;border-radius:4px;overflow:hidden}.battle-hud meter::-webkit-meter-bar{background:#293d39;border:0;height:5px}.battle-hud meter::-webkit-meter-optimum-value{background:#71c393}.battle-hud meter::-moz-meter-bar{background:#71c393}.battle-hud meter.mana::-webkit-meter-optimum-value{background:#69bad3}.battle-hud meter.mana::-moz-meter-bar{background:#69bad3}.battle-mobile .battle-unit{bottom:25%;width:35%;height:38%;z-index:1}.battle-mobile .battle-hero{left:7%}.battle-mobile .battle-enemy{right:6%;width:36%;height:34%}.battle-mobile .battle-unit-name{font-size:10px;color:#ebd291}.battle-mobile .battle-scene-caption{z-index:2;left:40%;width:55%;bottom:25px;text-align:right;font-size:11px;color:#f2dba8}.battle-history{font:10px sans-serif;color:#a6b8af;padding:8px 2px;margin-bottom:8px}.battle-history summary{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-history[open] summary{white-space:normal}.battle-skill-dock{position:relative;z-index:2}.battle-skill-dock>button,.battle-skill-dock>div{min-height:64px!important;padding:7px 3px!important;border-radius:10px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.battle-slot-label{font:8px sans-serif;line-height:11px;max-width:100%;text-align:center;color:#e1ddc6}.battle-action-dock button{min-height:46px}.battle-mobile button:focus-visible{outline:2px solid #e3c17f;outline-offset:2px}@media (max-height:650px){.battle-mobile .battle-scene{height:300px}.battle-mobile .battle-unit{height:35%;bottom:22%}.battle-mobile .battle-hud{top:59px}}.battle-mobile .battle-slash,.battle-mobile .battle-projectile,.battle-mobile .battle-counter{top:60%}.battle-mobile .battle-aura{top:40%;height:35%}.battle-mobile .battle-slot-label{font-size:9px}[data-screen] .battle-mobile .battle-scene{height:clamp(190px,calc(100cqh - 280px),360px)}[data-screen=battle]>div>div:has(.battle-mobile){padding:8px!important}[data-screen] .battle-mobile{gap:5px!important}@media (max-height:740px){[data-screen] .battle-mobile .battle-scene-title{top:7px;font-size:16px}[data-screen] .battle-mobile .battle-hud{top:45px}[data-screen] .battle-mobile .battle-unit{height:43%;bottom:12%}[data-screen] .battle-mobile .battle-scene-caption{bottom:7px}[data-screen] .battle-skill-dock>button,[data-screen] .battle-skill-dock>div{min-height:44px!important;padding:3px!important}}
