/* Per-role advantages and event lanes: reuse the established team palette. */
.arena-table{gap:8px;padding:16px;perspective:none}
.arena-table>.roster--blue{grid-area:blue}
.arena-table>.roster--red{grid-area:red}
.arena-table>.rail--blue{grid-area:blueRail}
.arena-table>.rail--red{grid-area:redRail}
.arena-table>.map-well{grid-area:map;transform:none}
.map-notices--blue{grid-area:blueNotices;--notice-color:var(--blue)}
.map-notices--red{grid-area:redNotices;--notice-color:var(--red)}
.map-notices--neutral{grid-area:neutral}
.map-notices{min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding-bottom:20px}
.map-notices--neutral:empty{display:none}
.map-notices__label{font:600 11px/1.3 var(--font-sans);color:var(--notice-color);padding:0 2px}
[data-notice-side]{display:flex;flex-direction:column;gap:8px;min-width:0}
.map-toast{gap:5px;padding:10px 8px;font-size:12px;border-radius:7px;box-shadow:none;animation:lf-side-notice 260ms ease-out both;border-left:3px solid var(--notice-color,var(--text-3));background:#0d1820}
.map-toast--red{border-left:1px solid var(--line-strong);border-right:3px solid var(--red)}
.map-toast__side{font-size:11px;font-weight:700;color:var(--notice-color,var(--text-2))}
.map-toast__text{grid-column:1 / -1;font-weight:600;line-height:1.4}
.map-toast__src{grid-column:1 / -1;font-size:10px;font-weight:500;line-height:1.4;background:none;color:var(--text-2);border:0;padding-top:4px;border-top:1px solid var(--line-soft)}
.map-toast__ico{align-self:center}
@keyframes lf-side-notice{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.pc{--pc-pad:7px;column-gap:8px}
.pc__l3{flex-wrap:wrap;white-space:normal;gap:2px 5px}
.pc__duel{grid-column:1 / -1;margin-top:6px;padding-top:6px;border-top:1px solid var(--line-soft);min-width:0}
.pc__duel-vs{display:block;font:500 10px/1.3 var(--font-sans);color:var(--text-3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px}
.pc__edges{display:flex;gap:5px;flex-wrap:wrap}
.roster--red .pc__edges{justify-content:flex-end}
.pc__edge{font:650 12px/1.3 var(--font-sans);font-variant-numeric:tabular-nums;white-space:nowrap;padding:3px 6px;border-radius:4px;background:var(--panel-3);color:var(--text-2)}
.pc__edge--ahead{color:#c4e5ff;background:#123551;box-shadow:inset 2px 0 var(--blue)}
.roster--red .pc__edge--ahead{color:#ffd3dd;background:#44212e;box-shadow:inset -2px 0 var(--red)}
.pc__edge--behind{color:var(--text-2);background:transparent;border:1px solid var(--line-soft);padding:2px 5px}
.pc__edge--equal,.pc__edge--unknown{color:var(--text-3);background:transparent;font-size:11px;padding:3px 0}
@media(max-width:1199px) and (min-width:821px){
 .arena-table{grid-template-columns:minmax(180px,1fr) 16px minmax(140px,210px) minmax(140px,210px) 16px minmax(180px,1fr);grid-template-areas:"blue blueRail map map redRail red" "blue blueRail blueNotices redNotices redRail red" "blue blueRail neutral neutral redRail red"}
 .map-notices{justify-content:flex-start;padding-bottom:0}
}
@media(max-width:820px){
 .arena-table{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"map map" "blueNotices redNotices" "neutral neutral" "blue blue" "red red";gap:12px;padding:10px}
 .arena-table>.rail{display:none}
 .map-notices{justify-content:flex-start;padding-bottom:4px}
 .map-toast{font-size:12px;padding:9px}
 .pc__edges{gap:8px}.pc__edge{font-size:13px}
 .pc__duel{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center;justify-content:space-between}
 .pc__duel-vs{margin:0}
}
@media(prefers-reduced-motion:reduce){.map-toast{animation:none!important;transition:none!important}}
html[data-motion="reduced"] .map-toast{animation:none!important;transition:none!important}
