:root{color-scheme:dark;--app-font-family: Bahnschrift, "DIN Alternate", "Segoe UI", sans-serif;--bg: #17191d;--bg-elevated: #1f2227;--bg-soft: #1a1d21;--bg-input: #111317;--bg-card-alt: #171a1f;--bg-card: #1f2227;--bg-alt: #15181d;--bg-base: #111317;--bg-topbar: #111317;--bg-menu: rgba(22, 24, 29, .98);--bg-ai-panel: #15181d;--bg-ai-user: #1d2631;--border-ai-user: #42516a;--bg-ai-system: #1a1d22;--bg-ghost: #20242a;--panel: #1a1d21;--fg: #eef2f7;--bg-primary: #d9e4ff;--text-primary: #101318;--on-accent: #f8fbff;--control-bg: #111317;--control-bg-hover: color-mix(in srgb, var(--bg-input) 84%, var(--accent) 16%);--control-bg-active: color-mix(in srgb, var(--accent) 20%, var(--bg-input) 80%);--control-border: #343941;--control-border-hover: #565d67;--control-text: #eef2f7;--control-muted: #98a1ad;--control-selected-bg: color-mix(in srgb, var(--accent) 86%, var(--bg-base) 14%);--control-selected-text: #101318;--control-shadow-inset: inset 0 0 0 1px rgba(255, 255, 255, .02);--control-sheen: rgba(255, 255, 255, .05);--focus-ring: rgba(var(--accent-rgb), .32);--menu-border: #343941;--menu-shadow: 0 18px 40px rgba(0, 0, 0, .34);--surface-tint: rgba(255, 255, 255, .035);--surface-tint-soft: rgba(255, 255, 255, .012);--code-bg: rgba(15, 23, 42, .75);--code-block-bg: rgba(2, 6, 23, .8);--code-text: #dbeafe;--code-border: rgba(148, 163, 184, .18);--canvas-grid-dot: rgba(255, 255, 255, .04);--panel-dark-surface: rgba(15, 23, 42, .58);--bg-overlay: rgba(22, 24, 29, .92);--bg-overlay-solid: rgb(22, 24, 29);--bg-attachment: rgba(255,255,255,.04);--bg-selection: rgba(59,130,246,.18);--bg-selection-strong: rgba(59,130,246,.2);--bg-hover: rgba(255,255,255,.07);--bg-hover-soft: rgba(255,255,255,.06);--bg-leaflet: #161a1f;--border-compass: rgba(238, 242, 247, .7);--accent-arrow: #d9e4ff;--border: #343941;--border-strong: #565d67;--text: #eef2f7;--muted: #98a1ad;--text-muted: #98a1ad;--text-secondary: #a8b1bd;--accent: #8fb7ff;--accent-strong: #c6d8ff;--accent-rgb: 143, 183, 255;--accent-info: #38bdf8;--accent-info-rgb: 56, 189, 248;--accent-success: #34d399;--accent-success-rgb: 52, 211, 153;--accent-warning: #f7b955;--accent-warning-rgb: 247, 185, 85;--accent-danger: #f87171;--accent-danger-rgb: 248, 113, 113;--friendly: #38bdf8;--enemy: #ff6b6b;--host-nation: #f7b955;--civilian: #a78bfa;--shadow: 0 18px 40px rgba(0, 0, 0, .34);--topbar-height: 54px;--topbar-control-height: 44px;--panel-width: 364px;--control-panel-top-height: 33%;--ai-panel-width: 0px;--divider-width: 4px;--ai-divider-width: 0px;--view-ai-width: 320px}body.theme-light{color-scheme:light;--bg: #edf2f8;--bg-elevated: #ffffff;--bg-soft: #e6ebf2;--bg-input: #ffffff;--bg-card-alt: #f4f7fb;--bg-card: #ffffff;--bg-alt: #eef3f9;--bg-base: #ffffff;--bg-topbar: #dfe7f2;--bg-menu: rgba(255, 255, 255, .98);--bg-ai-panel: #eef3f9;--bg-ai-user: #dce8f9;--border-ai-user: #a9bfdc;--bg-ai-system: #f5f8fc;--bg-ghost: #eef3f9;--panel: #eef3f9;--fg: #1b2430;--bg-primary: #2e5ea8;--text-primary: #f8fbff;--on-accent: #ffffff;--control-bg: #ffffff;--control-bg-hover: #eef4fb;--control-bg-active: #dbe8f7;--control-border: #b8c4d2;--control-border-hover: #8093a8;--control-text: #1b2430;--control-muted: #5a6a7d;--control-selected-bg: #2e5ea8;--control-selected-text: #f8fbff;--control-shadow-inset: inset 0 0 0 1px rgba(46, 62, 84, .06);--control-sheen: rgba(255, 255, 255, .72);--focus-ring: rgba(var(--accent-rgb), .28);--menu-border: #b8c4d2;--menu-shadow: 0 18px 38px rgba(48, 69, 94, .18);--surface-tint: rgba(46, 94, 168, .05);--surface-tint-soft: rgba(46, 94, 168, .02);--code-bg: #eef5ff;--code-block-bg: #f6f9fd;--code-text: #173b68;--code-border: #c9d6e5;--canvas-grid-dot: rgba(46, 62, 84, .14);--panel-dark-surface: #f4f7fb;--bg-overlay: rgba(255, 255, 255, .94);--bg-overlay-solid: rgb(255, 255, 255);--bg-attachment: rgba(46, 94, 168, .08);--bg-selection: rgba(46, 94, 168, .14);--bg-selection-strong: rgba(46, 94, 168, .16);--bg-hover: rgba(46, 94, 168, .08);--bg-hover-soft: rgba(46, 94, 168, .06);--bg-leaflet: #ffffff;--border-compass: rgba(46, 62, 84, .45);--accent-arrow: #2e5ea8;--border: #b8c4d2;--border-strong: #8093a8;--text: #1b2430;--muted: #5a6a7d;--text-muted: #5a6a7d;--text-secondary: #415169;--accent: #2e5ea8;--accent-strong: #234a84;--accent-rgb: 46, 94, 168;--accent-info: #0369a1;--accent-info-rgb: 3, 105, 161;--accent-success: #047857;--accent-success-rgb: 4, 120, 87;--accent-warning: #b45309;--accent-warning-rgb: 180, 83, 9;--accent-danger: #b91c1c;--accent-danger-rgb: 185, 28, 28;--friendly: #0369a1;--enemy: #b91c1c;--host-nation: #b45309;--civilian: #6d28d9;--shadow: 0 14px 36px rgba(48, 69, 94, .16)}body.theme-graphite{color-scheme:dark;--bg: #1e1e1e;--bg-elevated: #252526;--bg-soft: #2d2d30;--bg-input: #3c3c3c;--bg-card-alt: #252526;--bg-card: #2d2d30;--bg-alt: #1e1e1e;--bg-base: #1e1e1e;--bg-topbar: #3c3c3c;--bg-menu: rgba(30, 30, 30, .98);--bg-ai-panel: #252526;--bg-ai-user: #2a3a4a;--border-ai-user: #4a6080;--bg-ai-system: #2d2d30;--bg-ghost: #2a2a2a;--panel: #252526;--fg: #d4d4d4;--bg-primary: #264f78;--text-primary: #ffffff;--on-accent: #ffffff;--control-bg: #3c3c3c;--control-bg-hover: #4a4a4a;--control-bg-active: #264f78;--control-border: #6b6b6b;--control-border-hover: #9e9e9e;--control-text: #d4d4d4;--control-muted: #858585;--control-selected-bg: #264f78;--control-selected-text: #ffffff;--control-shadow-inset: inset 0 0 0 1px rgba(255,255,255,.03);--control-sheen: rgba(255,255,255,.04);--focus-ring: rgba(14, 99, 156, .5);--menu-border: #454545;--menu-shadow: 0 18px 40px rgba(0,0,0,.5);--surface-tint: rgba(255,255,255,.02);--surface-tint-soft: rgba(255,255,255,.01);--code-bg: rgba(30,30,30,.9);--code-block-bg: #1e1e1e;--code-text: #9cdcfe;--code-border: rgba(255,255,255,.12);--canvas-grid-dot: rgba(255,255,255,.04);--panel-dark-surface: rgba(0,0,0,.4);--bg-overlay: rgba(30,30,30,.94);--bg-overlay-solid: rgb(30,30,30);--bg-attachment: rgba(255,255,255,.04);--bg-selection: rgba(38,79,120,.5);--bg-selection-strong: rgba(38,79,120,.6);--bg-hover: rgba(255,255,255,.06);--bg-hover-soft: rgba(255,255,255,.04);--bg-leaflet: #1e1e1e;--border-compass: rgba(212,212,212,.7);--accent-arrow: #9cdcfe;--border: #454545;--border-strong: #6b6b6b;--text: #d4d4d4;--muted: #858585;--text-muted: #858585;--text-secondary: #9e9e9e;--accent: #569cd6;--accent-strong: #9cdcfe;--accent-rgb: 86, 156, 214;--accent-info: #4ec9b0;--accent-info-rgb: 78, 201, 176;--accent-success: #4ec94e;--accent-success-rgb: 78, 201, 78;--accent-warning: #dcdcaa;--accent-warning-rgb: 220, 220, 170;--accent-danger: #f44747;--accent-danger-rgb: 244, 71, 71;--friendly: #4ec9b0;--enemy: #f44747;--host-nation: #dcdcaa;--civilian: #c586c0;--shadow: 0 18px 40px rgba(0,0,0,.5)}body.theme-hc-dark{color-scheme:dark;--bg: #000000;--bg-elevated: #0a0a0a;--bg-soft: #111111;--bg-input: #000000;--bg-card-alt: #0a0a0a;--bg-card: #111111;--bg-alt: #000000;--bg-base: #000000;--bg-topbar: #000000;--bg-menu: rgba(0,0,0,.99);--bg-ai-panel: #0a0a0a;--bg-ai-user: #001a33;--border-ai-user: #ffffff;--bg-ai-system: #111111;--bg-ghost: #0f0f0f;--panel: #0a0a0a;--fg: #ffffff;--bg-primary: #ffffff;--text-primary: #000000;--on-accent: #000000;--control-bg: #000000;--control-bg-hover: #1a1a1a;--control-bg-active: #ffffff;--control-border: #ffffff;--control-border-hover: #ffffff;--control-text: #ffffff;--control-muted: #cccccc;--control-selected-bg: #ffffff;--control-selected-text: #000000;--control-shadow-inset: inset 0 0 0 1px rgba(255,255,255,.15);--control-sheen: rgba(255,255,255,.08);--focus-ring: rgba(255, 255, 255, .72);--menu-border: #ffffff;--menu-shadow: 0 18px 40px rgba(0,0,0,.8);--surface-tint: rgba(255,255,255,.06);--surface-tint-soft: rgba(255,255,255,.03);--code-bg: #000000;--code-block-bg: #000000;--code-text: #ffffff;--code-border: rgba(255,255,255,.3);--canvas-grid-dot: rgba(255,255,255,.12);--panel-dark-surface: rgba(0,0,0,.9);--bg-overlay: rgba(0,0,0,.97);--bg-overlay-solid: rgb(0,0,0);--bg-attachment: rgba(255,255,255,.08);--bg-selection: rgba(255,255,255,.28);--bg-selection-strong: rgba(255,255,255,.42);--bg-hover: rgba(255,255,255,.1);--bg-hover-soft: rgba(255,255,255,.08);--bg-leaflet: #000000;--border-compass: rgba(255,255,255,.9);--accent-arrow: #ffffff;--border: #ffffff;--border-strong: #ffffff;--text: #ffffff;--muted: #cccccc;--text-muted: #cccccc;--text-secondary: #dddddd;--accent: #ffffff;--accent-strong: #ffffff;--accent-rgb: 255, 255, 255;--accent-info: #ffffff;--accent-info-rgb: 255, 255, 255;--accent-success: #00ff88;--accent-success-rgb: 0, 255, 136;--accent-warning: #ffee00;--accent-warning-rgb: 255, 238, 0;--accent-danger: #ff4444;--accent-danger-rgb: 255, 68, 68;--friendly: #ffffff;--enemy: #ff4444;--host-nation: #ffee00;--civilian: #cc88ff;--shadow: 0 18px 40px rgba(0,0,0,.8)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--app-font-family)}button,input,select,textarea{font:inherit}select option:disabled,select option[data-incompatible=true]{color:color-mix(in srgb,var(--muted) 65%,var(--bg) 35%);background:var(--panel)}body.panel-collapsed{--panel-width: 0px}body.ai-panel-open{--ai-divider-width: 7px}body.auth-screen-active .app-shell{filter:blur(10px) saturate(.8);transform:scale(1.01);pointer-events:none;-webkit-user-select:none;user-select:none}.auth-screen{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;overflow:hidden;background:#080014}.auth-rf-spectrum{position:absolute;inset:0;overflow:hidden;opacity:.92;contain:paint}.auth-rf-spectrum canvas{display:block;position:absolute;top:0;left:0;image-rendering:auto;transform:translateZ(0);will-change:transform}.auth-card{--auth-card-title: #f8fbff;--auth-card-text: #e7eef8;--auth-card-muted: #8ea4b9;position:relative;z-index:1;width:min(420px,calc(100vw - 36px));display:grid;gap:14px;padding:28px 26px 24px;border:1px solid rgba(125,211,252,.18);background:linear-gradient(180deg,#0d121cf5,#0a0e16fa);box-shadow:0 30px 70px #0000006b,inset 0 0 0 1px #ffffff05;color:var(--auth-card-text)}.auth-card h1{margin:-4px 0 0;color:var(--auth-card-title);font-family:Orbitron,sans-serif;font-weight:600;font-size:2.7rem;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 18px rgba(125,211,252,.18)}.auth-card-copy{margin:0;color:var(--auth-card-muted);line-height:1.45}.auth-screen-status{min-height:20px;font-size:.86rem;color:#bfe9ff}.auth-screen-status.error{color:#fda4af}.auth-reset-account{display:grid;gap:4px;padding:12px 13px;border:1px solid rgba(var(--accent-info-rgb),.34);background:rgba(var(--accent-info-rgb),.1)}.auth-reset-account span{color:var(--auth-card-muted);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.auth-reset-account strong{color:var(--auth-card-text);font-size:1rem}.auth-reset-account small{color:var(--auth-card-muted);line-height:1.35}.auth-screen-form{display:grid;gap:12px}body.auth-session-pending .auth-screen-form,body.auth-session-pending .auth-screen-footer,body.auth-session-pending .auth-reset-account{display:none}.auth-screen-form label{display:grid;gap:6px;color:var(--auth-card-muted)}.auth-screen-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--auth-card-muted);font-size:.84rem;margin-top:2px}.auth-screen-mode-copy{color:var(--auth-card-muted)}.auth-screen-register-btn{width:100%;padding:9px 12px;border:1px solid rgba(var(--accent-info-rgb),.35);border-radius:6px;background:rgba(var(--accent-info-rgb),.07);color:var(--accent-info);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;letter-spacing:.02em}.auth-screen-register-btn:hover{background:rgba(var(--accent-info-rgb),.14);border-color:rgba(var(--accent-info-rgb),.6);color:var(--accent-strong)}.auth-screen-link{padding:0;border:none;background:transparent;color:var(--accent-strong);cursor:pointer;font-size:.84rem}.auth-screen-link:hover{color:#fff}.auth-screen-guest-link{padding:0;border:none;background:transparent;color:var(--auth-card-muted);cursor:pointer;font-size:.8rem;opacity:.7;transition:opacity .15s,color .15s}.auth-screen-guest-link:hover{opacity:1;color:var(--auth-card-text)}@keyframes auth-rf-waterfall-a{0%{transform:translate3d(0,-10%,0) scale(1.04);background-position:center -18%,center -14%,left 0 top -18px,center top 0}to{transform:translate3d(0,6%,0) scale(1.08);background-position:center 18%,center 10%,left 0 top 160px,center top 180px}}@keyframes auth-rf-waterfall-b{0%{transform:translate3d(0,-20%,0) scale(1.1);background-position:center -28%,center -22%,left 40px top -120px,center top -90px}to{transform:translate3d(0,4%,0) scale(1.16);background-position:center 12%,center 16%,left 40px top 120px,center top 120px}}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}*::-webkit-scrollbar-thumb:hover{background:#ffffff40}body.theme-light *{scrollbar-color:rgba(0,0,0,.18) transparent}body.theme-light *::-webkit-scrollbar-thumb{background:#0000002e}body.theme-light *::-webkit-scrollbar-thumb:hover{background:#00000052}.app-shell{display:grid;grid-template-rows:var(--topbar-height) 1fr;height:100%;overflow-x:hidden;overflow-y:visible}.top-bar{display:flex;align-items:center;height:var(--topbar-height);background:var(--bg-topbar);border-bottom:1px solid var(--border);padding:0;gap:0;overflow:visible;min-width:0}.top-bar-left{display:flex;align-items:center;justify-content:flex-start;align-self:stretch;gap:0;flex:1 1 auto;width:auto;min-width:0;padding:0;position:relative;white-space:nowrap;--rf-title-box-offset: 0px;--rf-title-text-offset: 86px;--rf-title-right-gap: 0px}#collapsePanelBtn{position:absolute;left:0;top:0;bottom:0;width:var(--topbar-height);height:100%;transform:none;display:inline-flex;align-items:center;justify-content:center;border-radius:0;flex:0 0 var(--topbar-height);margin:0;padding:0;z-index:3;background:transparent;border-color:transparent;box-shadow:none}#collapsePanelBtn:hover,#collapsePanelBtn:active{background:transparent;border-color:transparent}#collapsePanelBtn:focus-visible{outline:1px solid rgba(var(--accent-rgb),.52);outline-offset:-8px}#collapsePanelIcon{display:block;width:0;height:0;font-size:0;line-height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:14px solid var(--accent-arrow)}body.panel-collapsed #collapsePanelIcon{border-right:0;border-left:14px solid var(--accent-arrow)}body.theme-light.panel-collapsed #collapsePanelIcon{border-left-color:#fff}body[data-current-view=plan] #collapsePanelBtn,body[data-current-view=topology] #collapsePanelBtn,body[data-current-view=sensors] #collapsePanelBtn,body[data-current-view=analyze] #collapsePanelBtn{display:none}body[data-current-view=plan] .top-bar-left,body[data-current-view=topology] .top-bar-left,body[data-current-view=sensors] .top-bar-left,body[data-current-view=analyze] .top-bar-left{--rf-title-box-offset: 0px;--rf-title-text-offset: 86px}.status-strip,.section-title-row,.list-header,.button-row{display:flex;align-items:center;gap:10px}.status-strip{display:flex;align-items:center;align-self:stretch;flex:0 1 auto;margin-left:-1px;min-width:0;gap:0;overflow:visible;justify-content:flex-end}.status-strip>*{flex-shrink:1;margin-left:-1px;min-height:100%}.status-strip>.view-mode-shell{flex-shrink:1}.status-strip>.operation-mode-shell{flex-shrink:1}.top-bar-actions{position:relative;gap:8px}.imagery-menu-shell,.terrain-menu-shell,.weather-menu-shell,.workspace-menu-shell,.settings-menu-shell,.gps-menu-shell{position:relative;display:flex;align-items:center;align-self:stretch;flex-shrink:0;min-height:100%}.imagery-menu-button{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:6px 10px!important;text-align:left;white-space:nowrap;box-sizing:border-box;height:var(--topbar-control-height)!important;min-height:var(--topbar-control-height)}.imagery-menu-caption{font-size:.68rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;line-height:1;flex-shrink:0;align-self:center;text-align:center}.imagery-menu-value-row{display:flex;align-items:center;gap:6px}.imagery-menu-button strong{font-size:.84rem;font-weight:700}.imagery-menu-chevron{color:var(--muted);font-size:.75rem}.ai-chat-toggle-btn{min-width:84px}.ai-chat-toggle-active{border-color:var(--accent-strong, #8fb7ff)}.ai-chat-toggle-active strong{color:var(--accent-strong, #8fb7ff)}.settings-chip-icon-only{min-width:unset;width:54px;height:100%;min-height:100%;align-self:stretch;padding:0 12px;align-items:center;justify-content:center;flex-direction:row}.top-bar-dropdown-layer{position:fixed;inset:0;pointer-events:none;z-index:2000}.settings-gear-icon{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;color:inherit;line-height:1}.settings-gear-icon svg{display:block;width:100%;height:100%}.settings-chip-icon-only .settings-gear-icon{width:1.08rem;height:1.08rem}.settings-divider{border:none;border-top:1px solid var(--border);margin:8px 0}.settings-menu{position:fixed;box-sizing:border-box;width:280px;min-width:280px;display:grid;gap:10px;padding:12px;background:var(--bg-menu);border:1px solid var(--menu-border);border-top-color:rgba(var(--accent-rgb),.36);box-shadow:var(--menu-shadow);z-index:2001;pointer-events:auto;overflow:auto;transform-origin:var(--dropdown-anchor-x, 50%) top}.settings-menu:before{content:"";position:absolute;top:0;left:var(--dropdown-anchor-x, 50%);width:46px;height:2px;transform:translate(-50%);background:var(--accent);box-shadow:0 0 10px rgba(var(--accent-rgb),.36);pointer-events:none}.imagery-menu{width:360px;min-width:360px}.terrain-menu,.weather-menu{width:380px;min-width:380px}.gps-menu{width:290px;min-width:290px}.workspace-menu{width:min(640px,calc(100vw - 24px));min-width:min(500px,calc(100vw - 24px))}.workspace-menu-title-row{align-items:flex-start}.workspace-menu-button{min-width:220px;max-width:300px}.workspace-menu-button .status-chip-action-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.workspace-invite-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:rgba(var(--accent-danger-rgb),.9);color:#fff;font-size:.68rem;font-weight:800;line-height:1}.workspace-invite-badge.hidden{display:none}.workspace-project-actions{gap:6px;justify-content:flex-start}.danger-button{border-color:rgba(var(--accent-danger-rgb),.34);color:var(--accent-danger)}.danger-button:hover:not(:disabled){border-color:rgba(var(--accent-danger-rgb),.56);background:rgba(var(--accent-danger-rgb),.14)}.danger-button:disabled{opacity:.45}.terrain-menu .list-shell,.terrain-menu .terrain-summary,.terrain-menu label,.terrain-menu .button-row,.terrain-menu .menu-title-row,.weather-menu .weather-summary,.weather-menu label,.weather-menu .button-row,.weather-menu .menu-title-row,.compact-shell{margin-top:0}.compact-list{max-height:180px;overflow:auto}.terrain-list-shell{margin-top:12px;min-height:320px}.terrain-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.terrain-bulk-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.terrain-tile-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:10px;margin-top:10px;max-height:min(58vh,720px);overflow:auto;padding-right:4px}.menu-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.compact-grid{margin-top:0}.settings-menu.hidden{display:none}.settings-check-row{flex-direction:row;align-items:center;gap:10px;color:var(--text)}.settings-check-row input[type=checkbox]{-webkit-appearance:none;appearance:none;position:relative;width:16px;height:16px;margin:0;border:1px solid var(--control-border);background:var(--control-bg);color:var(--control-text);flex:0 0 auto;cursor:pointer}.settings-check-row input[type=checkbox]:after{content:"";position:absolute;inset:0;display:grid;place-items:center;font-size:.72rem;font-weight:800;line-height:1}.settings-check-row input[type=checkbox]:checked:after{content:"X"}.settings-check-row input[type=checkbox]:focus-visible{outline:2px solid rgba(var(--accent-rgb),.45);outline-offset:2px}.status-chip{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:5px 10px;background:var(--bg-elevated);border:1px solid var(--control-border);border-radius:0;box-shadow:var(--control-shadow-inset);box-sizing:border-box;white-space:nowrap;flex-shrink:0;align-self:stretch;height:100%;min-height:100%}.status-chip-button{cursor:pointer;text-align:left;color:var(--control-text)}.status-chip-button:hover{border-color:var(--control-border-hover)}.gps-status-button{min-width:150px}.gps-coord-value{font-size:.84rem;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.03em}.status-chip-action-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.status-chip-chevron{color:var(--muted);font-size:.75rem}.autosave-indicator{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.autosave-indicator.hidden{display:none}.autosave-indicator svg{width:16px;height:16px}.autosave-indicator .autosave-spinner,.autosave-indicator .autosave-check,.autosave-indicator .autosave-error{display:none}.autosave-indicator.is-saving .autosave-spinner{display:block;color:var(--accent)}.autosave-indicator.is-saved .autosave-check{display:block;color:var(--accent-success)}.autosave-indicator.is-error .autosave-error{display:block;color:var(--accent-danger)}.autosave-spinner{transform:rotate(-90deg)}.autosave-spinner-track{opacity:.15}.autosave-spinner-fill{transition:stroke-dashoffset .15s linear}.workspace-autosave-status{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:6px;font-size:.78rem;font-weight:500;margin-bottom:4px;transition:background .2s,color .2s}.workspace-autosave-status.hidden{display:none}.workspace-autosave-status.is-saving{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.workspace-autosave-status.is-saved{background:rgba(var(--accent-success-rgb),.12);color:var(--accent-success)}.workspace-autosave-status.is-error{background:rgba(var(--accent-danger-rgb),.12);color:var(--accent-danger)}.status-chip span{font-size:.68rem;letter-spacing:.1em;color:var(--muted)}.status-chip strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.status-message{min-width:260px}.title-block{display:flex;align-items:center;justify-content:flex-start;position:relative;flex:1 1 auto;min-height:100%;height:100%;width:auto;margin:0 var(--rf-title-right-gap) 0 -1px;padding:0 18px 0 var(--rf-title-text-offset);background:var(--bg-elevated);border:1px solid var(--border);border-radius:0;box-shadow:inset 0 0 0 1px #ffffff05;box-sizing:border-box;white-space:nowrap;overflow:hidden}.title-block-spectrum{position:absolute;inset:-1px;overflow:hidden;opacity:.58;pointer-events:none;contain:paint}.title-block-spectrum:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#060a127a,#080c1457 18%,#080c142e,#080c145c 86%,#060a1280),linear-gradient(180deg,#04070d47,#070a1014 48%,#04070d42)}.title-block-spectrum canvas{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;filter:blur(.18px) saturate(1.05);image-rendering:auto;transform:translateZ(0) scale(1.035);transform-origin:center;will-change:transform}body.theme-light .title-block-spectrum{opacity:1}body.theme-light .title-block-spectrum:after{display:none;background:none}body.theme-light .title-block-spectrum canvas{filter:blur(.18px) saturate(1.05)}.title-block strong{position:relative;z-index:1;font-family:Orbitron,sans-serif;font-size:1.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.theme-light .title-block strong{color:#fff}.eyebrow{font-size:.64rem;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}.workspace-shell{display:grid;grid-template-columns:minmax(0,var(--panel-width)) var(--divider-width) minmax(0,1fr);min-height:0;min-width:0}.control-panel{overflow:hidden;min-width:0;padding:14px 14px 0;background:var(--bg-soft);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:0}body[data-current-view=map] .control-panel{padding:8px 12px 0;border-right-color:color-mix(in srgb,var(--border) 70%,transparent);box-shadow:none}body[data-current-view=map] .control-panel-top{flex:1 1 auto;min-height:0}body[data-current-view=map] .control-panel-section-divider,body[data-current-view=map] .control-panel-bottom{display:none}body.panel-collapsed .control-panel{padding:0;border-right:none;overflow:hidden}.control-panel-top,.control-panel-bottom{min-height:0;overflow:hidden;display:flex;flex-direction:column}.control-panel-top{flex:0 0 var(--control-panel-top-height);min-height:160px}.workspace-auth-block{display:grid;gap:10px}.workspace-auth-grid,.workspace-project-grid{gap:10px}.workspace-summary{margin-top:0}.workspace-auth-actions,.workspace-project-actions{justify-content:flex-start}.workspace-member-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.workspace-member-header strong{display:block;margin-top:2px}.workspace-menu{overflow-x:hidden;overflow-y:visible}.workspace-menu .workspace-auth-grid,.workspace-menu .workspace-project-grid{margin-top:0}.workspace-menu .workspace-summary{margin-bottom:0}.workspace-pill{overflow:visible;border:1px solid var(--border);background:var(--bg-card-alt);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.workspace-collab-status{border:1px solid var(--border);background:var(--bg-card-alt);color:var(--muted);font-size:.78rem;padding:7px 9px}.workspace-collab-status.hidden{display:none}.workspace-collab-status.is-live{border-color:rgba(var(--accent-success-rgb),.35);color:var(--accent-success)}.workspace-collab-status.is-syncing{border-color:rgba(var(--accent-rgb),.35);color:var(--accent)}.workspace-collab-status.is-error{border-color:rgba(var(--accent-danger-rgb),.35);color:var(--accent-danger)}.operation-phases-card{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:7px;margin:0 -2px 10px;padding:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 88%,var(--bg-base) 12%)}.operation-phases-card--embedded{flex:1 1 auto;min-height:0;margin:0;padding:3px 0 6px;border:0;background:transparent;overflow:hidden}.operation-phases-card--embedded .operation-phase-list{max-height:none}.operation-phases-header,.operation-execution-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.operation-phases-header{align-items:end;padding-top:1px}.operation-phases-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.operation-phases-header-actions .small{min-width:88px}.operation-phases-header strong,.operation-execution-header strong{display:block;margin-top:2px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.operation-phase-list{display:grid;align-content:start;gap:5px;max-height:none;min-height:178px;overflow:auto;padding-right:2px}.operation-phase-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 7px;border:1px solid var(--border);background:var(--bg-card-alt);color:var(--text);text-align:left;cursor:pointer}.operation-phase-row.is-active{border-color:rgba(var(--accent-rgb),.62);background:color-mix(in srgb,var(--accent) 15%,var(--bg-card-alt) 85%)}.operation-phase-color{width:7px;height:100%;min-height:20px;border-radius:5px;background:var(--phase-color, var(--accent))}.operation-phase-select{min-width:0;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.operation-phase-name,.operation-phase-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-phase-name{display:block;font-size:.76rem;font-weight:700}.operation-phase-time{display:block;margin-top:2px;color:var(--muted);font-size:.64rem;letter-spacing:.05em}.operation-phase-order{display:flex;align-items:center;gap:2px}.operation-phase-order button{width:22px;height:22px;padding:0;border-radius:5px}.operation-phase-store-footer{display:flex;align-items:stretch;padding-top:8px;border-top:1px solid var(--border)}.operation-phase-context-menu{position:fixed;z-index:2600;display:grid;gap:5px;min-width:178px;padding:8px;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow)}.operation-phase-context-title{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 6px 6px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border)}.operation-phase-context-item{position:relative;width:100%;padding:7px 9px;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-size:.78rem;text-align:left;cursor:pointer}.operation-phase-context-item:hover,.operation-phase-context-item:focus-visible{border-color:var(--control-border-hover);background:var(--bg-hover);outline:none}.operation-phase-context-item:disabled{color:var(--muted);cursor:not-allowed;opacity:1;background:color-mix(in srgb,var(--bg-input) 48%,transparent)}.operation-phase-context-item[data-disabled-caption]:disabled:hover:after{content:attr(data-disabled-caption);position:absolute;left:calc(100% + 8px);top:50%;z-index:1;width:max-content;max-width:230px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-elevated);box-shadow:var(--shadow);color:var(--text);font-size:.72rem;font-weight:700;line-height:1.25;letter-spacing:0;text-transform:none;white-space:normal;pointer-events:none}.operation-phase-context-item[data-disabled-caption]:disabled:hover:before{content:"";position:absolute;left:calc(100% + 3px);top:50%;z-index:2;width:8px;height:8px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-elevated);transform:translateY(-50%) rotate(45deg);pointer-events:none}.operation-phase-context-item--danger{color:var(--accent-danger)}.operation-phase-context-item--danger:hover,.operation-phase-context-item--danger:focus-visible{border-color:rgba(var(--accent-danger-rgb),.45);background:rgba(var(--accent-danger-rgb),.1)}.emitter-modal.operation-phase-modal,.emitter-modal.operation-phase-overview-modal,.emitter-modal.operation-all-movement-plans-modal{width:calc(100vw - 32px);max-width:none;height:calc(100vh - 32px);max-height:calc(100vh - 32px)}.emitter-modal-body.operation-all-movement-plans-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:16px;overflow:hidden;gap:10px}.operation-all-movement-plans-display-toggles{display:flex;flex-wrap:wrap;align-items:center;gap:28px;padding:10px 14px;border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--bg-card) 80%,transparent)}.operation-all-movement-plans-toggle{display:inline-flex;flex-direction:row;align-items:center;gap:12px;color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.operation-all-movement-plans-toggle input[type=checkbox]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.operation-all-movement-plans-toggle-box{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border:1.5px solid var(--border-strong, var(--border));border-radius:3px;background:var(--bg-input);color:transparent;font-size:.95rem;font-weight:900;line-height:1;transition:background .12s,border-color .12s,color .12s}.operation-all-movement-plans-toggle:hover .operation-all-movement-plans-toggle-box{border-color:var(--accent)}.operation-all-movement-plans-toggle input[type=checkbox]:checked+.operation-all-movement-plans-toggle-box{background:color-mix(in srgb,var(--accent) 20%,var(--bg-input));border-color:var(--accent);color:var(--text)}.operation-all-movement-plans-toggle input[type=checkbox]:focus-visible+.operation-all-movement-plans-toggle-box{outline:2px solid var(--accent);outline-offset:2px}.operation-all-movement-plans-toggle input[type=checkbox]:disabled+.operation-all-movement-plans-toggle-box{opacity:.45;cursor:not-allowed}.operation-all-movement-plans-toggle:has(input:disabled){cursor:not-allowed;color:var(--muted)}.operation-all-movement-plans-toggle:has(input:disabled):hover .operation-all-movement-plans-toggle-box{border-color:var(--border-strong, var(--border))}.operation-all-movement-plans-tabs{display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;scrollbar-width:none;padding-bottom:1px;border-bottom:1px solid var(--border);flex-shrink:0}.operation-all-movement-plans-tabs::-webkit-scrollbar{display:none}.operation-all-movement-plans-tab{padding:5px 14px;border:1px solid transparent;border-bottom:none;border-radius:4px 4px 0 0;background:transparent;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color .12s,background .12s,border-color .12s;flex-shrink:0}.operation-all-movement-plans-tab:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.operation-all-movement-plans-tab[aria-selected=true]{color:var(--text);background:var(--bg-card);border-color:var(--border);position:relative;bottom:-1px}.operation-all-movement-plans-list{display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding-right:6px;flex:1 1 auto;min-height:0}.operation-all-movement-plans-empty{padding:32px 24px;text-align:center;color:var(--muted);font-size:.85rem;border:1px dashed var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg-card) 60%,transparent)}.operation-all-movement-plans-phase-group{display:flex;flex-direction:column;gap:8px}.operation-all-movement-plans-phase-header{display:flex;align-items:center;gap:10px;padding:6px 0 6px 10px;border-left:3px solid var(--phase-color, var(--accent))}.operation-all-movement-plans-phase-number{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--phase-color, var(--accent));flex-shrink:0}.operation-all-movement-plans-phase-name{font-size:.82rem;font-weight:700;color:var(--text);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-all-movement-plans-phase-count{font-size:.68rem;font-weight:600;color:var(--muted);flex-shrink:0}.operation-all-movement-plans-phase-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}.operation-all-movement-plans-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card)}.operation-all-movement-plans-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.operation-all-movement-plans-card-title{display:flex;flex-direction:column;gap:3px;min-width:0}.operation-all-movement-plans-card-title strong{color:var(--text);font-size:.85rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operation-all-movement-plans-transition{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;color:var(--muted)}.operation-all-movement-plans-phase-tag{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--phase-color, var(--accent)) 50%,var(--border));background:color-mix(in srgb,var(--phase-color, var(--accent)) 12%,transparent);color:var(--text);font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.operation-all-movement-plans-card-actions{display:inline-flex;gap:4px;flex-shrink:0}.operation-all-movement-plans-delete{color:#ef4444;border-color:color-mix(in srgb,#ef4444 50%,var(--border))}.operation-all-movement-plans-delete:hover{background:color-mix(in srgb,#ef4444 18%,transparent);border-color:#ef4444}.operation-all-movement-plans-routes{display:flex;flex-wrap:wrap;gap:4px}.operation-all-movement-plans-route-pill{padding:1px 7px;border-radius:4px;background:var(--bg-soft);border:1px solid var(--border);color:var(--muted);font-size:.65rem;font-weight:600;font-family:Consolas,Lucida Console,monospace}.operation-all-movement-plans-footer-hint{color:var(--muted);font-size:.75rem}.operation-phase-time-convert-modal{width:min(520px,calc(100vw - 32px))}.emitter-modal-body.operation-phase-modal-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;justify-items:stretch;min-height:0;flex:1 1 auto;padding:16px;overflow:hidden}.emitter-modal-body.operation-phase-overview-body{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);min-height:0;padding:14px;overflow:hidden}.operation-phase-overview-tray{width:100%;min-height:0;overflow:auto;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card-alt) 70%,var(--bg-input) 30%)}.operation-phase-overview-grid{--phase-overview-columns: repeat(1, minmax(240px, 1fr));display:grid;grid-template-columns:minmax(148px,168px) var(--phase-overview-columns);align-items:stretch;width:100%;min-width:min-content}.operation-phase-overview-corner,.operation-phase-overview-phase-head,.operation-phase-overview-unit-head,.operation-phase-overview-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.operation-phase-overview-corner,.operation-phase-overview-phase-head{position:sticky;top:0;z-index:5;background:var(--bg-soft)}.operation-phase-overview-corner,.operation-phase-overview-unit-head{position:sticky;left:0;z-index:4}.operation-phase-overview-corner{z-index:6;display:flex;align-items:center;justify-content:center;padding:10px;text-align:center}.operation-phase-overview-phase-head{display:grid;gap:4px;min-width:196px;padding:10px;border-top:3px solid var(--phase-color, var(--accent))}.operation-phase-overview-phase-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:.82rem}.operation-phase-overview-phase-head span,.operation-phase-overview-corner span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.operation-phase-overview-unit-head{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:8px;align-content:center;justify-content:center;justify-items:stretch;min-height:116px;padding:12px 12px 10px;background:color-mix(in srgb,var(--bg-soft) 92%,var(--bg-input) 8%);overflow:hidden}.operation-phase-overview-unit-identity{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;justify-content:stretch;min-width:0;width:100%;padding-right:12px}.operation-phase-overview-unit-name{min-width:0;color:var(--text);font-size:.92rem;font-weight:800;letter-spacing:.02em;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.operation-phase-overview-unit-symbol{width:36px;height:46px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;justify-self:center;overflow:hidden;border:1px solid rgba(15,23,42,.22);border-radius:3px;background:#f8fafc;box-shadow:inset 0 0 0 1px #ffffffb8}.operation-phase-overview-unit-symbol .milstd-stack,.operation-phase-overview-unit-symbol .ms2525-icon{width:30px!important;height:39px!important;margin:0;transform:none}.operation-phase-overview-unit-symbol .milstd-fallback-text{font-size:6px;color:#111827}.operation-phase-overview-unit-map-btn{position:absolute;top:6px;right:6px;width:20px;min-width:20px;height:20px;min-height:20px;padding:0;border-color:color-mix(in srgb,var(--border) 68%,transparent);background:color-mix(in srgb,var(--bg-input) 58%,transparent);color:var(--muted);opacity:.72}.operation-phase-overview-unit-map-btn:hover,.operation-phase-overview-unit-map-btn:focus-visible{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--bg-input));color:var(--text);opacity:1}.operation-phase-overview-unit-map-btn svg{width:12px;height:12px}.operation-phase-overview-unit-subtitle{max-width:100%;min-width:0;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.35;text-align:center;white-space:normal;overflow-wrap:anywhere}.operation-phase-overview-cell{min-width:196px;min-height:116px;display:grid;gap:8px;align-content:center;padding:9px;background:color-mix(in srgb,var(--bg-card-alt) 84%,transparent)}.operation-phase-overview-location-row,.operation-phase-overview-movement-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.operation-phase-overview-location-row{align-items:start}.operation-phase-overview-movement-row{align-items:center}.operation-phase-overview-location-row .operation-phase-unit-location-input,.operation-phase-overview-movement-row .operation-phase-unit-movement-select{height:31px}.operation-phase-overview-location-row .operation-phase-unit-locate-btn{height:31px;min-height:31px}.operation-phase-overview-empty{grid-column:1 / -1;padding:28px 14px;color:var(--muted);font-size:.82rem}.operation-phase-time-convert-body{display:grid;gap:12px;padding:16px}.operation-phase-time-convert-copy{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.operation-phase-time-anchor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.operation-phase-time-anchor-option{display:grid;gap:8px;padding:12px;border:1px solid var(--border);background:var(--bg-card-alt)}.operation-phase-time-anchor-option>span{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.82rem}.operation-phase-time-anchor-option input[type=radio]{margin:0}.operation-phase-time-anchor-option input:not([type=radio]){width:100%;min-width:0}.operation-phase-editor{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:none;inline-size:100%;min-width:0;min-height:0;justify-self:stretch;align-self:stretch;gap:8px}.operation-phase-editor--modal{width:100%;max-width:none;inline-size:100%;grid-template-rows:auto minmax(0,1fr);height:100%;gap:14px;min-height:0}.operation-phase-editor-topline{display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(360px,.95fr) 64px;align-items:end;gap:14px;width:100%;max-width:none;justify-self:stretch;min-width:0;padding:12px 14px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card-alt) 70%,var(--bg-input) 30%)}.operation-phase-name-field{min-width:0}.operation-phase-editor-topline .operation-phase-time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.operation-phase-editor label{display:grid;gap:4px;color:var(--muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.operation-phase-editor input{width:100%;min-width:0;height:34px;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:.78rem;letter-spacing:0;text-transform:none}.operation-phase-time-row.hidden{display:none}.operation-phase-color-setting{min-width:0}.operation-phase-color-control{display:flex;align-items:stretch}.operation-phase-color-control input[type=color]{width:50px;height:38px;padding:3px;border-radius:6px}.operation-phase-unit-tray{width:100%;max-width:none;inline-size:100%;justify-self:stretch;align-self:stretch;min-width:0;min-height:0;height:100%;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card-alt) 70%,var(--bg-input) 30%)}.operation-phase-unit-tray-header{display:flex;align-items:end;justify-content:space-between;gap:12px;min-width:0;padding:11px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-soft) 82%,transparent)}.operation-phase-unit-tray-header>div{display:grid;gap:2px}.operation-phase-unit-tray-kicker,.operation-phase-unit-tray-header>span,.operation-phase-unit-grid--head{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.operation-phase-unit-tray-header strong{color:var(--text);font-size:.88rem;letter-spacing:.02em}.operation-phase-unit-grid{display:grid;grid-template-columns:minmax(132px,.24fr) minmax(640px,.94fr) minmax(520px,1fr);gap:12px;align-items:center;width:100%;min-width:0}.operation-phase-unit-grid--head{padding:7px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-input) 72%,transparent)}.operation-phase-unit-tray-list{min-height:0;overflow-x:hidden;overflow-y:auto;display:block}.operation-phase-unit-row{min-width:0;padding:8px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 76%,transparent)}.operation-phase-unit-row:last-child{border-bottom:0}.operation-phase-unit-name{min-width:0;display:grid;gap:2px}.operation-phase-unit-name strong,.operation-phase-unit-name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-phase-unit-name strong{color:var(--text);font-size:.82rem}.operation-phase-unit-name span,.operation-phase-unit-location-hint{color:var(--muted);font-size:.68rem}.operation-phase-unit-location-cell,.operation-phase-unit-movement-cell{min-width:0;display:grid;gap:8px}.operation-phase-unit-location-cell{grid-template-columns:minmax(320px,.58fr) 30px minmax(220px,.42fr);column-gap:10px;align-items:center}.operation-phase-unit-movement-cell{grid-template-columns:minmax(0,1fr) auto;align-items:center}.operation-phase-unit-location-wrap{min-width:0;display:grid;gap:4px}.operation-phase-unit-location-cell .operation-phase-unit-location-wrap{display:contents}.operation-phase-unit-location-cell .operation-phase-unit-location-input{grid-column:1;grid-row:1}.operation-phase-unit-location-cell .operation-phase-unit-locate-btn{grid-column:2;grid-row:1}.operation-phase-unit-location-cell .operation-phase-unit-location-hint{grid-column:3;grid-row:1;align-self:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-phase-unit-location-input,.operation-phase-unit-movement-select{width:100%;min-width:0;height:30px;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:.78rem;letter-spacing:0;text-transform:none}.operation-phase-unit-location-input.is-invalid{border-color:rgba(var(--accent-danger-rgb),.76);box-shadow:0 0 0 1px rgba(var(--accent-danger-rgb),.18)}.operation-phase-unit-locate-btn,.operation-phase-unit-edit-plan-btn{width:30px;height:30px;min-width:30px;padding:0;display:inline-grid;place-items:center;border-radius:4px}.operation-phase-unit-edit-plan-btn{width:56px}.operation-phase-unit-empty{padding:28px 14px;color:var(--muted);font-size:.82rem}@media(max-width:980px){.operation-phase-editor-topline,.operation-phase-unit-grid,.operation-phase-editor-topline .operation-phase-time-row{grid-template-columns:1fr}}.operation-phase-store-action{width:100%;justify-content:center;min-height:31px}.operation-phase-modal-footer{justify-content:space-between}.operation-phase-modal-footer .small{min-width:88px}.emitter-modal.operation-movement-plan-modal{width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 42px);background:var(--bg-elevated)}.emitter-modal-body.operation-movement-plan-body{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);gap:0;padding:16px;overflow:hidden;background:color-mix(in srgb,var(--bg-elevated) 94%,var(--bg-card) 6%)}.operation-movement-plan-editor,.operation-movement-browser{display:grid;gap:12px;min-width:0;min-height:0}.operation-movement-plan-editor.hidden,.operation-movement-browser.hidden,#operationMovementPlanFooter.hidden{display:none}.operation-movement-browser-list{display:grid;gap:8px;max-height:380px;overflow:auto;padding-right:2px}.operation-movement-browser-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);background:var(--bg-card-alt)}.operation-movement-browser-card strong,.operation-movement-browser-card span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-movement-browser-card strong{color:var(--text);font-size:.78rem}.operation-movement-browser-card span{margin-top:3px;color:var(--muted);font-size:.68rem}.operation-movement-plan-field{display:grid;gap:5px;color:var(--muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.operation-movement-plan-topline{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(260px,.85fr);gap:12px;align-items:end;padding:12px;border:1px solid var(--border);background:var(--bg-card-alt)}.operation-movement-plan-timing-row{display:grid;grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);align-items:center;gap:12px;padding:8px 12px;min-height:46px;border:1px solid var(--border);border-top:none;background:var(--bg-card-alt);overflow:hidden;min-width:0}.operation-movement-plan-timing-label{font-size:.72rem;color:var(--muted);line-height:1;white-space:nowrap;letter-spacing:.02em}.operation-movement-plan-timing-unit{font-size:.72rem;color:var(--muted)}.operation-movement-plan-timing-arrow{display:inline-flex;align-items:center;justify-content:center;width:20px;height:28px;color:var(--muted);font-size:.85rem;padding:0;line-height:1}.mvplan-timing-controls{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px;width:100%;min-width:0}.topo-display-toggle.mvplan-timing-mode-toggle{display:grid;grid-template-columns:42px 52px 58px;gap:3px;height:32px;align-self:center;padding:2px}.mvplan-timing-mode-toggle .topo-display-btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:28px;min-height:28px;padding:0;line-height:1;white-space:nowrap}.mvplan-timing-panels{width:auto;height:100%;justify-self:stretch;min-width:0;max-width:540px;display:flex;align-items:center;overflow:hidden}.mvplan-pct-input{width:52px;height:28px;padding:4px 6px;font-size:.78rem;text-align:right;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:5px}.mvplan-timing-inputs{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;width:100%;min-width:0}.mvplan-timing-inputs.hidden{display:none}#mvplanTimingDt{display:grid;grid-template-columns:minmax(150px,190px) 24px minmax(150px,190px);align-items:center;justify-content:start;column-gap:10px}#mvplanTimingDt.hidden{display:none}.mvplan-timing-rel-input{width:72px;height:28px;padding:4px 6px;font-size:.78rem;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:5px}.operation-movement-plan-timing-label-inline{font-size:.72rem;color:var(--muted);white-space:nowrap}.operation-movement-plan-timing-hint{font-size:.68rem;color:var(--muted);margin-left:2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mvplan-dt-btn{font-size:.75rem;padding:4px 12px;white-space:nowrap;height:30px;width:100%;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;text-align:center}.mvplan-dt-input{position:fixed;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.mvplan-dt-input.is-picker-docked{top:var(--mvplan-picker-top);left:var(--mvplan-picker-left);width:var(--mvplan-picker-width);height:var(--mvplan-picker-height);opacity:.01;pointer-events:auto;z-index:10000}.operation-movement-plan-field input,.operation-movement-plan-field select,.operation-movement-route-create select,.operation-movement-route-actions select{width:100%;min-width:0;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:7px 8px;font-size:.78rem;letter-spacing:0;text-transform:none}.operation-movement-route-actions select{flex:1;width:auto;padding:5px 8px}.operation-movement-route-panel{display:grid;grid-template-rows:auto auto auto minmax(120px,auto);gap:12px;padding:12px;border:1px solid var(--border);background:var(--bg-card-alt);min-width:0}.operation-movement-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding-bottom:10px;border-bottom:1px solid var(--border)}.operation-movement-section-header strong{color:var(--text);font-size:.82rem}.operation-movement-section-header span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.7rem;padding:4px 8px;border:1px solid var(--border);background:var(--bg-input)}.operation-movement-route-actions{display:flex;align-items:center;gap:8px;padding:6px 0}.operation-movement-route-create{display:grid;grid-template-columns:minmax(160px,.42fr) minmax(160px,.42fr) auto;gap:8px;align-items:end}.operation-movement-route-create label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.operation-movement-route-auto{display:grid;grid-template-columns:minmax(120px,.32fr) auto minmax(0,1fr);gap:8px;align-items:end;padding:8px 10px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.operation-movement-route-auto label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.operation-movement-route-auto input[type=number]{width:100%}.operation-movement-route-auto-hint{color:var(--muted);font-size:.7rem;align-self:center;font-style:italic}.operation-movement-handle-leaflet-icon{background:transparent;border:0}.operation-movement-handle{width:18px;height:18px;border-radius:50%;border:2px solid var(--phase-color, #93c5fd);background:#0f172aeb;color:#f8fafc;font-size:.55rem;font-weight:800;line-height:14px;text-align:center;cursor:grab;box-shadow:0 1px 4px #0000008c;transition:transform .08s ease-out,box-shadow .08s ease-out}.operation-movement-handle--endpoint{background:var(--phase-color, #93c5fd);color:#0f172a;border-color:#0f172ab3}.operation-movement-handle:hover{transform:scale(1.18);box-shadow:0 2px 8px #0009}.operation-movement-handle-dragging .operation-movement-handle{cursor:grabbing}.operation-all-movement-plans-footer-right{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.operation-movement-route-list{display:grid;gap:8px;min-height:120px;max-height:min(340px,calc(100vh - 430px));overflow:auto;padding:10px;border:1px solid var(--border);background:var(--bg-input)}.operation-movement-route-card{display:grid;gap:8px;padding:9px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 88%,var(--bg-base) 12%)}.operation-movement-route-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:end}.operation-movement-route-name-field,.operation-movement-route-card-meta label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.operation-movement-route-name-field input,.operation-movement-route-card-meta select{width:100%;min-width:0;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:7px 8px;font-size:.76rem;letter-spacing:0;text-transform:none}.operation-movement-route-card-meta{display:grid;grid-template-columns:minmax(116px,.42fr) minmax(0,1fr) minmax(0,.85fr);gap:8px;align-items:end;min-width:0}.operation-movement-route-card-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.68rem}.operation-movement-empty{display:grid;place-items:center;min-height:92px;padding:12px;border:1px dashed var(--border);color:var(--muted);font-size:.76rem;text-align:center;line-height:1.35}.operation-movement-plan-footer{align-items:center}.operation-movement-plan-footer-actions{display:flex;justify-content:flex-end;gap:10px;margin-left:auto}.operation-movement-plan-footer .small{min-width:112px}#map.operation-movement-focus-active .pane-assets,#map.operation-movement-focus-active .pane-sensors,#map.operation-movement-focus-active .pane-tactical,#map.operation-movement-focus-active .pane-imported,#map.operation-movement-focus-active .pane-rf-links,#map.operation-movement-focus-active .pane-viewshed,#map.operation-movement-focus-active .pane-planning,#map.operation-movement-focus-active .pane-terrain,#map.operation-movement-focus-active .leaflet-pane-assets-pane,#map.operation-movement-focus-active .leaflet-pane-sensors-pane,#map.operation-movement-focus-active .leaflet-pane-tactical-pane,#map.operation-movement-focus-active .leaflet-pane-imported-pane,#map.operation-movement-focus-active .leaflet-pane-rf-links-pane,#map.operation-movement-focus-active .leaflet-pane-viewshed-pane,#map.operation-movement-focus-active .leaflet-pane-planning-pane,#map.operation-movement-focus-active .leaflet-pane-terrain-pane,#map.operation-movement-focus-active .leaflet-tooltip-pane{display:none!important}#map.operation-movement-focus-active .pane-operation-focus,#map.operation-movement-focus-active .leaflet-pane-operation-focus-pane{display:block!important}#map.operation-movement-route-modify-active .pane-operation-focus,#map.operation-movement-route-modify-active .leaflet-pane-operation-focus-pane,#map.operation-movement-route-modify-active .operation-movement-handle-leaflet-icon{pointer-events:auto!important}#map.operation-unit-phase-position-active .pane-assets,#map.operation-unit-phase-position-active .pane-sensors,#map.operation-unit-phase-position-active .pane-tactical,#map.operation-unit-phase-position-active .pane-imported,#map.operation-unit-phase-position-active .pane-rf-links,#map.operation-unit-phase-position-active .pane-viewshed,#map.operation-unit-phase-position-active .pane-planning,#map.operation-unit-phase-position-active .pane-terrain,#map.operation-unit-phase-position-active .leaflet-pane-assets-pane,#map.operation-unit-phase-position-active .leaflet-pane-sensors-pane,#map.operation-unit-phase-position-active .leaflet-pane-tactical-pane,#map.operation-unit-phase-position-active .leaflet-pane-imported-pane,#map.operation-unit-phase-position-active .leaflet-pane-rf-links-pane,#map.operation-unit-phase-position-active .leaflet-pane-viewshed-pane,#map.operation-unit-phase-position-active .leaflet-pane-planning-pane,#map.operation-unit-phase-position-active .leaflet-pane-terrain-pane,#map.operation-unit-phase-position-active .leaflet-tooltip-pane{display:none!important}#map.operation-unit-phase-position-active .pane-operation-focus,#map.operation-unit-phase-position-active .leaflet-pane-operation-focus-pane,#map.operation-unit-phase-position-active .operation-unit-phase-position-leaflet-icon,#map.operation-unit-phase-position-active .operation-movement-handle-leaflet-icon{display:block!important;pointer-events:auto!important}.operation-movement-focus-leaflet-icon{pointer-events:none!important;background:transparent;border:0}.operation-movement-focus-anchor{position:relative;width:96px;height:44px;pointer-events:none}.operation-movement-focus-label{position:absolute;left:50%;top:0;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:82px;height:22px;padding:0 10px;border:1px solid rgba(148,163,184,.32);border-radius:4px;background:color-mix(in srgb,var(--bg-elevated) 88%,rgba(15,23,42,.86) 12%);color:var(--text);box-shadow:0 8px 22px #00000057;font-family:inherit;font-size:.7rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap}.operation-movement-focus-dot{position:absolute;left:50%;bottom:0;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#38bdf8;border:2px solid #ffffff;box-shadow:0 0 0 1px #0f172a99,0 0 8px #38bdf88c}.operation-movement-focus-anchor--from .operation-movement-focus-label{opacity:1}.operation-movement-focus-anchor--unit-symbol{width:112px;height:74px}.operation-movement-focus-unit-symbol{position:absolute;left:50%;bottom:0;width:42px;height:52px;transform:translate(-50%);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(15,23,42,.35);border-radius:4px;background:#f8fafc;box-shadow:0 2px 10px #00000073}.operation-movement-focus-unit-symbol .milstd-stack,.operation-movement-focus-unit-symbol .ms2525-icon,.operation-movement-focus-unit-symbol svg{width:34px!important;height:44px!important;margin:0;transform:none}.operation-unit-phase-position-leaflet-icon{background:transparent;border:0}.operation-unit-phase-position-marker{position:relative;width:128px;height:122px;overflow:visible;pointer-events:auto}.operation-unit-phase-position-label{position:absolute;left:50%;top:0;z-index:2;display:inline-block;max-width:124px;transform:translate(-50%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.operation-unit-phase-position-symbol{position:absolute;left:50%;top:36px;width:60px;height:60px;transform:translate(-50%);display:flex;align-items:center;justify-content:center;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.operation-unit-phase-position-marker.is-inherited .operation-unit-phase-position-symbol{opacity:.82}.operation-unit-phase-position-marker.is-shared-location .operation-unit-phase-position-symbol{box-shadow:none}.operation-unit-phase-position-symbol .milstd-stack,.operation-unit-phase-position-symbol .ms2525-icon,.operation-unit-phase-position-symbol svg{position:relative;display:block;width:100%!important;height:100%!important;margin:0;transform:none;transform-origin:center center;pointer-events:none}.operation-unit-phase-position-symbol img,.operation-unit-phase-position-symbol .milstd-layer{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.operation-unit-phase-position-symbol .milstd-stack--domain-air .milstd-layer--echelon{transform:translateY(-11%)}.operation-unit-phase-position-symbol .milstd-fallback-text{font-size:7px;letter-spacing:0}.operation-unit-phase-position-phases{position:absolute;left:50%;top:101px;width:128px;transform:translate(-50%);display:flex;flex-wrap:wrap;gap:3px;justify-content:center;pointer-events:none}.operation-unit-phase-position-phase-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:14px;padding:0 4px;border:1px solid color-mix(in srgb,var(--phase-color, #93c5fd) 76%,#ffffff);border-radius:3px;background:color-mix(in srgb,var(--phase-color, #93c5fd) 34%,rgba(15,23,42,.92));color:#f8fafc;font-family:var(--app-font-family);font-size:.5rem;font-weight:900;letter-spacing:.03em;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.72)}.operation-unit-phase-position-phase-pill.is-inherited{border-style:dashed;opacity:.76}.operation-unit-phase-position-marker[data-operation-unit-phase-tooltip]:before,.operation-unit-phase-position-marker[data-operation-unit-phase-tooltip]:after{position:absolute;left:50%;z-index:5;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease}.operation-unit-phase-position-marker[data-operation-unit-phase-tooltip]:before{content:"";top:-9px;width:8px;height:8px;background:color-mix(in srgb,var(--bg-elevated) 92%,rgba(7,15,26,.96) 8%);border-right:1px solid rgba(148,163,184,.32);border-bottom:1px solid rgba(148,163,184,.32);rotate:45deg}.operation-unit-phase-position-marker[data-operation-unit-phase-tooltip]:after{content:attr(data-operation-unit-phase-tooltip);bottom:calc(100% + 8px);width:max-content;max-width:260px;padding:7px 9px;border:1px solid rgba(148,163,184,.32);border-radius:6px;background:color-mix(in srgb,var(--bg-elevated) 92%,rgba(7,15,26,.96) 8%);box-shadow:0 12px 28px #00000061,inset 0 1px #ffffff0d;color:var(--text);font-family:var(--app-font-family);font-size:.68rem;font-weight:700;letter-spacing:0;line-height:1.25;text-align:left;white-space:normal}.operation-unit-phase-position-marker[data-operation-unit-phase-tooltip]:hover:before,.operation-unit-phase-position-marker[data-operation-unit-phase-tooltip]:hover:after{opacity:1;transform:translate(-50%)}.operation-unit-phase-position-overlay{position:absolute;left:clamp(18px,12vw,148px);top:56px;z-index:720;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;width:min(420px,calc(100vw - 48px));min-height:66px;padding:10px 11px;border:1px solid rgba(148,163,184,.34);border-radius:7px;background:color-mix(in srgb,var(--bg-elevated) 84%,rgba(15,23,42,.94) 16%);box-shadow:0 12px 32px #0000006b,inset 0 1px #ffffff0d;color:var(--text);font-family:var(--app-font-family);pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.operation-unit-phase-position-overlay strong{min-width:0;overflow:hidden;color:var(--text);font-family:var(--app-font-family);font-size:.82rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.operation-unit-phase-position-overlay span{grid-column:1 / -1;color:var(--muted);font-family:var(--app-font-family);font-size:.72rem;line-height:1.45}.operation-unit-phase-position-overlay button{grid-column:2;grid-row:1;min-width:76px;font-family:var(--app-font-family)}.operation-unit-phase-context-section{padding:7px 6px 3px;border-top:1px solid var(--border);color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.operation-unit-phase-context-empty{padding:7px 6px;color:var(--muted);font-size:.72rem}.operation-movement-route-modify-overlay{position:absolute;right:18px;top:18px;z-index:670;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;max-width:min(440px,calc(100vw - 48px));padding:9px 10px;border:1px solid rgba(148,163,184,.32);border-radius:6px;background:#0f172ae6;box-shadow:0 8px 24px #00000061;color:var(--text);pointer-events:auto}.operation-movement-route-modify-overlay strong{min-width:0;overflow:hidden;color:var(--text);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.operation-movement-route-modify-overlay span{grid-column:1 / -1;color:var(--muted);font-size:.68rem;line-height:1.35}.operation-movement-route-modify-overlay button{grid-column:2;grid-row:1;min-width:96px}@media(max-width:720px){.operation-movement-plan-topline,.operation-movement-route-actions,.operation-movement-route-create,.operation-movement-browser-card,.operation-movement-route-card-head,.operation-movement-route-card-meta,.operation-movement-plan-timing-row,.mvplan-timing-controls{grid-template-columns:minmax(0,1fr)}.mvplan-timing-mode-toggle{justify-self:start}.mvplan-timing-panels{max-width:none}#mvplanTimingDt{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}}.operation-execution-panel{display:grid;gap:7px;padding-top:8px;border-top:1px solid var(--border)}.operation-execution-panel.hidden{display:none}.operation-tak-match-list{display:grid;gap:5px;max-height:124px;overflow:auto}.operation-tak-match-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid var(--border);background:var(--bg-card-alt)}.operation-tak-match-row strong,.operation-tak-match-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-tak-match-row strong{display:block;font-size:.74rem}.operation-tak-match-row span{display:block;margin-top:2px;color:var(--muted);font-size:.64rem}.operation-tak-match-empty{padding:8px;border:1px dashed var(--border);color:var(--muted);font-size:.72rem;text-align:center}.workspace-collab-section{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:10px}.workspace-collab-section.hidden{display:none}.workspace-collab-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.workspace-collab-count,.workspace-collab-role{border:1px solid var(--border);padding:2px 6px;color:var(--text);background:var(--bg-card-alt);letter-spacing:0;text-transform:none}.workspace-share-row,.workspace-snapshot-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.workspace-snapshot-select-label{color:var(--muted);font-size:.72rem;font-weight:700}.workspace-snapshot-actions{justify-content:flex-start}.workspace-snapshot-status{min-height:1.1rem;color:var(--muted);font-size:.72rem;line-height:1.4}.workspace-snapshot-status[data-state=error]{color:var(--accent-danger)}.workspace-snapshot-status[data-state=ready]{color:var(--accent-success)}.workspace-collab-list{display:grid;gap:6px;max-height:180px;overflow:auto}.workspace-collab-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--border);background:var(--bg-card-alt);padding:8px}.workspace-collab-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-collab-meta{color:var(--muted);font-size:.76rem}.workspace-collab-actions{display:flex;gap:6px;align-items:center}.control-panel-bottom{flex:1 1 auto;min-height:180px;padding-top:14px}.control-panel-section-divider{flex:0 0 6px;cursor:row-resize;background:linear-gradient(to bottom,transparent 0,transparent 2px,var(--border) 2px,var(--border) 3px,transparent 3px,transparent 100%);transition:background .15s}.control-panel-section-divider:hover{background:linear-gradient(to bottom,transparent 0,transparent 2px,var(--border-strong) 2px,var(--border-strong) 3px,transparent 3px,transparent 100%)}.control-panel.panel-mode-edit .control-panel-top{flex:1 1 auto;min-height:0}.control-panel.panel-mode-edit .control-panel-section-divider,.control-panel.panel-mode-edit .control-panel-bottom{display:none}.panel-mode-chip{cursor:default;gap:4px;order:-1;flex-shrink:0}.panel-mode-toggle{display:flex;align-items:center;gap:0;background:var(--bg-card-alt, #1a1d24);border:1px solid var(--border);border-radius:999px;padding:2px;cursor:pointer;position:relative;height:22px;width:96px;flex-shrink:0;color:var(--text)}.panel-mode-toggle:hover{border-color:var(--border-strong)}.panel-mode-label{flex:1;text-align:center;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;line-height:18px;z-index:1;position:relative;transition:color .15s;-webkit-user-select:none;user-select:none;pointer-events:none}.panel-mode-thumb{position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);background:var(--border-strong, #4a5060);border-radius:999px;transition:left .15s ease,background .15s;pointer-events:none}.panel-mode-label-edit{color:var(--text)}.panel-mode-label-plan{color:var(--muted)}.panel-mode-toggle[aria-checked=true] .panel-mode-thumb{left:50%;background:var(--accent)}.panel-mode-toggle[aria-checked=true] .panel-mode-label-edit{color:var(--muted)}.panel-mode-toggle[aria-checked=true] .panel-mode-label-plan{color:var(--text)}.map-contents-card{--map-panel-border: color-mix(in srgb, var(--border) 62%, transparent);--map-panel-border-strong: color-mix(in srgb, var(--border-strong) 62%, transparent);--map-panel-control-bg: color-mix(in srgb, var(--control-bg) 92%, var(--bg-soft) 8%);--map-panel-phase-bg: color-mix(in srgb, var(--phase-color, var(--accent)) 5%, var(--bg-elevated) 95%);flex:1 1 0;min-height:0;display:flex;flex-direction:column;margin:0 -3px;padding:0;background:transparent;border:0;box-shadow:none}.map-contents-card-header{display:grid;gap:5px;flex-shrink:0}.map-contents-card .section-title-row,.map-contents-card-header{flex-shrink:0}.map-contents-card .section-title-row,.map-contents-card-header{overflow:visible}.map-contents-toolbar-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0;padding:0 0 5px}.map-panel-mode-toggle{width:100%;flex:1 1 100%;transform:translateY(-1px);background:var(--map-panel-control-bg);border-color:var(--map-panel-border);border-radius:7px;box-shadow:none}.map-panel-mode-toggle:hover{border-color:var(--map-panel-border-strong)}.map-panel-mode-toggle .panel-mode-label{flex:1 1 0;white-space:nowrap;padding:0 12px;overflow:hidden;text-overflow:ellipsis}.map-panel-mode-toggle #operationContextLabel{font-size:.72rem}.map-panel-mode-toggle .panel-mode-thumb{width:calc(50% - 2px);background:var(--control-selected-bg);border-radius:5px;box-shadow:none}.map-panel-mode-toggle[aria-checked=true] .panel-mode-thumb{left:50%}.map-panel-mode-toggle:not([aria-checked=true]) .panel-mode-label-edit,.map-panel-mode-toggle[aria-checked=true] .panel-mode-label-plan{color:var(--control-selected-text)}body.operation-modes-disabled .map-panel-mode-toggle{cursor:default;pointer-events:none}body.operation-modes-disabled .map-panel-mode-toggle .panel-mode-thumb,body.operation-modes-disabled .map-panel-mode-toggle #operationContextLabel{display:none}body.operation-modes-disabled .map-panel-mode-toggle .panel-mode-label-edit{flex-basis:100%;color:var(--text)}body.operation-modes-disabled .operation-active-phase-strip,body.operation-modes-disabled .operation-phases-card,body.operation-modes-disabled .operation-timeline,body.operation-modes-disabled .tactical-editor-phase-locations,body.operation-modes-disabled .tactical-routes-panel,body.operation-modes-disabled #analysisPhaseTabs{display:none!important}body.operation-modes-disabled .analysis-phase-tabs-shell{grid-template-columns:minmax(260px,320px);justify-content:end}body.operation-modes-disabled .sensors-phase-tabs-section{display:none!important}.operation-active-phase-strip{display:grid;grid-template-columns:31px minmax(0,1fr) 31px;align-items:stretch;flex:1 1 100%;width:100%;min-width:0;min-height:38px;border:1px solid color-mix(in srgb,var(--map-panel-border) 82%,var(--phase-color, var(--accent)) 18%);border-radius:3px;background:var(--map-panel-phase-bg);overflow:hidden;box-shadow:none}.operation-active-phase-strip.hidden{display:none}.operation-active-phase-main{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 9px}.operation-active-phase-color{flex:0 0 auto;width:6px;align-self:stretch;min-height:24px;border-radius:999px;background:var(--phase-color, var(--accent));box-shadow:none}.operation-active-phase-copy{display:grid;min-width:0;gap:1px}.operation-active-phase-copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:.78rem;line-height:1.05;letter-spacing:.02em;text-transform:uppercase}.operation-active-phase-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.04em}.operation-phase-nav-btn{display:grid;place-items:center;width:31px;min-width:31px;padding:0;border:0;border-radius:0;color:color-mix(in srgb,var(--muted) 86%,var(--phase-color, var(--accent)) 14%);background:transparent;cursor:pointer}.operation-phase-nav-btn:hover,.operation-phase-nav-btn:focus-visible{color:var(--text);background:color-mix(in srgb,var(--phase-color, var(--accent)) 8%,transparent);outline:none}.operation-phase-nav-btn svg{width:14px;height:14px}.operation-phase-nav-btn.hidden{display:grid!important;visibility:hidden;pointer-events:none}.map-panel-actions,.map-contents-card .button-row{overflow:visible;gap:0}.map-panel-actions{margin-left:0;flex-wrap:nowrap;justify-content:stretch}#mapContentsActions{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));align-items:stretch;gap:0;width:100%;max-width:100%;min-width:0}#mapContentsActions>button,#mapContentsActions>.terrain-heatmap-button-shell,#mapContentsActions>.draw-dropdown-wrapper,#mapContentsActions>.export-dropdown-wrapper{min-width:0;width:100%}#mapContentsActions>.terrain-heatmap-button-shell,#mapContentsActions>.draw-dropdown-wrapper,#mapContentsActions>.export-dropdown-wrapper{display:flex;align-items:stretch}#mapContentsActions .mc-icon-btn{width:100%;min-width:0;height:28px;min-height:28px;padding:0;border-radius:0;border-color:var(--map-panel-border);border-left-width:0;background:var(--map-panel-control-bg);box-shadow:none;align-items:center;justify-content:center;box-sizing:border-box}#mapContentsActions .mc-icon-btn:hover,#mapContentsActions .mc-icon-btn:active,#mapContentsActions .mc-icon-btn[aria-expanded=true],#mapContentsActions .mc-icon-btn[aria-pressed=true],#mapContentsActions .mc-icon-btn.active{background:color-mix(in srgb,var(--accent) 8%,var(--map-panel-control-bg, var(--control-bg)) 92%);border-color:color-mix(in srgb,var(--accent) 30%,var(--map-panel-border, var(--control-border)) 70%);box-shadow:none;transform:none}#mapContentsActions .mc-icon-btn:focus-visible{outline:1px solid color-mix(in srgb,var(--accent) 54%,transparent);outline-offset:-2px;box-shadow:none}#mapContentsActions>:first-child .mc-icon-btn,#mapContentsActions>button:first-child{border-left-width:1px;border-top-left-radius:4px;border-bottom-left-radius:4px}#mapContentsActions>:last-child .mc-icon-btn,#mapContentsActions>button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}#mapContentsActions .terrain-heatmap-icon,#mapContentsActions .terrain-contour-icon{width:22px;height:22px}#mapContentsActions .add-emitter-plus{bottom:1px;right:2px;font-size:.55rem}.map-panel-view{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.map-panel-features{overflow:hidden;gap:6px}.map-panel-body-header{flex-shrink:0;padding-top:12px;padding-bottom:2px}.map-contents-search-row{display:flex;align-items:center;gap:6px;padding:5px 0 8px;border-bottom:1px solid var(--map-panel-border);background:transparent}.map-contents-search-row .map-contents-search-shell{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:7px;flex:1;min-width:0;min-height:31px;margin:0;padding:0 11px;border:1px solid var(--map-panel-border);background:var(--control-bg);border-radius:3px;box-shadow:none}.map-contents-search-row .map-contents-search-shell:focus-within{border-color:color-mix(in srgb,var(--accent) 42%,var(--map-panel-border) 58%);box-shadow:none}.map-contents-search-row .map-contents-search-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:.72;flex:0 0 auto}.map-contents-search-row .map-contents-search-shell input{flex:1;min-width:0;border:none;background:transparent;padding:5px 0;box-shadow:none;color:var(--text)}.map-contents-search-row .map-contents-search-shell input::placeholder{color:var(--text-muted);opacity:.72}.map-contents-search-row .map-contents-search-shell input:focus{outline:none}.map-contents-search-clear{width:28px;min-width:28px;height:28px;padding:0;flex-shrink:0}.map-search-geocoder-wrap{position:relative}.map-search-geocoder-results{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:9000;background:#090e17fa;border:1px solid rgba(120,140,168,.35);border-radius:4px;box-shadow:0 6px 24px #0000008c;max-height:280px;overflow-y:auto}.map-search-geocoder-results:empty{display:none}.map-search-geocoder-item{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid rgba(120,140,168,.12);transition:background .1s}.map-search-geocoder-item:last-child{border-bottom:none}.map-search-geocoder-item:hover,.map-search-geocoder-item.active{background:#8eb3ff1f}.map-search-geocoder-item-icon{flex:0 0 auto;margin-top:2px;color:#8eb3ffb3}.map-search-geocoder-item-text{flex:1;min-width:0}.map-search-geocoder-item-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-search-geocoder-item-sub{font-size:10px;color:#96a5bbb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.map-search-geocoder-status{padding:10px 12px;font-size:11px;color:#96a5bbb3;text-align:center}.map-contents-list{flex:1 1 0;min-height:0;overflow-y:auto;display:block;background:var(--control-bg)}.map-contents-search-overflow{padding:6px 10px;color:var(--text-muted);font-size:.7rem;opacity:.55;font-style:italic}.map-contents-empty{padding:10px;color:var(--text-muted);font-size:.73rem;letter-spacing:.03em;opacity:1;-webkit-user-select:none;user-select:none}.map-folder-icon-button{position:relative;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.map-folder-icon{display:block;width:14px;height:14px;color:var(--text)}.terrain-heatmap-button-shell{position:relative;display:inline-flex}.terrain-heatmap-btn{padding:0}.terrain-heatmap-icon{display:block;filter:none}.terrain-contour-icon{display:block;filter:none;color:var(--text);overflow:visible}.terrain-heatmap-btn[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 8%,var(--map-panel-control-bg, var(--control-bg)) 92%);border-color:color-mix(in srgb,var(--accent) 34%,var(--map-panel-border, var(--control-border)) 66%);box-shadow:none}.terrain-contour-btn[aria-pressed=true]{background:color-mix(in srgb,var(--accent-info) 8%,var(--map-panel-control-bg, var(--control-bg)) 92%);border-color:color-mix(in srgb,var(--accent-info) 34%,var(--map-panel-border, var(--control-border)) 66%);box-shadow:none}.terrain-heatmap-dropdown{position:absolute;top:calc(100% - 1px);left:0;width:208px;padding:10px 11px 11px;display:grid;gap:8px;border:1px solid rgba(99,179,237,.22);border-radius:8px;background:#0e131bf5;box-shadow:0 12px 28px #00000057;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:70}.terrain-heatmap-dropdown.hidden{display:none}.terrain-contour-dropdown{width:220px}.terrain-heatmap-dropdown-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.7rem;letter-spacing:.05em;color:var(--text-muted)}.terrain-heatmap-dropdown-header strong{color:var(--text);font-size:.72rem;white-space:nowrap}.terrain-heatmap-opacity-slider{width:100%;margin:0}.terrain-color-input{width:30px;height:24px;padding:0;border:1px solid rgba(148,163,184,.32);border-radius:6px;background:transparent;cursor:pointer}.terrain-color-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.terrain-color-swatch{width:100%;aspect-ratio:1;padding:0;border:1px solid rgba(148,163,184,.32);border-radius:999px;cursor:pointer;box-shadow:inset 0 0 0 1px #080d182e}.terrain-swatch-cyan{background:#7dd3fc}.terrain-swatch-amber{background:#facc15}.terrain-swatch-green{background:#34d399}.terrain-swatch-orange{background:#f97316}.terrain-swatch-violet{background:#e879f9}.terrain-swatch-white{background:#f8fafc}.terrain-swatch-pale-cyan{background:#e0f2fe}.terrain-swatch-pale-amber{background:#fef3c7}.terrain-swatch-pale-green{background:#dcfce7}.terrain-swatch-pale-orange{background:#fed7aa}.terrain-swatch-pale-violet{background:#f5d0fe}.terrain-color-swatch.is-active{border-color:#ffffffd6;box-shadow:0 0 0 1px #ffffff1f,inset 0 0 0 2px #080d1847}.mc-icon-btn{position:relative;overflow:visible}.mc-icon-btn:after{content:attr(data-label);position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%) translateY(2px);padding:2px 6px;background:var(--bg-menu, #1e2430);border:1px solid var(--border-strong);color:var(--text-muted);font-size:.65rem;line-height:1;letter-spacing:.05em;max-width:min(180px,calc(100vw - 16px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .12s ease,transform .12s ease;z-index:200}.mc-icon-btn:hover:after,.mc-icon-btn:focus-visible:after{visibility:visible;opacity:1;transform:translate(-50%) translateY(0)}#mapContentsActions .mc-icon-btn:active:after,#mapContentsActions .mc-icon-btn[aria-expanded=true]:after,#mapContentsActions .mc-icon-btn[aria-pressed=true]:after,#mapContentsActions .mc-icon-btn.active:after{visibility:hidden;opacity:0;transform:translate(-50%) translateY(2px)}.panel-divider{cursor:col-resize;-webkit-user-select:none;user-select:none;background:linear-gradient(to right,transparent 0,transparent 1px,var(--border) 1px,var(--border) 2px,transparent 2px,transparent 100%);transition:background .15s}.panel-divider:hover{background:linear-gradient(to right,transparent 0,transparent 1px,var(--border-strong) 1px,var(--border-strong) 2px,transparent 2px,transparent 100%)}.panel-divider-right{background:linear-gradient(to left,transparent 0,transparent 1px,var(--border) 1px,var(--border) 2px,transparent 2px,transparent 100%);grid-column:2;grid-row:1}.panel-divider-right:hover{background:linear-gradient(to left,transparent 0,transparent 1px,var(--border-strong) 1px,var(--border-strong) 2px,transparent 2px,transparent 100%)}body.panel-collapsed .panel-divider{cursor:default}body.is-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}body.ai-prompt-resizing{-webkit-user-select:none;user-select:none;cursor:ns-resize}body:not(.ai-panel-open) .panel-divider-right{display:none}.ai-panel{overflow-y:auto;min-width:0;padding:14px;background:var(--bg-ai-panel);border-left:1px solid var(--border);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;grid-column:3;grid-row:1}body:not(.ai-panel-open) .ai-panel{padding:0;border-left:none;overflow:hidden;visibility:hidden;pointer-events:none}.ai-panel-header{display:flex;align-items:stretch;justify-content:flex-start;gap:0}.ai-panel-meta-stack{display:grid;gap:4px;width:min(150px,100%);min-width:0;flex:0 0 auto}.ai-panel-meta-stack--row{display:flex;flex-direction:row;gap:8px;width:100%;align-items:flex-start}.ai-agent-purpose{border:1px solid var(--border);background:var(--bg-elevated);border-radius:18px;padding:14px 16px;color:var(--text);font-size:.98rem;line-height:1.7;box-shadow:0 8px 18px #0000001f}.ai-model-toggle{display:grid;gap:1px;min-width:0;align-self:start;margin-top:0;flex:1 1 0}.ai-model-toggle>.eyebrow,.ai-agent-mode-shell>.eyebrow{padding-left:6px}.ai-agent-mode-shell{display:grid;gap:1px;min-width:0;align-self:start;margin-top:0;flex:1 1 0}.ai-agent-mode-indicator{width:100%;min-height:26px;border-radius:9px;border:1px solid var(--border);background:var(--bg-input);color:var(--text);display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;padding:0 8px;cursor:pointer;font-size:.8rem}.ai-agent-mode-indicator[data-mode=general] .ai-agent-mode-dot{background:#94a3b8}.ai-agent-mode-indicator[data-mode=site_assistant] .ai-agent-mode-dot{background:var(--accent-info)}.ai-agent-mode-indicator[data-mode=relay_planning] .ai-agent-mode-dot,.ai-agent-mode-indicator[data-mode=microwave_backhaul] .ai-agent-mode-dot{background:#38bdf8}.ai-agent-mode-indicator[data-mode=rf_sensor_site_selection] .ai-agent-mode-dot{background:var(--accent-success)}.ai-agent-mode-indicator[data-mode=command_post_site_selection] .ai-agent-mode-dot{background:var(--accent-warning)}.ai-agent-mode-indicator[data-mode=spectrum_deconfliction] .ai-agent-mode-dot,.ai-agent-mode-indicator[data-mode=ew_threat_analysis] .ai-agent-mode-dot,.ai-agent-mode-indicator[data-mode=movement_route_comms] .ai-agent-mode-dot,.ai-agent-mode-indicator[data-mode=link_diagnosis] .ai-agent-mode-dot,.ai-agent-mode-indicator[data-mode=terrain_masking] .ai-agent-mode-dot,.ai-agent-mode-indicator[data-mode=site_comparison] .ai-agent-mode-dot{background:#a78bfa}.ai-agent-mode-dot{width:7px;height:7px;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 3px #94a3b824;flex:0 0 auto}.ai-agent-mode-select{width:100%;min-width:0;border:none;background:var(--bg-input);color:var(--text);font-size:.8rem;font-weight:600;line-height:1.1;padding:2px 4px;box-shadow:none;color-scheme:inherit}.ai-agent-mode-select:focus{outline:none;box-shadow:none}body.theme-light .ai-agent-mode-indicator{background:var(--bg-input);border-color:var(--border);color:var(--text)}.ai-chat-model-select{width:100%;min-width:0;max-width:none;min-height:26px;font-size:.8rem;padding:2px 20px 2px 8px}.ai-chat-messages{min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;gap:12px;align-content:start;padding:1px 4px 1px 1px;scrollbar-gutter:stable;overscroll-behavior:contain}.ai-chat-message{width:fit-content;max-width:min(92%,680px);min-width:0;padding:12px 14px;border:1px solid var(--border);background:var(--bg-elevated);display:grid;gap:8px;border-radius:18px;box-shadow:0 8px 18px #0000001f;word-break:normal;overflow-wrap:anywhere}.ai-chat-message-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;min-width:0}.ai-chat-message strong{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;opacity:.82}.ai-chat-message p,.ai-chat-message pre{margin:0;white-space:pre-wrap;line-height:1.55;font-size:.82rem}.ai-chat-message-status{min-width:0;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.25;text-align:right;overflow-wrap:anywhere}.ai-chat-message-body{width:100%;max-width:100%;min-width:0;min-height:1.4em;font-size:.82rem;line-height:1.6;margin-top:4px;overflow-wrap:anywhere}.ai-chat-message.ai-mode-suggestion{max-width:min(94%,620px);background:var(--bg-ai-system);border:1px solid var(--border);opacity:.92}.ai-mode-suggestion-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ai-mode-suggestion-actions button{border-radius:5px;font-size:.76rem}.ss-picker-label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted);font-weight:600;letter-spacing:.04em}.ss-picker-wrap{position:relative;width:100%}.ss-picker-btn{width:100%;text-align:left;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);color:var(--muted);font-size:.82rem;cursor:pointer;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .15s}.ss-picker-btn:hover{border-color:var(--border-strong)}.ss-picker-btn--selected{color:var(--text);border-color:var(--accent)}.ss-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;min-width:220px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 20px #00000073;z-index:9100;overflow:hidden}.ss-picker-mode-menu{display:flex;flex-direction:column}.ss-picker-mode-btn{width:100%;text-align:left;padding:10px 14px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:.82rem;cursor:pointer;transition:background .12s}.ss-picker-mode-btn:last-child{border-bottom:none}.ss-picker-mode-btn:hover{background:var(--bg-hover)}.ss-picker-search-shell{display:flex;align-items:center;gap:6px;padding:7px 8px 6px;border-bottom:1px solid var(--border);background:#ffffff05}.ss-picker-back-btn{flex-shrink:0;padding:2px 6px;font-size:.72rem;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:3px;cursor:pointer;white-space:nowrap}.ss-picker-back-btn:hover{color:var(--text);border-color:var(--border-strong)}.ss-picker-search{flex:1;height:26px;padding:0 8px;font-size:.75rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);color:var(--text)}.ss-picker-search::placeholder{color:var(--muted)}.ss-picker-list{max-height:200px;overflow-y:auto;padding:4px 0}.ss-picker-empty{padding:10px 14px;font-size:.75rem;color:var(--muted)}.ss-picker-item{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:.8rem;color:var(--text);cursor:pointer;transition:background .1s}.ss-picker-item:hover{background:var(--bg-hover-soft)}.ss-picker-item.selected{background:var(--bg-selection)}.ss-picker-check{width:14px;flex-shrink:0;font-size:.7rem;color:var(--accent)}.site-study-detail-shell{margin-top:12px}.site-study-result-row{cursor:pointer}.site-study-result-row.is-active{border-color:#38bdf88c;box-shadow:0 12px 24px #0284c729}.site-study-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.site-study-badge{border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#94a3b81f;color:var(--text);padding:3px 8px;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.site-study-detail-actions{margin-top:10px}.site-study-result-row{display:flex;flex-direction:column;gap:8px}.site-study-score-strip{position:relative;height:6px;border-radius:999px;background:color-mix(in srgb,var(--border) 64%,var(--bg-input) 36%);overflow:hidden}.site-study-score-strip-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#ef4444,#f59e0b 52%,#22c55e)}.site-study-inline-metrics,.site-study-detail-metrics,.site-study-analysis-metrics{display:grid;gap:8px}.site-study-inline-metrics,.site-study-detail-metrics,.site-study-analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.site-study-metric-card{border:1px solid var(--border);border-radius:8px;background:var(--bg-card-alt);padding:10px}.site-study-metric-label{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.site-study-metric-value{color:var(--text);font-size:.95rem;font-weight:700}.site-study-selected-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.site-study-selected-title{display:flex;flex-direction:column;gap:4px}.site-study-selected-title strong{font-size:.94rem}.site-study-selected-subtitle,.site-study-analysis-copy,.site-study-leg-copy,.site-study-leg-summary,.site-study-empty{color:var(--muted);font-size:.78rem;line-height:1.5}.site-study-score-chip{min-width:72px;padding:8px 10px;border-radius:10px;text-align:center;border:1px solid var(--border);background:var(--bg-card-alt)}.site-study-score-chip strong{display:block;font-size:1.1rem;color:var(--text)}.site-study-score-chip span{color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.site-study-score-chip.is-good{border-color:#22c55e42;background:color-mix(in srgb,var(--bg-card-alt) 84%,var(--accent-success) 16%)}.site-study-score-chip.is-mid{border-color:#f59e0b3d;background:color-mix(in srgb,var(--bg-card-alt) 84%,var(--accent-warning) 16%)}.site-study-score-chip.is-risk{border-color:#ef44443d;background:color-mix(in srgb,var(--bg-card-alt) 84%,var(--accent-danger) 16%)}.site-study-detail-text{margin-top:10px}.site-study-row-actions,.site-study-analysis-actions{display:flex;justify-content:flex-end;gap:8px}.site-study-analysis-modal{width:min(1240px,calc(100vw - 36px))}.site-study-analysis-body{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(420px,1.25fr);gap:0;min-height:min(760px,calc(100vh - 120px))}.site-study-analysis-overview,.site-study-analysis-right{min-height:0;padding:14px 16px 16px}.site-study-analysis-overview{display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--border);background:var(--bg-soft);overflow-y:auto}.site-study-analysis-right{display:flex;flex-direction:column;gap:12px;overflow-y:auto}.site-study-analysis-summary{display:flex;flex-direction:column;gap:12px}.site-study-analysis-card{border:1px solid var(--border);border-radius:10px;background:var(--bg-card-alt);overflow:hidden}.site-study-analysis-copy{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card-alt)}.site-study-analysis-list{margin:10px 0 0;padding-left:18px;color:var(--text);font-size:.8rem;line-height:1.55}.site-study-analysis-list li+li{margin-top:4px}.site-study-analysis-visual,.site-study-analysis-legs{display:flex;flex-direction:column;gap:10px;padding:12px}.site-study-visual-row{display:grid;grid-template-columns:120px minmax(0,1fr) 74px;align-items:center;gap:10px}.site-study-visual-label{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.site-study-visual-track{position:relative;height:10px;border-radius:999px;background:color-mix(in srgb,var(--border) 64%,var(--bg-input) 36%);overflow:hidden}.site-study-visual-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#3b82f6f2,#38bdf8f2)}.site-study-visual-fill.is-good{background:linear-gradient(90deg,#16a34af2,#4ade80f2)}.site-study-visual-fill.is-mid{background:linear-gradient(90deg,#d97706f2,#fbbf24f2)}.site-study-visual-fill.is-risk{background:linear-gradient(90deg,#dc2626f2,#f87171f2)}.site-study-visual-value{color:var(--text);font-size:.8rem;font-weight:700;text-align:right}.site-study-leg-card{border:1px solid var(--border);border-radius:8px;background:#080c14ad;padding:10px 12px}.site-study-leg-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.site-study-leg-title{color:var(--text);font-size:.84rem;font-weight:700}.site-study-leg-status{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.site-study-leg-status.is-clear{color:#86efac}.site-study-leg-status.is-risk{color:#fdba74}.site-study-leg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}@media(max-width:1080px){.site-study-analysis-body{grid-template-columns:minmax(0,1fr)}.site-study-analysis-overview{border-right:0;border-bottom:1px solid var(--border)}}@media(max-width:720px){.site-study-inline-metrics,.site-study-detail-metrics,.site-study-analysis-metrics,.site-study-leg-grid{grid-template-columns:minmax(0,1fr)}.site-study-selected-header,.site-study-leg-header{flex-direction:column;align-items:flex-start}.site-study-visual-row{grid-template-columns:minmax(0,1fr)}.site-study-visual-value{text-align:left}}.ai-chat-message-body h2,.ai-chat-message-body h3,.ai-chat-message-body h4,.ai-chat-message-body h5,.ai-chat-message-body h6{margin:12px 0 5px;color:var(--accent-strong);line-height:1.3;overflow-wrap:anywhere}.ai-chat-message-body h2{padding-bottom:5px;border-bottom:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));font-size:.94rem;letter-spacing:.045em}.ai-chat-message-body h3{font-size:.87rem;letter-spacing:.035em}.ai-chat-message-body h4,.ai-chat-message-body h5,.ai-chat-message-body h6{font-size:.8rem;letter-spacing:.055em;text-transform:uppercase}.ai-chat-message-body ul,.ai-chat-message-body ol{margin:6px 0 8px;padding-left:20px}.ai-chat-message-body li{margin:4px 0;padding-left:2px}.ai-chat-message-body li::marker{color:var(--accent);font-weight:700}.ai-chat-message-body .ai-md-list-continuation{display:block;margin-top:3px}.ai-chat-message-body strong{font-weight:700;font-size:inherit;letter-spacing:normal;text-transform:none;opacity:1}.ai-chat-message-body em{font-style:italic}.ai-chat-message-body del{color:var(--muted);text-decoration-thickness:1px}.ai-chat-message-body code{font-family:Consolas,Cascadia Mono,Courier New,monospace;font-size:.78rem;color:var(--code-text);background:var(--code-bg);border:1px solid var(--code-border);padding:1px 5px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;overflow-wrap:anywhere}.ai-chat-message-body pre.ai-md-code-block{position:relative;width:100%;max-width:100%;margin:8px 0;padding:11px 12px;overflow:auto;border:1px solid var(--code-border);border-radius:7px;background:var(--code-block-bg);color:var(--code-text);white-space:pre;word-break:normal;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.ai-chat-message-body pre.ai-md-code-block[data-language]{padding-top:27px}.ai-chat-message-body pre.ai-md-code-block[data-language]:before{content:attr(data-language);position:absolute;top:6px;right:9px;color:var(--muted);font-family:var(--app-font-family);font-size:.62rem;font-weight:700;letter-spacing:.08em}.ai-chat-message-body pre.ai-md-code-block code{display:block;min-width:max-content;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:.76rem;line-height:1.55;overflow-wrap:normal}.ai-chat-message-body blockquote{margin:8px 0;padding:7px 10px;border-left:3px solid var(--accent);border-radius:0 6px 6px 0;background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--text-secondary)}.ai-chat-message-body hr{border:none;border-top:1px solid var(--border);margin:10px 0}.ai-chat-message-user{justify-self:end;background:var(--bg-ai-user);border-color:var(--border-ai-user);border-bottom-right-radius:8px;max-width:min(88%,600px)}.ai-chat-message-assistant{justify-self:start;border-bottom-left-radius:8px;max-width:min(96%,720px)}.ai-chat-message-system{justify-self:center;max-width:min(94%,620px);background:var(--bg-ai-system);border-radius:10px}.ai-map-link{display:inline;background:none;border:none;padding:0 1px;margin:0;font:inherit;font-size:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;border-radius:3px;transition:background .12s,color .12s;overflow-wrap:anywhere}.ai-map-link:hover{background:color-mix(in srgb,var(--accent) 15%,transparent);text-decoration:none}.ai-map-link:active{background:color-mix(in srgb,var(--accent) 30%,transparent)}.ai-external-link{color:var(--accent);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;overflow-wrap:anywhere}.ai-external-link:hover{color:var(--accent-strong);text-decoration-thickness:2px}.ai-map-link:focus-visible,.ai-coord-link:focus-visible,.ai-external-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ai-coord-link{display:inline-flex;align-items:center;gap:4px;background:rgba(var(--accent-warning-rgb),.12);border:1px solid rgba(var(--accent-warning-rgb),.48);border-radius:5px;padding:1px 7px;margin:0 1px;font-family:monospace;font-size:.8em;font-weight:600;color:var(--accent-warning);cursor:pointer;vertical-align:baseline;transition:background .12s,border-color .12s,color .12s;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.ai-coord-link:before{content:"⌖";font-size:1em;opacity:.7}.ai-coord-link:hover{background:rgba(var(--accent-warning-rgb),.22);border-color:rgba(var(--accent-warning-rgb),.78);color:var(--accent-warning)}.ai-coord-link:active{background:rgba(var(--accent-warning-rgb),.32)}.leaflet-container{font-family:var(--app-font-family)}.ai-coord-hover-card{position:fixed;z-index:6500;width:min(46vw,680px);height:min(44vh,540px);display:flex;flex-direction:column;font-family:var(--app-font-family);background:var(--bg-menu);border:3px solid var(--border-strong);border-radius:12px;box-shadow:0 0 0 3px #0000008c,0 26px 64px #0009;overflow:hidden;pointer-events:none}.ai-coord-hover-card.is-pinned{pointer-events:auto}.ai-coord-hover-card.hidden{display:none}.ai-coord-hover-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.ai-coord-hover-head strong{color:var(--text);font-family:monospace;font-size:.82rem;letter-spacing:.04em;white-space:nowrap}.ai-coord-hover-head span{color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-coord-hover-map{flex:1 1 auto;min-height:0;background:#0b1119}.ai-coord-hover-rf-menu{position:absolute;z-index:900;display:grid;width:min(310px,calc(100% - 16px));max-height:calc(100% - 56px);overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-warning) 48%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--bg-elevated) 96%,transparent);box-shadow:0 16px 38px #0000008a;color:var(--text);font-family:var(--app-font-family)}.ai-coord-hover-rf-menu-head{display:grid;gap:1px;padding:8px 10px;border-bottom:1px solid var(--border)}.ai-coord-hover-rf-menu-head strong{overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.ai-coord-hover-rf-menu-head span{color:var(--accent-warning);font-size:.6rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.ai-coord-hover-rf-menu-bulk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px 8px;border-bottom:1px solid var(--border)}.ai-coord-hover-rf-menu button{min-width:0;border:1px solid var(--border);border-radius:5px;background:var(--bg-input);color:var(--text);cursor:pointer;font:inherit}.ai-coord-hover-rf-menu button:hover:not(:disabled),.ai-coord-hover-rf-menu button:focus-visible{border-color:color-mix(in srgb,var(--accent-warning) 58%,var(--border));background:color-mix(in srgb,var(--accent-warning) 10%,var(--bg-input))}.ai-coord-hover-rf-menu button:disabled{cursor:default;opacity:.42}.ai-coord-hover-rf-menu-bulk button{padding:5px 7px;font-size:.66rem;font-weight:800;text-transform:uppercase}.ai-coord-hover-rf-menu-list{min-height:0;overflow-y:auto;padding:5px}.ai-coord-hover-rf-menu-list>button{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;width:100%;margin-bottom:4px;padding:6px 7px;text-align:left}.ai-coord-hover-rf-menu-list>button:last-child{margin-bottom:0}.ai-coord-hover-rf-menu-list>button>span:last-child{display:grid;min-width:0}.ai-coord-hover-rf-menu-list strong{overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.ai-coord-hover-rf-menu-list small{overflow:hidden;color:var(--muted);font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.ai-coord-hover-rf-check{display:grid;place-items:center;width:16px;height:16px;border:1px solid color-mix(in srgb,var(--accent-warning) 52%,var(--border));border-radius:3px;color:var(--accent-warning);font-size:.68rem;font-weight:900}.ai-coord-hover-rf-empty{padding:10px;color:var(--muted);font-size:.7rem;text-align:center}.ai-coord-hover-map .leaflet-container{width:100%;height:100%;background:#0b1119}.ai-coord-hover-map .leaflet-control-scale,.hf-plan-map-chip .leaflet-control-scale{margin-left:8px;margin-bottom:8px}.ai-coord-hover-map .leaflet-control-scale-line,.hf-plan-map-chip .leaflet-control-scale-line{position:relative;display:grid;justify-items:center;box-sizing:content-box;height:auto;gap:2px;padding:4px 7px 3px;border:1px solid color-mix(in srgb,var(--accent-info) 52%,rgba(5,9,17,.84));border-radius:4px;background:#050911e6;color:#f8fafc;font-size:.55rem;font-weight:950;letter-spacing:.04em;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.72);text-transform:uppercase}.ai-coord-hover-map .leaflet-control-scale-line:before,.hf-plan-map-chip .leaflet-control-scale-line:before{content:"";display:block;width:100%;height:5px;box-sizing:border-box;border-right:1px solid #f8fafc;border-bottom:2px solid #f8fafc;border-left:1px solid #f8fafc;opacity:.82}.ai-coord-hover-map-north{display:grid;place-items:center;gap:1px;width:28px;min-height:31px;margin-top:8px;margin-right:8px;padding:4px 5px 3px;border:1px solid color-mix(in srgb,var(--accent-info) 52%,rgba(5,9,17,.84));border-radius:4px;background:#050911e6}.ai-coord-hover-map-north-arrow{display:block;width:0;height:0;border-right:7px solid transparent;border-bottom:12px solid var(--accent-arrow, var(--accent));border-left:7px solid transparent;filter:drop-shadow(0 1px 2px rgba(0,0,0,.56))}.ai-coord-hover-map-north strong{color:#f8fafc;font-size:.55rem;font-weight:950;letter-spacing:0;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.72)}.ai-coord-hover-target{position:relative}.ai-coord-hover-target-diamond{position:absolute;left:50%;top:50%;width:11px;height:11px;transform:translate(-50%,-50%) rotate(45deg);background:var(--accent-warning);border:2px solid #0b1220;box-shadow:0 0 10px rgba(var(--accent-warning-rgb),.9)}.leaflet-tooltip.ai-coord-hover-label{background:#050a14d9;border:1px solid rgba(148,163,184,.28);border-radius:6px;box-shadow:0 4px 12px #00000059;color:#f8fafc;font-family:var(--app-font-family);font-size:.62rem;font-weight:800;letter-spacing:.04em;padding:2px 7px;text-align:center}.leaflet-tooltip.ai-coord-hover-label:before{display:none}.leaflet-tooltip.ai-coord-hover-label.is-target{border-color:rgba(var(--accent-warning-rgb),.78);color:var(--accent-warning)}.leaflet-tooltip.ai-coord-hover-label.is-reference{border:2px solid var(--accent-warning);box-shadow:0 0 0 1px #050a14d1,0 0 12px rgba(var(--accent-warning-rgb),.38);color:var(--accent-warning)}.leaflet-tooltip.ai-coord-hover-label.is-current{border-color:#2fd6a3b3;color:#9df2d8}.leaflet-tooltip.ai-coord-hover-rf-score{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;border:1px solid var(--ai-rf-preview-color, #60a5fa);border-radius:999px;background:#050a14e6;box-shadow:0 3px 10px #00000061;color:#f8fafc;font-family:var(--app-font-family);font-size:.58rem;line-height:1;pointer-events:none;white-space:nowrap}.leaflet-tooltip.ai-coord-hover-rf-score:before{display:none}.leaflet-tooltip.ai-coord-hover-rf-score strong{max-width:94px;overflow:hidden;text-overflow:ellipsis}.leaflet-tooltip.ai-coord-hover-rf-score span{color:var(--ai-rf-preview-color, #60a5fa);font-weight:900}.ai-chat-message.is-streaming{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 10px 22px #0000001f}.ai-thinking-indicator{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 3px}.ai-thinking-indicator .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ai-thinking-dot{width:7px;height:7px;border-radius:999px;background:var(--accent);opacity:.35;animation:ai-thinking-bubble 1s ease-in-out infinite}.ai-thinking-dot:nth-child(3){animation-delay:.14s}.ai-thinking-dot:nth-child(4){animation-delay:.28s}@keyframes ai-thinking-bubble{0%,60%,to{transform:translateY(0) scale(.82);opacity:.35}30%{transform:translateY(-4px) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.ai-thinking-dot{animation:none;opacity:.75}}.ai-message-context-sep{border:none;border-top:1px solid rgba(255,255,255,.1);margin:6px 0 4px}.ai-chat-full-prompt{margin-top:6px;border:1px solid rgba(99,179,237,.28);border-radius:8px;background:#63b3ed0f;overflow:hidden}.ai-chat-full-prompt>summary{cursor:pointer;padding:4px 10px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #9fb3c8);-webkit-user-select:none;user-select:none;list-style:revert}.ai-chat-full-prompt>summary:hover{color:var(--text)}.ai-chat-full-prompt[open]>summary{border-bottom:1px solid rgba(99,179,237,.2)}.ai-chat-full-prompt-body{margin:0;padding:8px 10px;max-height:240px;overflow:auto;font-family:Consolas,Cascadia Mono,Courier New,monospace;font-size:11px;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--text)}.ai-message-context-badges{display:flex;flex-wrap:wrap;gap:4px}.ai-message-context-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;background:#63b3ed2e;border:1px solid rgba(99,179,237,.45);border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--text);cursor:pointer;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;transition:background .12s,border-color .12s}.ai-message-context-badge:before{content:"◈";font-size:9px;opacity:.7;flex-shrink:0}.ai-message-context-badge:hover{background:#63b3ed4d;border-color:#63b3edb3}.ai-action-preview-card{margin-top:10px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}.ai-action-preview-card.is-approved{border-color:color-mix(in srgb,#22c55e 55%,var(--border))}.ai-action-preview-card.is-cancelled{border-color:color-mix(in srgb,#f59e0b 55%,var(--border))}.ai-action-preview-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.ai-action-preview-header strong{font-size:.78rem}.ai-action-preview-header span{color:var(--muted);font-size:.68rem;white-space:nowrap}.ai-action-preview-list{display:grid;gap:6px}.ai-action-preview-row{padding:8px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;background:color-mix(in srgb,var(--bg) 45%,transparent)}.ai-action-risk-high{border-left-color:#ef4444}.ai-action-risk-medium{border-left-color:#f59e0b}.ai-action-risk-low{border-left-color:#22c55e}.ai-action-preview-main{display:grid;gap:2px}.ai-action-preview-main strong{font-size:.75rem;line-height:1.25}.ai-action-preview-main span,.ai-action-preview-notes{color:var(--muted);font-size:.68rem}.ai-action-preview-notes{margin:6px 0 0 16px;padding:0}.ai-action-preview-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.ai-action-preview-card--rdf-move{border-color:color-mix(in srgb,var(--accent-info) 58%,var(--border));background:color-mix(in srgb,var(--panel) 88%,var(--accent-info) 12%)}.ai-action-preview-toggles{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ai-action-preview-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.68rem;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.ai-action-preview-toggle input{position:absolute;opacity:0;pointer-events:none}.ai-action-preview-toggle-track{position:relative;width:28px;height:16px;border:1px solid var(--border);border-radius:999px;background:#0f172acc}.ai-action-preview-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:999px;background:var(--muted);transition:transform .12s ease,background .12s ease}.ai-action-preview-toggle input:checked+.ai-action-preview-toggle-track{border-color:color-mix(in srgb,var(--accent-info) 65%,var(--border));background:color-mix(in srgb,var(--accent-info) 22%,rgba(15,23,42,.8))}.ai-action-preview-toggle input:checked+.ai-action-preview-toggle-track:after{transform:translate(12px);background:var(--accent-info)}.ai-chat-message-body .ai-md-table-wrap{width:100%;max-width:100%;overflow-x:auto;margin:8px 0;border:1px solid var(--border);border-radius:7px;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.ai-chat-message-body .ai-md-table-wrap:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ai-chat-message-body .ai-md-table{border-collapse:collapse;width:max-content;min-width:100%;max-width:none;font-size:.78rem;margin:0;table-layout:auto}.ai-chat-message-body .ai-md-table th,.ai-chat-message-body .ai-md-table td{border:1px solid var(--border);padding:4px 8px;text-align:left;vertical-align:top;white-space:normal;word-break:normal;overflow-wrap:anywhere;min-width:80px;max-width:min(320px,60vw)}.ai-chat-message-body .ai-md-table th{background:#ffffff0f;font-weight:700;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.ai-chat-message-body .ai-md-table tr:nth-child(2n) td{background:#ffffff08}.ai-chat-message-body .ai-md-table .is-center{text-align:center}.ai-chat-message-body .ai-md-table .is-right{text-align:right}.ai-chat-message-body p{margin:0 0 6px;line-height:1.6}.ai-chat-message-body p:last-child{margin-bottom:0}.ai-chat-message-body>:first-child{margin-top:0}.ai-chat-message-body>:last-child{margin-bottom:0}.ai-document-block{max-width:min(96%,660px);padding:0;overflow:hidden}.ai-document-block .ai-chat-message-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:color-mix(in srgb,var(--accent) 10%,var(--bg-alt));border-bottom:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.ai-document-block .ai-chat-message-header strong{font-size:.78rem;font-weight:700;letter-spacing:.03em;color:var(--accent);text-transform:uppercase}.ai-doc-copy-btn{background:none;border:1px solid rgba(var(--accent-rgb),.4);border-radius:4px;color:var(--accent);font-size:.7rem;font-weight:600;padding:2px 8px;cursor:pointer;letter-spacing:.04em;transition:background .12s}.ai-doc-copy-btn:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}.ai-document-card{width:min(88%,540px);align-self:start}.ai-document-card .ai-chat-message-header{margin-bottom:8px}.ai-doc-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:color-mix(in srgb,var(--bg-card) 82%,var(--accent) 6%);border:1px solid color-mix(in srgb,var(--border) 82%,var(--accent) 18%);border-radius:6px;padding:12px 14px;min-width:0;overflow:hidden}.ai-doc-card-icon{display:grid;place-items:center;min-width:46px;height:30px;border:1px solid rgba(var(--accent-rgb),.42);border-radius:4px;background:rgba(var(--accent-rgb),.12);color:var(--accent-strong);font-size:.62rem;line-height:1;font-weight:900;letter-spacing:.08em}.ai-doc-card-info{min-width:0;overflow:hidden}.ai-doc-card-name{font-weight:700;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-doc-card-meta{font-size:.72rem;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-doc-card-dl-btn{background:var(--bg-primary);border:1px solid color-mix(in srgb,var(--bg-primary) 72%,var(--border));border-radius:0;color:var(--text-primary);font-size:.75rem;font-weight:700;padding:6px 14px;cursor:pointer;letter-spacing:.03em;transition:opacity .12s;white-space:nowrap;flex-shrink:0}.ai-doc-card-dl-btn:hover{opacity:.85}.ai-doc-pdf-btn{background:none;border:1px solid rgba(76,175,80,.5);border-radius:4px;color:#4caf50;font-size:.7rem;font-weight:600;padding:2px 8px;cursor:pointer;letter-spacing:.04em;transition:background .12s;margin-left:6px}.ai-doc-pdf-btn:hover{background:#4caf5026}.ai-document-content{margin:0;padding:12px 14px;font-size:.78rem;line-height:1.6;color:var(--text);background:var(--bg);max-height:480px;overflow-y:auto;border:none}.ai-document-rendered{font-family:inherit}.ai-document-rendered h1,.ai-document-rendered h2,.ai-document-rendered h3,.ai-document-rendered h4{margin:.9em 0 .3em;font-weight:700;color:var(--accent);line-height:1.2}.ai-document-rendered h1{font-size:1.05rem;border-bottom:1px solid var(--border);padding-bottom:4px}.ai-document-rendered h2{font-size:.95rem}.ai-document-rendered h3{font-size:.88rem}.ai-document-rendered h4{font-size:.82rem}.ai-document-rendered p{margin:.4em 0}.ai-document-rendered strong{font-weight:700;color:var(--text)}.ai-document-rendered em{font-style:italic;opacity:.85}.ai-document-rendered ul,.ai-document-rendered ol{margin:.3em 0 .3em 1.4em;padding:0}.ai-document-rendered li{margin:.15em 0}.ai-document-rendered hr{border:none;border-top:1px solid var(--border);margin:10px 0}.ai-document-rendered code{font-family:Courier New,Courier,monospace;font-size:.88em;background:var(--code-bg);color:var(--code-text);border-radius:3px;padding:1px 4px}.ai-document-rendered pre{font-family:Courier New,Courier,monospace;font-size:.78rem;background:var(--code-block-bg);border:1px solid var(--code-border);border-radius:4px;padding:10px 12px;white-space:pre-wrap;word-break:break-word;margin:6px 0}.ai-document-rendered table{border-collapse:collapse;width:100%;font-size:.76rem;margin:8px 0}.ai-document-rendered th,.ai-document-rendered td{border:1px solid var(--border);padding:4px 8px;text-align:left;vertical-align:top}.ai-document-rendered th{background:var(--bg-hover-soft);font-weight:700;color:var(--accent)}.ai-document-rendered tr:nth-child(2n) td{background:color-mix(in srgb,var(--text) 4%,transparent)}.ai-document-rendered blockquote{border-left:3px solid var(--accent);margin:6px 0;padding:2px 10px;opacity:.8}.ai-chat-form{display:grid;gap:10px;align-self:end}.ai-textarea-flip{position:relative}.ai-textarea-flip textarea{padding-right:22px;transform:none}.ai-chat-form textarea{width:100%;min-height:88px;resize:none}.ai-chat-form textarea::placeholder{color:var(--text-muted)}.ai-textarea-resize-handle{position:absolute;top:1px;right:1px;z-index:2;width:20px;height:20px;padding:0;border:0;background:transparent;color:var(--text-muted);cursor:ns-resize;opacity:.62}.ai-textarea-resize-handle:before,.ai-textarea-resize-handle:after{content:"";position:absolute;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;pointer-events:none}.ai-textarea-resize-handle:before{top:5px;right:5px;width:7px;height:7px}.ai-textarea-resize-handle:after{top:9px;right:9px;width:3px;height:3px;opacity:.5}.ai-textarea-resize-handle:hover,.ai-textarea-resize-handle:focus-visible{color:var(--accent-strong);opacity:1;outline:none}.ai-textarea-flip textarea:disabled+.ai-textarea-resize-handle{opacity:.48}.plan-ai-form textarea,.topo-ai-panel .ai-chat-form textarea,.analyze-ai-panel .ai-chat-form textarea{transform:none;resize:vertical;min-height:72px}.ai-chat-actions{justify-content:space-between;align-items:center}.ai-attach-group{display:flex;gap:4px;align-items:center}.ai-attachment-bar{display:flex;flex-direction:column;gap:6px;padding:6px 8px;background:var(--bg-attachment);border:1px solid var(--border);border-radius:6px}.ai-image-previews{display:flex;flex-wrap:wrap;gap:6px}.ai-image-thumb{position:relative;width:56px;height:56px;border-radius:4px;overflow:hidden;border:1px solid var(--border);flex-shrink:0}.ai-image-thumb img{width:100%;height:100%;object-fit:cover}.ai-image-thumb-remove{position:absolute;top:1px;right:2px;background:#000000a6;color:#fff;border:none;border-radius:50%;width:16px;height:16px;font-size:11px;line-height:16px;text-align:center;cursor:pointer;padding:0}.ai-context-chips{display:flex;flex-wrap:wrap;gap:4px}.ai-context-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;background:#3b82f62e;border:1px solid rgba(59,130,246,.4);border-radius:12px;font-size:11px;color:var(--text);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.ai-context-chip-remove{background:none;border:none;color:var(--text);opacity:.55;cursor:pointer;padding:0;font-size:13px;line-height:1;flex-shrink:0}.ai-context-chip-remove:hover{opacity:1}.ai-file-chip{background:#10b98129;border-color:#10b98166}.ai-file-chip-binary{background:#f59e0b24;border-color:#f59e0b57}.ai-context-picker-wrapper{position:relative}.ai-attachment-menu{width:180px;padding:6px;display:grid;gap:6px}.ai-attachment-menu-item{width:100%;text-align:left;border:1px solid var(--border);background:var(--bg-ghost);color:var(--text);padding:8px 10px;cursor:pointer}.ai-attachment-menu-item:hover{background:var(--bg-hover-soft);border-color:var(--border-strong)}.ai-mention-dropdown{position:absolute;bottom:100%;left:0;right:0;width:auto;background:var(--bg-card, #1e2229);border:1px solid var(--border);border-radius:8px 8px 0 0;box-shadow:0 -6px 16px #00000080;max-height:180px;overflow-y:auto;z-index:9100;margin-bottom:0}.ai-mention-item{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.ai-mention-item:hover,.ai-mention-item.active{background:var(--bg-selection-strong)}.ai-mention-item-kind{opacity:.4;font-size:10px;margin-left:auto;flex-shrink:0}.ai-input-wrap{position:relative;width:100%}.ai-slash-dropdown{position:absolute;bottom:100%;left:0;right:0;background:#1a1f2e;border:1px solid rgba(99,102,241,.5);border-bottom:none;border-radius:8px 8px 0 0;box-shadow:0 -6px 24px #0009;max-height:240px;overflow-y:auto;z-index:9100}.ai-slash-item{display:grid;grid-template-columns:160px minmax(0,1fr) auto;align-items:center;gap:10px;padding:5px 12px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(255,255,255,.06);min-height:48px}.ai-slash-item:last-child{border-bottom:none}.ai-slash-item:hover,.ai-slash-item.active{background:rgba(var(--accent-rgb),.15)}.ai-slash-cmd{font-family:monospace;font-size:11.5px;color:var(--accent);white-space:nowrap;font-weight:700}.ai-slash-label{color:var(--text-secondary);display:grid;gap:2px;min-width:0}.ai-slash-label span,.ai-slash-label small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-slash-label span{font-size:12px}.ai-slash-label small{color:var(--muted);font-size:10px;line-height:1.2}.ai-slash-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px}.ai-slash-category{font-size:10px;padding:2px 7px;border-radius:9px;background:rgba(var(--accent-rgb),.18);color:var(--accent-strong);white-space:nowrap;flex-shrink:0}.ai-slash-status{font-size:10px;padding:2px 7px;border:1px solid rgba(var(--accent-rgb),.22);border-radius:9px;color:var(--muted);white-space:nowrap;flex-shrink:0}.ai-slash-status.is-ready{border-color:rgba(var(--accent-success-rgb),.35);color:var(--accent-success)}.ai-slash-status.is-limited,.ai-slash-status.is-setup,.ai-slash-status.is-needs-data{border-color:rgba(var(--accent-warning-rgb),.38);color:var(--accent-warning)}.ai-voice-recording{color:var(--accent-danger)!important;animation:voice-pulse 1s ease-in-out infinite}@keyframes voice-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.5)}}.map-content-visibility-btn{background:none;border:none;padding:0 3px;cursor:pointer;opacity:.35;color:var(--text);flex-shrink:0;display:flex;align-items:center;transition:opacity .15s}.map-content-visibility-btn:hover{opacity:.9}.map-content-visibility-btn.hidden-layer{opacity:.22}.map-content-tak-stream-indicator{width:18px;height:18px;min-width:18px;padding:0;border:none;background:none;color:var(--muted);opacity:.6;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-top:4px;transition:opacity .15s ease,color .15s ease}.map-content-tak-stream-indicator:hover{opacity:1}.map-content-tak-stream-indicator.is-on{color:var(--accent-info);opacity:.95}.map-content-tak-stream-indicator.is-off{color:var(--muted);opacity:.45}.map-content-mace-badge{align-self:flex-start;margin-top:5px;color:#fff;font-size:.58rem;font-weight:800;letter-spacing:.06em;line-height:1;text-transform:uppercase;opacity:.9;pointer-events:none}.map-content-item[data-hidden=true] .map-content-copy{opacity:.38;text-decoration:line-through}.ai-context-picker{position:absolute;bottom:calc(100% + 6px);left:0;width:240px;max-height:260px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #0006;z-index:9000;padding:0;overflow:hidden}.ai-context-picker-search-shell{padding:8px 8px 6px;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.ai-context-picker-search{width:100%;height:28px;padding:0 10px;font-size:.75rem;border:1px solid var(--border);border-radius:4px;background:#050a12e0;color:var(--text)}.ai-context-picker-search::placeholder{color:var(--muted)}.ai-context-picker-list{max-height:216px;overflow-y:auto;padding:4px 0}.ai-context-picker-empty{padding:10px 12px;font-size:12px;opacity:.5}.ai-context-picker-item{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.ai-context-picker-item:hover{background:var(--bg-hover-soft)}.ai-context-picker-item.selected{background:var(--bg-selection)}.ai-context-picker-item-icon{width:16px;height:16px;opacity:.6;flex-shrink:0}.ai-chat-message-image{width:auto;max-width:100%;height:auto;max-height:200px;border-radius:4px;margin-top:6px;display:block;object-fit:contain;border:1px solid var(--border)}.ai-menu-button{min-width:164px}.ai-summary{margin-top:0}.ai-genai-mil-warning{margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card-alt);color:var(--text);font-size:12px;line-height:1.5}.ai-genai-mil-warning-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.ai-genai-mil-warning-header strong{color:var(--text);font-size:.82rem;letter-spacing:.03em}.ai-genai-mil-setup-collapsed{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);margin-bottom:8px}.ai-genai-mil-warning-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.ai-genai-mil-warning-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-input);color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.ai-genai-mil-warning p{margin:0 0 10px;color:var(--text)}.ai-genai-mil-platform-tabs{display:flex;gap:0;margin:10px 0 0;border-bottom:1px solid var(--border)}.ai-genai-mil-tab{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;border:1px solid transparent;border-bottom:none;border-radius:4px 4px 0 0;background:transparent;color:var(--muted);font:600 .74rem var(--font);cursor:pointer;letter-spacing:.03em;margin-bottom:-1px}.ai-genai-mil-tab.active{border-color:var(--border);background:var(--bg-card-alt);color:var(--text)}.ai-genai-mil-tab svg{color:var(--muted);flex-shrink:0}.ai-genai-mil-panel{padding-top:12px}.ai-genai-mil-panel.hidden{display:none}.ai-genai-mil-warning-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ai-genai-mil-warning-actions .ghost-button{text-decoration:none}.ai-genai-mil-steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}.ai-genai-mil-steps li{color:var(--text);line-height:1.55}.ai-genai-mil-steps li strong{color:var(--text)}.ai-genai-mil-warning code{background:var(--bg-elevated);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:11px;color:var(--text);word-break:break-all}.ai-genai-mil-warning.hidden{display:none}@media(max-width:720px){.ai-genai-mil-warning-header{flex-direction:column;align-items:flex-start}}.ai-local-model-section{margin-top:12px;border:1px solid var(--border);border-radius:8px;padding:14px 16px;background:var(--bg-card-alt, #16181f);display:flex;flex-direction:column;gap:12px}.ai-local-model-section.hidden{display:none}.ai-local-model-header{display:flex;flex-direction:column;gap:3px}.ai-local-model-title{font-size:.8rem;font-weight:600;color:var(--text);letter-spacing:.04em}.ai-local-model-hint{font-size:.72rem;color:var(--muted)}.ai-local-model-hint code{font-family:monospace;background:var(--bg-card, #1e2028);padding:1px 5px;border-radius:3px;color:var(--accent-info);font-size:.7rem}.ai-local-model-picker-row{display:flex;flex-direction:column;gap:10px}.ai-local-model-picker-label{font-size:.75rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}.ai-local-model-picker-control{display:flex;gap:6px;align-items:center}.ai-local-model-picker{flex:1;height:32px;background:var(--bg-input, #1e2028);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:.82rem;padding:0 8px;cursor:pointer}.ai-local-model-picker:focus{outline:none;border-color:var(--border-strong)}.ai-local-model-url-label{font-size:.75rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}.ai-local-model-url-hint{font-size:.68rem;color:var(--muted);font-weight:400}.ai-local-model-url-label input{width:100%}.ai-local-model-instructions{font-size:.73rem;color:var(--muted);line-height:1.55;border-top:1px solid var(--border);padding-top:10px}.ai-local-model-instructions strong{color:var(--text)}.ai-local-model-instructions ol{margin:6px 0 0 16px;padding:0;display:flex;flex-direction:column;gap:4px}.ai-local-model-instructions a{color:var(--accent-info);text-decoration:none}.ai-local-model-instructions a:hover{text-decoration:underline}.ai-local-model-instructions code{font-family:monospace;background:var(--bg-card, #1e2028);padding:1px 5px;border-radius:3px;color:var(--accent-info);font-size:.7rem}.compact-button-row{gap:8px;flex-wrap:wrap}.map-stage{--map-overlay-top: 10px;--map-overlay-left: 60px;--map-overlay-gap: 10px;--map-overlay-control-h: 34px;--map-view-toggle-w: 104px;--map-geo-search-w: clamp(224px, 30.8vw, 336px);--map-offline-w: 0px;--map-measure-w: 286px;--map-tak-contacts-w: 160px;--map-control-bg: rgba(18, 22, 29, .92);--map-control-bg-strong: rgba(18, 22, 29, .96);--map-control-border: rgba(148, 163, 184, .28);--map-control-border-strong: rgba(148, 163, 184, .38);--map-control-shadow: 0 10px 28px rgba(0, 0, 0, .3);position:relative;min-width:0;min-height:0;overflow:hidden}#map,.viewer3d{position:absolute;inset:0}.viewer3d.hidden{display:none}.map-stage .leaflet-top.leaflet-left{top:var(--map-overlay-top);left:10px}.map-stage .leaflet-top .leaflet-control{margin:0}.map-stage .leaflet-control-zoom{border:1px solid var(--map-control-border);border-radius:6px;box-shadow:var(--map-control-shadow);overflow:hidden}.map-stage .leaflet-control-zoom a{width:34px;height:33px;line-height:33px;border-color:var(--map-control-border);background:var(--map-control-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-stage .leaflet-control-zoom a:hover,.map-stage .leaflet-control-zoom a:focus-visible{border-color:var(--map-control-border-strong);background:var(--map-control-bg-strong)}.map-view-toggle{position:absolute;top:var(--map-overlay-top);left:var(--map-overlay-left);z-index:650;width:var(--map-view-toggle-w);min-width:var(--map-view-toggle-w);height:var(--map-overlay-control-h);padding:0 12px;background:var(--map-control-bg);border:1px solid var(--map-control-border);box-shadow:var(--map-control-shadow);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:750}.map-view-toggle:hover,.map-view-toggle:focus-visible{border-color:var(--map-control-border-strong);background:var(--map-control-bg-strong)}.map-rf-links-hide-btn{position:absolute;top:var(--map-overlay-top);right:10px;z-index:675;height:28px;min-width:0;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--map-control-border);border-radius:999px;background:var(--map-control-bg);box-shadow:var(--map-control-shadow);color:color-mix(in srgb,var(--text) 84%,var(--muted) 16%);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.84;transition:opacity .14s ease,border-color .14s ease,background .14s ease}.map-rf-links-hide-btn.hidden{display:none}.map-rf-links-hide-btn:hover,.map-rf-links-hide-btn:focus-visible{opacity:1;border-color:var(--map-control-border-strong);background:var(--map-control-bg-strong)}.map-rf-links-hide-dot{width:6px;height:6px;border-radius:999px;background:#7dd3fc;box-shadow:0 0 8px #7dd3fc80}.map-tak-debug-panel{position:absolute;right:12px;top:var(--map-overlay-top, 12px);width:360px;height:240px;display:flex;flex-direction:column;border:1px solid rgba(34,211,238,.38);border-radius:8px;background:#030a14e6;box-shadow:0 10px 24px #00000059;z-index:690;pointer-events:auto;overflow:hidden}.map-mace-debug-panel{right:12px;top:var(--map-overlay-top, 12px);border-color:var(--map-control-border-strong);background:var(--map-control-bg-strong);box-shadow:var(--map-control-shadow);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-sim-debug-panel{right:12px;top:calc(var(--map-overlay-top, 12px) + 76px);border-color:var(--map-control-border-strong);background:var(--map-control-bg-strong);box-shadow:var(--map-control-shadow);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mace-live-canvas-layer{z-index:448}.map-mace-debug-panel .map-tak-debug-header,.map-sim-debug-panel .map-tak-debug-header{border-bottom-color:var(--map-control-border)}.map-mace-debug-panel .map-tak-debug-title,.map-sim-debug-panel .map-tak-debug-title{color:var(--text)}.map-mace-debug-panel .map-tak-debug-toggle,.map-sim-debug-panel .map-tak-debug-toggle{border-color:var(--map-control-border);background:color-mix(in srgb,var(--control-bg) 88%,transparent);color:var(--text)}.map-mace-debug-panel .map-tak-debug-toggle:hover,.map-sim-debug-panel .map-tak-debug-toggle:hover{border-color:var(--map-control-border-strong);background:var(--map-control-bg-strong);color:var(--accent-strong)}.map-mace-debug-panel .map-tak-debug-body,.map-sim-debug-panel .map-tak-debug-body{color:color-mix(in srgb,var(--text) 86%,var(--muted) 14%)}.map-mace-debug-panel .map-tak-debug-resize-handle:before{border-left-color:var(--map-control-border-strong);border-bottom-color:var(--map-control-border-strong)}.map-sim-debug-panel .map-tak-debug-resize-handle:before{border-left-color:var(--map-control-border-strong);border-bottom-color:var(--map-control-border-strong)}.map-tak-debug-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 4px 10px;border-bottom:1px solid rgba(34,211,238,.18)}.map-tak-debug-title{color:#67e8f9;font:600 10px/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.14em}.map-tak-debug-toggle{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(34,211,238,.35);border-radius:4px;background:#0f172ae6;color:#a5f3fc;font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer}.map-tak-debug-toggle:hover{background:#0891b238;color:#cffafe}.map-tak-debug-body{margin:0;padding:6px 10px 9px;color:#b6fbff;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow:auto;flex:1 1 auto;min-height:0}.map-tak-debug-resize-handle{position:absolute;left:0;bottom:0;width:16px;height:16px;cursor:nesw-resize;z-index:1}.map-tak-debug-resize-handle:before{content:"";position:absolute;left:3px;bottom:3px;width:9px;height:9px;border-left:1px solid rgba(34,211,238,.55);border-bottom:1px solid rgba(34,211,238,.55);opacity:.8}.map-tak-debug-panel.is-collapsed{width:30px;height:30px;max-height:30px;min-width:30px;min-height:30px}.map-tak-debug-panel.is-collapsed .map-tak-debug-header{width:100%;height:100%;padding:0;border-bottom:none;justify-content:center;align-items:center;gap:0}.map-tak-debug-panel.is-collapsed .map-tak-debug-toggle{width:100%;height:100%;border:none;border-radius:0}.map-tak-debug-panel.is-collapsed .map-tak-debug-title,.map-tak-debug-panel.is-collapsed .map-tak-debug-body,.map-tak-debug-panel.is-collapsed .map-tak-debug-resize-handle{display:none}.map-mace-debug-panel.is-collapsed{width:78px;min-width:78px}.map-sim-debug-panel.is-collapsed{width:70px;min-width:70px}.map-mace-debug-panel.is-collapsed .map-tak-debug-header,.map-sim-debug-panel.is-collapsed .map-tak-debug-header{justify-content:space-between;gap:6px;padding:0 4px 0 8px}.map-mace-debug-panel.is-collapsed .map-tak-debug-title,.map-sim-debug-panel.is-collapsed .map-tak-debug-title{display:block;color:var(--text);font-size:9px;letter-spacing:.12em}.map-mace-debug-panel.is-collapsed .map-tak-debug-toggle,.map-sim-debug-panel.is-collapsed .map-tak-debug-toggle{width:22px;height:22px;border:1px solid rgba(56,189,248,.38);border-radius:4px}body.map-tak-debug-resizing{cursor:nesw-resize;-webkit-user-select:none;user-select:none}.map-geo-search-wrap{position:absolute;top:var(--map-overlay-top);left:calc(var(--map-overlay-left) + var(--map-view-toggle-w) + var(--map-overlay-gap));z-index:650;width:var(--map-geo-search-w)}.map-geo-search-shell{display:flex;align-items:center;flex-direction:row;gap:7px;padding:0 12px;height:var(--map-overlay-control-h);background:var(--map-control-bg);border:1px solid var(--map-control-border);border-radius:6px;box-shadow:var(--map-control-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:text;box-sizing:border-box;width:100%}.map-geo-search-shell:focus-within{border-color:var(--map-control-border-strong);box-shadow:var(--map-control-shadow)}.map-geo-search-shell input:focus{outline:none;box-shadow:none}.map-geo-search-icon{display:flex;align-items:center;flex-shrink:0;color:#a9bcd7bf;line-height:1}.map-geo-search-shell input{flex:1 1 0;min-width:0;border:none;background:transparent;color:var(--text);font-size:.78rem;height:100%;padding:0;margin:0;outline:none;box-shadow:none}.map-geo-search-shell input::placeholder{color:#96a5bba6}.map-geo-search-clear{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;padding:0;border:none;background:none;color:#a9bcd799;cursor:pointer;font-size:11px;line-height:1}.map-geo-search-clear:hover{color:var(--text)}.map-geo-search-clear.hidden{display:none}.map-geo-search-wrap .map-search-geocoder-results{top:calc(100% + 4px);border-radius:6px}.center-grid-crosshair{position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);pointer-events:none;z-index:640}.placement-crosshair-active{width:42px;height:42px}.center-grid-crosshair-line{position:absolute;left:50%;top:50%;background:#ff3b30;box-shadow:0 0 0 1px #0000002e}.placement-crosshair-active .center-grid-crosshair-line{background:var(--accent-info);box-shadow:0 0 0 1px #070f1a52,0 0 10px rgba(var(--accent-info-rgb),.45)}.center-grid-crosshair-line-horizontal{width:34px;height:1px;transform:translate(-50%,-50%)}.center-grid-crosshair-line-vertical{width:1px;height:34px;transform:translate(-50%,-50%)}.placement-crosshair-active .center-grid-crosshair-line-horizontal{width:42px}.placement-crosshair-active .center-grid-crosshair-line-vertical{height:42px}.cesium-compass{position:absolute;top:calc(var(--map-overlay-top) + var(--map-overlay-control-h) + 8px);left:var(--map-overlay-left);right:auto;z-index:650;width:36px;height:36px;padding:0;border:1px solid rgba(148,163,184,.34);background:color-mix(in srgb,var(--bg-overlay) 84%,transparent);box-shadow:0 10px 24px #0003;border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.cesium-compass.hidden{display:none}.cesium-compass-rose{position:relative;display:block;width:100%;height:100%;transition:transform .12s ease-out}.cesium-compass-ring{position:absolute;inset:5px;border:1px solid var(--border-compass);border-radius:999px}.cesium-compass-arrow{position:absolute;left:50%;top:5px;width:0;height:0;margin-left:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:12px solid var(--accent-arrow);filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}.cesium-compass-north{position:absolute;left:50%;bottom:3px;transform:translate(-50%);font-size:.46rem;letter-spacing:.08em;color:var(--text)}.cesium-inclinometer{position:absolute;top:calc(var(--map-overlay-top) + var(--map-overlay-control-h) + 8px);left:calc(var(--map-overlay-left) + 44px);z-index:650;width:158px;min-height:48px;display:grid;gap:5px;padding:7px 9px;border:1px solid rgba(148,163,184,.28);border-radius:6px;background:color-mix(in srgb,var(--bg-overlay) 78%,transparent);box-shadow:0 10px 24px #0000002e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.cesium-inclinometer.hidden{display:none}.cesium-camera-slider-row{display:grid;grid-template-columns:32px minmax(0,1fr) 28px;align-items:center;gap:7px;min-width:0;color:var(--text-muted);font-size:.56rem;letter-spacing:.08em;line-height:1;text-transform:uppercase;-webkit-user-select:none;user-select:none}.cesium-camera-slider-row strong{color:var(--text);font-size:.62rem;line-height:1;font-variant-numeric:tabular-nums}.cesium-camera-slider{width:100%;height:12px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;cursor:ew-resize}.cesium-camera-slider::-webkit-slider-runnable-track{height:1px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 48%,transparent)}.cesium-camera-slider::-moz-range-track{height:1px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 48%,transparent)}.cesium-camera-slider::-webkit-slider-thumb{width:7px;height:7px;margin-top:-3px;-webkit-appearance:none;appearance:none;border:1px solid rgba(var(--accent-rgb),.8);border-radius:999px;background:var(--accent-arrow);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.14)}.cesium-camera-slider::-moz-range-thumb{width:7px;height:7px;border:1px solid rgba(var(--accent-rgb),.8);border-radius:999px;background:var(--accent-arrow);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.14)}.icon-button,.primary-button,.ghost-button{border:1px solid var(--control-border);background:var(--control-bg);color:var(--control-text);cursor:pointer;padding:8px 12px;transition:border-color .15s ease,background .15s ease}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.primary-button{background:var(--bg-primary);border-color:var(--bg-primary);color:var(--text-primary)}.ghost-button{background:var(--bg-ghost)}.hidden{display:none!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}.tabular-number{font-variant-numeric:tabular-nums}.hidden-form-fields{display:none!important}.icon-button:hover,.primary-button:hover,.ghost-button:hover{border-color:var(--control-border-hover)}.small{padding:6px 9px;font-size:.82rem}.card{margin-bottom:12px;padding:13px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow)}h1,h2,p{margin:0}h2{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.section-title-row,.list-header{justify-content:space-between}.export-dropdown-wrapper{position:relative;overflow:visible}.export-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:var(--shadow);z-index:2000;min-width:130px;display:flex;flex-direction:column}.export-dropdown-item{background:none;border:none;color:var(--text);padding:7px 12px;text-align:left;font-size:.82rem;cursor:pointer;transition:background .12s ease}.export-dropdown-item:hover{background:var(--bg-hover)}.export-dropdown-section-label{padding:5px 12px 3px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#96a5bb8c;pointer-events:none}.export-dropdown-divider{height:1px;background:var(--border);margin:3px 0}.draw-dropdown-wrapper{position:relative;overflow:visible}.shape-style-modal-backdrop{position:fixed;inset:0;z-index:1450;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:16px}.shape-style-modal{display:flex;flex-direction:column;width:min(400px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:var(--shadow);overflow:hidden;position:relative}.shape-style-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-soft)}.shape-style-panel-title{font-size:.85rem;font-weight:700;color:var(--text);letter-spacing:.06em;text-transform:uppercase}.shape-style-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:18px}#shapeOnlyControls,#circleShapeControls,#pointStyleControls{display:flex;flex-direction:column;gap:14px}.shape-style-footer{padding:14px 18px;border-top:1px solid var(--border);background:var(--bg-soft);flex-shrink:0}.shape-param-label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--muted)}.shape-param-label>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.shape-param-label input[type=text],.shape-param-label input[type=number],.shape-param-label select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:6px 8px;font:inherit;font-size:.84rem;transition:border-color .15s;width:100%;box-sizing:border-box}.shape-param-label input[type=text]:focus,.shape-param-label input[type=number]:focus,.shape-param-label select:focus{border-color:var(--accent);outline:none}.shape-color-input{width:100%;height:36px;border:1px solid var(--border);background:none;cursor:pointer;padding:2px 4px;box-sizing:border-box}.shape-slider-field{display:flex;align-items:center;gap:10px}.shape-slider-field input[type=range]{flex:1;min-width:0}.shape-slider-value{font-size:.84rem;font-weight:600;color:var(--text);white-space:nowrap;min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.shape-section-divider{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px}.shape-style-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.84rem}.shape-style-actions-inline{justify-content:flex-start}.shape-field-group{display:flex;flex-direction:column;gap:6px}.shape-field-label{font-size:.72rem;color:var(--muted)}.point-icon-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.point-icon-btn{width:36px;height:36px;border:1.5px solid rgba(120,140,168,.28);border-radius:6px;background:#040a12b3;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .12s,background .12s}.point-icon-btn:hover{border-color:#8eb3ff80;background:#8eb3ff14}.point-icon-btn.active{border-color:#8eb3ffe6;background:#8eb3ff26}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;border-radius:0;outline:none;cursor:pointer;background:transparent;padding:0;margin:0}input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--range-pct, 50%),var(--border-strong) var(--range-pct, 50%),var(--border-strong) 100%);transition:background .05s}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-strong);border:2px solid var(--bg-base, #111);box-shadow:0 0 0 1.5px var(--accent);cursor:pointer;margin-top:-5.5px;transition:transform .1s,box-shadow .1s}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 4px #8fb7ff38}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #8fb7ff59}input[type=range]:focus-visible{outline:none}input[type=range]::-moz-range-track{height:5px;border-radius:999px;background:var(--border-strong)}input[type=range]::-moz-range-progress{height:5px;border-radius:999px 0 0 999px;background:var(--accent)}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent-strong);border:2px solid var(--bg-base, #111);box-shadow:0 0 0 1.5px var(--accent);cursor:pointer}input[type=range]:hover::-moz-range-thumb{box-shadow:0 0 0 4px #8fb7ff38}.coverage-opacity-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,rgba(154,188,255,.9) 0%,rgba(154,188,255,.9) var(--range-pct, 50%),rgba(88,94,106,.65) var(--range-pct, 50%),rgba(88,94,106,.65) 100%)}.coverage-opacity-slider::-webkit-slider-thumb{background:#bfd3ff;box-shadow:0 0 0 1px #bfd3ffcc,0 0 0 4px #bfd3ff40}.coverage-opacity-slider::-moz-range-progress{background:#9abcffe6}.coverage-opacity-slider::-moz-range-track{background:#585e6aa6}.coverage-opacity-slider::-moz-range-thumb{background:#bfd3ff;box-shadow:0 0 0 1px #bfd3ffcc,0 0 0 4px #bfd3ff40}.shape-style-row select{min-width:96px;max-width:120px}.shape-style-hint{font-size:11px;opacity:.55;margin-top:2px}.shape-style-actions{padding:14px 18px;border-top:1px solid var(--border);background:var(--bg-soft)}#circleRelocateBtn{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent);color:var(--accent)}#circleRelocateBtn:hover{background:color-mix(in srgb,var(--accent) 25%,transparent);border-color:var(--accent-strong);color:var(--accent-strong)}.leaflet-tile-pane{transform:translateZ(0);will-change:transform}.leaflet-drawing-active,.leaflet-measuring-active,.map-lasso-active,.map-lasso-active .leaflet-container,.map-lasso-active .leaflet-pane,.map-lasso-active .leaflet-tile-pane,.map-lasso-active .leaflet-overlay-pane,.map-lasso-active .leaflet-marker-pane,.map-lasso-active .leaflet-interactive,.map-lasso-active *,.leaflet-drawing-active .leaflet-container,.leaflet-drawing-active .leaflet-pane,.leaflet-drawing-active .leaflet-tile-pane,.leaflet-drawing-active .leaflet-overlay-pane,.leaflet-drawing-active .leaflet-marker-pane,.leaflet-drawing-active .leaflet-interactive,.leaflet-drawing-active *,.leaflet-measuring-active .leaflet-container,.leaflet-measuring-active .leaflet-pane,.leaflet-measuring-active .leaflet-tile-pane,.leaflet-measuring-active .leaflet-overlay-pane,.leaflet-measuring-active .leaflet-marker-pane,.leaflet-measuring-active .leaflet-interactive,.leaflet-measuring-active *{cursor:crosshair!important}#map.asset-placement-active,#map.asset-placement-active *,#cesiumContainer.asset-placement-active,#cesiumContainer.asset-placement-active *,.asset-placement-active,.asset-placement-active .leaflet-interactive,.asset-placement-active canvas,.leaflet-container.asset-placement-active,.leaflet-container.asset-placement-active *{cursor:crosshair!important}.map-stage.asset-placement-active:after{content:"PLACEMENT ACTIVE";position:absolute;top:14px;right:18px;z-index:650;padding:6px 10px;border:1px solid rgba(125,211,252,.38);background:#070f1ae0;color:#bfe9ff;font-size:11px;letter-spacing:.16em;text-transform:uppercase;pointer-events:none}.drawn-shape-editing{animation:drawn-shape-pulse 1.4s ease-in-out infinite}@keyframes drawn-shape-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.6)}}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.span-2{grid-column:span 2}label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:.82rem}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.inline-link{color:var(--accent-strong);text-decoration:none;font-size:.76rem}.inline-link:hover{text-decoration:underline}input,select{width:100%;padding:9px 10px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--control-text);-webkit-appearance:none;appearance:none;color-scheme:inherit}input[type=color]{min-height:40px;padding:4px}input:focus,select:focus,button:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.terrain-summary,.weather-summary,.fine-print,.compact-note{margin-top:10px;color:var(--muted);font-size:.84rem;line-height:1.45}.terrain-folder-link{display:grid;gap:7px;margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card-alt)}.terrain-folder-link-actions{display:flex;flex-wrap:wrap;gap:8px}.terrain-folder-status{color:var(--muted);font-size:.8rem;line-height:1.4}.terrain-folder-link[data-state=ready]{border-color:rgba(var(--accent-success-rgb),.42)}.terrain-folder-link[data-state=ready] .terrain-folder-status{color:var(--accent-success)}.terrain-folder-link[data-state=needs-permission],.terrain-folder-link[data-state=unsupported],.terrain-folder-link[data-state=error]{border-color:rgba(var(--accent-warning-rgb),.42)}.terrain-folder-link[data-state=needs-permission] .terrain-folder-status,.terrain-folder-link[data-state=unsupported] .terrain-folder-status,.terrain-folder-link[data-state=error] .terrain-folder-status{color:var(--accent-warning)}.list-shell{margin-top:12px}.asset-list{display:grid;gap:9px;margin-top:10px}.asset-item{padding:4px 8px;background:var(--bg-card-alt);border-bottom:1px solid var(--border);border-left:none;border-right:none;border-top:none;min-height:30px;display:flex;align-items:center}.asset-item:first-child{border-top:1px solid var(--border)}.map-contents-list>.asset-item,.map-contents-list>div>.asset-item{margin:0;border-left:none;border-right:none;border-radius:0;align-self:flex-start;width:100%;box-sizing:border-box}.map-content-item{display:grid;gap:2px;cursor:pointer;width:100%}.map-content-item.is-dragging{opacity:.5}.map-content-item.is-drop-target{border-color:var(--accent);box-shadow:inset 0 0 0 1px #8fb7ff59}.map-content-item.search-match .map-content-copy strong{color:#d9e4ff}.map-content-item.search-match{background:linear-gradient(90deg,#3b82f61f,#3b82f600)}.asset-item.map-content-item.mc-selected,.map-contents-list>.asset-item.mc-selected,.map-contents-list>div>.asset-item.mc-selected{background:#3b82f62e;border-left:2px solid rgba(59,130,246,.85);padding-left:6px}.mc-select-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--bg-card-alt);border-top:1px solid var(--border);flex-shrink:0}.mc-select-toolbar span{font-size:.72rem;color:var(--muted)}.mc-select-delete-btn{display:flex;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;background:rgba(var(--accent-danger-rgb),.15);border:1px solid rgba(var(--accent-danger-rgb),.4);color:var(--accent-danger);border-radius:3px;cursor:pointer}.mc-select-delete-btn:hover{background:rgba(var(--accent-danger-rgb),.28)}.mc-select-delete-btn:disabled{opacity:.4;cursor:default}#mcSelectBtn[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 8%,var(--map-panel-control-bg, var(--control-bg)) 92%);border-color:color-mix(in srgb,var(--accent) 34%,var(--map-panel-border, var(--control-border)) 66%);color:var(--accent);box-shadow:none}.map-content-row{display:flex;align-items:flex-start;gap:10px}.map-content-grip{color:var(--muted);font-size:.92rem;letter-spacing:.08em;-webkit-user-select:none;user-select:none}.map-content-copy{display:grid;gap:4px;min-width:0;flex:1}.map-content-copy strong,.map-content-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-content-copy span{color:var(--muted);font-size:.78rem}.map-content-type-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:27px;height:27px;color:var(--muted);margin-top:1px;overflow:hidden}.map-content-type-icon--unit{color:inherit}.map-content-unit-symbol{display:grid;place-items:center;width:27px;height:27px;overflow:hidden;pointer-events:none}.map-content-unit-symbol .milstd-stack,.map-content-unit-symbol .ms2525-icon{width:21px;height:27px;margin:0;transform:none;transform-origin:center center}.map-content-unit-symbol .milstd-fallback-text{font-size:3.1px;letter-spacing:0}.map-content-collapse-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;background:none;border:none;padding:0;cursor:pointer;color:var(--muted);margin-top:2px}.map-content-collapse-btn:hover{color:var(--fg)}.map-content-folder-children{display:grid;gap:4px;margin-top:4px;margin-left:18px}.map-content-folder-children.is-empty-drop-zone{min-height:14px}.map-content-folder-children.is-drop-target{outline:1px dashed rgba(143,183,255,.5);outline-offset:2px;background:#3b82f614}.map-contents-menu{position:fixed;z-index:1200;display:grid;gap:6px;min-width:132px;padding:8px;background:var(--bg-menu);border:1px solid var(--border);box-shadow:var(--shadow)}.map-contents-menu .ghost-button{width:100%;text-align:left}.map-contents-menu .ghost-button[data-map-content-action=delete]{border-color:rgba(var(--accent-danger-rgb),.32);color:var(--accent-danger)}.map-contents-menu .ghost-button[data-map-content-action=delete]:hover,.map-contents-menu .ghost-button[data-map-content-action=delete]:focus-visible{border-color:rgba(var(--accent-danger-rgb),.56);background:rgba(var(--accent-danger-rgb),.12)}.mc-select-dropdown{position:fixed;z-index:1400;display:grid;gap:2px;min-width:148px;padding:5px;background:var(--bg-menu);border:1px solid var(--border);box-shadow:var(--shadow)}.mc-select-dropdown-item{width:100%;background:transparent;border:1px solid transparent;color:var(--text);padding:7px 10px;text-align:left;font:inherit;font-size:.78rem;letter-spacing:.03em;cursor:pointer}.mc-select-dropdown-item:hover,.mc-select-dropdown-item:focus-visible{background:var(--bg-hover);border-color:var(--border);outline:none}.asset-item header{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.asset-meta,.terrain-bounds{display:flex;flex-wrap:wrap;gap:6px 10px;color:var(--muted);font-size:.8rem}.terrain-item{display:grid;gap:10px}.terrain-tile-list .terrain-item{align-items:stretch;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card-alt)}.terrain-item.is-active{border-color:var(--accent)}.terrain-tile-list .terrain-item.is-disabled{opacity:.58}.terrain-status-pill{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.terrain-actions{display:flex;flex-wrap:wrap;gap:8px}.force-pill{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.force-dot,.legend-swatch{width:10px;height:10px}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.metrics-grid>div{padding:10px;background:var(--bg-card-alt);border:1px solid var(--border)}.metric-label{display:block;margin-bottom:6px;font-size:.7rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.map-overlay{position:absolute;z-index:600;pointer-events:none}.top-right{top:14px;right:14px}.bottom-center{left:0;right:0;bottom:8px;display:flex;flex-direction:column;align-items:center;gap:6px}.bottom-center-row{display:flex;flex-direction:row;align-items:flex-end;gap:8px}.operation-timeline{position:relative;display:grid;grid-template-columns:30px minmax(216px,1fr);align-items:center;gap:10px;width:min(1180px,98vw);padding:7px 10px;margin-bottom:4px;pointer-events:auto;color:var(--text);background:color-mix(in srgb,var(--bg-overlay-solid) 92%,transparent 8%);border:1px solid var(--map-control-border, var(--border));border-radius:8px;box-shadow:var(--map-control-shadow, var(--shadow))}.operation-timeline.hidden{display:none}.operation-timeline-play{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--map-control-border, var(--border));border-radius:7px;background:color-mix(in srgb,var(--bg-card-alt) 92%,var(--bg-overlay-solid) 8%);color:color-mix(in srgb,var(--text) 88%,var(--muted) 12%);box-shadow:inset 0 0 0 1px #ffffff06;cursor:pointer}.operation-timeline-play:hover,.operation-timeline-play:focus-visible{border-color:var(--map-control-border-strong, var(--border-strong));background:color-mix(in srgb,var(--bg-card-alt) 86%,var(--bg-panel) 14%)}.operation-timeline-play svg{width:14px;height:14px}.operation-timeline-play.is-playing svg{opacity:.75}.operation-timeline-speed-menu{position:absolute;left:10px;bottom:calc(100% + 8px);z-index:740;display:grid;min-width:116px;padding:5px;gap:3px;background:var(--map-control-bg-strong, color-mix(in srgb, var(--bg-overlay-solid) 96%, transparent 4%));border:1px solid var(--map-control-border, var(--border));border-radius:7px;box-shadow:var(--map-control-shadow, var(--shadow))}.operation-timeline-speed-menu.hidden{display:none}.operation-timeline-speed-menu button{display:flex;align-items:center;justify-content:space-between;min-height:26px;padding:4px 8px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font:inherit;font-size:.74rem;font-weight:800;text-align:left;cursor:pointer}.operation-timeline-speed-menu button:hover,.operation-timeline-speed-menu button:focus-visible{border-color:rgba(var(--accent-info-rgb),.34);color:var(--text);background:color-mix(in srgb,var(--accent-info) 12%,transparent)}.operation-timeline-speed-menu button.is-active{color:var(--accent-strong);background:color-mix(in srgb,var(--accent-info) 18%,var(--bg-card-alt) 82%)}.operation-timeline-speed-menu button.is-active:after{content:"x";color:var(--accent-info);font-size:.76rem}.operation-timeline-main{display:grid;grid-template-rows:14px 18px;gap:3px;min-width:0}.operation-timeline-phases{display:flex;height:14px;min-width:0;overflow:hidden}.operation-timeline-phase{position:relative;height:14px;min-width:0;flex:0 0 var(--phase-flex-basis, calc(100% / var(--phase-count, 1)));width:var(--phase-flex-basis, auto);padding:0;margin:0;background:transparent;border:0;border-left:1px solid var(--phase-color, var(--accent));border-radius:0;color:var(--muted);font-family:inherit;font-size:.57rem;font-weight:700;letter-spacing:.06em;line-height:14px;text-align:left;white-space:nowrap;box-sizing:border-box;cursor:pointer;transition:color .12s,background .12s}.operation-timeline-phase:hover{color:var(--text);background:color-mix(in srgb,var(--phase-color, var(--accent)) 12%,transparent)}.operation-timeline-phase:focus-visible{outline:1px solid var(--phase-color, var(--accent));outline-offset:1px}.operation-timeline-phase span{display:inline-block;max-width:calc(100% - 8px);margin-left:4px;padding:0 4px;border-radius:4px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.operation-timeline-phase.is-active{color:var(--text);text-shadow:0 0 8px color-mix(in srgb,var(--phase-color, var(--accent)) 62%,transparent)}.operation-timeline-phase.is-active:before{content:"";position:absolute;left:-2px;top:-2px;bottom:-2px;width:3px;border-radius:999px;background:var(--phase-color, var(--accent));box-shadow:0 0 8px color-mix(in srgb,var(--phase-color, var(--accent)) 72%,transparent),0 0 18px color-mix(in srgb,var(--phase-color, var(--accent)) 34%,transparent)}.operation-timeline-phase.is-active span{background:color-mix(in srgb,var(--phase-color, var(--accent)) 14%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--phase-color, var(--accent)) 18%,transparent)}.operation-timeline-slider{width:100%;min-width:0;margin:0}.route-move-overlay{display:flex;flex-direction:column;gap:6px;padding:6px 12px;margin-bottom:8px;background:var(--bg-overlay-solid, #1e2128);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);pointer-events:auto;font-size:.78rem;color:var(--text);width:min(990px,88vw);max-width:990px}.route-move-overlay.hidden{display:none}.route-move-main-row{display:flex;align-items:center;gap:12px}.route-move-prop-panel{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding-top:5px;border-top:1px solid var(--border)}.route-move-prop-panel.hidden{display:none}.route-move-prop-field{display:inline-flex;flex-direction:row;align-items:center;gap:5px;white-space:nowrap;font-size:inherit}.route-move-prop-field>span:first-child{color:var(--muted)}.route-move-prop-field select,.route-move-prop-field input[type=number]{background:var(--bg-input, #14171d);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:2px 5px;font:inherit}.route-move-prop-field input[type=number]{width:3.6rem;text-align:right}.route-move-prop-status{display:inline-flex;align-items:center;gap:7px;color:var(--muted);white-space:nowrap}.route-move-prop-status.hidden{display:none}.route-move-prop-status-text{color:var(--text)}.route-move-prop-spinner{width:13px;height:13px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:route-move-spin .7s linear infinite;flex:0 0 auto}@keyframes route-move-spin{to{transform:rotate(360deg)}}.route-move-prop-unit{color:var(--muted)}.route-move-prop-emitters{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.route-move-prop-emitters-label{color:var(--muted)}.route-move-prop-emitter-list{display:inline-flex;align-items:center;gap:6px 12px;flex-wrap:wrap}.route-move-prop-emitter-list label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.route-move-prop-emitter-list input[type=checkbox]{-webkit-appearance:none;appearance:none;position:relative;width:14px;height:14px;border:1px solid var(--border);border-radius:3px;background:var(--bg-input, #14171d);cursor:pointer}.route-move-prop-emitter-list input[type=checkbox]:checked{border-color:var(--accent)}.route-move-prop-emitter-list input[type=checkbox]:checked:after{content:"X";position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:800;line-height:1;color:var(--accent)}.route-move-prop-emitter-empty{color:var(--muted);font-style:italic}.route-move-title{font-weight:700;white-space:nowrap;flex:0 0 auto}.route-move-slider{flex:1 1 auto;min-width:360px;accent-color:var(--accent)}.route-move-value{flex:0 0 auto;min-width:3.2rem;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.route-move-prop-group{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex:0 0 auto}.route-move-prop-check{-webkit-appearance:none;appearance:none;position:relative;width:16px;height:16px;border:1px solid var(--border);border-radius:3px;background:var(--bg-input, #14171d);cursor:pointer;flex:0 0 auto}.route-move-prop-check:after{content:"";position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:800;line-height:1;color:var(--accent)}.route-move-prop-check:checked{border-color:var(--accent)}.route-move-prop-check:checked:after{content:"X"}.route-move-prop-label{background:transparent;border:none;padding:0;color:var(--text);font:inherit;cursor:pointer;text-decoration:underline dotted transparent}.route-move-prop-label:hover{text-decoration-color:var(--muted)}.route-move-exit-btn{flex:0 0 auto;margin-left:auto;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--muted);cursor:pointer}.route-move-exit-btn:hover{color:var(--text);border-color:var(--accent)}.overlay-card,.undo-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:var(--bg-overlay-solid, #1e2128);border:1px solid var(--border);box-shadow:var(--shadow);pointer-events:auto;font-size:.78rem;animation:undo-banner-in .15s ease}.undo-banner.hidden{display:none}@keyframes undo-banner-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.undo-banner-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.undo-banner-undo-btn{padding:2px 10px;font-size:.72rem;background:rgba(var(--accent-rgb),.18);border:1px solid rgba(var(--accent-rgb),.45);color:var(--accent);border-radius:3px;cursor:pointer}.undo-banner-undo-btn:hover{background:rgba(var(--accent-rgb),.32)}.undo-banner-dismiss-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;line-height:1;padding:2px 4px}.undo-banner-dismiss-btn:hover{color:var(--text)}.legend-card{display:grid;gap:4px;padding:8px 10px;background:var(--map-control-bg, var(--bg-overlay));border:1px solid var(--map-control-border, var(--border));box-shadow:var(--map-control-shadow, var(--shadow));pointer-events:auto}.view-metrics-card{display:grid;align-items:stretch;justify-content:stretch;width:min(580px,92vw);min-width:220px;padding:4px 6px;color:var(--text);background:color-mix(in srgb,var(--bg-overlay-solid) 92%,transparent 8%);border:1px solid color-mix(in srgb,var(--border) 76%,var(--accent-info) 24%);border-radius:8px;box-shadow:var(--map-control-shadow, var(--shadow))}.overlay-metric-row{display:grid;grid-template-columns:minmax(138px,.9fr) minmax(176px,1.1fr) minmax(118px,.72fr);align-items:stretch;gap:4px;font-size:.72rem}.overlay-metric-block{position:relative;display:grid;align-content:center;gap:2px;min-width:0;min-height:0;padding:4px 7px;overflow:hidden;border:1px solid color-mix(in srgb,var(--map-control-border, var(--border)) 82%,transparent 18%);border-radius:4px;background:color-mix(in srgb,var(--bg-card-alt) 84%,var(--bg-overlay-solid) 16%);box-shadow:inset 0 0 0 1px #ffffff06}.overlay-metric-block:before{content:"";position:absolute;top:5px;bottom:5px;left:4px;width:2px;border-radius:999px;background:var(--metric-accent)}.overlay-metric-block.is-simulation-time:before{display:none;box-shadow:none}.overlay-metric-block.is-simulation-time span,.overlay-metric-block.is-simulation-time strong{color:var(--accent-warning)}.overlay-metric-block span{min-width:0;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-metric-block strong{font-family:Consolas,Lucida Console,monospace;font-size:.75rem;font-weight:700;color:var(--text);letter-spacing:.01em;line-height:1.1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-metric-value-transition{animation:overlayMetricValueFade .16s ease-out}@keyframes overlayMetricValueFade{0%{opacity:.35}to{opacity:1}}.legend-card{min-width:200px;max-width:min(360px,calc(100vw - 120px));width:max-content;box-sizing:border-box;gap:5px;padding:9px 10px 8px;overflow:hidden}.legend-card strong{font-size:.78rem;line-height:1}.terrain-heatmap-spectrum-bar{width:100%;max-width:100%;height:10px;border:1px solid var(--border);background:linear-gradient(90deg,#ff3b3b,#ff8c3d,#facc15,#34d399,#38bdf8,#8b5cf6)}.legend-row,.legend-scale{display:flex;align-items:center;gap:8px}.legend-scale{justify-content:space-between;color:var(--muted);font-size:.62rem;line-height:1}.terrain-heatmap-legend-scale span:first-child{color:#ff9494eb}.terrain-heatmap-legend-scale span:last-child{color:#bfa0fff5}.spectrum-bar{height:8px;border:1px solid var(--border);background:linear-gradient(90deg,#f43434,#f49a34,#f4e734,#44e133,#37b8e6,#674ee4)}.legend-swatch.blocked{background:linear-gradient(90deg,#ff59593d,#34d39938,#818cf83d)}.leaflet-container,.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-control-zoom a,.leaflet-bar a{background:var(--bg-leaflet);color:var(--text)}.leaflet-popup,.leaflet-popup-content,.leaflet-popup-content-wrapper,.leaflet-popup button{font-family:var(--app-font-family)}.map-terrain-popup,.map-terrain-popup .leaflet-popup-content,.map-terrain-popup .leaflet-popup-content-wrapper,.map-terrain-popup .leaflet-popup-close-button{font-family:var(--app-font-family)!important}.leaflet-control-zoom a,.leaflet-bar a{border-color:var(--border)}.leaflet-control-scale-line{border-color:var(--border);background:var(--bg-overlay);color:var(--text)}.leaflet-coordinate-grid{display:none;visibility:hidden;opacity:0;pointer-events:none}body.gridlines-enabled .leaflet-coordinate-grid{display:block;visibility:visible;opacity:1}body:not(.gridlines-enabled) .leaflet-coordinate-grid{display:none!important;visibility:hidden!important;opacity:0!important}.point-edit-popup{min-width:260px}.point-edit-popup-title{margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tactical-popup-actions{margin-top:10px;display:flex;flex-direction:column;gap:8px}.tactical-unit-action-menu{min-width:158px;display:flex;flex-direction:column;gap:7px}.tactical-unit-action-title{margin-bottom:2px;font-size:.9rem;font-weight:800;color:var(--text)}.tactical-popup-action-button{width:100%;display:flex;align-items:center;justify-content:flex-start;text-align:left}.tactical-popup-action-danger{color:#fca5a5}.tactical-popup-action-danger:hover{color:#fecaca;border-color:#f8717180}.tactical-popup-subtitle{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tactical-popup-emitter-list{display:flex;flex-direction:column;gap:6px}.tactical-popup-emitter-row{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.tactical-popup-emitter-name{font-weight:700}.tactical-popup-emitter-meta,.tactical-popup-detail{font-size:.78rem;color:var(--muted)}.tactical-popup-empty{padding:6px 0;color:var(--muted);font-size:.78rem}.tactical-rf-links-panel{width:248px}.tactical-rf-link-list{display:flex;flex-direction:column;gap:6px;max-height:238px;overflow:auto}.tactical-rf-link-bulk-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tactical-rf-link-bulk-btn{padding:6px 8px;border:1px solid var(--control-border);border-radius:2px;background:var(--control-bg);color:var(--control-text);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:center;transition:border-color .12s,background .12s}.tactical-rf-link-bulk-btn:hover:not(:disabled){border-color:#7dd3fc6b;background:var(--control-bg-hover)}.tactical-rf-link-bulk-btn:disabled{cursor:default;opacity:.38}.tactical-rf-link-row{width:100%;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;border:1px solid var(--control-border);border-radius:2px;background:var(--control-bg);color:var(--control-text);text-align:left;cursor:pointer}.tactical-rf-link-row:hover{border-color:#7dd3fc6b;background:var(--control-bg-hover)}.tactical-rf-link-check{width:16px;height:16px;display:grid;place-items:center;border:1px solid var(--control-border-hover);border-radius:2px;color:var(--accent-strong);font-size:.72rem;font-weight:900;line-height:1;text-transform:uppercase}.tactical-rf-link-row[aria-pressed=true] .tactical-rf-link-check{border-color:#60a5fac7;background:#2563eb3d}.tactical-rf-link-copy{min-width:0;display:grid;gap:2px}.tactical-rf-link-copy strong,.tactical-rf-link-copy em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tactical-rf-link-copy strong{color:var(--text);font-size:.78rem}.tactical-rf-link-copy em{color:var(--muted);font-size:.68rem;font-style:normal;font-weight:700}.tactical-rf-link-line{filter:drop-shadow(0 0 3px rgba(0,0,0,.48))}.tactical-rf-link-line.is-canvas-shadowed,.is-canvas-shadowed{opacity:0!important;pointer-events:none!important}.tactical-rf-link-canvas{position:absolute;inset:0;pointer-events:none}.leaflet-tooltip.tactical-rf-link-tooltip{display:grid;gap:0;width:320px;max-width:calc(100vw - 36px);padding:0;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-strong) 72%);border-radius:7px;background:color-mix(in srgb,var(--bg-elevated) 96%,transparent);box-shadow:0 14px 32px #00000057;color:var(--text);font-family:var(--app-font-family);font-size:.74rem;font-weight:700;line-height:1.22;letter-spacing:.01em;white-space:nowrap;overflow:hidden;overflow-wrap:normal;word-break:normal}.leaflet-tooltip.tactical-rf-link-tooltip.tactical-rf-link-tooltip--canvas{position:absolute;left:0;top:0;z-index:680;display:none;pointer-events:none}.leaflet-tooltip.tactical-rf-link-tooltip.tactical-rf-link-tooltip--canvas.is-visible{display:block}.leaflet-tooltip.tactical-rf-link-tooltip.tactical-rf-link-tooltip--canvas.is-stacked,.leaflet-tooltip.tactical-rf-link-tooltip.tactical-rf-link-tooltip-stacked{width:380px;pointer-events:auto}.tactical-rf-link-tooltip-card{display:grid;gap:7px;padding:10px 12px}.tactical-rf-link-tooltip-kicker{color:var(--accent);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.leaflet-tooltip.tactical-rf-link-tooltip strong{display:block;min-width:0;overflow:hidden;color:var(--text);font-size:.8rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.leaflet-tooltip.tactical-rf-link-tooltip strong span{color:var(--accent-strong)}.leaflet-tooltip.tactical-rf-link-tooltip dl{display:grid;gap:5px;margin:0}.leaflet-tooltip.tactical-rf-link-tooltip dl div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:baseline}.leaflet-tooltip.tactical-rf-link-tooltip dt{color:var(--text-secondary);font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.leaflet-tooltip.tactical-rf-link-tooltip dd{min-width:0;margin:0;overflow:hidden;color:var(--text);font-size:.72rem;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.leaflet-tooltip.tactical-rf-link-tooltip dd span{display:inline-grid;place-items:center;min-width:24px;margin-left:5px;padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-strong);font-size:.64rem}.tactical-rf-link-tooltip-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.tactical-rf-link-stack-count{display:inline-grid;place-items:center;min-height:22px;padding:2px 8px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border) 68%);border-radius:999px;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent-strong);font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tactical-rf-link-stack-note{margin:-1px 0 1px;overflow:hidden;color:var(--text-secondary);font-size:.68rem;font-weight:700;line-height:1.28;text-overflow:ellipsis;white-space:normal}.tactical-rf-link-stack-list{display:grid;gap:5px;max-height:214px;overflow-x:hidden;overflow-y:auto;padding-right:2px;scrollbar-gutter:stable}.tactical-rf-link-stack-row{appearance:none;display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:42px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:6px;background:color-mix(in srgb,var(--bg-panel) 76%,transparent);color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.tactical-rf-link-single-quality{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:42px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:6px;background:color-mix(in srgb,var(--bg-panel) 76%,transparent)}.tactical-rf-link-jamming-banner{display:grid;gap:2px;margin:8px 0;padding:7px 9px;border:1px solid color-mix(in srgb,var(--jammer-accent) 72%,transparent);border-left:3px solid var(--jammer-accent);border-radius:8px;background:color-mix(in srgb,var(--jammer-accent) 12%,rgba(4,12,22,.92))}.tactical-rf-link-jamming-banner b{color:var(--jammer-accent);font-size:.68rem;letter-spacing:.08em}.tactical-rf-link-jamming-banner span{color:var(--muted);font-size:.66rem}.tactical-rf-link-stack-row:hover,.tactical-rf-link-stack-row:focus-visible{border-color:color-mix(in srgb,var(--accent-info) 46%,var(--border) 54%);background:color-mix(in srgb,var(--accent-info) 10%,var(--bg-panel) 90%);outline:none}.tactical-rf-link-stack-dot{width:7px;height:28px;border-radius:999px;background:#94a3b8}.tactical-rf-link-stack-dot.topo-link-excellent,.tactical-rf-link-stack-score.topo-link-excellent{background:#22c55e}.tactical-rf-link-stack-dot.topo-link-moderate,.tactical-rf-link-stack-dot.topo-link-good,.tactical-rf-link-stack-dot.topo-link-fair,.tactical-rf-link-stack-score.topo-link-moderate,.tactical-rf-link-stack-score.topo-link-good,.tactical-rf-link-stack-score.topo-link-fair{background:#f7b955}.tactical-rf-link-stack-dot.topo-link-poor,.tactical-rf-link-stack-score.topo-link-poor{background:#f97316}.tactical-rf-link-stack-dot.topo-link-none,.tactical-rf-link-stack-score.topo-link-none{background:#ef4444}.tactical-rf-link-stack-dot.topo-link-pending,.tactical-rf-link-stack-score.topo-link-pending{background:#60a5fa}.tactical-rf-link-stack-dot.topo-link-not-assessed,.tactical-rf-link-stack-dot.topo-link-unplaced,.tactical-rf-link-stack-score.topo-link-not-assessed,.tactical-rf-link-stack-score.topo-link-unplaced{background:#94a3b8}.tactical-rf-link-stack-copy{display:grid;gap:2px;min-width:0}.tactical-rf-link-stack-copy b,.tactical-rf-link-stack-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tactical-rf-link-stack-copy b{color:var(--text);font-size:.72rem;line-height:1.1}.tactical-rf-link-stack-copy span{color:var(--text-secondary);font-size:.66rem;font-weight:800}.tactical-rf-link-stack-score{display:inline-grid;place-items:center;min-width:28px;min-height:24px;padding:2px 7px;border-radius:999px;color:#081018;font-size:.68rem;font-weight:950}.leaflet-tooltip.tactical-rf-link-tooltip:before{border-color:transparent}.leaflet-tooltip-top.tactical-rf-link-tooltip:before{border-top-color:color-mix(in srgb,var(--bg-elevated) 94%,transparent)}.leaflet-tooltip-bottom.tactical-rf-link-tooltip:before{border-bottom-color:color-mix(in srgb,var(--bg-elevated) 94%,transparent)}.leaflet-tooltip-left.tactical-rf-link-tooltip:before{border-left-color:color-mix(in srgb,var(--bg-elevated) 94%,transparent)}.leaflet-tooltip-right.tactical-rf-link-tooltip:before{border-right-color:color-mix(in srgb,var(--bg-elevated) 94%,transparent)}.tactical-popup-button-row{display:flex;gap:8px;justify-content:flex-end}.point-edit-popup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.point-edit-popup-grid-compact{align-items:end}.point-edit-popup-row{display:flex;flex-direction:column;gap:5px;margin-top:8px}.point-edit-popup-row>span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.point-edit-popup-row input{min-height:34px;padding:7px 8px}.point-edit-popup-row input[type=color]{min-height:34px;padding:2px}.point-edit-popup-icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.point-popup-icon-btn{display:grid;place-items:center;min-height:34px;padding:4px;border:1px solid var(--border);background:#ffffff08}.point-popup-icon-btn.active{border-color:rgba(var(--accent-rgb),.76);background:#8fb7ff29;box-shadow:inset 0 0 0 1px #8fb7ff2e}.point-popup-icon-btn svg{display:block}.point-edit-popup-actions{display:flex;justify-content:space-between;gap:8px;margin-top:12px}.emitter-divicon-wrapper{background:none!important;border:none!important}.emitter-marker{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--marker-color, var(--accent-info));border-radius:999px;background:color-mix(in srgb,var(--bg-base) 86%,transparent);color:var(--marker-color, var(--accent-info));box-shadow:0 6px 16px #0206176b}.emitter-marker.radio{width:34px;height:34px;color:var(--marker-color, var(--accent-info));border-color:var(--marker-color, var(--accent-info));background:color-mix(in srgb,var(--bg-base) 86%,transparent);box-shadow:0 6px 16px #0206176b}.emitter-marker svg{width:14px;height:14px;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.emitter-marker.radio svg{width:18px;height:18px;filter:drop-shadow(0 1px 2px rgba(2,6,23,.58))}.emitter-marker.jammer{border-radius:4px;transform:rotate(45deg)}.emitter-marker.jammer svg{transform:rotate(-45deg)}.emitter-marker.tower{border-radius:6px}.emitter-marker.sensor svg{width:13px;height:13px}.leaflet-draw-toolbar a{background-color:var(--bg-leaflet)}.user-location-marker{width:16px;height:16px;border:2px solid var(--on-accent);background:var(--accent-success);box-shadow:0 0 0 6px rgba(var(--accent-success-rgb),.18)}.gps-manual-plot-mode,.gps-manual-plot-mode .leaflet-grab,.gps-manual-plot-mode .leaflet-interactive{cursor:crosshair!important}#plotManualLocationBtn.active{background:rgba(var(--accent-success-rgb),.15);border-color:var(--accent-success);color:var(--accent-success)}.recommendation-marker{width:14px;height:14px;border:2px solid var(--on-accent)}@media(max-width:1320px){.title-block{display:none}.top-bar-left{padding:0;gap:0}}@media(max-width:1220px){.status-strip{gap:0}.operation-mode-shell{min-width:118px;width:132px}.status-chip{min-width:100px}.status-message{min-width:180px}}@media(max-width:1024px){.workspace-shell{grid-template-columns:1fr}.map-tak-identity-btn{top:calc(var(--map-overlay-top) + var(--map-overlay-control-h) + 8px);left:calc(var(--map-overlay-left) + var(--map-view-toggle-w) + var(--map-overlay-gap) + var(--map-geo-search-w) + var(--map-overlay-gap))}.app-content{display:flex;flex-direction:column}.view-panel,.workspace-shell,.panel-divider-right,.ai-panel{grid-column:auto;grid-row:auto}.panel-divider,.panel-divider-right{display:none}.control-panel{max-height:44vh;border-right:none;border-bottom:1px solid var(--border);overflow-y:auto}.control-panel-top,.control-panel-bottom{overflow:visible;padding-right:0}.ai-panel{max-height:40vh;border-left:none;border-top:1px solid var(--border)}.map-stage{min-height:56vh}}@media(max-width:760px){.map-stage{--map-overlay-top: 10px;--map-overlay-left: 52px;--map-overlay-gap: 8px;--map-view-toggle-w: 92px;--map-geo-search-w: min(42vw, 320px);--map-offline-w: 0px;--map-measure-w: min(292px, 46vw)}.map-rf-links-hide-btn{top:var(--map-overlay-top);right:10px}.top-bar{flex-direction:column;align-items:stretch;height:auto}.app-shell{grid-template-rows:auto 1fr}.status-strip,.two-column,.metrics-grid{grid-template-columns:1fr;flex-wrap:wrap}.operation-mode-shell,.view-mode-shell{width:100%;min-width:0}.operation-timeline{grid-template-columns:28px minmax(0,1fr);width:100%}.top-bar-actions{justify-content:flex-end}.imagery-menu-button{min-width:0;width:100%}.imagery-menu{width:min(360px,calc(100vw - 28px))}.weather-menu,.terrain-menu,.gps-menu{width:min(380px,calc(100vw - 28px))}.settings-menu{width:min(300px,calc(100vw - 28px))}.settings-menu{left:0;right:auto}.span-2{grid-column:auto}.control-panel-section-divider{cursor:default;margin:2px 0}.top-right{left:10px;right:10px}.bottom-center{left:0;right:0}.bottom-center-row{flex-wrap:wrap;justify-content:center;width:100%}.legend-card,.view-metrics-card{min-width:0}.view-metrics-card{width:100%}.overlay-metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cesium-compass{top:calc(var(--map-overlay-top) + var(--map-overlay-control-h) + 8px);left:var(--map-overlay-left);right:auto}.cesium-inclinometer{top:calc(var(--map-overlay-top) + var(--map-overlay-control-h) + 8px);left:calc(var(--map-overlay-left) + 42px);width:140px}}.add-emitter-btn{position:relative;display:inline-flex;align-items:center;justify-content:center}.add-emitter-plus{position:absolute;bottom:2px;right:2px;font-size:.6rem;font-weight:900;line-height:1;color:var(--accent-strong);pointer-events:none}.emitter-modal-backdrop{position:fixed;inset:0;z-index:3000;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:16px}.emitter-modal{display:flex;flex-direction:column;width:min(1320px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:var(--shadow);overflow:hidden;position:relative}.emitter-config-modal{width:min(1760px,calc(100vw - 18px));height:min(960px,calc(100vh - 18px));max-height:calc(100vh - 18px);border-color:#94a3b852;background:var(--bg-card)}.emitter-modal select{max-width:100%}.emitter-modal .param-grid select,.emitter-modal .library-select{width:100%;box-sizing:border-box}.emitter-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-soft)}.simulation-modal{width:min(1480px,calc(100vw - 24px))}.simulation-modal-body{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);min-height:0;flex:1 1 auto;overflow:hidden}.simulation-modal-config,.simulation-modal-results{min-height:0;padding:14px 16px}.simulation-modal-config{display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--border);background:var(--bg-soft);overflow-y:auto}.simulation-modal-results{display:flex;flex-direction:column;gap:10px}.sim-section-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:4px;border-top:1px solid var(--border);margin-top:2px}.sim-section-label:first-of-type{border-top:none;margin-top:0;padding-top:0}.sim-hf-section{opacity:.45;pointer-events:none;transition:opacity .15s}.sim-hf-section.hf-active{opacity:1;pointer-events:auto}.sim-checkbox-label{display:flex;align-items:center;gap:7px;font-size:.78rem;cursor:pointer;padding:2px 0}.simulation-modal-results .list-shell{flex:1 1 0;min-height:0;overflow-y:auto;margin-top:0}.simulation-modal-results .asset-item.terrain-item{gap:5px;padding:7px 10px}.simulation-modal-results .asset-item.terrain-item header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.simulation-modal-results .asset-item.terrain-item header strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simulation-modal-results .asset-item.terrain-item header span{font-size:.7rem;color:var(--muted);white-space:nowrap}.simulation-modal-results .terrain-bounds{font-size:.72rem;gap:4px 8px}.simulation-modal-results .terrain-actions{gap:5px}.simulation-modal-results .terrain-actions .ghost-button.small{padding:2px 8px;font-size:.7rem}.simulation-asset-summary{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--border);background:var(--bg-card-alt)}.simulation-summary-eyebrow{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.simulation-config-grid{align-items:start}.simulation-modal-note{margin:0}.simulation-results-header{align-items:center;margin:0}.simulation-results-header h2{margin:0}.simulation-metrics-grid{margin-top:auto}.import-progress-modal{width:min(620px,calc(100vw - 32px))}.simulation-progress-dock{position:fixed;left:calc(var(--panel-width) + var(--divider-width) + 18px);right:calc(var(--ai-panel-width) + var(--ai-divider-width) + 18px);bottom:14px;z-index:980;display:flex;justify-content:center;pointer-events:none}.simulation-progress-panel{width:min(560px,100%);margin:0 auto;pointer-events:auto;border:1px solid rgba(125,211,252,.2);background:linear-gradient(180deg,#030a14f5,#050e18f0);box-shadow:0 18px 40px #0000005c,inset 0 0 0 1px #0f172a99}.simulation-progress-panel .emitter-modal-header{padding:12px 14px 10px}.simulation-progress-panel .emitter-modal-title-group{display:flex;align-items:baseline;gap:12px;min-width:0}.simulation-progress-panel .emitter-modal-title-group h2{margin:0;font-size:.94rem;letter-spacing:.11em;white-space:nowrap}.simulation-progress-panel .emitter-modal-title-group p{margin:0;min-width:0;font-size:.78rem;color:#bfd3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simulation-progress-panel .import-progress-body{gap:10px;padding:12px 14px 14px}.simulation-progress-panel .import-progress-copy{gap:10px}.simulation-progress-panel .import-progress-copy strong{font-size:.88rem}.simulation-progress-panel .rf-import-progress-shell{height:70px}.simulation-progress-panel .rf-import-progress-scale{font-size:.68rem}.simulation-progress-panel .simulation-progress-actions{justify-content:flex-end}@media(max-width:1200px){.simulation-progress-dock{left:16px;right:16px}}.import-progress-body{display:flex;flex-direction:column;gap:16px;padding:22px 20px 20px;background:radial-gradient(circle at top,rgba(56,189,248,.14),transparent 42%),linear-gradient(180deg,#030a14fa,#06121cf0)}.import-progress-copy{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.import-progress-copy strong{font-size:.96rem;color:var(--text)}.import-progress-copy span{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-info)}.rf-import-progress-shell{position:relative;height:148px;overflow:hidden;border:1px solid rgba(125,211,252,.22);background:linear-gradient(180deg,#070f1afa,#050b14f0),repeating-linear-gradient(180deg,rgba(8,145,178,.07) 0,rgba(8,145,178,.07) 2px,transparent 2px,transparent 12px);box-shadow:inset 0 0 0 1px #0f172ab3}.rf-import-progress-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(125,211,252,.08) 0,rgba(125,211,252,.08) 1px,transparent 1px,transparent 48px),repeating-linear-gradient(180deg,rgba(34,197,94,.08) 0,rgba(34,197,94,.08) 1px,transparent 1px,transparent 24px);opacity:.85;pointer-events:none}.rf-import-progress-bar{position:absolute;inset:0 auto 0 0;width:0%;min-width:0;overflow:hidden;background:linear-gradient(90deg,#0ea5e91f,#facc151f);transition:width .16s linear}.rf-import-progress-spectrum,.rf-import-progress-scanline{position:absolute;inset:0}.rf-import-progress-spectrum{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 18%,rgba(255,255,255,.03) 19%,transparent 20%),linear-gradient(180deg,#3b82f60a,#22c55e4d 34%,#facc1575 66%,#ef4444a3),linear-gradient(90deg,#22c55e3d,#38bdf86b 36%,#facc159e 72%,#f87171cc);filter:saturate(1.25)}.rf-import-progress-spectrum:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,#0000 0 8px,#0206171f 8px 12px);mix-blend-mode:screen}.rf-import-progress-scanline{background:linear-gradient(90deg,transparent,rgba(255,255,255,.16) 46%,rgba(255,255,255,.34) 50%,rgba(255,255,255,.16) 54%,transparent);transform:translate(-30%);animation:rf-import-scanline 1.2s linear infinite;mix-blend-mode:screen}.rf-import-progress-scale{display:flex;justify-content:space-between;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@keyframes rf-import-scanline{0%{transform:translate(-38%)}to{transform:translate(132%)}}.settings-modal{width:min(1400px,calc(100vw - 32px));height:calc(100vh - 32px);max-height:calc(100vh - 32px);background:var(--bg-elevated);border-color:var(--border)}.settings-modal .emitter-modal-header{background:var(--bg-elevated);border-bottom-color:var(--border)}.settings-modal-body{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden;padding:0;background:var(--bg)}.settings-tab-bar{display:flex;gap:0;padding:0 14px;border-bottom:1px solid var(--border);background:var(--bg-soft);overflow-x:auto;flex-shrink:0}.settings-tab-button{border:none;background:transparent;color:var(--muted);font:inherit;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:14px 16px 13px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.settings-tab-button:hover{color:var(--text);background:var(--bg-hover-soft)}.settings-tab-button.is-active{color:var(--text);background:var(--bg-elevated);border-bottom-color:var(--accent)}.settings-tab-panels{flex:1 1 auto;min-height:0;overflow:hidden}.settings-tab-panel{display:none;height:100%;width:100%;box-sizing:border-box;overflow-y:auto;padding:14px}.settings-tab-panel.is-active{display:flex;flex-direction:column;align-items:stretch;gap:12px}.settings-tab-panel[data-settings-panel=documentation]{overflow:hidden;padding:14px;box-sizing:border-box}.settings-tab-panel[data-settings-panel=views]{overflow:auto;padding:14px;box-sizing:border-box;background:var(--bg)}.emitter-modal-title-group{display:flex;align-items:center;gap:10px;color:var(--accent-strong)}.emitter-modal-title-group h2{font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin:0}.emitter-modal-body{display:grid;grid-template-columns:280px 1fr;min-height:0;flex:1 1 auto;overflow:hidden}.emitter-config-modal .emitter-modal-body{grid-template-columns:minmax(560px,.92fr) minmax(620px,1.08fr);flex:1 1 0;min-height:0}.emitter-modal-library{border-right:1px solid var(--border);overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg-soft)}.emitter-config-modal .emitter-modal-library{display:grid;grid-template-columns:minmax(250px,.94fr) minmax(290px,1.06fr);grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:10px;overflow:hidden;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-soft) 94%,var(--accent) 6%),var(--bg-soft))}.emitter-library-card{display:flex;min-height:0;flex-direction:column;gap:8px;padding:11px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-input) 58%,transparent);box-shadow:inset 0 1px #ffffff06}.emitter-library-preset-card{grid-column:1;grid-row:1}.emitter-saved-profiles.emitter-library-card{grid-column:2;grid-row:1 / span 2;padding-top:11px;border-top:1px solid var(--border)}.emitter-identity-card{grid-column:1;grid-row:2}.emitter-library-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.emitter-config-modal .emitter-library-header{gap:10px;margin-bottom:0}.emitter-library-header-tight{margin-bottom:0}.emitter-section-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.emitter-lib-label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted)}.emitter-lib-label select,.emitter-lib-label input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:5px 8px;font:inherit;font-size:.82rem}.emitter-lib-summary{font-size:.78rem;color:var(--muted);padding:6px 8px;background:var(--bg-card-alt);border:1px solid var(--border);line-height:1.3;min-height:0}.emitter-lib-summary strong{color:var(--text);display:block;margin-bottom:1px;line-height:1.25}.emitter-lib-summary em{color:var(--accent);font-style:normal;display:block;margin-bottom:2px;line-height:1.25}.emitter-lib-summary p,.emitter-lib-summary span{margin:0;line-height:1.25}.emitter-saved-profiles{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.emitter-saved-profiles input[type=search],.emitter-saved-profiles input[type=text],.emitter-saved-profiles select{width:100%;box-sizing:border-box}.emitter-saved-profiles select[size]{min-height:170px;padding-block:6px}.emitter-config-modal .emitter-saved-profiles select[size]{flex:1 1 0;min-height:128px;height:auto}.emitter-profile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.emitter-profile-actions .small{min-width:0}.emitter-profile-summary{min-height:54px;padding:8px 10px;border:1px solid var(--border);background:var(--bg-card-alt);color:var(--muted);font-size:.73rem;line-height:1.45}.emitter-field-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}.emitter-field-group label{display:flex;flex-direction:column;gap:3px;font-size:.78rem;color:var(--muted)}.emitter-field-group label span{font-size:.72rem}.emitter-field-group input,.emitter-field-group select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:5px 7px;font:inherit;font-size:.82rem}.emitter-config-modal .emitter-lib-label select,.emitter-config-modal .emitter-lib-label input,.emitter-config-modal .emitter-field-group input,.emitter-config-modal .emitter-field-group select{min-height:30px;padding:4px 8px}.emitter-config-modal .emitter-lib-summary{padding:8px 9px;min-height:62px}.emitter-config-modal .emitter-field-group{gap:7px 8px}.emitter-config-modal .emitter-field-group label:last-child{grid-column:1 / -1}.emitter-config-modal .color-picker-wrap{align-items:center}.emitter-config-modal #emColor{width:48px;height:32px;min-height:32px;padding:2px}.emitter-span-2{grid-column:span 2}.emitter-modal-params{display:flex;flex-direction:column;min-height:0;overflow:hidden}.emitter-config-modal .emitter-modal-params{min-width:0;background:var(--bg-elevated)}.emitter-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-soft);overflow-x:auto}.emitter-config-modal .emitter-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}.emitter-tab{flex-shrink:0;padding:10px 18px;font:inherit;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.emitter-config-modal .emitter-tab{min-width:0;padding:12px 4px;font-size:.7rem;letter-spacing:.055em;text-align:center;white-space:nowrap}.emitter-tab:hover{color:var(--text)}.emitter-tab.active{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}.emitter-tab[data-tab=prop],.emitter-tab-panel[data-panel=prop]{display:none!important}.emitter-tab-panel{display:none;overflow-y:auto;padding:18px 20px;flex:1 1 auto}.emitter-config-modal .emitter-tab-panel{flex:1 1 0;overflow-y:auto;padding:20px 24px}.emitter-tab-panel.active{display:block}.emitter-param-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px 18px}.emitter-config-modal .emitter-param-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;align-items:start}.emitter-param-section{display:grid;gap:14px;padding:16px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card-alt) 76%,transparent)}.emitter-param-section+.emitter-param-section{margin-top:16px}.emitter-param-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding-bottom:10px;border-bottom:1px solid var(--border)}.emitter-param-section-heading strong{color:var(--text);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.emitter-param-section-heading span{color:var(--muted);font-size:.7rem;text-align:right}.emitter-jamming-heading{align-items:center}.emitter-jammer-active-field{flex-direction:row!important;align-items:center;gap:8px!important;min-height:30px;padding:4px 12px;border:1px solid var(--control-border);background:var(--control-bg);color:var(--text)!important;cursor:pointer}.emitter-jammer-active-field span{color:var(--text);font-size:.76rem;font-weight:700;text-align:left}.emitter-jammer-active-field input{width:18px;min-height:18px!important;margin:0}.emitter-config-modal .emitter-param-grid.emitter-jamming-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.emitter-jamming-schedule{display:grid;gap:12px;margin-top:2px;padding-top:14px;border-top:1px solid var(--border)}.emitter-jamming-schedule-heading{padding-bottom:8px;border-bottom:0}.emitter-config-modal .emitter-jamming-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.emitter-jamming-schedule-help{margin:0;color:var(--muted);font-size:.7rem;line-height:1.45}.emitter-param-note{margin:0;padding:10px 12px;border:1px solid var(--border);background:var(--bg-card-alt);color:var(--muted);font-size:.72rem;line-height:1.45}.emitter-jamming-preview:empty{display:none}.jammer-preview{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1.6fr);gap:10px}@media(max-width:720px){.jammer-preview{grid-template-columns:1fr}}.jammer-preview-panel{display:flex;flex-direction:column;gap:8px;min-width:0;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card-alt)}.jammer-preview-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jammer-preview-panel-head span{color:var(--text);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.jammer-preview-panel-head small{color:var(--muted);font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jammer-preview-meter{position:relative;height:8px;border-radius:999px;background:color-mix(in srgb,var(--control-border) 60%,transparent);overflow:hidden}.jammer-preview-meter i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent-success) 70%,transparent),var(--accent-warning) 72%,var(--accent-danger));transition:width .2s ease}.jammer-preview-power-stats{display:flex;justify-content:space-between;gap:8px;margin-top:auto}.jammer-preview-power-stats span{display:flex;flex-direction:column;gap:1px;color:var(--muted);font-size:.56rem;letter-spacing:.03em;text-transform:uppercase}.jammer-preview-power-stats b{color:var(--text);font-size:.86rem;font-weight:800;font-variant-numeric:tabular-nums}.jammer-preview-chart{position:relative;height:58px;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-info) 5%,transparent),transparent 62%),var(--bg-input);overflow:hidden}.jammer-preview-baseline{position:absolute;left:0;right:0;bottom:8px;height:1px;background:color-mix(in srgb,var(--border) 90%,transparent)}.jammer-preview-center{position:absolute;top:6px;bottom:8px;width:1px;transform:translate(-.5px);background:color-mix(in srgb,var(--text-muted) 55%,transparent)}.jammer-preview-spike{position:absolute;bottom:8px;width:4px;top:12px;transform:translate(-2px);border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--accent-danger),color-mix(in srgb,var(--accent-danger) 30%,transparent));box-shadow:0 0 8px color-mix(in srgb,var(--accent-danger) 45%,transparent)}.jammer-preview-band{position:absolute;bottom:8px;top:16px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-warning) 62%,transparent),color-mix(in srgb,var(--accent-warning) 16%,transparent));border:1px solid color-mix(in srgb,var(--accent-warning) 55%,transparent);border-bottom:0}.jammer-preview-band.is-barrage{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-danger) 52%,transparent),color-mix(in srgb,var(--accent-danger) 14%,transparent));border-color:color-mix(in srgb,var(--accent-danger) 48%,transparent)}.jammer-preview-band.is-sweep{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-warning) 34%,transparent),color-mix(in srgb,var(--accent-warning) 8%,transparent));overflow:hidden}.jammer-preview-sweep-notch{position:absolute;top:-1px;bottom:-1px;left:0;border-radius:3px 3px 0 0;background:color-mix(in srgb,var(--accent-danger) 82%,transparent);box-shadow:0 0 9px color-mix(in srgb,var(--accent-danger) 55%,transparent);animation:jammer-preview-sweep 2.4s ease-in-out infinite alternate}@keyframes jammer-preview-sweep{0%{left:0;transform:translate(0)}to{left:100%;transform:translate(-100%)}}.jammer-preview-chart-scale{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:.54rem;font-variant-numeric:tabular-nums}.jammer-preview-chart-scale span:nth-child(2){color:var(--text-muted)}.jammer-preview-phasebar{position:relative;height:34px;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:var(--bg-input);overflow:hidden}.jammer-preview-phasebar.is-inactive{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--border) 40%,transparent) 0 6px,transparent 6px 12px)}.jammer-preview-phase-cell{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;border-right:1px solid color-mix(in srgb,var(--bg-card) 70%,transparent);overflow:hidden}.jammer-preview-phase-cell:last-child{border-right:0}.jammer-preview-phase-cell span{position:relative;z-index:1;color:var(--text);font-size:.56rem;font-weight:800;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.55)}.jammer-preview-phase-fill{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--phase-color, var(--accent-info)) 42%,transparent);border-left:2px solid var(--phase-color, var(--accent-info));border-right:2px solid var(--phase-color, var(--accent-info))}.jammer-preview-phase-fill.is-full{border:0;background:color-mix(in srgb,var(--accent-info) 30%,transparent)}@media(prefers-reduced-motion:reduce){.jammer-preview-sweep-notch{animation:none;left:50%}}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}}.emitter-param-grid label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted)}.emitter-param-grid label span{font-size:.72rem}.emitter-param-grid input,.emitter-param-grid select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:6px 8px;font:inherit;font-size:.84rem;transition:border-color .15s}.emitter-config-modal .emitter-param-grid input,.emitter-config-modal .emitter-param-grid select{min-height:34px}.emitter-param-grid input:focus,.emitter-param-grid select:focus{border-color:var(--accent);outline:none}.emitter-param-grid input[readonly]{color:var(--muted);background:var(--bg-card-alt);cursor:default}.emitter-derived{font-style:normal;font-size:.65rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-left:4px}.emitter-checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-size:.82rem!important;color:var(--text)!important;cursor:pointer}.emitter-checkbox-label input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;min-height:18px;border:2px solid var(--border, #444);border-radius:3px;background:transparent;flex-shrink:0;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.emitter-checkbox-label input[type=checkbox]:checked{border-color:var(--accent, #60a5fa);background:transparent}.emitter-checkbox-label input[type=checkbox]:checked:after{content:"✕";position:absolute;font-size:11px;font-weight:700;line-height:1;color:var(--accent, #60a5fa);top:50%;left:50%;transform:translate(-50%,-50%)}.emitter-checkbox-label input[type=checkbox]:hover{border-color:var(--accent, #60a5fa)}.emitter-subsection-label{grid-column:1 / -1;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:6px;border-top:1px solid var(--border);margin-top:4px}.emitter-location-help{font-size:.76rem;line-height:1.5;color:var(--muted);padding:10px 12px;border:1px solid var(--border);background:var(--bg-card-alt)}.emitter-config-modal .emitter-tab-panel[data-panel=loc] .emitter-span-2{grid-column:1 / -1}.emitter-link-budget{padding:4px 0}.emitter-config-modal .emitter-link-budget{max-width:760px}.emitter-lb-note{font-size:.76rem;color:var(--muted);margin-bottom:14px}.emitter-lb-table{width:100%;border-collapse:collapse;font-size:.84rem}.emitter-lb-table td{padding:6px 8px;border-bottom:1px solid var(--border)}.emitter-lb-table td:first-child{color:var(--muted);width:55%}.emitter-lb-table td:last-child{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.emitter-lb-key{color:var(--accent-strong)}.emitter-lb-divider td{padding:3px 0;border:none}.emitter-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border);background:var(--bg-soft);flex-shrink:0;gap:12px}.emitter-config-modal .emitter-modal-footer{min-height:64px;padding:12px 22px;margin-top:auto}.emitter-validation{font-size:.76rem;color:var(--host-nation);flex:1;min-width:0}.emitter-footer-actions{display:flex;gap:10px;flex-shrink:0}.tactical-editor-relocate-btn{margin-right:auto}body.emitter-modal-open{overflow:hidden}.workspace-admin-row{padding:6px 0 2px;border-top:1px solid var(--border);margin-top:6px}.workspace-analytics-link{background:none;border:none;color:var(--muted);font-size:.75rem;cursor:pointer;padding:3px 0;display:flex;align-items:center;gap:5px;transition:color .15s}.workspace-analytics-link:hover{color:var(--accent)}.map-offline-btn{position:absolute;top:var(--map-overlay-top);left:calc(var(--map-overlay-left) + var(--map-view-toggle-w) + var(--map-overlay-gap) + var(--map-geo-search-w) + var(--map-overlay-gap));z-index:650;width:var(--map-offline-w);min-width:var(--map-offline-w);height:var(--map-overlay-control-h);padding:0 10px;background:var(--map-control-bg);border:1px solid var(--map-control-border);box-shadow:var(--map-control-shadow);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;gap:5px;font-size:.78rem;font-weight:700}.map-offline-btn,.offline-status-badge{display:none!important}.map-measure-overlay{position:absolute;top:var(--map-overlay-top);left:calc(var(--map-overlay-left) + var(--map-view-toggle-w) + var(--map-overlay-gap) + var(--map-geo-search-w) + var(--map-overlay-gap) + var(--map-offline-w) + var(--map-overlay-gap));z-index:670;width:var(--map-measure-w);max-width:calc(100vw - 24px);height:var(--map-overlay-control-h);display:flex;align-items:center;gap:8px;padding:0 9px;background:var(--map-control-bg);border:1px solid var(--map-control-border);border-radius:6px;box-shadow:var(--map-control-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text)}.map-measure-overlay.hidden{display:none}.map-measure-label{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.map-measure-value{color:var(--accent-strong);font-size:.82rem;font-weight:800;white-space:nowrap}.map-measure-stop{margin-left:auto;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:.74rem;font-weight:800;cursor:pointer;white-space:nowrap}.map-measure-stop:hover,.map-measure-stop:focus-visible{color:var(--accent-strong)}.tak-contacts-overlay{position:absolute;top:var(--map-overlay-top);left:calc(var(--map-overlay-left) + var(--map-view-toggle-w) + var(--map-overlay-gap) + var(--map-geo-search-w) + var(--map-overlay-gap) + var(--map-offline-w) + var(--map-overlay-gap));z-index:660;display:flex;flex-direction:column;align-items:flex-start;gap:0}.map-stage.measurement-active .tak-contacts-overlay{left:calc(var(--map-overlay-left) + var(--map-view-toggle-w) + var(--map-overlay-gap) + var(--map-geo-search-w) + var(--map-overlay-gap) + var(--map-offline-w) + var(--map-overlay-gap) + var(--map-measure-w) + var(--map-overlay-gap))}.tak-contacts-pill{display:flex;align-items:center;gap:5px;width:var(--map-tak-contacts-w);box-sizing:border-box;height:var(--map-overlay-control-h);padding:0 10px;background:color-mix(in srgb,var(--bg-overlay) 88%,transparent);border:1px solid rgba(148,163,184,.34);box-shadow:0 10px 24px #00000038;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;box-shadow:var(--shadow);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.tak-contacts-dot{width:7px;height:7px;border-radius:50%;background:#94a3b866;flex-shrink:0;transition:background .2s}.tak-contacts-dot[data-status=connected]{background:var(--accent-success);box-shadow:0 0 5px rgba(var(--accent-success-rgb),.55)}.tak-contacts-dot[data-status=error]{background:var(--accent-danger)}.tak-contacts-label{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--text)}.tak-contacts-unread{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;background:var(--accent-danger);border-radius:100px;font-size:9px;font-weight:800;color:var(--on-accent);line-height:1;animation:tak-unread-pulse 1.4s ease infinite}@keyframes tak-unread-pulse{0%,to{opacity:1}50%{opacity:.65}}.tak-contacts-chevron{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;transition:transform .18s ease}.tak-contacts-chevron.open svg{transform:rotate(180deg)}.tak-contacts-panel,.tak-chat-window{width:260px;margin-top:4px;background:var(--bg-overlay, rgba(13,16,24,.96));border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #00000073;display:flex;flex-direction:column;overflow:hidden}.tak-contacts-panel-header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px 7px;border-bottom:1px solid rgba(148,163,184,.1)}.tak-contacts-panel-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.tak-contacts-panel-count{font-size:10px;color:var(--text-muted)}.tak-contacts-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:1px;padding:4px 0}.tak-contacts-empty{padding:14px;font-size:.78rem;color:var(--text-muted);text-align:center}.tak-contact-row{display:flex;align-items:center;gap:9px;padding:7px 12px;background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:background .12s}.tak-contact-row:hover{background:#94a3b814}.tak-contact-ctx-menu{background:var(--bg-overlay);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #00000073;padding:4px;min-width:180px}.tak-contact-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:none;border:none;border-radius:4px;color:var(--text);font-size:13px;text-align:left;cursor:pointer;white-space:nowrap}.tak-contact-ctx-item:hover{background:#94a3b81a}.tak-contact-ctx-item strong{font-weight:700;margin-left:2px}.tak-contact-avatar{width:28px;height:28px;border-radius:50%;background:rgba(var(--accent-rgb),.25);border:1px solid rgba(var(--accent-rgb),.35);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--accent);flex-shrink:0}.tak-contact-avatar--hostile{background:rgba(var(--accent-danger-rgb),.2);border-color:rgba(var(--accent-danger-rgb),.35);color:var(--accent-danger)}.tak-contact-avatar--neutral{background:rgba(var(--accent-success-rgb),.2);border-color:rgba(var(--accent-success-rgb),.35);color:var(--accent-success)}.tak-contact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tak-contact-name{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tak-contact-preview{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tak-contact-unread-pip{min-width:16px;height:16px;padding:0 4px;background:var(--accent);border-radius:100px;font-size:9px;font-weight:800;color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tak-chat-window{width:280px;height:380px}.tak-chat-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.1);flex-shrink:0}.tak-chat-back{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:2px}.tak-chat-back:hover{color:var(--text)}.tak-chat-contact-name{flex:1;font-size:12px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tak-chat-close-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:11px;padding:2px 4px;line-height:1}.tak-chat-close-btn:hover{color:var(--text)}.tak-chat-messages{flex:1;overflow-y:auto;padding:10px 10px 6px;display:flex;flex-direction:column;gap:8px}.tak-chat-empty{font-size:11px;color:var(--text-muted);text-align:center;padding:20px 0}.tak-msg{display:flex;flex-direction:column;gap:2px;max-width:88%}.tak-msg--in{align-self:flex-start}.tak-msg--out,.tak-msg--ai{align-self:flex-end}.tak-msg-header{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--text-muted)}.tak-msg--out .tak-msg-header,.tak-msg--ai .tak-msg-header{flex-direction:row-reverse}.tak-msg-ai-label{font-size:9px;font-weight:800;letter-spacing:.06em;color:#a78bfa;text-transform:uppercase}.tak-msg-ts{opacity:.65}.tak-msg-bubble{padding:7px 10px;border-radius:12px;font-size:12px;line-height:1.45;word-break:break-word}.tak-msg--in .tak-msg-bubble{background:#374151d9;color:var(--text);border-bottom-left-radius:3px}.tak-msg--out .tak-msg-bubble{background:#2563ebcc;color:#e0f2fe;border-bottom-right-radius:3px}.tak-msg--ai .tak-msg-bubble{background:#6d28d9bf;color:#ede9fe;border-bottom-right-radius:3px}.tak-chat-form{display:flex;align-items:center;gap:6px;padding:7px 8px;border-top:1px solid rgba(148,163,184,.1);flex-shrink:0}.tak-chat-input{flex:1;border:1px solid rgba(148,163,184,.2);border-radius:20px;padding:5px 12px;font-size:12px;background:#ffffff0a;color:var(--text);outline:none}.tak-chat-input:focus{border-color:#60a5fa73;background:#ffffff12}.tak-chat-send{width:28px;height:28px;border-radius:50%;border:none;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s}.tak-chat-send:hover{background:#1d4ed8}.map-tak-identity-btn{position:absolute;top:var(--map-overlay-top);left:calc(var(--map-overlay-left) + var(--map-view-toggle-w) + var(--map-overlay-gap) + var(--map-geo-search-w) + var(--map-overlay-gap) + var(--map-offline-w) + var(--map-overlay-gap) + var(--map-tak-contacts-w) + var(--map-overlay-gap));z-index:650;height:var(--map-overlay-control-h);padding:0 10px;background:var(--map-control-bg);border:1px solid var(--map-control-border);box-shadow:var(--map-control-shadow);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:inline-flex;align-items:center;gap:6px;font-size:.78rem}.map-tak-identity-label{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.map-tak-identity-btn strong{color:var(--text);font-size:13px;font-weight:700}.map-stage.measurement-active .map-tak-identity-btn{left:calc(var(--map-overlay-left) + var(--map-view-toggle-w) + var(--map-overlay-gap) + var(--map-geo-search-w) + var(--map-overlay-gap) + var(--map-offline-w) + var(--map-overlay-gap) + var(--map-measure-w) + var(--map-overlay-gap) + var(--map-tak-contacts-w) + var(--map-overlay-gap))}.offline-status-badge{position:absolute;top:var(--map-overlay-top);left:calc(var(--map-overlay-left) + var(--map-view-toggle-w) + var(--map-overlay-gap) + var(--map-geo-search-w) + var(--map-overlay-gap) + var(--map-offline-w) + 6px);z-index:650;height:var(--map-overlay-control-h);padding:0 8px;background:color-mix(in srgb,var(--bg-base) 78%,var(--accent-success) 22%);border:1px solid rgba(var(--accent-success-rgb),.4);border-radius:6px;display:flex;align-items:center;font-size:10px;color:var(--accent-success);gap:5px;box-shadow:var(--shadow);cursor:default}.offline-modal{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column}.tak-identity-modal{width:min(620px,calc(100vw - 32px))}.tak-identity-body{display:block;padding:18px 24px 12px}.tak-identity-form{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-items:start}.tak-identity-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.76rem;min-width:0}.tak-identity-field>span:first-child{font-weight:600}.tak-identity-field-full{grid-column:1 / -1}.tak-identity-field input,.tak-identity-field select{width:100%;box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:8px 10px;font:inherit;font-size:.84rem}.tak-identity-body .fine-print{display:block;margin-top:0;margin-bottom:2px;line-height:1.45}@media(max-width:560px){.tak-identity-body{padding:16px 18px 10px}.tak-identity-form{grid-template-columns:1fr}}.offline-modal-body{display:flex;gap:20px;padding:16px 20px 20px;flex:1;min-height:0;overflow:hidden}.offline-controls{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0}.offline-step{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:6px}.offline-step-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}.offline-bbox-display{font-size:.78rem;color:var(--muted);font-family:monospace;padding:4px 0}.offline-check-row{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text);cursor:pointer}.offline-zoom-row{padding-left:16px;font-size:.78rem;color:var(--muted)}.offline-check-row input[type=checkbox]{accent-color:var(--accent)}.offline-zoom-input{width:48px;background:var(--bg-input);border:1px solid var(--border);border-radius:3px;color:var(--text);font-size:.78rem;padding:2px 5px;text-align:center}.offline-estimate{font-size:.8rem;color:var(--accent);padding:2px 0}.offline-cache-stats{font-size:.78rem;color:var(--muted);font-family:monospace}.offline-progress-panel{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;border-left:1px solid var(--border);padding-left:18px}.offline-progress-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.offline-progress-bar-wrap{width:100%;height:6px;background:var(--bg-soft);border-radius:3px;overflow:hidden}.offline-progress-fill{width:0%;height:100%;background:var(--accent);border-radius:3px;transition:width .2s}.offline-clear-cache-btn{color:var(--enemy)}.offline-progress-log{flex:1;overflow-y:auto;font-size:.74rem;color:var(--muted);font-family:monospace;line-height:1.6;min-height:120px;max-height:260px}.offline-progress-log .log-ok{color:var(--accent-success)}.offline-progress-log .log-warn{color:var(--host-nation)}.offline-progress-log .log-err{color:var(--enemy)}.offline-server-status{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--muted);margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}.offline-server-dot{font-size:10px}.offline-dot-unknown{color:var(--muted)}.offline-dot-ok{color:var(--accent-success)}.offline-dot-err{color:var(--enemy)}.shape-map-label{background:#050a14d1;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e8edf3;font-size:11px;font-weight:600;line-height:1.2;padding:2px 6px;pointer-events:none;white-space:nowrap;box-shadow:0 1px 4px #0000008c}.shape-map-label:before{display:none!important}.shape-map-label--point{margin-left:4px}.leaflet-tooltip.shape-map-label:not(.shape-map-label--point){transform:translate(-50%,-50%)}.tactical-map-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px}.tactical-map-icon .milstd-stack,.tactical-map-icon .ms2525-icon{position:relative;display:block;width:100%;height:100%;margin:0;transform:none;transform-origin:center center;pointer-events:none}.tactical-map-icon svg,.tactical-map-icon img,.tactical-map-icon .milstd-layer{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.tactical-map-icon--labelled{transform:none}.tactical-map-icon .milstd-stack--domain-air .milstd-layer--echelon{transform:translateY(-11%)}.tactical-map-icon .milstd-fallback-text{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);max-width:72%;text-align:center;font-size:7px;line-height:1;font-weight:800;letter-spacing:.04em;color:#0f172a;text-shadow:0 1px 0 rgba(255,255,255,.4);pointer-events:none}.tactical-map-label{background:#050a14d1;border:1px solid rgba(148,163,184,.16);color:#f8fafc;border-radius:8px;padding:4px 8px;font-family:Bahnschrift,Segoe UI,sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 8px 24px #00000047;text-align:center}.tactical-map-label.tactical-map-label--point{margin-left:0}.shape-label-toggle-row{display:flex;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--border);font-size:.82rem;color:var(--text-secondary, #a0aec0);cursor:pointer;-webkit-user-select:none;user-select:none}.shape-label-toggle-row input[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px;height:16px;border:1.5px solid var(--border-strong, #4a5568);border-radius:3px;background:var(--bg, #17191d);cursor:pointer;flex-shrink:0;position:relative;display:grid;place-content:center;transition:border-color .15s}.shape-label-toggle-row input[type=checkbox]:hover{border-color:var(--accent)}.shape-label-toggle-row input[type=checkbox]:after{content:"x";font-size:10px;line-height:1;color:var(--text);opacity:0;transition:opacity .1s}.shape-label-toggle-row input[type=checkbox]:checked{border-color:var(--accent);background:var(--bg-elevated, #1f2227)}.shape-label-toggle-row input[type=checkbox]:checked:after{opacity:1}.operation-mode-shell{display:flex;align-items:center;justify-content:center;gap:0;padding:6px 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:0;box-sizing:border-box;white-space:nowrap;flex:0 0 auto;align-self:stretch;height:100%;min-height:100%;min-width:118px;width:132px;position:relative}.operation-mode-dropdown{position:relative;width:100%}.operation-mode-button{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--control-bg);border:1px solid var(--control-border);border-radius:7px;color:var(--text);cursor:pointer;height:30px;width:100%;padding:0 10px 1px 12px;box-sizing:border-box;font-size:.64rem;font-weight:800;letter-spacing:.11em;line-height:1;text-transform:uppercase}#operationModeValue{flex:1 1 auto;min-width:0;text-align:center;transform:translate(4px,1px)}.operation-mode-button:hover,.operation-mode-button[aria-expanded=true]{border-color:var(--control-border-hover)}.operation-mode-chevron{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--control-muted);flex:0 0 auto}.operation-mode-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:1200;width:100%;padding:4px;background:var(--bg-menu);border:1px solid var(--menu-border);border-radius:7px;box-shadow:var(--menu-shadow)}.operation-mode-menu.hidden{display:none}.operation-mode-option{width:100%;height:29px;display:flex;align-items:center;justify-content:flex-start;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;padding:0 8px;font-size:.64rem;font-weight:800;letter-spacing:.09em;line-height:1;text-align:left}.operation-mode-option:hover,.operation-mode-option:focus-visible{color:var(--text);background:var(--bg-hover);outline:none}.operation-mode-option.active{color:#fff;border-color:rgba(var(--accent-info-rgb),.36);background:var(--control-selected-bg)}.view-mode-shell{--view-tab-count: 4;display:flex;align-items:center;justify-content:center;gap:0;padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:0;box-sizing:border-box;white-space:nowrap;flex-shrink:0;align-self:stretch;height:100%;min-height:100%;min-width:0;width:clamp(260px,22vw,380px)}.view-mode-toggle{--view-toggle-inset: 3px;display:flex;align-items:center;background:var(--control-bg);border:1px solid var(--control-border);border-radius:7px;padding:var(--view-toggle-inset);position:relative;height:28px;gap:0;flex:1 1 auto;width:100%;box-sizing:border-box;overflow:hidden}.view-mode-toggle:hover{border-color:var(--control-border-hover)}.view-mode-thumb{position:absolute;top:var(--view-toggle-inset);left:calc(var(--view-toggle-inset) + var(--view-active-index, 0) * (100% - var(--view-toggle-inset) * 2) / var(--view-tab-count));width:calc((100% - var(--view-toggle-inset) * 2) / var(--view-tab-count));height:calc(100% - var(--view-toggle-inset) * 2);background:var(--control-selected-bg);border:1px solid color-mix(in srgb,var(--control-selected-bg) 70%,var(--control-selected-text) 30%);border-radius:5px;transition:left .18s ease;pointer-events:none;z-index:0;box-sizing:border-box;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--control-selected-text) 22%,transparent)}.view-mode-tab{position:relative;z-index:1;background:none;border:none;cursor:pointer;font-size:.6rem;font-weight:700;letter-spacing:.12em;color:var(--muted);border-radius:5px;transition:color .15s ease;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 0;min-width:0;text-align:center;padding:0 6px;display:flex;align-items:center;justify-content:center;line-height:1;height:100%;transform:translateY(1px)}.view-mode-tab.hidden{display:none}.view-mode-tab:hover{color:var(--text)}.view-mode-tab:focus-visible{outline:none;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.42)}.view-mode-tab.active:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--control-selected-text) 28%,transparent)}.view-mode-tab.active{color:var(--control-selected-text);text-shadow:none}.leaflet-control-attribution a{color:#004f70;text-decoration:underline;text-underline-offset:1px}.view-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.view-panel.hidden{display:none}.app-content{display:grid;grid-template-columns:minmax(0,1fr) var(--ai-divider-width) minmax(0,var(--ai-panel-width));min-height:0;overflow:hidden;height:100%;position:relative}.view-panel,.workspace-shell{will-change:transform,opacity;grid-column:1;grid-row:1}.workspace-shell{flex:1 1 0;min-height:0;overflow:hidden}.workspace-shell.hidden{display:none}.ms2525-icon{display:block;width:120px;height:120px}.milstd-stack{position:relative;display:block;width:111px;height:143px;margin:0 auto;pointer-events:none}.milstd-layer{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.milstd-stack--domain-air .milstd-layer--echelon{transform:translateY(-11%)}.milstd-icon{overflow:visible}.milstd-fallback-text{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);max-width:72%;text-align:center;color:#0f172a;fill:#000;font-family:Arial Narrow,Arial,sans-serif;font-size:18px;font-weight:700;line-height:1;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,255,255,.4);pointer-events:none}.topo-link-excellent{stroke:#22c55e}.topo-link-moderate,.topo-link-good,.topo-link-fair{stroke:#f7b955}.topo-link-poor{stroke:#f97316}.topo-link-none{stroke:#ef4444}.topo-link-pending{stroke:#60a5fa;stroke-dasharray:6,5;opacity:.82}.topo-link-not-assessed{stroke:#94a3b8;stroke-dasharray:6,5;opacity:.78}.topo-link-unplaced{stroke:#94a3b8}.topo-link-type-vhf{stroke-dasharray:none;stroke-width:2.5}.topo-link-type-uhf{stroke-dasharray:12,5;stroke-width:2.5}.topo-link-type-hf{stroke-dasharray:10,4,2,4;stroke-width:2}.topo-link-type-satcom{stroke-dasharray:3,5;stroke-width:2;opacity:.85}.topo-link-type-mesh{stroke-dasharray:8,3,8,3;stroke-width:3}.em-to-link-row{grid-column:1 / -1;display:flex;align-items:center;gap:8px;margin-top:2px}.em-link-to-btn{display:flex;align-items:center;gap:5px;font-size:.72rem;padding:4px 10px;height:26px;border:1px solid var(--border);color:var(--text)}.em-link-to-btn:hover{border-color:var(--accent);color:var(--accent)}.em-to-link-badge{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--accent-success);background:rgba(var(--accent-success-rgb),.1);border:1px solid rgba(var(--accent-success-rgb),.3);border-radius:5px;padding:4px 10px;margin-bottom:8px}.em-to-link-badge svg{flex-shrink:0}.em-to-link-badge span{flex:1}.em-to-unlink-btn{background:none;border:none;cursor:pointer;color:var(--accent-success);font-size:.75rem;padding:0 2px;line-height:1;opacity:.6}.em-to-unlink-btn:hover{opacity:1}.em-to-link-badge.hidden{display:none}.to-picker-backdrop{position:fixed;inset:0;z-index:12000;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:24px}.to-picker-backdrop.hidden{display:none}.to-picker-modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 64px #0009;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.to-picker-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.to-picker-title-group{display:flex;align-items:center;gap:8px}.to-picker-title-group h3{font-size:.95rem;font-weight:600;margin:0}.to-picker-instructions{padding:8px 18px;font-size:.75rem;color:var(--muted);flex-shrink:0;border-bottom:1px solid var(--border)}.to-picker-canvas{flex:1 1 0;min-height:360px;position:relative;overflow:hidden;background:radial-gradient(circle,rgba(15,23,42,.14) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(180deg,#fffc,#e2ecf7e0);background-color:#edf3f9;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.to-picker-canvas.is-panning{cursor:grabbing}.to-picker-canvas .to-unit{cursor:pointer}.to-picker-canvas .to-unit:hover .to-unit-card{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}.to-picker-canvas .to-unit.to-picker-selected .to-unit-card{outline:2px solid var(--accent-success);outline-offset:2px;border-radius:10px}.to-picker-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--muted);font-size:.85rem;line-height:1.6}.to-picker-empty.hidden{display:none}.to-picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 18px;border-top:1px solid var(--border);flex-shrink:0}.to-unit.has-emitter-link:after{content:"RF";position:absolute;top:-6px;right:-6px;font-size:8px;background:var(--bg-elevated);border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.color-picker-wrap{display:flex;flex-direction:row;align-items:flex-start;gap:6px}.color-swatches{display:grid;grid-template-columns:repeat(3,18px);gap:4px;align-content:start}.color-swatch{width:18px;height:18px;border-radius:3px;border:1px solid rgba(255,255,255,.18);cursor:pointer;padding:0;flex-shrink:0;transition:transform .1s,border-color .1s}.color-swatch:hover{transform:scale(1.2);border-color:#fff9}.topo-legend{position:absolute;bottom:12px;left:12px;display:flex;align-items:center;gap:12px;background:#111317d1;border:1px solid var(--border);border-radius:6px;padding:5px 10px;pointer-events:none;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.topo-legend-defs{position:absolute}.topo-legend-title{font-size:.6rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-right:2px}.topo-legend-item{display:flex;align-items:center;gap:5px;font-size:.62rem;color:var(--muted);white-space:nowrap}.topo-legend-item svg{flex-shrink:0}body.theme-light .ai-document-rendered h1,body.theme-light .ai-document-rendered hr,body.theme-light .ai-document-rendered table,body.theme-light .ai-document-rendered th,body.theme-light .ai-document-rendered td{border-color:var(--border)}body.theme-light .analytics-kpi-card,body.theme-light .analytics-insight-card,body.theme-light .analytics-tab-panel,body.theme-light .analytics-overview-card,body.theme-light .analytics-sidebar-card,body.theme-light .analytics-chart,body.theme-light .to-emitter-manager-section,body.theme-light .to-emitter-manager-item,body.theme-light .sensor-detection-badge,body.theme-light .sensor-emitter-list-stats span,body.theme-light .sensor-emitter-detail-status,body.theme-light .sensor-emitter-detail-pill-row span,body.theme-light .sensor-emitter-detail-metrics div,body.theme-light .sensor-emitter-detail-insight-head span,body.theme-light .sensor-emitter-detail-insight-chips span{background:var(--bg-card-alt);border-color:var(--border);color:var(--text-secondary)}body.theme-light .analytics-insight-card-primary,body.theme-light .to-emitter-manager-item:hover{background:var(--bg-selection);border-color:rgba(var(--accent-rgb),.32)}body.theme-light .analytics-insight-card p,body.theme-light .analytics-chart-note{color:var(--text-secondary)}body.theme-light .sensor-detection-badge.demod,body.theme-light .sensor-emitter-list-stats span.capability-demod,body.theme-light .sensor-emitter-detail-status.ready,body.theme-light .sensor-emitter-detail-status.detectable,body.theme-light .sensor-emitter-detail-pill-row span.is-on{color:var(--accent-success)}body.theme-light .sensor-detection-badge.df,body.theme-light .sensor-detection-badge.identified,body.theme-light .sensor-emitter-list-stats span.capability-df,body.theme-light .sensor-emitter-list-stats span.capability-identified,body.theme-light .sensor-emitter-detail-status.pending,body.theme-light .sensor-emitter-detail-status.identified,body.theme-light .sensor-emitter-detail-status.energy{color:var(--accent)}body.theme-light .sensor-detection-badge.detect,body.theme-light .sensor-emitter-list-stats span.capability-detect,body.theme-light .sensor-emitter-detail-status.warning,body.theme-light .sensor-emitter-detail-status.marginal,body.theme-light .sensor-emitter-detail-status.not-detected{color:var(--accent-warning)}body.theme-light .sensor-emitter-detail-legend,body.theme-light .topo-legend{background:var(--bg-overlay);border-color:var(--border);color:var(--text-secondary);box-shadow:var(--menu-shadow)}body.theme-light .topo-canvas{background:radial-gradient(circle,var(--canvas-grid-dot) 1px,transparent 1px) 0 0 / 24px 24px;background-color:var(--bg)}body.theme-light .topo-spectrum-view,body.theme-light .topo-spectrum-scroll,body.theme-light .topo-spectrum-axis-layer{background:radial-gradient(circle,var(--canvas-grid-dot) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(180deg,var(--bg-elevated),var(--bg-soft));color:var(--text)}body.theme-light .topo-spectrum-summary{background:var(--bg-overlay);border-bottom-color:var(--border)}body.theme-light .topo-spectrum-summary dl div{background:var(--bg-card);border-color:var(--border);color:var(--text);box-shadow:var(--control-shadow-inset)}body.theme-light .topo-spectrum-emitter.is-emitter{background:#11151c;border-color:color-mix(in srgb,var(--spectrum-color, #60a5fa) 76%,rgba(46,62,84,.24));color:#f8fafc;box-shadow:var(--control-shadow-inset)}body.theme-light .topo-spectrum-emitter.is-sensor{background:#11151c;border-color:color-mix(in srgb,var(--spectrum-color, #7dd3fc) 76%,rgba(46,62,84,.24));color:#f8fafc;box-shadow:var(--control-shadow-inset)}body.theme-light .topo-spectrum-band-label,body.theme-light .topo-spectrum-axis-label{color:var(--text-secondary)}body.theme-light .topo-spectrum-guide,body.theme-light .topo-spectrum-tick{background:#2e3e542e}body.theme-light .topo-spectrum-guide.is-major,body.theme-light .topo-spectrum-axis{background:#2e3e5447}body.theme-light .topo-node-ctx,body.theme-light .topo-radio-popup,body.theme-light .topo-link-popup,body.theme-light .tak-contacts-panel,body.theme-light .tak-chat-window,body.theme-light .tak-contact-ctx-menu{background:var(--bg-menu);border-color:var(--border);color:var(--text);box-shadow:var(--menu-shadow)}body.theme-light .topo-radio-popup-actions>button,body.theme-light .topo-radio-link-row{background:var(--control-bg);border-color:var(--control-border);color:var(--control-text)}body.theme-light .topo-radio-popup-actions>button:hover:not(:disabled),body.theme-light .topo-radio-link-row:hover{background:var(--control-bg-hover);border-color:var(--control-border-hover)}.emitter-marker.jammer .jammer-direction-arrow{border-bottom:20px solid currentColor;border-left:4px solid transparent;border-right:4px solid transparent;filter:drop-shadow(0 0 4px color-mix(in srgb,currentColor 65%,transparent));height:0;left:50%;opacity:.92;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-100%) rotate(calc(var(--jammer-bearing) - 45deg));transform-origin:50% 100%;width:0;z-index:-1}.emitter-marker.jammer:has(.jammer-direction-arrow){position:relative}
