.deck-card,.pvp-deck-card{-webkit-touch-callout:none;user-select:none;touch-action:none}
.deck-card[aria-disabled=true],.pvp-deck-card[aria-disabled=true]{opacity:.48;cursor:help}
.battle-tower-info{width:min(360px,calc(100vw - 28px));max-height:calc(var(--game-height,100dvh) - 40px);padding:0;overflow:hidden;border:1px solid var(--info-color,#c8b477);border-radius:14px;color:#e5e7de;background:radial-gradient(ellipse at top,#46606c55,transparent 70%),#142d3b;box-shadow:0 18px 70px #0009}
.battle-tower-info::backdrop{background:#06141e55}
.battle-tower-info[open]{display:flex;flex-direction:column}.battle-tower-info header,.battle-tower-info footer{flex-shrink:0}.battle-info-body{min-height:0}
.battle-tower-info header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #91a8a52b}
.battle-tower-info header>div{display:flex;gap:8px;align-items:center;min-width:0}.battle-tower-info header .tower-icon{width:54px;height:54px;flex-shrink:0}.battle-tower-info header small{display:block;font-size:9px;color:var(--info-color)}.battle-tower-info header strong{display:block;font:20px Georgia;margin-top:4px}.battle-tower-info header button{align-self:start;background:none;color:#a7bdc2;font-size:26px;padding:0 4px;border:0}
.battle-info-body{padding:12px 15px;max-height:55dvh;overflow-y:auto;overscroll-behavior:contain}.battle-info-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.battle-info-stats>div{padding:8px 10px;border:1px solid #819ba32b;border-radius:7px;background:#071d2844}.battle-info-stats small{display:block;font-size:9px;color:#90acb8}.battle-info-stats b{display:block;font-size:15px;margin-top:4px;color:#ead3a2}.battle-info-body p{font-size:12px;line-height:1.65;margin:12px 0}.battle-info-field{font-size:10px;line-height:1.7;color:#a2c8cf;padding-top:8px;border-top:1px solid #8baca32b}.battle-tower-info footer{padding:8px 15px 11px;font-size:8px;color:#7297a7}
.battle-info-effects{margin-top:14px}.battle-info-effects h3{font-size:12px;color:#e7d1a2;margin:0 0 8px}.battle-info-effect{padding:8px 10px;margin-top:6px;border-left:2px solid #81d6dd;background:#102736;border-radius:5px}.battle-info-effect strong{display:block;font-size:11px;color:#dce6d9}.battle-info-effect span{display:block;font-size:10px;line-height:1.6;margin-top:3px;color:#a7c8d0}.battle-info-effect[data-effect="disrupted"],.battle-info-effect[data-effect="suppression"]{border-color:#ed9875}
/* Native text handles and callouts must not compete with game holds. */
html,body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,[contenteditable]:not([contenteditable="false"]),[contenteditable]:not([contenteditable="false"]) *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
img,canvas{-webkit-user-drag:none}
.battle-layout{--battle-header:76px;grid-template-rows:var(--battle-header) minmax(0,1fr)}
.battle-layout .main-layout{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.battle-layout .arena-frame{width:min(100%,calc((var(--game-height,100dvh) - 280px - env(safe-area-inset-bottom,0px))*1.263158))}
.battle-home{background:none;color:#d7c495;font-size:11px;white-space:nowrap;padding:3px 5px;border-radius:4px}
.battle-topline{gap:8px}.battle-topline .mission-chip{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-mini{display:grid;place-items:center}
@media(max-width:900px){.battle-layout{--battle-header:63px}.battle-layout .arena-frame{width:min(100%,calc((var(--game-height,100dvh) - 266px - env(safe-area-inset-bottom,0px))*1.263158))}.battle-home{font-size:10px}}
@media(max-width:520px){.battle-layout{--battle-header:55px}.battle-layout .arena-frame{width:min(100%,calc((var(--game-height,100dvh) - 255px - env(safe-area-inset-bottom,0px))*1.263158))}.battle-home{font-size:9px}.battle-topline .mission-chip{font-size:7px}.battle-topline{gap:4px}}
@media(max-height:670px) and (min-width:901px){.battle-layout{--battle-header:56px}.battle-layout .arena-frame{width:min(100%,calc((var(--game-height,100dvh) - 260px)*1.263158))}}
@media(max-height:500px) and (max-width:900px) and (orientation:landscape){.battle-layout{--battle-header:43px}.battle-layout .battle-shell{grid-template-rows:24px minmax(0,1fr)}.battle-layout .arena-frame{width:min(100%,calc((var(--game-height,100dvh) - 75px)*1.263158))}}
