.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.territory-legend [hidden]{display:none!important}
.lower-grid{grid-template-columns:minmax(270px,.85fr) minmax(0,1.75fr);align-items:start}
.battle-heading .eyebrow{margin-bottom:5px}.battle-heading h2{font-size:1.8rem}
.battle-controls{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.battle-controls label{display:grid;gap:5px;font-size:.6875rem;color:var(--muted);letter-spacing:.04em}
.battle-controls select{min-width:150px;max-width:230px;font-size:.75rem;padding:10px}
.battle-controls .segmented button{min-height:40px}
.battle-context{font-size:.75rem;color:var(--muted);padding:13px 20px;background:#081e2870;border-bottom:1px solid var(--border);line-height:1.7}
.battle-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.75rem;line-height:1.5}
.battle-table thead{background:#0b222c}.battle-table thead th{padding:13px 12px;text-align:left;color:var(--muted);font-size:.625rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600}
.battle-table th:first-child{width:26%;padding-left:20px}.battle-table th:nth-child(2){width:24%}.battle-table th:nth-child(3){width:17%}.battle-table th:nth-child(4){width:23%}.battle-table th:last-child{width:10%}
.battle-row>th,.battle-row>td{padding:11px 12px;border-bottom:1px solid #29434c;vertical-align:middle;overflow-wrap:anywhere;text-align:left;font-weight:400}
.battle-row>th{box-shadow:inset 3px 0 var(--row-color)}.battle-row:nth-child(even){background:#ffffff02}.battle-row:hover,.battle-row:focus-within{background:#bdd6bc09}
.battle-store{background:none;padding:0;text-align:left;font-size:inherit;font-weight:600;line-height:1.6;color:var(--text)}.battle-store:hover{text-decoration:underline;text-underline-offset:3px;color:var(--gold)}
.battle-row small{display:block;font-size:.6875rem;color:var(--muted);margin-top:4px}.battle-when time{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;color:var(--text);font-variant-numeric:tabular-nums}.battle-when time strong{display:inline;font-size:.6875rem;font-weight:400;color:var(--muted)}
.battle-when a,.battle-when>small{display:block;font-size:.6875rem;line-height:1.6;margin-top:5px;color:#bcd0d0}.battle-when a:hover{color:var(--gold);text-decoration:underline}
.battle-table .points-col{text-align:right;padding-right:18px;font-variant-numeric:tabular-nums}.points-col strong{font-size:.875rem;color:var(--text)}.battle-muted{font-size:.6875rem;color:var(--muted)}
.territory-badge{display:inline-flex;align-items:center;gap:5px;font-size:.6875rem;white-space:nowrap;line-height:1.5;padding:4px 6px;border:1px solid #526672;border-radius:5px;background:#192f39;color:#c4d0d6}
.territory-badge>span{font-size:.875rem;line-height:1;width:12px;text-align:center}.territory-badge.state-held{border-color:#51736c;color:#c0e5d4;background:#203a37}.territory-badge.state-claimed{border-color:#4d7a82;color:#bcebf0;background:#173a43}.territory-badge.state-contested{border-color:#7d653e;color:#f3cf91;background:#3b3224}.territory-badge.state-unclaimed{border-color:#4c6069;color:#b9c8ce;background:transparent}.territory-badge.state-pending{border-style:dashed}
.team-identity{display:inline-flex;align-items:center;gap:7px;line-height:1.6}.team-identity i{width:9px;height:9px;border-radius:2px;background:var(--team-color);box-shadow:0 0 0 1px #ffffff35;flex:none}
.territory-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.8125rem}.territory-summary strong{flex-basis:100%;color:var(--text);font-size:1.1rem}.territory-summary strong small{font-weight:400;font-size:.75rem;color:var(--muted)}
.design-map .territory-legend{margin-bottom:16px}
.territory-pin path{fill:var(--territory-color);stroke:#f5f2df;stroke-width:2}.territory-pin text{fill:#081b24;font-family:system-ui,sans-serif;font-size:16px;font-weight:700}.territory-pin.state-pending path{fill:#203841;stroke:#afbec5;stroke-dasharray:3 2}.territory-pin.state-pending text{fill:#d2dde0}.territory-pin.state-contested path{fill:#352c22;stroke:#efbd68}.territory-pin.state-contested text{fill:#efbd68}.territory-pin.state-unclaimed path{fill:#0c2732;stroke:#b9c8ce}.territory-pin.state-unclaimed text{fill:#d2dde0}.pin span{line-height:1.7;max-width:250px;white-space:normal;width:max-content;text-align:left}
.territory-legend{display:flex;flex-wrap:wrap;align-items:center;gap:9px 16px;font-size:.75rem;margin-top:12px;color:var(--muted)}.territory-legend>span{display:inline-flex;gap:6px;align-items:center}.territory-legend .legend-note{margin-left:auto}.legend-key{font-style:normal;font-size:1rem}.legend-key.contested{color:#efbd68}.legend-team-note{border-top:1px solid var(--border);padding:16px 20px;font-size:.75rem;line-height:1.8;color:var(--muted)}.legend-team-note a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.design-main{max-width:1680px}.design-banner{border:1px solid #78603c;background:#352e23;color:#ecd4aa;padding:14px 18px;border-radius:8px;font-size:.8125rem}.design-banner strong{display:block;color:#f5dfa9;margin-bottom:3px}.design-heading{padding:24px 0;display:flex;justify-content:space-between;align-items:end;gap:20px}.design-heading p:not(.eyebrow){margin-top:10px;color:var(--muted);font-size:.875rem}.design-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:start}.design-map .map-viewport{height:505px}.design-map .map-art{object-fit:cover}.design-team-key{padding:16px;display:flex;gap:10px 18px;flex-wrap:wrap;font-size:.75rem}.design-selection{margin-top:16px;padding:20px;display:grid;gap:12px}.design-selection h2{font-size:1.6rem}.design-selection p{font-size:.8125rem;color:var(--muted)}.design-grid .battle-row>td,.design-grid .battle-row>th{padding-top:11px;padding-bottom:11px}.design-grid .battle-table th:first-child{width:25%}.design-grid .battle-table th:nth-child(2){width:23%}.design-grid .battle-table th:nth-child(3){width:18%}.design-grid .battle-table th:nth-child(4){width:24%}.design-footer{font-size:.75rem;color:var(--muted);padding:20px 0 32px;line-height:1.8}
@media(max-width:1200px){.lower-grid{grid-template-columns:1fr}.design-grid{grid-template-columns:1fr}.design-map .map-viewport{height:440px}.design-map{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:18px}.design-map .design-selection{margin:0;align-content:center}}
@media(max-width:700px){.battle-heading{flex-wrap:wrap}.battle-controls{padding:14px 18px}.battle-context{padding:12px 18px}.battle-table,.battle-table tbody{display:block}.battle-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.battle-table .battle-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px 18px;padding:18px;border-bottom:1px solid var(--border);box-shadow:inset 3px 0 var(--row-color)}.battle-table .battle-row>th,.battle-table .battle-row>td{display:block;width:auto;padding:0;border:0;box-shadow:none;text-align:left}.battle-table .battle-row>th{grid-column:1/-1}.battle-store{font-size:.875rem;min-height:30px}.battle-row td::before{content:attr(data-label);display:block;text-transform:uppercase;letter-spacing:.06em;font-size:.625rem;color:var(--muted);margin-bottom:6px}.battle-when{grid-column:1;grid-row:2/span 2}.battle-when time strong{display:inline;margin-left:7px}.battle-row .points-col{grid-column:1/-1;display:flex!important;gap:8px;align-items:center}.battle-row .points-col::before{margin:0}.battle-table{font-size:.8125rem}.battle-row .territory-badge,.battle-row .team-identity{font-size:.75rem}.battle-controls .segmented{width:auto}.battle-controls label{flex:1}.battle-controls select{max-width:none;width:100%}.design-map{display:block}.design-map .design-selection{margin-top:16px}.design-heading{align-items:start;flex-direction:column}.design-main .map-viewport{height:400px}.design-main .map-caption{max-width:calc(100% - 28px)}.legend-note{width:100%;margin-left:0!important}}

@media(max-width:700px){.design-grid .battle-table .battle-row>th{width:auto}}
