@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 500;font-display:swap;src:url('./fonts/golos-regular.ttf') format('truetype')}@font-face{font-family:'Golos Text';font-style:normal;font-weight:550 750;font-display:swap;src:url('./fonts/golos-semibold.ttf') format('truetype')}@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400 450;font-display:swap;src:url('./fonts/plex-mono-regular.ttf') format('truetype')}@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url('./fonts/plex-mono-medium.ttf') format('truetype')}
:root{--bg:#101417;--panel:#191e22;--panel-dark:#151a1e;--border:#2b3339;--text:#e9edef;--muted:#8b979f;--dim:#5c6972;--mint:#76d8b2;--amber:#d9b37b;--blue:#8ab9e9;--red:#ed817b;--mono:'IBM Plex Mono',monospace;--font:'Golos Text',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.5 var(--font);letter-spacing:-.1px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--mint);outline-offset:3px}button{color:inherit}a{color:inherit;text-decoration:none}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.eyebrow{font:12px/1.5 var(--mono);letter-spacing:1.4px}.muted{color:var(--muted)}.amber{color:var(--amber)}.brand-mark{width:36px;height:37px;border:1px solid var(--c-warn);display:flex;align-items:center;justify-content:center;color:var(--c-warn);font:600 25px/1 var(--mono);position:relative}.brand-mark:after{content:'';height:4px;width:4px;position:absolute;right:-2px;bottom:-2px;background:var(--bg)}.brand-mark.small{display:inline-flex;width:26px;height:27px;font-size:18px;margin-right:12px;vertical-align:middle}.app{min-height:100vh;display:flex}.nav-rail{width:76px;flex-shrink:0;min-height:100vh;background:var(--c-surface);border-right:1px solid var(--border);display:flex;align-items:center;gap:14px;flex-direction:column;padding:28px 0 16px;position:fixed;inset:0 auto 0 0;z-index:10}.rail-divider{height:1px;width:30px;background:var(--border);margin:13px 0 8px}.rail-button{background:none;border:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:5px;color:var(--c-muted);position:relative}.rail-button svg{width:20px;height:20px}.rail-button:hover{background:var(--c-surface-2);color:var(--text)}.rail-button.active{color:var(--mint);background:var(--c-surface-3)}.rail-button.active:before{content:'';position:absolute;left:-17px;top:13px;height:16px;width:2px;background:var(--mint)}.rail-spacer{flex:1}.rail-version{font:11px var(--mono);color:var(--dim);margin-top:10px}.workspace{margin-left:76px;min-width:0;flex:1;padding:0 30px}.topbar{height:111px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border)}.topbar h1{font-size:26px;font-weight:550;line-height:1.3;letter-spacing:-.7px;margin:7px 0 0;display:flex;align-items:center;gap:13px}.version-chip{color:var(--c-muted);border:1px solid var(--c-border-strong);background:var(--c-surface-2);font:12px var(--mono);padding:4px 6px;letter-spacing:0}.header-status{display:flex;gap:22px;align-items:center}.connection-indicator{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.status-dot{width:6px;height:6px;background:var(--c-border-strong);display:inline-block;border-radius:50%;flex-shrink:0}.connection-indicator.online{color:var(--mint)}.connection-indicator.online .status-dot{background:var(--mint);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-accent) 6%,transparent)}.connection-indicator.stale{color:var(--amber)}.connection-indicator.stale .status-dot{background:var(--amber)}.connection-indicator.offline{color:var(--red)}.connection-indicator.offline .status-dot{background:var(--red)}.header-divider{height:27px;width:1px;background:var(--border)}.clock-group{text-align:right;display:flex;flex-direction:column}.clock-group strong{font:16px var(--mono);letter-spacing:.8px}.clock-group span{font:11px var(--mono);color:var(--muted);margin-top:3px;letter-spacing:1px}.operator-avatar{width:35px;height:35px;border:1px solid var(--c-border-strong);background:var(--c-surface-3);color:var(--c-text-2);display:grid;place-items:center;font:11px var(--mono)}.notice{border:1px solid color-mix(in srgb,var(--c-warn) 60%,var(--c-border));background:var(--c-surface-2);padding:10px 14px;margin-top:18px;color:var(--c-warn);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:25px 0 24px;gap:22px}.metric{border-right:1px solid var(--border);position:relative;padding-right:15px}.metric:last-child{border-right:0}.metric-label{font:11px var(--mono);letter-spacing:1.2px;color:var(--c-muted)}.metric>div{display:flex;align-items:baseline;gap:13px;margin-top:5px}.metric strong{font:450 29px/1.4 var(--mono);letter-spacing:-1.2px}.metric div>span{font-size:12px;color:var(--muted);line-height:1.5;max-width:170px}.metric-number{position:absolute;right:19px;top:0;color:var(--c-faint);font:11px var(--mono)}.operations-layout{display:grid;grid-template-columns:minmax(0,1fr) 326px;grid-template-rows:auto auto;gap:20px}.map-panel,.roster-panel,.decision-panel,.control-panel{background:var(--panel);border:1px solid var(--border);min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 19px 15px}.panel-heading h2,.roster-heading h2,.decision-heading h2,.control-heading h2{margin:0;font-size:14px;line-height:1.5;font-weight:550}.panel-heading h2{display:flex;align-items:center;gap:12px}.panel-subtitle{display:block;color:var(--dim);font:11px/1.5 var(--mono);letter-spacing:.9px;margin-top:5px}.live-label{font:11px var(--mono);letter-spacing:.6px;border:1px solid var(--c-border-strong);color:var(--mint);padding:2px 5px;display:flex;align-items:center;gap:4px}.live-label i{width:3px;height:3px;border-radius:50%;background:currentColor}.live-label.stale{color:var(--amber);border-color:color-mix(in srgb,var(--c-warn) 64%,var(--c-border))}.map-layer-controls{display:flex;gap:12px}.map-layer-controls label{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--c-text-2);cursor:pointer;white-space:nowrap}.map-layer-controls input{appearance:none;width:9px;height:9px;margin:0;border:1px solid var(--c-faint);border-radius:1px;background:var(--c-surface-2);cursor:pointer}.map-layer-controls input:checked{background:var(--mint);border-color:var(--mint);box-shadow:inset 0 0 0 2px var(--panel)}.layer-swatch{display:none}.map-container{height:min(52vh,610px);min-height:390px;background:var(--c-inset);position:relative;overflow:hidden;border-block:1px solid var(--border)}#world-map{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#world-map:active{cursor:grabbing}.map-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #07111255}.map-top-strip,.map-bottom-strip{pointer-events:none;position:absolute;display:flex;justify-content:space-between;align-items:center;gap:12px;left:18px;right:18px}.map-top-strip{top:14px}.map-tag{font:11px var(--mono);letter-spacing:1px;background:color-mix(in srgb,var(--c-surface) 87%,transparent);border:1px solid color-mix(in srgb,var(--c-border-strong) 60%,transparent);color:var(--c-text);padding:6px 9px;display:flex;align-items:center;gap:7px}.map-tag i{width:4px;height:4px;background:var(--mint)}.map-source-status{font:11px var(--mono);background:color-mix(in srgb,var(--c-surface) 87%,transparent);color:var(--c-text-2);padding:5px 7px}.map-tools{position:absolute;right:17px;top:64px;display:flex;flex-direction:column;gap:1px;background:color-mix(in srgb,var(--c-surface) 93%,transparent);border:1px solid color-mix(in srgb,var(--c-border-strong) 47%,transparent);padding:3px}.map-tools button{height:30px;width:30px;border:0;background:transparent;color:var(--c-text);font:21px var(--mono);display:flex;align-items:center;justify-content:center}.map-tools button:hover{background:var(--c-surface-3)}.map-tools button svg{width:17px;height:17px}.map-tools>span{height:1px;background:var(--c-border-strong);margin:3px}.map-bottom-strip{bottom:14px}.coordinates{font:11px var(--mono);background:color-mix(in srgb,var(--c-surface) 90%,transparent);padding:6px 8px;color:var(--c-text)}.coordinates span{color:var(--c-muted);margin:0 12px}.map-scale{display:flex;flex-direction:column;gap:4px;text-align:center;color:var(--c-text-2);font:11px var(--mono);text-shadow:0 1px 2px #000}.map-scale i{height:5px;border:1px solid var(--c-text-2);border-top:0;display:block;max-width:120px}.map-zoom{font:11px var(--mono);color:var(--c-text-2);background:color-mix(in srgb,var(--c-surface) 86%,transparent);padding:5px 8px}.map-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px;color:var(--muted);font-size:11px}.legend{display:flex;flex-wrap:wrap;gap:13px}.legend>span{display:flex;gap:5px;align-items:center}.legend-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.legend-dot.army{background:var(--mint)}.legend-dot.builder{background:var(--blue)}.legend-dot.enemy{background:var(--red)}.legend-dot.player{background:var(--amber)}.legend-dot.dynmap{border:1px solid var(--c-text-2);background:transparent;border-radius:0;transform:rotate(45deg)}#map-update{font:11px var(--mono);white-space:nowrap}.map-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;max-width:330px;pointer-events:none;background:color-mix(in srgb,var(--c-surface) 91%,transparent);padding:20px 24px;border:1px solid var(--c-border-strong)}.map-empty strong{display:block;font-size:13px;font-weight:500;margin-bottom:7px}.map-empty span{font-size:11px;color:var(--muted)}.map-tooltip{position:absolute;padding:9px 12px;background:color-mix(in srgb,var(--c-surface) 96%,transparent);border:1px solid var(--c-faint);color:var(--c-text);font-size:11px;pointer-events:none;min-width:140px;z-index:3;box-shadow:0 5px 18px #0005;max-width:250px}.map-tooltip strong,.map-tooltip span{display:block}.map-tooltip span{font:11px/1.7 var(--mono);color:var(--c-text-2)}.roster-panel{display:flex;flex-direction:column;max-height:calc(min(52vh,610px) + 125px);min-height:520px}.roster-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 17px 16px}.roster-heading h2{display:flex;gap:8px;align-items:center}.count-badge{font:11px var(--mono);color:var(--muted);padding:1px 5px;background:var(--c-surface-3);border:1px solid var(--c-border-strong)}.text-button{background:none;border:0;color:var(--c-muted);padding:0;font-size:11px;white-space:nowrap}.text-button:hover{color:var(--mint)}.roster-tabs{margin:0 17px;display:flex;border-bottom:1px solid var(--c-border-strong);gap:19px}.roster-tabs button{border:0;background:none;color:var(--c-muted);padding:0 0 10px;font-size:12px;position:relative}.roster-tabs button span{color:var(--c-faint);font:11px var(--mono);margin-left:4px}.roster-tabs button.active{color:var(--mint)}.roster-tabs button.active:after{position:absolute;content:'';height:2px;background:var(--mint);left:0;right:0;bottom:-1px}.roster-search{margin:13px 17px 9px;position:relative;display:flex;align-items:center}.roster-search svg{width:13px;height:13px;position:absolute;left:9px;color:var(--c-muted)}.roster-search input{background:var(--c-surface);border:1px solid var(--c-border);color:var(--text);padding:8px 10px 8px 29px;min-width:0;width:100%;font-size:12px}.roster-search input::placeholder{color:var(--c-muted)}.roster-list{overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent;padding:0 9px 10px}.bot-card{width:100%;text-align:left;border:1px solid transparent;border-bottom:1px solid var(--c-border);background:none;padding:13px 8px 12px;display:block;transition:background .15s}.bot-card:hover{background:var(--c-surface-3)}.bot-card.selected{background:var(--c-surface-2);border-color:var(--c-border-strong)}.bot-header{display:flex;align-items:center;gap:9px;margin-bottom:9px}.bot-avatar{width:29px;height:29px;border:1px solid var(--c-border-strong);background:var(--c-surface-3);color:var(--mint);font:12px var(--mono);display:grid;place-items:center;flex-shrink:0}.bot-avatar.builder{background:var(--c-surface-3);border-color:color-mix(in srgb,var(--c-info) 77%,var(--c-border));color:var(--blue)}.bot-avatar.offline{color:var(--c-muted);background:var(--c-surface-3);border-color:var(--c-border-strong)}.bot-name-wrap{flex:1;min-width:0}.bot-name{display:block;font:500 11px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.bot-squad{font-size:11px;color:var(--c-muted);margin-top:3px;display:block}.bot-status{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--c-text-2);max-width:95px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bot-status .status-dot{width:4px;height:4px;background:var(--mint)}.bot-status.offline{color:var(--c-muted)}.bot-status.offline .status-dot{background:var(--c-border-strong)}.bot-task{color:var(--c-text-2);font-size:12px;display:flex;align-items:flex-start;gap:7px;line-height:1.5;min-height:15px}.task-icon{color:var(--mint);font:12px var(--mono);flex-shrink:0}.bot-coordinates{font:11px/1.6 var(--mono);color:var(--c-muted);padding-left:18px;display:block;margin-top:4px}.bot-bottom{display:flex;align-items:center;gap:7px;margin-top:8px;padding-left:18px}.bot-aim{font:11px var(--mono);color:var(--c-text-2);border:1px solid var(--c-border-strong);padding:2px 4px;white-space:nowrap}.bot-aim.tracking{color:var(--amber);border-color:color-mix(in srgb,var(--c-warn) 71%,var(--c-border))}.bot-health{font:11px var(--mono);color:var(--c-muted)}.bot-health.low{color:var(--red)}.bot-source{font:11px var(--mono);color:var(--c-faint);margin-left:auto}.roster-bottom{padding:11px 17px;border-top:1px solid var(--border);font-size:11px;color:var(--c-muted);display:flex;align-items:center;gap:6px}.roster-bottom .status-dot{height:4px;width:4px}.decision-heading{padding:18px 19px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.event-count{color:var(--c-muted);font:11px var(--mono)}.decision-list{height:197px;overflow-y:auto;padding:0 19px 12px;scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent}.event-row{display:grid;grid-template-columns:59px 6px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--c-border)}.event-row:last-child{border-bottom:0}.event-time{font:11px/1.7 var(--mono);color:var(--c-muted);padding-top:1px}.event-mark{width:5px;height:5px;background:var(--mint);border-radius:50%;margin-top:5px;box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 5%,transparent)}.event-row.warning .event-mark{background:var(--amber)}.event-row.error .event-mark{background:var(--red)}.event-text{font-size:12px;color:var(--c-text-2);line-height:1.6;overflow-wrap:anywhere}.event-text strong{color:var(--c-text);font-weight:500}.event-source{font:11px var(--mono);letter-spacing:.6px;color:var(--c-muted);display:block;margin-top:3px}.control-heading{padding:18px 17px 0;display:flex;justify-content:space-between;align-items:baseline;gap:10px}.control-heading .panel-subtitle{font-size:11px;white-space:nowrap}.module-row{display:flex;align-items:center;justify-content:space-between;margin:0 17px;padding:14px 0;border-bottom:1px solid var(--c-border);gap:12px}.module-row strong{font:12px var(--mono);display:block}.module-row div>span{font-size:11px;color:var(--c-muted);margin-top:3px;display:block}.switch{width:29px;height:15px;border:1px solid var(--c-border-strong);border-radius:20px;background:var(--c-surface-3);position:relative;padding:0;flex-shrink:0}.switch i{position:absolute;width:9px;height:9px;left:2px;top:2px;background:var(--c-muted);border-radius:50%;transition:transform .15s}.switch[aria-checked=true]{background:var(--c-border-strong);border-color:var(--c-accent)}.switch[aria-checked=true] i{background:var(--mint);transform:translateX(14px)}.module-note{display:flex;gap:8px;margin:12px 17px 0;font-size:11px;color:var(--c-muted);line-height:1.6}.module-note-icon{font:15px var(--mono);color:var(--c-faint)}.relation-form{margin:12px 17px 0}.relation-form>label{font-size:11px;color:var(--c-muted);display:block;margin-bottom:6px}.relation-form>div{display:flex;gap:5px}.relation-form input,.relation-form select{background:var(--c-surface);color:var(--c-text-2);border:1px solid var(--c-border-strong);padding:6px;min-width:0;font-size:11px;height:28px}.relation-form input{flex:1;width:80px}.relation-form select{width:88px}.square-button{height:28px;width:28px;border:1px solid var(--c-faint);background:var(--c-surface-3);color:var(--mint);font-size:17px;flex-shrink:0}.command-status{margin:5px 17px 10px;font-size:11px;color:var(--amber);min-height:12px}.empty-state{display:flex;align-items:center;justify-content:center;padding:32px 20px;color:var(--c-muted);font-size:11px;text-align:center;min-height:90px}.page-footer{padding:18px 0 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--c-faint);font:11px var(--mono);letter-spacing:.5px}.page-footer>span:first-child{color:var(--c-muted);display:flex;align-items:center;gap:6px}.page-footer i{display:block;width:3px;height:3px;background:var(--mint)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12vw;padding:80px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 25% 55%,color-mix(in srgb,var(--c-surface-3) 33%,transparent),transparent 55%),var(--c-surface)}.login-grid{position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(color-mix(in srgb,var(--c-border-strong) 10%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--c-border-strong) 10%,transparent) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,var(--c-accent-ink),transparent 80%)}.login-orbit{position:absolute;left:22%;top:50%;border:1px solid color-mix(in srgb,var(--c-faint) 20%,transparent);width:500px;height:500px;border-radius:50%;transform:translate(-50%,-50%)}.login-orbit.two{width:800px;height:800px}.login-cross{position:absolute;left:22%;top:50%;width:18px;height:18px;border:1px solid var(--mint);transform:rotate(45deg)}.login-intro,.login-form{position:relative}.login-intro{min-width:330px}.login-intro .eyebrow{color:var(--c-text-2)}.login-intro h1{font-size:clamp(42px,4.6vw,70px);line-height:1.08;letter-spacing:-3px;font-weight:500;margin:35px 0 24px}.login-intro h1 span{color:var(--mint)}.login-intro>p{font-size:16px;color:var(--c-muted);line-height:1.65}.login-meta{display:flex;gap:25px;margin-top:70px;font:11px var(--mono);letter-spacing:1.2px;color:var(--c-muted)}.login-form{width:340px;max-width:100%;background:var(--c-surface-2);border:1px solid var(--c-border);padding:32px}.login-form h2{font-size:23px;font-weight:500;letter-spacing:-.6px;margin:16px 0 8px}.login-form>p{color:var(--c-muted);font-size:11px;margin:0 0 26px}.login-form label{display:block;font-size:12px;color:var(--c-text-2);margin-bottom:8px}.login-form input{width:100%;padding:11px 12px;background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:0;font:11px var(--mono)}.login-form input::placeholder{color:var(--c-faint)}.primary-button{width:100%;border:0;background:var(--c-accent);color:var(--c-accent-ink);display:flex;justify-content:space-between;padding:11px 13px;font-size:11px;font-weight:600;margin-top:14px}.primary-button:hover{background:var(--c-accent)}.login-form .form-error{margin:12px 0 0;color:var(--red);min-height:16px;font-size:12px}.login-foot{margin-top:24px;border-top:1px solid var(--c-border);padding-top:18px;color:var(--c-faint);font-size:11px;display:flex;gap:8px;align-items:center}.lock-icon{font-size:18px}@media(min-width:1600px){.workspace{padding:0 40px}.operations-layout{grid-template-columns:minmax(0,1fr) 370px;gap:24px}.metrics{gap:30px}.map-container{height:min(53vh,650px)}.roster-panel{max-height:calc(min(53vh,650px) + 125px)}.bot-card{padding:15px 11px}.bot-name{font-size:12px}.bot-task{font-size:11px}.decision-list{height:203px}.panel-heading h2,.roster-heading h2,.decision-heading h2,.control-heading h2{font-size:15px}}@media(max-width:1200px){.workspace{padding:0 20px}.operations-layout{grid-template-columns:minmax(0,1fr) 290px;gap:15px}.map-layer-controls{gap:7px}.map-layer-controls label{font-size:11px}.metrics{gap:16px}.metric>div{gap:8px}.metric div>span{font-size:11px;max-width:110px}.metric-number{display:none}.panel-heading{padding:15px 13px}.panel-heading h2{font-size:13px}.live-label{display:none}.map-footer{padding:10px 12px}.legend{gap:9px}#map-update{display:none}.header-status{gap:15px}.topbar h1{font-size:24px}.control-heading{display:block}.control-heading .panel-subtitle{margin-top:3px}}@media(max-width:960px){.nav-rail{width:60px}.workspace{margin-left:60px;padding:0 16px}.topbar{height:98px}.topbar h1{font-size:21px}.header-status{gap:12px}.operator-avatar,.header-divider{display:none}.connection-indicator{font-size:12px}.clock-group strong{font-size:13px}.clock-group span{font-size:11px}.operations-layout{grid-template-columns:minmax(0,1fr) 268px;gap:12px}.panel-heading{flex-direction:column;align-items:flex-start;gap:10px}.map-layer-controls{gap:15px}.map-container{min-height:390px;height:50vh}.roster-panel{max-height:calc(50vh + 154px);min-height:544px}.roster-tabs{gap:13px}.roster-tabs button{font-size:11px}.roster-heading{padding-inline:13px}.roster-heading h2{font-size:13px}.roster-search,.roster-tabs{margin-inline:13px}.metric strong{font-size:25px}.metric>div{display:block}.metric div>span{display:block}.metric-label{font-size:11px}.metrics{margin:20px 0}.map-top-strip{left:12px;right:12px}.map-source-status{font-size:11px}.map-tag{font-size:11px}.map-footer{font-size:11px}.legend{gap:8px}}@media(max-width:760px){.nav-rail{width:50px;padding-top:21px;gap:12px}.nav-rail>.brand-mark{width:28px;height:29px;font-size:20px}.rail-divider{width:24px;margin:8px 0 4px}.rail-button{width:34px;height:34px}.rail-button svg{width:18px;height:18px}.rail-button.active:before{left:-8px;top:10px;height:14px}.workspace{margin-left:50px;padding:0 12px}.topbar{height:auto;min-height:98px;padding:19px 0;align-items:flex-start;gap:10px}.topbar .eyebrow{font-size:11px;letter-spacing:.8px}.topbar h1{font-size:19px;margin-top:7px;gap:7px;flex-wrap:wrap}.version-chip{font-size:11px;padding:3px 5px}.header-status{align-items:flex-end;flex-direction:column;gap:7px}.clock-group strong{font-size:11px}.clock-group span{display:none}.connection-indicator{font-size:11px;white-space:nowrap}.metrics{grid-template-columns:repeat(2,1fr);gap:17px 14px;padding-bottom:16px;margin:18px 0;border-bottom:1px solid var(--border)}.metric:nth-child(2){border-right:0}.metric>div{display:flex;align-items:center;gap:10px}.metric strong{font-size:25px}.metric div>span{font-size:11px}.metric-label{font-size:11px;letter-spacing:.8px}.operations-layout{grid-template-columns:1fr;gap:15px}.map-panel{grid-row:1}.roster-panel{grid-row:2;min-height:280px;max-height:460px}.control-panel{grid-row:3}.decision-panel{grid-row:4}.panel-heading{flex-direction:row;align-items:center;gap:8px;padding:14px 12px}.panel-heading h2{font-size:12px}.panel-subtitle{font-size:11px}.map-layer-controls{gap:9px}.map-layer-controls label{font-size:11px}.map-container{height:55vh;min-height:360px;max-height:530px}.map-top-strip{top:12px}.map-tag{font-size:11px;letter-spacing:.6px;padding:5px 7px}.map-source-status{font-size:11px;padding:5px}.map-footer{padding:10px}.legend{gap:8px}.legend>span{font-size:11px}.legend-dot{width:4px;height:4px}.map-bottom-strip{left:10px;right:10px;gap:5px}.coordinates{font-size:11px;padding:5px 6px}.coordinates span{margin:0 6px}.map-scale{font-size:11px}.map-zoom{font-size:11px;padding:5px}.map-tools{right:12px;top:55px}.map-tools button{height:28px;width:28px}.roster-heading{padding:15px}.roster-tabs{margin-inline:15px;gap:25px}.roster-tabs button{font-size:12px}.roster-search{margin-inline:15px}.roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:3px;padding-inline:9px}.bot-name{font-size:12px}.bot-status{font-size:11px;max-width:60px}.bot-avatar{height:26px;width:26px}.bot-header{gap:7px}.bot-task{font-size:11px}.bot-bottom{padding-left:0;gap:6px}.bot-source{font-size:11px}.bot-coordinates{padding-left:0;font-size:11px}.bot-name{max-width:140px}.bot-aim{font-size:11px}.control-heading{display:flex;padding-top:15px}.module-row{padding:12px 0}.module-note{font-size:11px}.relation-form input,.relation-form select{font-size:12px}.relation-form{margin-bottom:10px}.command-status{font-size:11px}.decision-list{height:230px}.event-row{grid-template-columns:46px 5px minmax(0,1fr);gap:9px}.event-text{font-size:12px}.page-footer{font-size:11px;flex-wrap:wrap;gap:10px;padding-bottom:16px}.page-footer>span:nth-child(2){display:none}.login-screen{padding:35px 24px;gap:35px;flex-direction:column;align-items:center}.login-intro{min-width:0;width:340px;max-width:100%}.login-intro h1{font-size:45px;letter-spacing:-2px;margin:25px 0 15px}.login-intro>p{font-size:13px}.login-meta{display:none}.login-form{padding:25px}.login-orbit{left:50%;top:20%}}@media(max-width:430px){.workspace{padding:0 9px}.nav-rail{width:44px}.workspace{margin-left:44px}.topbar h1{font-size:17px}.topbar .eyebrow{font-size:11px}.clock-group strong{font-size:11px}.connection-indicator{font-size:11px}.metric div>span{font-size:11px}.metric strong{font-size:22px}.metric>div{gap:6px}.roster-list{grid-template-columns:1fr}.bot-name{max-width:190px}.bot-header{gap:9px}.bot-name{font-size:11px}.bot-status{font-size:11px;max-width:100px}.bot-coordinates,.bot-bottom{padding-left:18px}.map-layer-controls label{font-size:11px;gap:3px}.map-layer-controls{gap:5px}.map-layer-controls input{width:7px;height:7px}.panel-heading h2{font-size:11px}.map-source-status{max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend{gap:6px}.legend>span{font-size:11px}.map-scale{display:none}.decision-heading,.decision-list{padding-inline:13px}.control-heading h2{font-size:13px}}
.relation-list{display:flex;flex-wrap:wrap;gap:4px;margin:8px 17px 0;max-height:60px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent}.relation-chip{font:11px var(--mono);background:var(--c-surface-3);border:1px solid var(--c-border-strong);color:var(--c-accent);padding:3px 5px}.relation-chip.enemies{background:var(--c-surface-3);border-color:var(--c-border-strong);color:var(--c-danger)}.relation-chip:hover{filter:brightness(1.2)}

.war-panel{grid-column:1/-1;padding:24px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:12px;color:var(--c-text)}.war-panel h2{font-size:18px}.war-panel p{font-size:12px;line-height:1.6;color:var(--c-text-2)}.war-form,.war-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0}.war-form strong{min-width:145px;font-size:12px}.war-form input,.war-form select,.war-form button,.war-buttons button{background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border-strong);padding:9px;border-radius:5px;min-width:70px}.war-form input{width:120px}.war-form button,.war-buttons button{cursor:pointer}.war-note{border-top:1px solid var(--c-border);padding-top:12px}@media(max-width:650px){.war-form strong{width:100%}.war-panel{padding:15px}}

/* Map-based army management */
[hidden]{display:none!important}.control-tabs{grid-column:1/-1;display:flex;gap:8px;position:sticky;top:0;z-index:8;padding:12px;background:color-mix(in srgb,var(--c-surface) 91%,transparent);border:1px solid var(--c-border);border-radius:10px}.control-tabs button[aria-pressed=true]{background:var(--c-border-strong);color:var(--c-accent);border-color:var(--c-accent)}.management-panel{grid-column:1/-1;scroll-margin-top:80px}.management-panel p{line-height:1.6;color:var(--c-text-2)}.management-panel h3{margin-top:26px}.war-form{align-items:end}.war-form label{display:flex;flex-direction:column;gap:8px;min-width:150px;font-size:12px;color:var(--c-text-2)}.war-form textarea{width:min(600px,100%);min-height:76px}.management-panel input,.management-panel textarea,.management-panel select,.map-command-tools input,.map-command-tools select,.map-inspector input,.map-inspector textarea{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:5px;padding:10px;font:inherit}.management-panel button,.map-command-tools button,.map-inspector button{background:var(--c-surface-3);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:5px;padding:9px 13px;cursor:pointer;font:inherit}.management-panel button:hover,.map-inspector button:hover{background:var(--c-border-strong)}.management-panel details{padding:14px;border:1px solid var(--c-border);border-radius:8px;margin-top:16px}.management-panel summary{cursor:pointer;font-weight:600}.plan-card{background:var(--c-surface);border-left:3px solid var(--c-accent);padding:16px;margin:18px 0}.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:9px;max-height:330px;overflow:auto;margin:15px 0}.account-grid label{display:flex;align-items:center;gap:9px;font-size:12px;padding:9px;background:var(--c-surface);border-radius:4px}.map-command-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px;border-bottom:1px solid var(--c-border)}.map-command-tools label{display:flex;align-items:center;gap:8px;font-size:12px}.map-command-tools span{font-size:12px;color:var(--c-text-2);flex:1;min-width:150px}.map-inspector{position:absolute;right:14px;top:65px;bottom:60px;width:min(390px,calc(100% - 28px));overflow:auto;z-index:7;background:color-mix(in srgb,var(--c-surface) 96%,transparent);border:1px solid var(--c-faint);border-radius:10px;box-shadow:0 15px 45px #0009;padding:20px}.map-inspector h3{padding-right:24px;margin:0 0 12px}.map-inspector p{color:var(--c-text-2);font-size:12px;line-height:1.5}.map-inspector pre{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--c-text-2);font-size:11px}.map-inspector label{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.map-inspector textarea{width:100%;min-height:80px;margin:12px 0;box-sizing:border-box}.map-inspector .inspector-close{position:absolute;right:10px;top:9px;padding:4px 10px}.map-inspector .war-buttons{gap:6px}.map-inspector .war-buttons button{font-size:11px;padding:7px}.resident-list{display:grid;gap:6px;max-height:240px;overflow:auto}.resident-list>div{display:flex;gap:5px}.resident-list button{font-size:11px;padding:6px}.resident-list button:first-child{flex:1;text-align:left;font-family:monospace}.map-inspector form>button{width:100%}.map-container{min-height:520px}.command-status{white-space:pre-wrap}.management-panel .war-form>strong{min-width:100px}
@media(max-width:700px){.control-tabs{position:static;overflow:auto}.control-tabs button{white-space:nowrap}.war-form label{width:100%}.war-form textarea{width:100%}.map-container{min-height:570px}.map-command-tools{align-items:stretch}.map-command-tools label{width:100%}.map-command-tools input{min-width:0;flex:1}}
.track-card{padding:15px;margin:12px 0;background:var(--c-surface-2);border:1px solid color-mix(in srgb,var(--c-danger) 69%,var(--c-border));border-left:3px solid var(--c-danger);border-radius:7px}.track-card button{margin-right:8px}.enemy-alert{white-space:nowrap}.enemy-alert.alert{background:color-mix(in srgb,var(--c-danger) 60%,var(--c-surface))!important;color:var(--c-danger)!important;border-color:var(--c-danger)!important}.control-tabs{flex-wrap:wrap}
.control-tabs button{background:var(--c-surface-3);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:5px;padding:10px 14px;cursor:pointer;font:inherit;font-size:12px}.command-status{position:fixed;bottom:22px;right:24px;z-index:30;max-width:min(460px,calc(100vw - 40px));background:var(--c-surface-3);border:1px solid var(--c-faint);border-radius:8px;box-shadow:0 8px 28px #0008;padding:14px 18px;pointer-events:none}.command-status:empty{display:none}

.weapon-reload-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:18px 0}.weapon-reload-control label{display:flex;align-items:center;gap:9px;font-size:12px}.weapon-reload-control input[type=checkbox]{width:16px;height:16px;min-width:0;margin:0;padding:0}.weapon-reload-control span{flex-basis:100%;color:var(--muted);font-size:12px}
/* Owner map editor */
.map-editor{padding:18px;background:var(--c-surface);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.map-editor h3,.map-editor h4{margin:0}.map-editor p{margin:6px 0;color:var(--c-text-2);font-size:12px}.map-editor-heading,.map-editor-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.map-editor-heading button{font-size:20px;padding:3px 12px}.map-editor button,.map-editor select,.map-editor input,.map-editor textarea{background:var(--c-surface-2);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:5px;padding:8px;font:inherit}.map-editor button{cursor:pointer}.map-editor button:disabled{opacity:.5}.map-editor-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.map-editor-tools button{border-left:3px solid var(--marker-color);text-align:left;font-size:12px}.map-editor-tools button[aria-pressed=true]{background:var(--c-surface-3);border-color:var(--c-accent)}.map-editor-mode{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:12px 0}.map-editor-mode label{display:flex;align-items:center;gap:8px}.map-marker-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;margin:16px 0;border:1px solid var(--c-border-strong);border-radius:8px;background:var(--c-surface-2)}.map-marker-form>h4,.map-marker-form>p,.map-marker-form>.marker-notes,.map-marker-form>.war-buttons{grid-column:1/-1}.map-marker-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:0}.map-marker-form input,.map-marker-form select,.map-marker-form textarea{width:100%;min-width:0}.map-marker-form .marker-availability{grid-column:1/-1;flex-direction:row;align-items:center}.map-marker-form .marker-availability input{width:16px;height:16px;margin:0}.map-marker-form .war-buttons{margin:0}.map-editor-list-heading{margin-top:18px;font-size:12px;color:var(--c-text-2)}.map-marker-list{display:grid;gap:8px;max-height:360px;overflow:auto;margin-top:10px}.map-marker-row{border:1px solid var(--c-border-strong);border-left:3px solid var(--marker-color);padding:12px;border-radius:5px}.map-marker-row strong,.map-marker-row span{display:block}.map-marker-row span{font:11px var(--mono);color:var(--c-text-2);margin-top:4px}.map-marker-row .war-buttons{margin:8px 0 0;gap:6px}.map-marker-row button{font-size:11px;padding:6px 9px}.map-editing{cursor:crosshair!important}#sensor-map-note{color:var(--c-accent);font-size:12px}.map-footer{flex-wrap:wrap;gap:8px}@media(max-width:650px){.map-editor-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.map-marker-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.map-editor-heading{align-items:start}.map-editor-mode{align-items:stretch}.map-editor-mode label{flex-direction:column;align-items:stretch;flex:1}}

.map-marker-form .marker-name{grid-column:span 2}@media(max-width:650px){.map-marker-form .marker-name{grid-column:1/-1}}

/* Country conflicts and civil sides are independent from the running campaign. */
.politics-panel{margin-top:24px;border-top:1px solid var(--border,var(--c-border));padding-top:18px}
.politics-panel h3,.politics-panel h4{margin:12px 0}.politics-panel p{line-height:1.55;color:var(--c-text-2);font-size:13px}
.politics-row{display:flex;gap:16px;align-items:center;justify-content:space-between;border:1px solid var(--c-border);padding:12px;margin:8px 0;border-radius:6px}
.politics-row strong,.politics-row span{display:block}.politics-row span{font-size:12px;color:var(--c-text-2);margin-top:6px}.politics-panel details{margin:16px 0}.politics-panel summary{cursor:pointer}.civil-form label{flex:1 1 220px}.civil-form textarea,.faction-form textarea{min-height:72px;min-width:220px;max-width:100%}
@media(max-width:650px){.politics-row{align-items:stretch;flex-direction:column}.civil-form label,.faction-form textarea{width:100%;min-width:0}}

.player-link-card{margin-top:20px}.player-link-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.player-link-forms form{display:grid;gap:12px;align-content:start}.player-link-forms label{display:grid;gap:6px}.player-link-forms input,.player-link-forms select,.player-link-forms textarea{max-width:100%;box-sizing:border-box}.player-link-card output{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0}.pl-player{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--c-text-2) 7%,transparent);padding:10px 0}@media(max-width:900px){.player-link-forms{grid-template-columns:1fr}}
