/* One static contour per region; all detail uses the existing asset registry. */
.tm-boundary{pointer-events:none}.tm-boundary path{fill:currentColor;fill-opacity:.065;stroke:currentColor;stroke-opacity:.7;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.tm-claim path{stroke-dasharray:7 6;fill-opacity:.025}
.tm-region-summary{font:500 15px system-ui}.tm-citadel-mini{pointer-events:none}.tm-region-summary text{fill:currentColor;stroke:#07111b;stroke-width:3;paint-order:stroke}
.tm-owner-button{cursor:pointer;outline:none}.tm-owner-button rect{fill:#07121b;fill-opacity:.35;stroke:currentColor;stroke-opacity:0;vector-effect:non-scaling-stroke}.tm-owner-button:is(:hover,:focus-visible) rect{stroke-opacity:.85;fill-opacity:.95}
.tm-region-summary .tm-status{font:400 13px system-ui;fill:#a5b9c9}.tm-region-summary .tm-alert{fill:#e69078}.tm-alert{color:#e69078}
.tm-object{cursor:pointer;outline:none}.tm-object-ring{fill:#091623;fill-opacity:.9;stroke:currentColor;stroke-opacity:.65;vector-effect:non-scaling-stroke}.tm-citadel .tm-object-ring{fill-opacity:.45}
.tm-object:is(:hover,:focus-visible) .tm-object-ring{stroke-opacity:1;stroke-width:2}.tm-object-hit{fill:transparent;pointer-events:all}.tm-object-label{font:500 12px system-ui;fill:#c9d9e2;stroke:#06111b;stroke-width:3;paint-order:stroke}
.tm-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;pointer-events:auto}.tm-toolbar .btn,.tm-filter select{min-height:36px;font-size:12px}.tm-toolbar [aria-pressed=true]{color:#e6c48b;border-color:#a68c60;background:#201f1c90}.tm-filter select{background:#091725;color:#bfd0dd;border:1px solid #304451;border-radius:4px;padding:6px 9px}.tm-region-chip{color:var(--tm-owner)!important}
.tm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tm-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;color:#8da3b3;margin-top:8px;pointer-events:none}.tm-legend span{display:flex;align-items:center;gap:5px}.tm-legend i{width:18px;border-top:1px solid #c6ad79}.tm-legend .tm-dashed{border-top-style:dashed}.tm-danger{color:#d9937e}
.tm-panel{position:fixed;right:24px;top:180px;width:326px;max-height:calc(100dvh - 290px);overflow:auto;padding:16px;background:#08141ff5;border:1px solid #425664;border-top:2px solid var(--tm-owner);border-radius:10px;z-index:8;pointer-events:auto;box-shadow:0 16px 40px #0005;scrollbar-width:thin}
.tm-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#99b1c1;font-size:10px;letter-spacing:.12em}.tm-panel header button{width:32px;height:32px;border:1px solid #334957;border-radius:5px;background:#0e1e2b;color:#c4d2dc;font-size:22px;cursor:pointer}
.tm-panel h2{font-size:18px;line-height:1.4;margin:8px 0;color:#e0e9ef;overflow-wrap:anywhere}.tm-emblem{color:var(--tm-owner)}.tm-panel p{font-size:12px;line-height:1.5;color:#9eb5c5;margin:7px 0}.tm-panel .tm-owner-state{color:var(--tm-owner)}.tm-panel>.btn{width:100%;margin-top:8px;min-height:38px}.tm-note{display:block;border-top:1px solid #253b4b;padding-top:12px;margin-top:14px;font-size:10px;line-height:1.5;color:#8aa0b1}
.tm-object-card{display:flex;align-items:center;gap:12px}.tm-object-card>svg{width:80px;height:90px;flex-shrink:0}.tm-object-card h2{font-size:16px}.tm-object-list{display:grid;gap:5px;margin-top:12px}.tm-object-list button{display:flex;gap:10px;align-items:center;text-align:left;min-height:48px;width:100%;padding:8px;background:#0c1b28;color:#d2dee6;border:1px solid #263d4c;border-radius:5px;cursor:pointer;font:12px system-ui}.tm-object-list button:hover{border-color:var(--tm-owner)}.tm-object-list svg{width:26px;height:26px;flex-shrink:0;color:var(--tm-owner)}.tm-object-list small{display:block;font-size:10px;color:#91a8b9;margin-top:3px}.tm-object-list b{margin-left:auto}
html[data-territories=off] .tm-overlay,html[data-territory-filter=mine] .tm-overlay[data-tm-owned=no]{display:none}
html[data-territories=on] .mv-universe-region:has(.tm-owner-button)>.universe-label{display:none}
html[data-territory-filter=mine] .mv-universe-region:has([data-tm-owned=no])>.universe-label{display:block}
html[data-hud=hidden] .tm-toolbar,html[data-hud=hidden] .tm-legend,html[data-hud=hidden] .tm-panel{display:none}
@media(max-width:1100px){.tm-panel{right:16px;top:165px;width:300px}}
@media(max-width:760px){.tm-toolbar{gap:5px;margin-top:9px}.tm-toolbar .btn,.tm-filter select{min-height:40px;font-size:10px;padding:6px 8px}.tm-legend{gap:10px;font-size:9px}.tm-panel{left:10px;right:10px;top:auto;bottom:116px;width:auto;max-height:48dvh;padding:12px}.tm-panel header button{width:38px;height:38px}.tm-panel>.btn{min-height:44px}.tm-object-label{font-size:18px}.tm-region-summary text{font-size:26px}.tm-region-summary .tm-status{font-size:22px}.tm-owner-button rect{y:216px;height:80px}.tm-region-summary .tm-alert{font-size:24px}}
@media(prefers-reduced-motion:reduce){.tm-panel *,.tm-overlay *{animation:none!important;transition:none!important}}
/* Explicit nested-SVG size prevents the generic alliance-art rule stretching a map sprite. */
.tm-citadel-art{pointer-events:none}
.tm-owner-button{transform:translateY(20px)}
.mv-universe-mobile .universe-title{font-size:30px}.mv-universe-mobile .mv-region-id{font-size:18px}.mv-universe-mobile .universe-meta{font-size:21px}.mv-universe-mobile .universe-label{font-size:21px}
.mv-universe-mobile .tm-mobile-owner{transform:none}.mv-universe-mobile .tm-mobile-owner rect{y:0;height:92px;stroke-opacity:.25;fill-opacity:.65}.mv-universe-mobile .tm-mobile-owner text{font-size:22px}.mv-universe-mobile .tm-mobile-owner .tm-status{font-size:19px}
