/* Full-screen game battle. Loaded after the shared game and battle sheets. */
.battle-page.battle-board{
 --battle-hud:var(--hud-height,var(--game-hud-height,64px));
 width:100%;max-width:1480px;height:calc(100dvh - var(--battle-hud));
 min-height:690px;margin:0 auto;padding:13px 22px 17px;
 display:grid;grid-template-columns:minmax(0,1fr) 300px;
 grid-template-rows:40px 172px minmax(235px,1fr) 172px 28px;
 gap:10px 17px;position:relative;color:#f1e4c5;isolation:isolate;
}
.battle-board:before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(90deg,#0a1c18bc,#13291d6e 65%,#091811d4);
}
.battle-board>.battle-header{grid-column:1 / -1;grid-row:1;margin:0;padding:0;align-items:center;border:0}
.battle-board>.battle-header h2{color:#f2e4c4;font-size:23px;margin:0 0 3px;line-height:1.1}
.battle-board>.battle-header>div>small{font-size:10px;color:#c8b88e}
.battle-board .battle-header-right{gap:9px}
.battle-board .battle-header-right>.badge{background:#15281ee8;border-color:#9d865240;color:#e9cf93;font-size:10px}
.battle-board .battle-header-right .btn{color:#e7d2a1;background:#13271bc4;border-color:#917c4d61;font-size:10px;padding:6px 10px}
.battle-board .round-clock{border-color:#9c895347;background:#112218d9;min-width:52px;padding:3px 8px}
.battle-board .round-clock span{font-size:21px;color:#ead4a0}
.battle-board .round-clock small{font-size:6px;color:#b5a883;letter-spacing:1px}
.battle-board>.battle-side{
 grid-column:1;position:relative;height:172px;min-height:0;padding:11px 13px;
 background:linear-gradient(100deg,#14261ef2,#1e3026bf);border:1px solid #ad946044;
 border-radius:12px;box-shadow:0 7px 22px #0002;overflow:visible;
}
.battle-board>.battle-opponent{grid-row:2;border-top:2px solid #9f7550}
.battle-board>.battle-player{grid-row:4;border-bottom:2px solid #b49a60}
.battle-board>.battle-side .battle-side-heading{position:absolute;left:15px;top:14px;width:135px;display:block}
.battle-board>.battle-side .battle-side-heading>div>small{font-size:7px;letter-spacing:1px;color:#b8ac8b}
.battle-board>.battle-side .battle-side-heading h3{color:#f0e3c4;font-size:15px;margin-top:4px;max-width:130px;overflow-wrap:anywhere}
.battle-board>.battle-side .battle-side-resources{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;margin-top:10px}
.battle-board>.battle-side .life-number{font-size:25px;line-height:1;color:#f4e4bb}
.battle-board>.battle-side .life-number small{font-size:7px;color:#b9aa84}
.battle-board>.battle-side .troop-number{font-size:9px;color:#c9b98e}
.battle-board>.battle-side .life-track{position:absolute;left:15px;bottom:39px;width:126px;height:3px;margin:0;background:#f4e4bb1c}
.battle-board>.battle-side .life-track span{background:#b7bd82}
.battle-board>.battle-opponent .life-track span{background:#c79966}
.battle-board>.battle-side .battle-side-meta{position:absolute;left:15px;bottom:13px;width:133px;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.battle-board>.battle-side .bonus-chip{font-size:8px;color:#c5b48b}
.battle-board>.battle-side .battle-side-meta>small{font-size:7px;text-align:left;color:#978e75;max-width:130px;line-height:1.25}
.battle-board>.battle-side .hand{
 height:148px;width:min(580px,calc(100% - 162px));margin:0 0 0 auto;
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;align-items:stretch;
}
.battle-board>.battle-side .card-click{width:100%;height:148px;min-width:0}
.battle-board>.battle-side .hero-card{height:148px;width:100%;min-height:0;aspect-ratio:auto;border-radius:7px}
.battle-board>.battle-side .card-clan,.battle-board>.battle-side .card-skill{display:none}
.battle-board>.battle-side .card-body{padding:5px 7px 7px}
.battle-board>.battle-side .card-name{font-size:12px;line-height:1.12;margin:0 0 4px;min-height:26px}
.battle-board>.battle-side .card-stats{margin:0;padding:3px 0}
.battle-board>.battle-side .card-stats b{font-size:16px}
.battle-board>.battle-side .card-stats small{font-size:6px}
.battle-board>.battle-side .card-stats>div{gap:3px}
.battle-board>.battle-side .card-stats>div+div{padding-left:4px}
.battle-board>.battle-side .card-top{left:5px;right:5px;top:5px;gap:4px}
.battle-board>.battle-side .card-top .cost,.battle-board>.battle-side .card-top .level{font-size:8px;padding:3px 4px}
.battle-board>.battle-side .rarity-label{display:none}
.battle-board>.battle-side .hero-card.selected{outline:2px solid #d8b269;outline-offset:3px;box-shadow:0 0 19px #d6b56050}
.battle-board>.battlefield{
 grid-column:1;grid-row:3;width:100%;height:100%;min-height:235px;margin:0;border-radius:12px;
 border-color:#9b8c566b;background:linear-gradient(#14281d33,#11271ba8),url('./assets/art/battle-steppe.webp') center 58%/cover;
 box-shadow:inset 0 0 36px #061e1766,0 8px 24px #0003;
}
.battle-board .battle-army-readout{max-width:30%;color:#f5e6c2}
.battle-board .battle-army-readout>b{font-size:14px}
.battle-board .battle-army-readout>span{font-size:15px}
.battle-board .battle-army-readout>small:last-child{font-size:9px}
.battle-board .battle-phase{background:#0d231be8;border-color:#d0bd733d;color:#f0e2b8;font-size:10px}
.battle-board>.battle-skill-summary{
 grid-column:2;grid-row:2;align-self:stretch;margin:0;padding:13px 14px;
 color:#d1c6a7;background:linear-gradient(135deg,#1c3028f2,#14241df2);border:1px solid #b6a07543;
 border-left:3px solid var(--battle-accent,#b0955b);border-radius:10px;font-size:11px;line-height:1.6;
 overflow:auto;scrollbar-width:thin;scrollbar-color:#927d48 transparent;
}
.battle-board>.battle-skill-summary>b{font-size:15px;color:#f3e2bc}
.battle-board>.battle-skill-summary p{margin:7px 0;color:#d8c9a3}
.battle-board>.battle-skill-summary small{font-size:9px;line-height:1.5;color:#b8aa88;margin-top:7px}
.battle-board>.battle-controls{
 grid-column:2;grid-row:3;align-self:stretch;min-height:0;margin:0;padding:15px 16px;
 display:flex;flex-direction:column;justify-content:center;gap:15px;
 border:1px solid #c4af7a6b;border-radius:11px;
 background:linear-gradient(135deg,#f1e4c8f5,#d7c5a0f5);box-shadow:0 8px 24px #0003;
 color:#23362a;
}
.battle-board .battle-troop-control>div:first-child label{font-size:12px;color:#233b2c}
.battle-board .battle-troop-control>div:first-child small{font-size:8px;color:#786c50}
.battle-board .troop-input{margin:9px 0 10px;gap:11px}
.battle-board .troop-input output{font-size:23px;min-width:63px;color:#233b2c}
.battle-board #troop-range{accent-color:#244934}
.battle-board .troop-shortcuts{gap:5px;margin-bottom:10px}
.battle-board .troop-shortcuts button{font-size:9px;padding:5px 7px;background:#dfd1b2;border-color:#bda77c;color:#33402a}
.battle-board .boost{font-size:10px;gap:6px;margin:0 0 6px;color:#38432e}
.battle-board #reserve-label{font-size:9px;color:#76674b}
.battle-board .commit-panel{border-left:0;border-top:1px solid #bba37966;padding:12px 0 0;gap:9px}
.battle-board .attack-preview{display:grid;grid-template-columns:1fr auto;gap:4px 10px}
.battle-board .attack-preview>span{font-size:9px;color:#77674a}
.battle-board .attack-preview strong{font-size:28px;color:#21432d;grid-column:2;grid-row:1 / span 2;align-self:center;text-align:right}
.battle-board .attack-preview>small{font-size:8px;line-height:1.45;color:#827052;grid-column:1}
.battle-board .commit-panel .btn{padding:11px 9px;font-size:12px;min-height:0;background:linear-gradient(#33513a,#183422);border-color:#526643;color:#f4e7c5;box-shadow:0 4px 10px #18342224}
.battle-board .commit-hint{font-size:8px;line-height:1.5;color:#7d6d51}
.battle-board>.round-resolution{
 grid-column:2;grid-row:4;margin:0;padding:11px 12px;min-height:0;overflow:auto;
 background:#efe2c3ef;border-color:#b89f654d;border-left:3px solid #bb9c54;border-radius:10px;
 scrollbar-width:thin;scrollbar-color:#a28d58 transparent;
}
.battle-board>.round-resolution .battle-result-title{display:block;margin-bottom:9px}
.battle-board>.round-resolution .battle-result-title b{font-size:11px;color:#25432d}
.battle-board>.round-resolution .battle-result-title span{font-size:8px;display:block;margin-top:2px;color:#837151}
.battle-board>.round-resolution .battle-result-teams{gap:10px}
.battle-board>.round-resolution .battle-result-team>div{gap:2px;margin-bottom:5px}
.battle-board>.round-resolution .battle-result-team small{font-size:6px;color:#8c795a}
.battle-board>.round-resolution .battle-result-team>div>b{font-size:10px;color:#3a4732}
.battle-board>.round-resolution .battle-result-team dl{gap:5px 6px}
.battle-board>.round-resolution .battle-result-team dl>div{border-color:#b8a77a66;padding-top:3px}
.battle-board>.round-resolution .battle-result-team dt{font-size:7px;color:#837052}
.battle-board>.round-resolution .battle-result-team dd{font-size:12px;color:#294832;margin-top:1px}
.battle-board>.round-resolution .battle-result-team [data-stat="damage"]{color:#965333}
.battle-board>.battle-finished{grid-column:2;grid-row:2 / 4;align-self:start;flex-direction:column;align-items:flex-start;gap:15px;padding:20px;background:#efe1c2f5;border-color:#bc9c63}
.battle-board>.stage-head,.battle-board>.battle-log{display:none}
.battle-board>.battle-history{grid-column:1 / -1;grid-row:5;margin:0;min-height:0;color:#dbc99e}
.battle-board>.battle-history>summary{list-style:none;cursor:pointer;font-size:10px;letter-spacing:.4px;text-align:center;padding:7px;color:#cbb88b}
.battle-board>.battle-history>summary::-webkit-details-marker{display:none}
.battle-board>.battle-history>summary:before{content:"▸ ";color:#c5a765}
.battle-board>.battle-history[open]>summary:before{content:"▾ "}
.battle-board>.battle-history[open]{position:relative;z-index:5}
.battle-board>.battle-history[open]>.battle-log{position:absolute;right:0;bottom:32px;width:min(660px,100%);max-height:450px;overflow:auto;padding:12px;border:1px solid #bba26677;border-radius:12px;background:#13271af5;box-shadow:0 9px 38px #0006}
.battle-board>.battle-history .stage-head{display:none}
.battle-board>.battle-history .log-row{background:#f0e2c5f5}
.battle-board .battle-reveal{background:#f1e4c9f7;border-color:#bda36d}
.battle-board .battle-reveal .battle-result-title{color:#294530}
.battle-board .battle-reveal .battle-result-title span{color:#8a795c}
.battle-board .battle-reveal .battle-result-team>div>b{color:#36452e}
.battle-board .battle-reveal .battle-result-team small{color:#847255}
.battle-board .battle-reveal .battle-result-team dt{color:#8c7856}
.battle-board .battle-reveal .battle-result-team dd{color:#284833}
@media(min-width:1101px) and (max-height:780px){
 .battle-page.battle-board{min-height:620px;grid-template-rows:34px 149px minmax(210px,1fr) 149px 24px;padding-top:8px;padding-bottom:10px;gap:8px 14px}
 .battle-board>.battle-side{height:149px;padding:8px 12px}
 .battle-board>.battle-side .hand,.battle-board>.battle-side .card-click,.battle-board>.battle-side .hero-card{height:131px}
 .battle-board>.battlefield{min-height:210px}
 .battle-board>.battle-side .battle-side-meta>small{display:none}
 .battle-board>.battle-controls{padding:11px 13px;gap:9px;overflow:auto}
 .battle-board .troop-shortcuts{margin-bottom:6px}
 .battle-board .boost{font-size:9px}
 .battle-board .commit-panel{padding-top:8px;gap:6px}
 .battle-board .attack-preview strong{font-size:24px}
}
@media(max-width:1100px){
 .battle-page.battle-board{height:auto;min-height:calc(100dvh - var(--battle-hud));padding:13px 18px 22px;grid-template-columns:minmax(0,1fr) 250px;grid-template-rows:40px 158px 280px 158px 28px;gap:10px}
 .battle-board>.battle-side{height:158px;padding:10px}
 .battle-board>.battle-side .battle-side-heading{left:11px;top:12px;width:108px}
 .battle-board>.battle-side .battle-side-heading h3{font-size:13px;max-width:102px}
 .battle-board>.battle-side .battle-side-meta{left:11px;width:104px}
 .battle-board>.battle-side .battle-side-meta>small{display:none}
 .battle-board>.battle-side .life-track{left:11px;width:100px;bottom:34px}
 .battle-board>.battle-side .hand{height:136px;width:calc(100% - 118px);gap:7px}
 .battle-board>.battle-side .card-click,.battle-board>.battle-side .hero-card{height:136px}
 .battle-board>.battle-side .card-body{padding:5px}
 .battle-board>.battle-side .card-name{font-size:10px;min-height:23px}
 .battle-board>.battle-side .card-stats b{font-size:14px}
 .battle-board>.battle-side .card-stats small{font-size:5px}
 .battle-board>.battle-side .card-stats>div{flex-direction:column;align-items:center;gap:1px}
 .battle-board>.battlefield{min-height:280px}
 .battle-board>.battle-controls{padding:12px;gap:9px;overflow:auto}
 .battle-board .commit-panel{padding-top:9px;gap:7px}
 .battle-board .attack-preview strong{font-size:24px}
}
@media(max-width:760px){
 .battle-page.battle-board{display:flex;flex-direction:column;height:auto;min-height:calc(100dvh - var(--battle-hud));max-width:650px;padding:10px 10px 18px;gap:8px}
 .battle-board>.battle-header{height:35px;min-height:35px;align-items:center;gap:8px}
 .battle-board>.battle-header h2{font-size:17px;max-width:none;margin-bottom:2px}
 .battle-board>.battle-header>div>small{font-size:8px}
 .battle-board .battle-header-right{gap:5px;max-width:none;flex-wrap:nowrap}
 .battle-board .battle-header-right>.badge{font-size:8px;padding:4px 6px}
 .battle-board .battle-header-right .btn{font-size:8px;padding:5px 7px}
 .battle-board .round-clock{min-width:34px;padding:2px 4px}
 .battle-board .round-clock span{font-size:17px}
 .battle-board .round-clock small{font-size:5px}
 .battle-board>.battle-side{height:auto;min-height:0;padding:8px 9px 9px;border-radius:9px}
 .battle-board>.battle-side .battle-side-heading{position:static;display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px}
 .battle-board>.battle-side .battle-side-heading>div>small{font-size:6px;letter-spacing:.7px}
 .battle-board>.battle-side .battle-side-heading h3{font-size:12px;line-height:1;margin:3px 0 0;max-width:170px}
 .battle-board>.battle-side .battle-side-resources{margin:0;flex-direction:row;align-items:center;gap:9px;text-align:right}
 .battle-board>.battle-side .life-number{font-size:20px}
 .battle-board>.battle-side .life-number small{font-size:6px}
 .battle-board>.battle-side .troop-number{font-size:8px}
 .battle-board>.battle-side .life-track{position:static;width:100%;height:2px;margin:5px 0 6px}
 .battle-board>.battle-side .battle-side-meta{display:none}
 .battle-board>.battle-side .hand{height:132px;width:100%;margin:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 .battle-board>.battle-side .card-click,.battle-board>.battle-side .hero-card{height:132px}
 .battle-board>.battle-side .card-body{padding:4px 4px 5px}
 .battle-board>.battle-side .card-name{font-size:10px;line-height:1.1;min-height:22px;margin-bottom:3px}
 .battle-board>.battle-side .card-stats{padding:3px 0}
 .battle-board>.battle-side .card-stats b{font-size:13px}
 .battle-board>.battle-side .card-stats small{font-size:5px}
 .battle-board>.battle-side .card-top{left:4px;right:4px;top:4px;gap:3px}
 .battle-board>.battle-side .card-top .cost,.battle-board>.battle-side .card-top .level{font-size:7px;padding:3px}
 .battle-board>.battle-side .card-top .cost>span{font-size:6px}
 .battle-board>.battlefield{height:220px;min-height:220px;flex:none;border-radius:9px}
 .battle-board .battle-army-readout>b{font-size:11px}
 .battle-board .battle-army-readout>span{font-size:12px}
 .battle-board .battle-army-readout>small:last-child{font-size:8px}
 .battle-board .battle-phase{font-size:8px;padding:5px 9px}
 .battle-board>.battle-skill-summary{padding:8px 11px;max-height:none;overflow:visible;font-size:10px;line-height:1.4;border-radius:8px}
 .battle-board>.battle-skill-summary>b{font-size:12px}
 .battle-board>.battle-skill-summary p{margin:4px 0 2px}
 .battle-board>.battle-skill-summary small{margin-top:3px;font-size:8px;line-height:1.35}
 .battle-board>.battle-controls{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);padding:10px 12px;gap:12px;align-items:center;overflow:visible;border-radius:9px}
 .battle-board .battle-troop-control>div:first-child label{font-size:11px}
 .battle-board .troop-input{margin:6px 0;gap:9px}
 .battle-board .troop-input output{font-size:19px;min-width:55px}
 .battle-board .troop-shortcuts{gap:5px;margin-bottom:6px}
 .battle-board .troop-shortcuts button{padding:4px 7px;font-size:8px}
 .battle-board .boost{font-size:9px;margin-bottom:3px;line-height:1.35}
 .battle-board #reserve-label{font-size:8px}
 .battle-board .commit-panel{border-top:0;border-left:1px solid #bba37966;padding:0 0 0 11px;gap:6px}
 .battle-board .attack-preview{display:flex;flex-direction:column;gap:3px}
 .battle-board .attack-preview>span{font-size:9px}
 .battle-board .attack-preview>small{font-size:7px;line-height:1.25}
 .battle-board .attack-preview strong{font-size:23px;text-align:left;align-self:flex-start}
 .battle-board .commit-panel .btn{padding:9px;font-size:11px}
 .battle-board .commit-hint{font-size:7px;line-height:1.25}
 .battle-board>.round-resolution{padding:9px 11px;overflow:visible;border-radius:8px}
 .battle-board>.round-resolution .battle-result-title{display:flex;align-items:center;gap:7px;flex-direction:row;margin-bottom:6px}
 .battle-board>.round-resolution .battle-result-title b{font-size:10px}
 .battle-board>.round-resolution .battle-result-title span{font-size:7px;margin-top:0}
 .battle-board>.round-resolution .battle-result-team small{display:none}
 .battle-board>.round-resolution .battle-result-team>div>b{font-size:9px}
 .battle-board>.round-resolution .battle-result-team dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 .battle-board>.round-resolution .battle-result-team dt{font-size:6px}
 .battle-board>.round-resolution .battle-result-team dd{font-size:9px}
 .battle-board>.battle-history>summary{font-size:9px;padding:4px}
 .battle-board>.battle-history[open]>.battle-log{bottom:28px;max-height:65dvh}
 .battle-board>.battle-finished{padding:16px;border-radius:10px}
}
@media(max-width:380px){
 .battle-board>.battle-header h2{font-size:15px}
 .battle-board .battle-header-right{gap:4px}
 .battle-board>.battle-side .hand{gap:5px}
 .battle-board>.battle-side .troop-number{font-size:7px}
 .battle-board>.battle-side .card-name{font-size:9px}
 .battle-board .battle-army-readout{max-width:34%}
}
@media(prefers-reduced-motion:reduce){.battle-board *{animation:none!important;transition:none!important}}
/* Accessible skill/result drawers; desktop panels remain in the right rail. */
.battle-board>.battle-skill-summary>summary{cursor:pointer;list-style:none;color:#f3e2bc;outline-offset:4px}
.battle-board>.battle-skill-summary>summary::-webkit-details-marker{display:none}
.battle-board>.battle-skill-summary>summary b{font-size:15px;color:#f3e2bc}
.battle-board>.battle-skill-summary>summary .selected-card-stats{display:block;font-size:9px;color:#bfae88;margin-top:4px}
.battle-board>.battle-skill-summary>.battle-skill-content{margin-top:9px}
.battle-board>.battle-result-drawer{grid-column:2;grid-row:4;min-height:0;padding:9px 11px;background:#efe2c3ef;border:1px solid #b89f654d;border-left:3px solid #bb9c54;border-radius:10px;overflow:auto}
.battle-board>.battle-result-drawer>summary{cursor:pointer;font-size:10px;font-weight:750;color:#31492e;list-style:none;outline-offset:4px}
.battle-board>.battle-result-drawer>summary::-webkit-details-marker{display:none}
.battle-board>.battle-result-drawer>summary:after{content:" ▾";color:#9c7b3d}
.battle-board>.battle-result-drawer .round-resolution{margin-top:8px;padding:0;border:0;background:none;box-shadow:none}
.battle-board>.battle-result-drawer .battle-result-title{display:block;margin-bottom:8px}
.battle-board>.battle-result-drawer .battle-result-title b{font-size:11px;color:#25432d}
.battle-board>.battle-result-drawer .battle-result-title span{display:block;font-size:8px;color:#837151;margin-top:2px}
.battle-board>.battle-result-drawer .battle-result-teams{gap:10px}
.battle-board>.battle-result-drawer .battle-result-team>div{gap:2px;margin-bottom:5px}
.battle-board>.battle-result-drawer .battle-result-team small{font-size:6px;color:#8c795a}
.battle-board>.battle-result-drawer .battle-result-team>div>b{font-size:10px;color:#3a4732}
.battle-board>.battle-result-drawer .battle-result-team dl{gap:5px 6px}
.battle-board>.battle-result-drawer .battle-result-team dt{font-size:7px;color:#837052}
.battle-board>.battle-result-drawer .battle-result-team dd{font-size:12px;color:#294832;margin-top:1px}
.battle-board>.battle-result-drawer .battle-result-team [data-stat="damage"]{color:#965333}
.battle-page.battle-board>.arena.battlefield{grid-column:1;grid-row:3;height:100%;min-height:0;max-height:none;margin:0}
@media(max-width:760px){
 .game-shell.scene-battle{position:relative;height:100dvh;min-height:0;overflow:hidden}
 .game-shell.scene-battle>.game-stage{position:absolute;top:var(--hud-height,54px);right:0;bottom:0;left:0;height:auto;min-height:0;margin:0;padding:0;overflow:hidden}
 .battle-page.battle-board{
  --hand-height:clamp(116px,18.5dvh,156px);
  display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-rows:30px var(--hand-height) minmax(0,1fr) var(--hand-height) 140px 24px;
  gap:6px;height:100%;min-height:0;max-height:100%;max-width:650px;width:100%;margin:auto;padding:8px 10px;
  overflow:hidden;
 }
 .battle-board>.battle-header{grid-column:1;grid-row:1;height:30px;min-height:0;overflow:hidden}
 .battle-board>.battle-header h2{font-size:15px;margin-bottom:1px}
 .battle-board>.battle-header>div>small{font-size:7px}
 .battle-board .battle-header-right>.badge{font-size:7px;padding:3px 5px}
 .battle-board .battle-header-right .btn{font-size:7px;padding:4px 6px}
 .battle-board .round-clock span{font-size:15px}
 .battle-board>.battle-side{grid-column:1;height:var(--hand-height);min-height:0;padding:6px 8px;border-radius:8px}
 .battle-board>.battle-opponent{grid-row:2}
 .battle-board>.battle-player{grid-row:4}
 .battle-board>.battle-side .battle-side-heading{height:21px;min-height:0;gap:7px}
 .battle-board>.battle-side .battle-side-heading>div>small{font-size:5px;line-height:1}
 .battle-board>.battle-side .battle-side-heading h3{font-size:11px;line-height:1;margin:2px 0 0;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
 .battle-board>.battle-side .battle-side-resources{gap:7px}
 .battle-board>.battle-side .life-number{font-size:18px}
 .battle-board>.battle-side .troop-number{font-size:7px}
 .battle-board>.battle-side .life-track{height:2px;margin:3px 0 4px}
 .battle-board>.battle-side .hand{height:calc(var(--hand-height) - 41px);width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 .battle-board>.battle-side .card-click,.battle-board>.battle-side .hero-card{height:100%;min-height:0}
 .battle-board>.battle-side .card-body{padding:3px 4px 4px}
 .battle-board>.battle-side .card-name{font-size:9px;min-height:20px;line-height:1.08;margin-bottom:2px}
 .battle-board>.battle-side .card-stats{padding:2px 0}
 .battle-board>.battle-side .card-stats b{font-size:12px}
 .battle-board>.battle-side .card-stats small{font-size:4.5px}
 .battle-page.battle-board>.arena.battlefield{grid-column:1;grid-row:3;height:100%;min-height:0;max-height:none;flex:none;margin:0}
 .battle-board .battle-army-readout>small:first-child{font-size:5px}
 .battle-board .battle-army-readout>b{font-size:10px}
 .battle-board .battle-army-readout>span{font-size:11px}
 .battle-board .battle-army-readout>small:last-child{font-size:7px}
 .battle-board .enemy-army-readout{top:8px;right:8px}
 .battle-board .own-army-readout{bottom:8px;left:8px}
 .battle-board .battle-phase{font-size:7px;padding:4px 8px}
 .battle-board>.battle-controls{grid-column:1;grid-row:5;height:140px;min-height:0;margin:0;padding:8px 10px;gap:10px;align-items:start;overflow:hidden}
 .battle-board .battle-troop-control{min-width:0}
 .battle-board .battle-troop-control>div:first-child label{font-size:10px;line-height:1.1}
 .battle-board .battle-troop-control>div:first-child small{display:none}
 .battle-board .troop-input{margin:5px 0;gap:7px}
 .battle-board .troop-input output{font-size:18px;min-width:49px}
 .battle-board #troop-range{min-width:0;height:17px}
 .battle-board .troop-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0 0 4px}
 .battle-board .troop-shortcuts button{font-size:7px;line-height:1;padding:4px 3px;min-height:0}
 .battle-board .boost{font-size:8px;line-height:1.18;gap:4px;margin:0 0 3px}
 .battle-board .boost input{width:11px;height:11px;flex:none;margin-top:1px}
 .battle-board #reserve-label{font-size:7px;line-height:1.2}
 .battle-board .commit-panel{min-width:0;max-height:123px;padding-left:9px;gap:5px}
 .battle-board .attack-preview{gap:2px;min-width:0}
 .battle-board .attack-preview>span{font-size:8px;line-height:1.2}
 .battle-board .attack-preview strong{font-size:21px;line-height:1.08}
 .battle-board .attack-preview>small{font-size:6.5px;line-height:1.18}
 .battle-board .commit-panel .btn{font-size:10px;line-height:1.2;padding:7px 5px;min-height:0}
 .battle-board .commit-hint{font-size:6.5px;line-height:1.18}
 .battle-board>.battle-skill-summary,.battle-board>.battle-result-drawer{
  position:absolute;grid-column:auto;grid-row:auto;z-index:6;bottom:8px;width:calc((100% - 32px)/3);height:24px;min-height:0;
  max-height:none;margin:0;padding:0;background:none;border:0;box-shadow:none;overflow:visible;
 }
 .battle-board>.battle-skill-summary{left:10px}
 .battle-board>.battle-result-drawer{left:calc(33.333% + 5px)}
 .battle-board>.battle-skill-summary>summary,.battle-board>.battle-result-drawer>summary{
  height:24px;padding:5px 4px;text-align:center;font-size:8px;line-height:1.2;font-weight:600;
  border:1px solid #af976447;border-radius:5px;color:#dcc698;background:#172d22c9;cursor:pointer;
 }
 .battle-board>.battle-skill-summary>summary:before{content:"Чадвар ";font-size:8px}
 .battle-board>.battle-skill-summary>summary:after{content:"▴";color:#c5a765}
 .battle-board>.battle-skill-summary[open]>summary:before{content:""}
 .battle-board>.battle-skill-summary[open]>summary:after{content:" ▾"}
 .battle-board>.battle-skill-summary>summary b,.battle-board>.battle-skill-summary>summary .selected-card-stats{
  position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0;
 }
 .battle-board>.battle-skill-summary[open]>summary b{position:static;width:auto;height:auto;clip-path:none;font-size:8px;color:#e6d1a1;overflow:hidden;text-overflow:ellipsis}
 .battle-board>.battle-result-drawer>summary:after{content:" ▴";color:#c5a765}
 .battle-board>.battle-skill-summary>.battle-skill-content{
  position:fixed;left:12px;right:12px;bottom:42px;width:auto;max-height:calc(100dvh - var(--hud-height,54px) - 80px);
  margin:0;padding:14px 16px;overflow:auto;background:#163023f7;border:1px solid #bd9f645c;border-radius:10px;
  color:#e3d3af;box-shadow:0 9px 35px #0007;
 }
 .battle-board>.battle-skill-summary>.battle-skill-content p{font-size:12px;line-height:1.6;color:#e9d9b8;margin:0 0 9px}
 .battle-board>.battle-skill-summary>.battle-skill-content:before{content:"Картын чадвар";display:block;font-size:10px;letter-spacing:.5px;font-weight:700;color:#ddc18b;margin-bottom:8px}
 .battle-board>.battle-skill-summary>.battle-skill-content small{font-size:10px;line-height:1.5;margin-top:7px;color:#bdaf8e}
 .battle-board>.battle-result-drawer .round-resolution{
  position:fixed;left:12px;right:12px;bottom:42px;width:auto;max-height:calc(100dvh - var(--hud-height,54px) - 80px);
  margin:0;padding:14px 16px;overflow:auto;background:#efe2c5f7;border:1px solid #bea469;border-radius:10px;box-shadow:0 9px 35px #0007;
 }
 .battle-board>.battle-result-drawer .battle-result-title b{font-size:13px}
 .battle-board>.battle-result-drawer .battle-result-title span{font-size:9px}
 .battle-board>.battle-result-drawer .battle-result-team>div>b{font-size:12px}
 .battle-board>.battle-result-drawer .battle-result-team small{font-size:7px}
 .battle-board>.battle-result-drawer .battle-result-team dt{font-size:9px}
 .battle-board>.battle-result-drawer .battle-result-team dd{font-size:16px}
 .battle-board>.battle-history{grid-column:1;grid-row:6;justify-self:end;align-self:stretch;width:calc((100% - 12px)/3);height:24px;min-height:0;margin:0;z-index:6}
 .battle-board>.battle-history>summary{height:24px;padding:5px 3px;font-size:7px;line-height:1.3;border:1px solid #af976447;border-radius:5px;background:#172d22c9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .battle-board>.battle-history[open]>.battle-log{position:fixed;left:12px;right:12px;bottom:42px;width:auto;max-height:calc(100dvh - var(--hud-height,54px) - 80px)}
 .battle-board>.round-resolution{display:none}
 .battle-board>.battle-finished{grid-column:1;grid-row:5;height:140px;min-height:0;overflow:auto;margin:0;padding:12px 15px;gap:9px}
 .battle-board>.battle-finished h3{font-size:17px;margin-bottom:3px}
 .battle-board>.battle-finished p{font-size:10px}
 .battle-board>.battle-finished .btn{font-size:10px;padding:7px 9px}
}
