/* Additive AeternaMap war visuals; existing terrain controls and tile engine untouched. */
.warfare-pane{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}
.aw-sector{vector-effect:non-scaling-stroke;stroke-width:2px;stroke-linejoin:round;pointer-events:none}
.aw-occupied{fill:rgba(201,96,49,.26);stroke:none}
.aw-occupied-outer,.aw-occupied-internal{fill:none;pointer-events:none;vector-effect:non-scaling-stroke;stroke:#e39a4e;stroke-width:2.4px;stroke-opacity:.82}
.aw-occupied-internal{stroke-width:.9px;stroke-opacity:.2}
.aw-active{fill:rgba(231,63,62,.16);stroke:#f06559;stroke-width:2.4px;stroke-dasharray:9 4;animation:awAdvance 2s linear infinite}
.aw-artillery_1{fill:rgba(239,135,31,.10);stroke:rgba(255,151,55,.83);stroke-dasharray:7 8}
.aw-artillery_2{fill:rgba(239,135,31,.04);stroke:rgba(255,160,65,.47);stroke-dasharray:3 10}
.aw-node circle:first-child{fill:rgba(255,206,98,.09);stroke:#ffd48a;stroke-width:2;vector-effect:non-scaling-stroke}
.aw-node circle:nth-child(2){fill:#ffeab0}
.aw-camp circle{fill:rgba(169,72,43,.55);stroke:#ffb567;stroke-width:2;vector-effect:non-scaling-stroke}
.aw-camp text{font-size:13px;fill:#fff}
@keyframes awAdvance {to{stroke-dashoffset:-26}}

.aw-occupation-label{font-size:24px;letter-spacing:3px;font-weight:800;fill:#f5c98a;stroke:#341d16;stroke-width:3px;paint-order:stroke;pointer-events:none;filter:drop-shadow(0 1px 2px #0008)}
.aw-node,.aw-camp{pointer-events:auto;cursor:help}
/* Nation-aware SQ16 address cells: decorative boundaries only, not claims. */
.aw-grid-square {fill:none;stroke:rgba(203,229,245,.36);stroke-width:1.8px;stroke-dasharray:7 7;vector-effect:non-scaling-stroke;pointer-events:none}
