:root{--bg-deep:#060a0f;--bg-panel:#0a1018;--bg-panel-hover:#0f1820;--border-dim:#1a2a3a;--border-active:#2a4a6a;--cyan:#00d4ff;--cyan-dim:#006680;--cyan-glow:#00d4ff26;--amber:#fa0;--amber-dim:#805500;--red:#f35;--red-dim:#661522;--green:#0f8;--green-dim:#063;--text-primary:#c8d8e8;--text-secondary:#6a8090;--text-muted:#3a5060}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-deep);color:var(--text-primary);min-height:100vh;font-family:Rajdhani,sans-serif;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00d4ff03 2px 4px);position:fixed;inset:0}.corner-bracket{border-color:var(--cyan-dim);border-style:solid;width:12px;height:12px;position:absolute}.corner-bracket.tl{border-width:1px 0 0 1px;top:-1px;left:-1px}.corner-bracket.tr{border-width:1px 1px 0 0;top:-1px;right:-1px}.corner-bracket.bl{border-width:0 0 1px 1px;bottom:-1px;left:-1px}.corner-bracket.br{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.header{border-bottom:1px solid var(--border-dim);background:linear-gradient(#00d4ff0a 0%,#0000 100%);justify-content:space-between;align-items:flex-end;gap:20px;padding:20px 30px 12px;display:flex}.header-left{align-items:flex-end;gap:20px;display:flex}.logo-text{letter-spacing:6px;color:var(--cyan);text-shadow:0 0 20px #00d4ff4d;font-family:Orbitron,sans-serif;font-size:20px;font-weight:900;line-height:1}.logo-sub{color:var(--text-secondary);letter-spacing:2px;padding-bottom:2px;font-family:Share Tech Mono,monospace;font-size:11px}.status-bar{color:var(--text-secondary);align-items:center;gap:20px;font-family:Share Tech Mono,monospace;font-size:11px;display:flex}.status-dot{background:var(--green);width:6px;height:6px;box-shadow:0 0 8px var(--green);border-radius:50%;margin-right:6px;animation:2s infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse-reffed{0%,to{opacity:.3}50%{opacity:.8}}.dashboard{grid-template-columns:1fr 1fr;gap:16px;max-width:1600px;margin:0 auto;padding:20px 30px;display:grid}@media (width>=1400px){.dashboard{max-width:2000px}}.panel{background:var(--bg-panel);border:1px solid var(--border-dim);padding:16px;transition:border-color .3s;position:relative}.panel:hover{border-color:var(--border-active)}.panel-wide{grid-column:1/-1}.panel-pair{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.panel-pair .panel-wide{grid-column:span 1}@media (width<=700px){.panel-pair{grid-template-columns:1fr}.panel-pair .panel-wide{grid-column:1}}.panel-header{border-bottom:1px solid var(--border-dim);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:8px;display:flex}.panel-title{letter-spacing:3px;color:var(--cyan);text-transform:uppercase;font-family:Orbitron,sans-serif;font-size:11px;font-weight:500}.panel-badge{color:var(--text-muted);border:1px solid var(--border-dim);background:#00d4ff0d;padding:2px 8px;font-family:Share Tech Mono,monospace;font-size:10px}.summary-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.summary-card{border:1px solid var(--border-dim);text-align:center;background:#00d4ff08;padding:14px 16px;position:relative}.summary-card:before{content:"";background:var(--cyan-dim);height:2px;position:absolute;top:0;left:0;right:0}.summary-label{letter-spacing:2px;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px;font-family:Share Tech Mono,monospace;font-size:9px}.summary-value{color:var(--cyan);text-shadow:0 0 15px #00d4ff33;font-family:Orbitron,sans-serif;font-size:28px;font-weight:700;line-height:1}.summary-value.warn{color:var(--amber);text-shadow:0 0 15px #fa03}.summary-value.danger{color:var(--red);text-shadow:0 0 15px #f353}.summary-value.safe{color:var(--green);text-shadow:0 0 15px #0f83}.sys-table{border-collapse:collapse;width:100%;font-family:Share Tech Mono,monospace;font-size:12px}.sys-table thead th{text-align:left;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--border-dim);padding:6px 10px;font-size:10px;font-weight:400}.sys-table tbody tr{cursor:pointer;border-bottom:1px solid #1a2a3a66;transition:background .15s}.sys-table tbody tr:hover{background:var(--bg-panel-hover)}.sys-table tbody tr.selected{border-left:2px solid var(--cyan);background:#00d4ff0f}.sys-table td{white-space:nowrap;padding:8px 10px}.sys-name{color:var(--text-primary);font-weight:600}.sys-name.friendly{color:var(--green)}.sys-name.hostile{color:var(--red)}.sys-name.neutral{color:var(--amber)}.sec-status{opacity:.7;font-size:11px}.stat-num{text-align:right;font-variant-numeric:tabular-nums}.stat-num.high{color:var(--red)}.stat-num.medium{color:var(--amber)}.stat-num.low{color:var(--text-secondary)}.stat-num.none{color:var(--text-muted)}.sov-holder{font-size:11px}.sov-holder.friendly{color:var(--green)}.sov-holder.hostile{color:var(--red)}.sov-holder.neutral{color:var(--amber)}.activity-bar-container{align-items:center;gap:6px;display:flex}.activity-bar{background:var(--border-dim);flex:1;height:4px;position:relative;overflow:hidden}.activity-bar-fill{height:100%;transition:width .5s}.activity-bar-fill.npc{background:var(--cyan)}.activity-bar-fill.pvp{background:var(--red)}.activity-bar-fill.jumps{background:var(--amber)}.campaign-alert{border:1px solid var(--red-dim);background:#ff33550d;align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;animation:3s infinite alert-flash;display:flex}.campaign-entry-compact{border:1px solid var(--border-dim);background:#00050a4d;align-items:center;gap:12px;margin-bottom:2px;padding:5px 12px;font-family:Share Tech Mono,monospace;transition:transform .2s,border-color .2s;display:flex;position:relative}.campaign-entry-compact:hover{border-color:var(--border-active);transform:translate(2px)}.campaign-entry-compact.lawn{border-left:3px solid var(--amber);background:#ffaa000f}.campaign-entry-compact.lawn.active{border-left:3px solid var(--red);background:#ff33551a;animation:2s infinite alert-flash-border;box-shadow:inset 4px 0 10px #ff33550d}.campaign-badge-lawn{background:var(--amber);color:#000;letter-spacing:1px;border-radius:1px;padding:1px 4px;font-family:Orbitron,sans-serif;font-size:8px;font-weight:800}.campaign-badge-red{background:var(--red);color:#fff;letter-spacing:1px;border-radius:1px;padding:1px 4px;font-family:Orbitron,sans-serif;font-size:8px;font-weight:800}@keyframes alert-flash-border{0%,to{border-left-color:var(--red-dim)}50%{border-left-color:var(--red)}}@keyframes alert-flash{0%,to{border-color:var(--red-dim)}50%{border-color:var(--red)}}.campaign-type{color:var(--red);letter-spacing:2px;text-transform:uppercase;white-space:nowrap;font-family:Orbitron,sans-serif;font-size:10px}.campaign-detail{color:var(--text-primary);font-family:Share Tech Mono,monospace;font-size:12px}.const-tabs{gap:2px;margin-bottom:14px;display:flex}.const-tab{letter-spacing:2px;border:1px solid var(--border-dim);color:var(--text-secondary);cursor:pointer;background:0 0;padding:6px 16px;font-family:Orbitron,sans-serif;font-size:10px;transition:all .2s}.const-tab:hover{border-color:var(--border-active);color:var(--text-primary)}.const-tab.active{border-color:var(--cyan-dim);color:var(--cyan);background:#00d4ff14}.loading{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:60vh;display:flex}.loading-spinner{border:2px solid var(--border-dim);border-top-color:var(--cyan);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-muted);letter-spacing:2px;font-family:Share Tech Mono,monospace;font-size:12px}.error-panel{border:1px solid var(--red-dim);text-align:center;background:#ff33550d;margin:30px;padding:20px}.error-panel h3{color:var(--red);letter-spacing:3px;margin-bottom:8px;font-family:Orbitron,sans-serif;font-size:13px}.error-panel p{color:var(--text-secondary);font-family:Share Tech Mono,monospace;font-size:12px}.refresh-btn{letter-spacing:1px;border:1px solid var(--border-dim);color:var(--text-secondary);cursor:pointer;background:0 0;padding:4px 12px;font-family:Share Tech Mono,monospace;font-size:10px;transition:all .2s}.refresh-btn:hover{border-color:var(--cyan-dim);color:var(--cyan)}.map-mode-toggle{letter-spacing:1px;gap:0;font-family:Orbitron,sans-serif;font-size:9px;display:flex}.map-mode-btn{border:1px solid var(--border-dim);color:var(--text-muted);cursor:pointer;text-transform:uppercase;background:0 0;padding:4px 12px;transition:all .2s}.map-mode-btn:first-child{border-radius:3px 0 0 3px}.map-mode-btn:last-child{border-left:none;border-radius:0 3px 3px 0}.map-mode-btn.active{border-color:var(--cyan-dim);color:var(--cyan);background:#00d4ff1a}.map-mode-btn:hover:not(.active){border-color:var(--border-active);color:var(--text-secondary)}.region-picker{background:var(--panel-bg,#0a1018);border:1px solid var(--border-dim);color:var(--cyan);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:3px;padding:4px 8px;font-family:Orbitron,sans-serif;font-size:9px;transition:all .2s}.region-picker:hover{border-color:var(--border-active)}.region-picker:focus{border-color:var(--cyan-dim);outline:none}.map-container{border:1px solid var(--border-dim);background:#00050a99;width:100%;position:relative;overflow:hidden}.map-container svg{width:100%;height:auto;display:block}.map-legend{color:var(--text-muted);flex-wrap:wrap;gap:20px;margin-top:10px;font-family:Share Tech Mono,monospace;font-size:10px;display:flex}.map-legend-item{align-items:center;gap:6px;display:flex}.map-legend-dot{border-radius:1px;width:8px;height:8px}.map-tooltip{background:var(--bg-deep);border:1px solid var(--border-active);color:var(--text-primary);pointer-events:none;z-index:10000;opacity:0;min-width:180px;padding:10px 14px;font-family:Share Tech Mono,monospace;font-size:11px;transition:opacity .15s;position:fixed}.map-tooltip.visible{opacity:1}.map-tooltip-name{letter-spacing:2px;margin-bottom:6px;font-family:Orbitron,sans-serif;font-size:12px}.map-tooltip-row{justify-content:space-between;gap:16px;padding:2px 0;display:flex}.map-tooltip-label{color:var(--text-muted)}.upgrade-badges{border-top:1px solid #6a809033;flex-wrap:wrap;gap:3px;margin-top:6px;padding-top:6px;display:flex}.upgrade-badge{letter-spacing:.5px;white-space:nowrap;border-radius:2px;align-items:center;gap:2px;padding:1px 4px;font-family:Share Tech Mono,monospace;font-size:9px;font-weight:700;display:inline-flex}.upgrade-badge.military{color:#f67;background:#ff335526;border:1px solid #f356}.upgrade-badge.industry{color:#0f8;background:#00ff881a;border:1px solid #00ff884d}.upgrade-badge.strategic{color:#00d4ff;background:#00d4ff1a;border:1px solid #00d4ff4d}.upgrade-category-label{letter-spacing:1px;text-transform:uppercase;margin-top:4px;margin-bottom:1px;font-family:Share Tech Mono,monospace;font-size:8px}.kill-feed{scrollbar-width:thin;scrollbar-color:var(--border-dim) transparent;max-height:480px;overflow-y:auto}.kill-feed::-webkit-scrollbar{width:4px}.kill-feed::-webkit-scrollbar-thumb{background:var(--border-dim)}.kill-entry{border-bottom:1px solid #1a2a3a66;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;padding:8px 10px;transition:background .15s;display:grid}.kill-entry:hover{background:var(--bg-panel-hover)}.kill-entry.in-lawn{border-left:2px solid var(--red)}.kill-time{color:var(--text-muted);text-align:center;font-family:Share Tech Mono,monospace;font-size:10px;line-height:1.3}.kill-details{min-width:0}.kill-ship{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-family:Share Tech Mono,monospace;font-size:12px;overflow:hidden}.kill-parties{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-family:Rajdhani,sans-serif;font-size:11px;overflow:hidden}.kill-system{white-space:nowrap;border-radius:2px;padding:1px 5px;font-family:Share Tech Mono,monospace;font-size:10px}.kill-system.lawn{color:var(--red);background:#ff33551f;border:1px solid #ff33554d}.kill-system.region{color:var(--text-muted);border:1px solid var(--border-dim);background:#00d4ff0f}.kill-value{text-align:right;white-space:nowrap;font-family:Share Tech Mono,monospace;font-size:11px}.kill-value.high{color:var(--amber)}.kill-value.medium{color:var(--text-secondary)}.kill-value.low{color:var(--text-muted)}.kill-npc-tag{color:var(--text-muted);border:1px solid var(--border-dim);background:#6a80901a;border-radius:2px;margin-left:4px;padding:0 4px;font-size:9px}.table-scroll-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.mobile-nav{background:var(--bg-panel);border-top:1px solid var(--border-dim);z-index:1000;height:52px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-tab{color:var(--text-muted);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px 0;font-family:Orbitron,sans-serif;font-size:7px;transition:color .2s;display:flex}.mobile-nav-tab.active{color:var(--cyan)}.mobile-nav-tab:active{background:#00d4ff0d}.mobile-nav-icon{font-size:18px;line-height:1}.mobile-nav-label{font-size:7px}.map-reset-btn{letter-spacing:1px;border:1px solid var(--cyan-dim);color:var(--cyan);cursor:pointer;z-index:10;background:#000000b3;padding:4px 10px;font-family:Share Tech Mono,monospace;font-size:10px;transition:all .2s;position:absolute;bottom:8px;right:8px}.map-reset-btn:active{background:#00d4ff1a}@media (width<=900px){.dashboard{grid-template-columns:1fr;padding:12px}.header{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.panel-wide{grid-column:1}}@media (width<=640px){.dashboard{gap:8px;padding:8px 8px 64px}.header{flex-direction:row;align-items:center;gap:8px;padding:8px 10px}.logo-text{letter-spacing:2px;font-size:13px}.logo-sub{display:none}.status-bar{gap:8px;font-size:10px}.panel{margin:0}.panel-header{margin-bottom:10px;padding:6px 10px}.panel-header h2,.panel-title{letter-spacing:2px;font-size:10px}.summary-row{grid-template-columns:repeat(3,1fr);gap:6px}.summary-card{padding:8px 6px}.summary-value{font-size:20px}.summary-label{letter-spacing:1px;font-size:8px}.kill-feed{max-height:60vh}.mobile-nav{display:flex}.const-tabs{flex-wrap:wrap;gap:4px}.const-tab{letter-spacing:1px;padding:4px 10px;font-size:9px}}.entosis-body{grid-template-columns:minmax(0,1fr) minmax(340px,420px)}@media (width<=1000px){.entosis-body{grid-template-columns:1fr}}
