/* Reserve only occupied game pieces for dragging; empty board and lists scroll. */
[data-piece-zone].occupied[draggable="true"],#plan-board .occupied{touch-action:pinch-zoom;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
.touch-piece-preview{position:fixed;left:0;top:0;width:60px;height:60px;border-radius:50%;overflow:hidden;pointer-events:none;z-index:2147483647;box-shadow:0 8px 24px #061a2266,0 0 0 2px #f2db92;background:#15352c;will-change:transform}
.touch-piece-preview img{width:100%;height:100%;object-fit:cover;display:block}
.touch-drag-source .piece-portrait{opacity:.4}
.touch-drop-target{filter:brightness(1.3);box-shadow:inset 0 0 0 3px #f1d889!important}
.touch-dragging,.touch-dragging *{-webkit-touch-callout:none;user-select:none!important;-webkit-user-select:none!important}
@media(pointer:coarse){
 .training-main .board-tip{font-size:10px}
 .training-main .arena-actions button,.training-main .shop-sort,.training-main .shop-sound{min-height:44px}
 .training-main .training-settings>summary{min-height:44px}
 .training-main .bench-slots{min-height:46px}
 .planner-tools button,.planner-tools select,#selected-plan-hero button,#selected-plan-hero select{min-height:44px}
 .planner-items,.settings-content{overscroll-behavior:contain}
}
@media(max-width:600px){
 main#app.training-main>.tactics-arena{flex:0 0 auto;min-height:0}
 .training-main .tactics-layout{display:flex;flex-direction:column;flex:0 0 auto;gap:7px}
 .training-main .battle-surface{order:0;container-type:inline-size;flex:none;min-height:0;padding:8px 6px 10px}
 .training-main .hex-board{width:100%;margin:10px 0 0}
 .training-main .board-caption{height:20px}
 .training-main .board-tip{display:none}
 .training-main .board-caption:after{content:'拖动移位 · 拖到商店出售';font-size:9px;color:#c3d4c3}
 .training-main .arena-traits{order:1;flex:none;max-height:52px;padding:0;overflow:hidden}
 .training-main .arena-traits h3{display:none}
 .training-main #roll-traits{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding-bottom:3px}
 .training-main #roll-traits .live-trait{flex:0 0 auto;min-width:94px;margin:0;padding:4px;min-height:36px}
 .training-main .arena-actions{flex-wrap:wrap}
 .training-main .shop-main-row .roll-btn{min-width:64px}
 .training-main .hex-cell .piece-name{font-size:8px}
 .training-main .hex-cell .piece-stars{font-size:10px}
}
