/* Standard Battle: a quiet tabletop, not nested dashboard panels. */
.shell:has(.standard-table){background:#141a1d;padding-bottom:78px}
.shell:has(.standard-table) .tabletop.standard-table{background:radial-gradient(ellipse at center,#303838 0%,#202727 70%,#191f20 100%);border:1px solid #59615d;border-radius:8px;box-shadow:inset 0 0 80px #0005;grid-template-rows:minmax(0,1fr) 48px minmax(0,1fr);padding:10px 20px;gap:5px;overflow:visible}
.standard-table .mat-half,.standard-table .mat-half.opponent-half{grid-template-columns:minmax(0,1fr) 116px 154px;grid-template-rows:18px minmax(0,1fr) 82px;grid-template-areas:"player player player" "field command resources" "camp piles piles";gap:5px 14px;min-height:0}
.standard-table .mat-half.opponent-half{grid-template-rows:18px 82px minmax(0,1fr);grid-template-areas:"player player player" "camp piles piles" "field command resources"}
.standard-table .mat-player,.standard-table .mat-half.opponent-half .mat-player{flex-direction:row;color:#c7cdc7;font-size:12px;opacity:.9}
.standard-table .mat-player strong{font-size:14px;letter-spacing:.04em}
.standard-table .mat-field{overflow:visible;position:relative}
.standard-table .mat-field h2{font-size:12px;font-weight:400;color:#bdc6bf;margin:0 0 3px}
.standard-table .mat-field .battlefield-cards{display:grid;grid-template-columns:repeat(var(--army-cols,6),minmax(0,145px));grid-auto-rows:minmax(0,1fr);justify-content:center;align-items:stretch;gap:8px;overflow:visible;padding:0;min-height:0}
.standard-table .battlefield-cards>:first-child,.standard-table .battlefield-cards>:last-child{margin-inline:0}
.standard-table .mat-field .card{position:relative;width:100%;min-width:0;max-width:145px;min-height:0;height:100%;box-sizing:border-box;flex:none;padding:5px;display:flex;flex-direction:column;gap:3px;border-radius:6px;background:#202c30;box-shadow:2px 4px 7px #0008;overflow:visible}
.standard-table .mat-field .sample-card-art{width:100%;height:clamp(40px,7dvh,88px);min-height:0;flex:1;object-fit:cover;border-radius:3px}
.standard-table .mat-field .card-portrait{height:60px;min-height:0;flex:1;overflow:hidden}.standard-table .mat-field .card-portrait img{width:100%;height:100%;object-fit:cover;object-position:top}
.standard-table .mat-field .card-type-label{display:none}
.standard-table .card-meta{padding-right:26px;min-height:28px}
.standard-table .card-meta strong{display:block;font-size:12px;line-height:1.15;overflow-wrap:anywhere}
.standard-table .card .cost{font-size:14px;min-width:24px;min-height:24px;top:4px;right:4px;background:#ead394;color:#211d13;border:1px solid #f9e9ba;border-radius:50%;box-shadow:0 1px 4px #0009}
.standard-table .card .combat-stats{font-size:16px;margin:0;flex:none}.standard-table .card footer{padding:2px 0;font-size:12px}
.standard-table .card.exhausted{opacity:.83;border-style:dashed}.standard-table .card.exhausted .card-meta:after{font-size:10px;letter-spacing:0}
.standard-table .card.interactive-card{outline:1px solid #dfce88;outline-offset:2px}
.standard-table .card.selected-card{outline:2px solid #fff0ae;outline-offset:3px;z-index:12}
.standard-table .attached-equipment{position:absolute;left:4px;right:4px;bottom:-5px;transform:translateY(100%);z-index:3;max-height:none;display:flex;gap:3px;flex-wrap:wrap;padding:2px;background:#172024;border:1px solid #98aab1;border-radius:3px}
.standard-table .attached-equipment>span{display:none}.standard-table .attached-equipment button{min-height:22px;padding:2px 4px;font-size:11px}.standard-table .attached-equipment img{display:none}
.standard-table .mat-camp{width:min(580px,100%);height:82px;border:0;background:none;padding:0;align-self:center;overflow:visible}
.standard-table .mat-camp .zone h3{font-size:12px;font-weight:400;letter-spacing:.06em;margin-bottom:4px;color:#b4beb7}
.standard-table .mat-camp .fixed-slots .cards{gap:16px}
.standard-table .mat-camp .zone-structures .slot{height:60px;min-height:60px;background:#121a191f;border:1px dashed #727e6e80;border-radius:4px}
.standard-table .mat-camp .slot .card{height:60px;min-height:60px;display:grid;grid-template-columns:52px minmax(0,1fr);padding:5px;gap:6px;overflow:visible;box-shadow:2px 3px 6px #0005;border-radius:4px}
.standard-table .mat-camp .card .sample-card-art{height:46px;width:52px;object-fit:cover}.standard-table .mat-camp .card-meta{padding-right:20px;align-self:center}.standard-table .mat-camp .card-meta strong{font-size:12px}.standard-table .mat-camp .card .cost{font-size:12px;min-width:20px;min-height:20px}
.standard-table .mat-center{gap:18px}.standard-table .mat-center:before,.standard-table .mat-center:after{background:linear-gradient(90deg,transparent,#9c9f7d66,transparent)}
.standard-table .mat-location{width:min(560px,75%);max-height:none;overflow:visible;border:1px solid #aba37c80;padding:5px 14px;background-size:cover;background-position:center;box-shadow:0 3px 9px #0005}
.standard-table .mat-location strong{font-size:15px}.standard-table .mat-location>span{font-size:12px;line-height:1.2}
.standard-table .mat-command{align-self:center;gap:4px}.standard-table .mat-warden{padding:5px;border-radius:5px;box-shadow:2px 4px 8px #0007;gap:3px}.standard-table .mat-warden .sample-card-art{height:clamp(32px,5dvh,62px);width:100%;object-fit:cover}.standard-table .mat-warden strong{font-size:12px}.standard-table .mat-warden small{display:none}.standard-table .mat-warden b{font-size:25px}.standard-table .warden-play{font-size:12px;min-height:34px;padding:4px}
.standard-table .mat-resources{overflow:visible;background:#161d1d99;border:1px solid #6b75614d;border-radius:5px;padding:6px;gap:4px;max-height:none;align-self:center}
.standard-table .mat-resource-line{font-size:12px;gap:4px}.standard-table .mat-resource-line b{font-size:18px}.standard-table .supply-ready{padding:3px;font-size:12px}.standard-table .supply-ready b{font-size:23px}.standard-table .mat-resource-line .resource-icon{width:20px;height:20px;flex-shrink:0}.standard-table .supply-ready .resource-icon{width:24px;height:24px}
.standard-table .mat-resources .interception-meter{gap:2px}.standard-table .mat-resources .interception-meter strong,.standard-table .mat-resources .interception-meter b{font-size:12px}.standard-table .mat-ability summary{font-size:12px;min-height:28px}
.standard-table .mat-piles{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-self:center;height:64px}
.standard-table .mat-piles .pile{height:64px;min-height:64px;border:1px solid #858b7a;border-radius:5px;background:#151b1df2;box-shadow:3px 3px 0 #596459,5px 5px 0 #101515;display:grid;grid-template-columns:23px 1fr auto;gap:4px;padding:7px}.standard-table .mat-piles .discard-pile{border-style:dashed;box-shadow:none}.standard-table .mat-piles .pile strong{font-size:12px}.standard-table .mat-piles .pile b{font-size:22px}
.standard-table .mat-empty{grid-column:1/-1;align-self:center;font-size:14px;color:#afb8af}
.shell:has(.standard-table) .mat-reports:not([open]){background:transparent;bottom:82px;opacity:.7}
@media(max-width:1100px){
 .shell:has(.standard-table) .tabletop.standard-table{padding:7px 10px}
 .standard-table .mat-half,.standard-table .mat-half.opponent-half{grid-template-columns:minmax(0,1fr) 94px 130px;gap:4px 8px}
 .standard-table .mat-field .battlefield-cards{gap:6px}.standard-table .card-meta strong{font-size:12px}.standard-table .mat-camp .fixed-slots .cards{gap:8px}
 .standard-table .mat-camp .slot .card{grid-template-columns:36px minmax(0,1fr)}.standard-table .mat-camp .card .sample-card-art{width:36px}
}
@media(max-height:760px){
 .shell:has(.standard-table) .tabletop.standard-table{grid-template-rows:minmax(0,1fr) 42px minmax(0,1fr);padding-top:4px;padding-bottom:4px}
 .standard-table .mat-half{grid-template-rows:16px minmax(0,1fr) 65px}.standard-table .mat-half.opponent-half{grid-template-rows:16px 65px minmax(0,1fr)}
 .standard-table .mat-camp{height:65px}.standard-table .mat-camp .zone-structures .slot,.standard-table .mat-camp .slot .card{height:46px;min-height:46px}.standard-table .mat-camp .card .sample-card-art{height:32px}
 .standard-table .mat-piles,.standard-table .mat-piles .pile{height:48px;min-height:48px}.standard-table .mat-warden .sample-card-art{height:28px}.standard-table .mat-resource-line{gap:2px}.standard-table .mat-resources{gap:2px;padding:4px}.standard-table .mat-field .card{gap:1px;padding:4px}
}
