/* Asalto only. The other battlefields retain their existing presentation. */
#liveBattlePanel[data-mode=assault]{max-width:1240px}
body.liveMode:has(#liveBattlePanel[data-mode=assault] .liveEncounter)>.onlineHeader{display:none}
body.liveMode:has(#liveBattlePanel[data-mode=assault] .liveEncounter) .onlineMobileNav{display:none!important}
body.liveMode:has(#liveBattlePanel[data-mode=assault] .liveEncounter) .onlineMain{padding:5px 12px 10px}
#liveBattlePanel[data-mode=assault]:has(.liveEncounter){margin:0 auto}
#liveBattlePanel[data-mode=assault]:has(.liveEncounter) .liveHeading{padding:5px 12px;min-height:42px}
#liveBattlePanel[data-mode=assault]:has(.liveEncounter) .liveHeading .eyebrow{display:none}
#liveBattlePanel[data-mode=assault]:has(.liveEncounter) h1{font-size:21px!important}
#liveBattlePanel[data-mode=assault]:has(.liveEncounter) [data-live-network]{margin:2px 0;padding:2px 12px;min-height:14px}
#liveBattlePanel[data-mode=assault] .liveHeading{border:0;background:linear-gradient(105deg,#201c19ed,#171817e8);border-radius:12px 12px 0 0}
#liveBattlePanel[data-mode=assault] .liveEncounter{border-color:#92734c55;background:#171717;border-radius:12px;box-shadow:0 20px 65px #0005;max-width:min(100%,calc((100svh - 298px)*1.785714));margin:0 auto}
#liveBattlePanel[data-mode=assault] .liveScore{background:#181817;padding:7px 14px}
#liveBattlePanel[data-mode=assault] .liveObjective{font-size:11px;text-align:center;color:#c8bb9d;padding:5px 10px;background:#201d19;border-color:#b2915a25}
#liveBattlePanel[data-mode=assault]:has(.assaultDock) .liveObjective{display:none}
#liveBattlePanel[data-mode=assault] .liveEncounter>.liveNotice{margin:0;text-align:center;border-radius:0;background:#201d19;padding:5px 9px;min-height:27px}
#liveBattlePanel[data-mode=assault] .liveStage,#assaultPanel .assaultStage{width:100%;min-width:0;aspect-ratio:1000/560;background:#1b1717;border:0;touch-action:none}
.assaultPixiField canvas{display:block!important}
.assaultPixiField canvas.pixiBattleCanvas{pointer-events:auto!important}
.assaultPixiField canvas[hidden]{display:none!important}
.assaultUnavailable{position:absolute;inset:0;display:grid;place-items:center;background:#171b20e8;padding:25px;z-index:6;color:#e4ce9b;text-align:center}
#liveBattlePanel[data-mode=assault] .liveToolbar{border-color:#b89a6326;padding:6px 12px}
#liveBattlePanel[data-mode=assault] .liveToolbar small{color:#9d9c90;font-size:10px}
#liveBattlePanel[data-mode=assault] .liveNotice{background:#1b1b18;color:#d4c8a9;border-radius:8px;font-size:11px;min-height:25px}
#liveBattlePanel[data-mode=assault] .liveJournal{border-color:#b2966133;background:#1c1c18}
.assaultCompany{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:18px 0}
.assaultCompany article{display:grid;justify-items:center;align-content:end;gap:5px;min-width:0;padding:10px 4px;border-bottom:1px solid #b99a5d55;background:linear-gradient(#62523d08,#7a67431a);border-radius:10px}
.assaultCompany img{width:100%;max-width:65px;height:100px;object-fit:contain;filter:drop-shadow(0 7px 8px #0006)}
.assaultCompany strong{font:600 11px Arial;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.assaultCompany small{font:10px Arial;color:#b1ada0}
#liveBattlePanel[data-mode=assault] .assaultPreparation{background:linear-gradient(120deg,#1b201fee,#27231ddd);border-color:#b4966355;padding:20px;border-radius:12px}
#liveBattlePanel[data-mode=assault] .assaultBrief{max-width:720px;color:#b7b5a8}
#liveBattlePanel[data-mode=assault] .assaultPreparation details{margin-top:18px;background:#171b1a;border-color:#a58d5c33}
.assaultDock{padding:8px 14px 5px;background:linear-gradient(#24201c,#1a1a18);border-top:1px solid #a8884f44;user-select:none;order:3}
.assaultResource{display:flex;align-items:center;gap:12px;margin-bottom:8px;color:#dfc491;font:11px Arial}
.assaultResource b{min-width:51px;font:600 12px Arial}
.assaultResource span{min-width:104px;text-align:right;font-size:10px;color:#aaa798}
.assaultResource progress{flex:1;width:100%;height:4px!important;border:0;accent-color:#d6b56b}
.assaultResource progress::-webkit-progress-bar{background:#38352b;border-radius:4px}
.assaultResource progress::-webkit-progress-value{background:linear-gradient(90deg,#8b8f79,#e0bc74);border-radius:4px}
.assaultHandRow{display:grid;grid-template-columns:minmax(0,1fr) 66px;gap:10px;max-width:700px;margin:auto}
.assaultHandCards{display:flex;gap:8px;min-height:74px;min-width:0}
#liveBattlePanel[data-mode=assault] .assaultDock .assaultHandCard,#assaultPanel .assaultDock .assaultHandCard{position:relative!important;flex:1;display:grid;grid-template-columns:45px minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;column-gap:6px;min-width:0;min-height:74px!important;padding:6px 9px!important;border:1px solid #aa92605c;background:linear-gradient(135deg,#403b2f,#202521);border-radius:11px!important;cursor:grab;touch-action:none;text-align:left;overflow:hidden;transition:border-color .15s,background .15s}
#liveBattlePanel[data-mode=assault] .assaultDock [hidden],#assaultPanel .assaultDock [hidden]{display:none!important}
.assaultHandCard img{width:43px!important;height:58px!important;object-fit:contain;grid-row:1/3;pointer-events:none;filter:drop-shadow(0 4px 5px #0006)}
.assaultHandCard strong{font:600 11px Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:11px;color:#e8e3d4}
.assaultHandCard small{font:10px Arial!important;color:#c6baa1;align-self:start}
.assaultCardCost{position:absolute;right:5px;top:4px;display:grid;place-items:center;min-width:19px;height:19px;border-radius:50%;background:#273c43;border:1px solid #b7b58677;font:600 11px Arial;color:#f1dbae}
#liveBattlePanel[data-mode=assault] .assaultDock .assaultHandCard[aria-pressed=true],#assaultPanel .assaultDock .assaultHandCard[aria-pressed=true]{border-color:#e4c789;background:linear-gradient(135deg,#5a5038,#283b33);box-shadow:inset 0 0 13px #f3d78e16}
#liveBattlePanel[data-mode=assault] .assaultDock .assaultHandCard[aria-pressed=true]::before,#liveBattlePanel[data-mode=assault] .assaultDock .assaultHandCard[aria-pressed=true]::after{display:none!important}
.assaultDock .unavailable{filter:saturate(.55);opacity:.7}
.assaultDock.isDragging .assaultHandCard{cursor:grabbing!important}
#liveBattlePanel[data-mode=assault] .assaultDock .assaultPowerButton,#assaultPanel .assaultDock .assaultPowerButton{display:grid;place-content:center;gap:3px;background:#2c2b22;border:1px solid #a48e5f77;border-radius:13px!important;min-height:74px!important;font-size:26px!important;color:#dfc388;padding:5px!important}
.assaultPowerButton small{font:10px Arial!important;color:#c7b991;white-space:nowrap}
.assaultDockFoot{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:700px;margin:5px auto 0;color:#a6a396;font:10px Arial}
.assaultTouchLanes{display:flex;gap:5px}
#liveBattlePanel[data-mode=assault] .assaultTouchLanes button,#assaultPanel .assaultTouchLanes button{min-height:28px!important;padding:3px 9px!important;font-size:10px!important;border:0;background:#38352b;border-radius:6px!important;color:#d6c6a8}
.assaultEmptyHand{align-self:center;font:11px Arial;color:#b4b2a5;padding:15px}
#assaultPanel [data-assault-dock]{order:3}
#assaultPanel .assaultScore>b{font:600 11px Arial;color:#c9c3ac}
@media(max-width:760px){
 .assaultCompany{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
 .assaultCompany img{height:65px}
 .assaultCompany strong{font-size:9px}
 .assaultCompany small{font-size:9px}
 #liveBattlePanel[data-mode=assault] .liveStage,#assaultPanel .assaultStage{width:100%;min-width:0}
 #liveBattlePanel[data-mode=assault] .liveEncounter{max-width:100%}
 #liveBattlePanel[data-mode=assault]:has(.liveEncounter) .liveHeading{flex-direction:row;align-items:center;gap:5px}
 #liveBattlePanel[data-mode=assault]:has(.liveEncounter) .liveHeading>div:last-child{align-self:center;gap:4px}
 #liveBattlePanel[data-mode=assault]:has(.liveEncounter) h1{font-size:18px!important}
 #liveBattlePanel[data-mode=assault] .liveHeading button{font-size:10px!important;padding:5px 7px!important}
 .assaultDock{padding:7px 7px 4px}
 .assaultHandRow{grid-template-columns:minmax(0,1fr) 48px;gap:6px}
 .assaultHandCards{gap:5px}
 #liveBattlePanel[data-mode=assault] .assaultDock .assaultHandCard,#assaultPanel .assaultDock .assaultHandCard{grid-template-columns:1fr;grid-template-rows:45px auto auto;text-align:center;justify-items:center;padding:4px!important;min-height:78px!important;column-gap:0}
 .assaultHandCard img{grid-row:1;width:35px!important;height:45px!important}
 .assaultHandCard strong{font-size:9px;width:100%;padding-right:0}
 .assaultHandCard small{font-size:9px!important}
 .assaultCardCost{top:3px;right:3px;min-width:17px;height:17px;font-size:10px}
 .assaultResource{gap:7px}
 .assaultResource span{min-width:94px;font-size:9px}
 .assaultDockFoot{font-size:9px;gap:4px}
 #liveBattlePanel[data-mode=assault] .assaultTouchLanes button,#assaultPanel .assaultTouchLanes button{padding:3px 6px!important;font-size:9px!important}
}
@media(max-height:550px) and (orientation:landscape){
 #liveBattlePanel[data-mode=assault] .liveEncounter{max-width:min(100%,calc((100svh - 225px)*1.785714))}
 #liveBattlePanel[data-mode=assault] .liveHeading{padding:4px 10px}
 #liveBattlePanel[data-mode=assault] h1{font-size:18px!important}
 #liveBattlePanel[data-mode=assault] [data-live-network]{min-height:0;margin:2px}
}

/* Tactical assault: use the side space on PC, keep direct touch controls on mobile. */
#liveBattlePanel[data-mode=assault]{max-width:1440px}
#liveBattlePanel[data-mode=assault] .liveEncounter{max-width:100%;display:grid;grid-template-columns:minmax(0,1fr) 274px;grid-template-areas:"score score" "notice notice" "field dock" "journal journal";align-items:start;overflow:hidden}
#liveBattlePanel[data-mode=assault] .liveScore{grid-area:score;gap:12px}
#liveBattlePanel[data-mode=assault] .liveEncounter>.liveNotice{grid-area:notice;font-size:12px;min-height:28px}
#liveBattlePanel[data-mode=assault] .liveStage{grid-area:field;align-self:start}
#liveBattlePanel[data-mode=assault] [data-live-actions]{grid-area:dock;min-width:0;align-self:stretch}
#liveBattlePanel[data-mode=assault] .liveJournal{grid-area:journal;margin:0;padding:8px 12px}
#liveBattlePanel[data-mode=assault] .liveEncounter>[data-live-result]:empty{display:none}
#liveBattlePanel[data-mode=assault] .assaultDock{padding:12px;background:linear-gradient(155deg,#242a28,#171b20);border-left:1px solid #bda36c44;display:flex;flex-direction:column;gap:10px}
.assaultResource{margin:0;flex-wrap:wrap;gap:5px}
.assaultResource b{font-size:12px}
.assaultResource span{font-size:11px;flex:1}
.assaultResource progress{flex-basis:100%;height:5px!important;order:3}
.assaultHandCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:92px;gap:7px}
#liveBattlePanel[data-mode=assault] .assaultHandCards{grid-template-columns:1fr}
#liveBattlePanel[data-mode=assault] .assaultDock .assaultHandCard,#assaultPanel .assaultDock .assaultHandCard{grid-template-columns:64px minmax(0,1fr);grid-template-rows:1fr 1fr;min-height:88px!important;gap:0 9px;padding:5px 9px!important;border-radius:12px!important;cursor:grab}
.assaultHandCard img{grid-row:1/3;width:62px!important;height:76px!important;object-fit:contain}
.assaultHandCard strong{font-size:12px;padding:0;align-self:end;white-space:normal}
.assaultHandCard small{font-size:11px!important;padding-top:4px}
.assaultDockFoot{max-width:none;margin:0;display:flex;flex-direction:column;gap:8px;align-items:stretch;font-size:11px;line-height:1.4}
.assaultTouchLanes{display:flex;justify-content:stretch}
#liveBattlePanel[data-mode=assault] .assaultTouchLanes button,#assaultPanel .assaultTouchLanes button{flex:1;min-height:44px!important;padding:6px!important;font-size:11px!important;border:1px solid #c7b68055;background:#273c39;color:#ece2c5}
.assaultPowers{margin-top:auto;padding-top:10px;border-top:1px solid #bda36c44;min-width:0}
.assaultPowers header{display:flex;gap:7px;flex-wrap:wrap;align-items:center;font:12px Arial;color:#e5d3a6}
.assaultPowers header span{margin-left:auto;color:#bdc9c7;font-size:11px}
.assaultPowers progress{height:5px!important;flex-basis:100%;width:100%;accent-color:#caa3eb;margin:2px 0 8px}
.assaultPowerChoices{display:grid;grid-template-columns:1fr;gap:6px}
#liveBattlePanel[data-mode=assault] .assaultDock .assaultPowerButton,#assaultPanel .assaultDock .assaultPowerButton{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px!important;font:12px Arial!important;padding:7px 10px!important;text-align:left;background:#29303a;border-color:#b99ad377;border-radius:10px!important}
.assaultPowerButton>b{font-size:22px;color:#e0c8ff}
.assaultPowerButton>span{font-size:12px;line-height:1.3}
.assaultPowerButton small{display:block;white-space:normal;font-size:11px!important;margin-top:2px;color:#cad1d8}
#liveBattlePanel[data-mode=assault] .assaultPowers p,#assaultPanel .assaultPowers p{margin:7px 0 0;color:#bec9c8;font:11px/1.4 Arial}
.assaultPowerButton[aria-pressed=true]{outline:2px solid #c7a1ed;outline-offset:1px}
#assaultPanel .assaultDock{padding:12px;display:flex;flex-direction:column;gap:10px}
#assaultPanel .assaultPowerChoices{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){
 #liveBattlePanel[data-mode=assault] .liveEncounter{grid-template-columns:minmax(0,1fr);grid-template-areas:"score" "notice" "field" "dock" "journal"}
 #liveBattlePanel[data-mode=assault] .assaultDock{border-left:0;border-top:1px solid #bda36c44;padding:9px;gap:8px}
 #liveBattlePanel[data-mode=assault] .assaultHandCards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .assaultPowerChoices{grid-template-columns:repeat(3,minmax(0,1fr))}
 .assaultDockFoot{flex-direction:row;align-items:center;gap:10px}
 .assaultTouchLanes{flex:1;max-width:340px}
 .assaultPowers{padding-top:7px}
}
@media(max-width:600px){
 body.liveMode:has(#liveBattlePanel[data-mode=assault] .liveEncounter) .onlineMain{padding:4px}
 #liveBattlePanel[data-mode=assault] .assaultDock .assaultHandCard,#assaultPanel .assaultDock .assaultHandCard{grid-template-columns:1fr;grid-template-rows:66px auto auto;min-height:102px!important;padding:5px!important;gap:0;justify-items:center;text-align:center}
 .assaultHandCard img{grid-row:1;width:53px!important;height:66px!important}
 .assaultHandCard strong{font-size:11px;line-height:1.2;align-self:center}
 .assaultHandCard small{font-size:10px!important;padding-top:3px}
 .assaultPowers header{font-size:12px}
 #liveBattlePanel[data-mode=assault] .assaultDock .assaultPowerButton,#assaultPanel .assaultDock .assaultPowerButton{flex-direction:column;gap:3px;padding:7px 3px!important;min-height:76px!important;text-align:center;justify-content:center}
 .assaultPowerButton>b{font-size:20px}
 .assaultPowerButton>span{font-size:11px}
 .assaultPowerButton small{font-size:10px!important}
 .assaultDockFoot{flex-wrap:wrap;font-size:10px}
 .assaultTouchLanes{max-width:none;flex-basis:100%}
 #liveBattlePanel[data-mode=assault] .liveScore{padding:6px;font-size:10px}
}
@media(max-height:550px) and (orientation:landscape) and (min-width:700px){
 #liveBattlePanel[data-mode=assault] .liveEncounter{max-width:100%;grid-template-columns:minmax(0,1fr) 235px;grid-template-areas:"score score" "notice notice" "field dock" "journal journal"}
 #liveBattlePanel[data-mode=assault] .assaultHandCards{grid-template-columns:repeat(3,minmax(0,1fr))}
 #liveBattlePanel[data-mode=assault] .assaultDock .assaultHandCard{grid-template-columns:1fr;grid-template-rows:54px auto auto;min-height:88px!important;justify-items:center;text-align:center;padding:4px!important}
 #liveBattlePanel[data-mode=assault] .assaultHandCard img{grid-row:1;width:40px!important;height:54px!important}
 .assaultDockFoot{flex-direction:column;align-items:stretch}
 #liveBattlePanel[data-mode=assault] .assaultPowerChoices{grid-template-columns:1fr}
}

@media(min-width:1051px){
 #liveBattlePanel[data-mode=assault] .assaultHandCards{grid-template-columns:repeat(3,minmax(0,1fr))}
 #liveBattlePanel[data-mode=assault] .assaultDock .assaultHandCard{grid-template-columns:1fr;grid-template-rows:80px auto auto;justify-items:center;text-align:center;min-height:116px!important;padding:5px!important;gap:0}
 #liveBattlePanel[data-mode=assault] .assaultHandCard img{grid-row:1;width:64px!important;height:80px!important}
 #liveBattlePanel[data-mode=assault] .assaultHandCard strong{font-size:11px;align-self:center}
 #liveBattlePanel[data-mode=assault] .assaultHandCard small{font-size:10px!important}
 #liveBattlePanel[data-mode=assault] .assaultPowerChoices{grid-template-columns:repeat(3,minmax(0,1fr))}
 #liveBattlePanel[data-mode=assault] .assaultDock .assaultPowerButton{flex-direction:column;justify-content:center;text-align:center;gap:4px;min-height:96px!important;padding:7px 3px!important}
 #liveBattlePanel[data-mode=assault] .assaultPowerButton>span{font-size:11px}
 #liveBattlePanel[data-mode=assault] .assaultPowerButton small{font-size:10px!important}
}

.assaultDock .assaultHandRow{display:block;max-width:none;width:100%}
.assaultDock .assaultEmptyHand{grid-column:1/-1;width:100%;padding:12px 4px;line-height:1.5}
