/* ═══════════════════════════════════════════════════════════════════
   INFRANET — Global Data Infrastructure Intelligence
   Mission-Operations / Intelligence-Agency visual identity
   ═══════════════════════════════════════════════════════════════════ */

:root{
  /* Core palette — deep black ops */
  --wm-bg:        #04060a;
  --wm-bg-2:      #070a10;
  --wm-bg-3:      #0b0f17;
  --wm-panel:     #0a0e15;
  --wm-panel-2:   #0d121b;
  --wm-border:    #162130;
  --wm-border-2:  #1f3048;
  --wm-border-hot:#3a5a88;

  --wm-text:      #d7e4f2;
  --wm-text-dim:  #7d92ad;
  --wm-text-faint:#4a5a72;

  /* Accents — amber primary, cyan secondary */
  --wm-accent:    #ffb347;   /* amber */
  --wm-accent-2:  #ffd580;
  --wm-cyan:      #00e5ff;
  --wm-cyan-dim:  #0aa6bf;
  --wm-red:       #ff3a4e;
  --wm-red-glow:  rgba(255,58,78,.55);
  --wm-green:     #2ee89a;
  --wm-amber:     #ffb347;
  --wm-blue:      #6aa8ff;

  --wm-glow-amber: 0 0 12px rgba(255,179,71,.55), 0 0 24px rgba(255,179,71,.22);
  --wm-glow-cyan:  0 0 10px rgba(0,229,255,.55),  0 0 22px rgba(0,229,255,.18);
  --wm-glow-red:   0 0 10px rgba(255,58,78,.6),   0 0 24px rgba(255,58,78,.25);

  --wm-scanline: repeating-linear-gradient(
      0deg,
      rgba(255,255,255,0.015) 0px,
      rgba(255,255,255,0.015) 1px,
      transparent 1px,
      transparent 3px);
}

/* ─────────── Reset / Base ─────────── */
*{box-sizing:border-box}
html,body{
  margin:0;
  /* Don't set fixed `height: 100%` or we'd clamp the body to viewport and
     break document-level scrolling on mobile. The flex column on #app
     already enforces `min-height: 100vh` for sticky-footer style. */
  background:
    radial-gradient(ellipse at 30% 10%, rgba(255,179,71,0.035), transparent 55%),
    radial-gradient(ellipse at 85% 90%, rgba(0,229,255,0.03), transparent 55%),
    var(--wm-bg);
  color:var(--wm-text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:12.5px;line-height:1.4;
  -webkit-font-smoothing:antialiased;
  /* `clip` avoids promoting overflow-y to auto (which `hidden` does),
     keeping the document scroll intact. */
  overflow-x:clip;
}
/* NOTE: global scanline + grid overlays removed — mix-blend-mode across
   the entire viewport was forcing a full repaint of every frame. The
   faint radial backdrop above is enough atmosphere without the GPU cost. */
.mono{font-family:'Share Tech Mono','JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em}
button,input{font-family:inherit}
::selection{background:rgba(255,179,71,.3);color:#fff}

/* ─────────── Scrollbars ─────────── */
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:rgba(10,14,21,.6)}
*::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--wm-accent),#8c5a15);
  border-radius:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4);
}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffd580,var(--wm-accent))}
*::-webkit-scrollbar-corner{background:transparent}

#app{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}

/* ─────────── Top operational banner ─────────── */
.wm-pro-banner{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(90deg,#050811 0%,#0a1624 50%,#050811 100%);
  border-bottom:1px solid rgba(255,179,71,.28);
  color:var(--wm-text-dim);font-size:11px;letter-spacing:.08em;
  padding:6px 16px;position:relative;
  text-transform:uppercase;font-family:'Share Tech Mono',monospace;
}
.wm-pro-banner .tag{
  color:var(--wm-accent);border:1px solid rgba(255,179,71,.45);
  padding:2px 8px;font-size:10px;letter-spacing:.2em;
  font-family:'Share Tech Mono',monospace;
  box-shadow:inset 0 0 12px rgba(255,179,71,.12);
}
.wm-pro-banner strong{color:var(--wm-accent);font-weight:500;text-transform:uppercase}
.wm-pro-close{position:absolute;right:10px;background:transparent;border:none;color:var(--wm-text-dim);cursor:pointer;font-size:14px}
.wm-pro-close:hover{color:var(--wm-accent)}

/* ─────────── Top bar (compact) ─────────── */
.wm-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:5px 14px;
  background:linear-gradient(180deg,#080c14 0%,#050810 100%);
  border-bottom:1px solid var(--wm-border-2);
  position:sticky;top:0;z-index:60;
  box-shadow:0 1px 0 rgba(255,179,71,.1), 0 0 40px rgba(0,0,0,.6);
  min-height:38px;
}
.wm-topbar::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--wm-accent) 20%,var(--wm-accent) 80%,transparent);
  opacity:.35;
}
.wm-topbar-left,.wm-topbar-right{display:flex;align-items:center;gap:6px}
.wm-brand-icon{
  display:inline-flex;align-items:center;justify-content:center;
  padding:4px 8px;border:1px solid var(--wm-border-2);
  background:rgba(255,179,71,.03);
  color:var(--wm-accent);
}
.wm-brand{
  display:inline-flex;align-items:center;gap:6px;color:var(--wm-text);
  letter-spacing:.24em;font-weight:700;font-size:11px;
  text-decoration:none;font-family:'Orbitron',sans-serif;
  padding:4px 10px;border:1px solid var(--wm-border-2);
  background:rgba(255,179,71,.03);
  transition:all .2s ease;
}
.wm-brand:hover{color:var(--wm-accent);border-color:var(--wm-accent);box-shadow:var(--wm-glow-amber)}
.wm-dot-green{
  width:7px;height:7px;border-radius:50%;background:var(--wm-green);
  box-shadow:0 0 10px var(--wm-green),0 0 20px var(--wm-green);
  animation:wm-pulse 1.6s ease-in-out infinite;
}
@keyframes wm-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}

.wm-live-pill{
  color:var(--wm-green) !important;
  border-color:rgba(46,232,154,.32) !important;
  background:linear-gradient(180deg,rgba(46,232,154,.08),rgba(46,232,154,.02)) !important;
  letter-spacing:.22em !important;
}
.wm-topbar-updated{
  font-size:9.5px;
  letter-spacing:.08em;
  color:var(--wm-text-faint);
  font-family:'Share Tech Mono',monospace;
  padding:0 4px;
  opacity:.7;
}

.wm-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 8px;border:1px solid var(--wm-border-2);
  background:linear-gradient(180deg,rgba(15,23,35,.9),rgba(10,14,21,.9));
  color:var(--wm-text-dim);font-size:10px;letter-spacing:.11em;
  font-family:'Share Tech Mono',monospace;text-transform:uppercase;
  clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);
}
.wm-defcon{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 10px;
  background:linear-gradient(180deg,rgba(255,179,71,.08),rgba(255,179,71,.02));
  border:1px solid rgba(255,179,71,.4);
  color:var(--wm-accent);
  font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;
  clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);
}
.wm-defcon.critical{
  border-color:rgba(255,58,78,.6);color:var(--wm-red);
  background:linear-gradient(180deg,rgba(255,58,78,.1),rgba(255,58,78,.02));
  animation:alarm 1.4s ease-in-out infinite;
}
@keyframes alarm{0%,100%{box-shadow:none}50%{box-shadow:var(--wm-glow-red)}}
.wm-defcon .lvl{color:var(--wm-accent);font-weight:700}
.wm-defcon.critical .lvl{color:var(--wm-red)}
.wm-defcon .pct{color:var(--wm-text-dim);font-weight:700}
.wm-defcon.critical .pct{color:var(--wm-red)}

.wm-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;
  background:linear-gradient(180deg,rgba(15,23,35,.9),rgba(10,14,21,.9));
  color:var(--wm-text);
  border:1px solid var(--wm-border-2);
  font-size:11px;letter-spacing:.1em;
  font-family:'Share Tech Mono',monospace;text-transform:uppercase;
  cursor:pointer;transition:all .2s ease;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.wm-btn:hover{border-color:var(--wm-accent);color:var(--wm-accent);box-shadow:var(--wm-glow-amber)}
.wm-btn-compact{ padding:4px 10px; font-size:10px; letter-spacing:.12em; gap:4px; }

.wm-search-bar{
  display:flex;align-items:center;gap:5px;
  padding:3px 10px;
  background:rgba(10,14,21,.8);
  border:1px solid var(--wm-border-2);
  min-width: 220px;
  max-width: 280px;
}
.wm-search-bar input{
  background:transparent; border:none; outline:none;
  color:var(--wm-text); font-family:'JetBrains Mono',monospace;
  font-size:11px; letter-spacing:.02em; width:100%;
}
.wm-search-bar input::placeholder{ color:var(--wm-text-faint); font-size:10.5px; }
.wm-search-bar:focus-within{ border-color:var(--wm-accent); box-shadow: var(--wm-glow-amber) }

/* ─────────── Threat Board hero strip ─────────── */
.wm-threat{
  display:flex;align-items:stretch;gap:0;
  background:linear-gradient(180deg,#060a12 0%,#050810 100%);
  border-bottom:1px solid var(--wm-border-2);
  position:relative;z-index:15;
  min-height:78px;
}
.wm-threat::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--wm-red) 15%,var(--wm-accent) 50%,var(--wm-cyan) 85%,transparent);
  opacity:.45;
}
.wm-threat-label{
  display:flex;flex-direction:column;justify-content:center;gap:3px;
  padding:12px 20px;min-width:170px;
  border-right:1px solid var(--wm-border-2);
  background:linear-gradient(180deg,rgba(255,58,78,.05),transparent);
  position:relative;
}
.wm-threat-label::before{
  content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;
  background:var(--wm-red);box-shadow:var(--wm-glow-red);
}
.wm-threat-label .lv{
  font-family:'Orbitron',sans-serif;color:var(--wm-red);
  font-size:12px;letter-spacing:.28em;font-weight:700;text-transform:uppercase;
  text-shadow:0 0 10px var(--wm-red-glow);
}
.wm-threat-label .sub{
  font-family:'Share Tech Mono',monospace;color:var(--wm-text-faint);
  font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
}
.wm-threat-cards{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;
  flex:1;background:var(--wm-border-2);
}
.wm-threat-empty{
  grid-column:1 / -1;display:flex;align-items:center;justify-content:center;
  background:var(--wm-bg);color:var(--wm-text-faint);
  font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
}
.wm-tc{
  background:var(--wm-bg);position:relative;padding:10px 14px 10px 16px;
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 12px;
  align-items:center;cursor:pointer;transition:background .15s ease;
  overflow:hidden;
}
.wm-tc::before{
  /* provider color accent bar */
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tc-color, var(--wm-accent));
  box-shadow:0 0 10px var(--tc-color, var(--wm-accent));
}
.wm-tc:hover{background:rgba(255,179,71,.03)}
.wm-tc-name{
  grid-column:1 / -1;
  font-family:'Orbitron',sans-serif;color:var(--wm-text);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.wm-tc-big{
  grid-row:2;grid-column:1;
  font-family:'Share Tech Mono',monospace;color:var(--tc-color, var(--wm-accent));
  font-size:26px;font-weight:700;line-height:1;
  text-shadow:0 0 12px var(--tc-color-glow, rgba(255,179,71,.35));
  display:flex;align-items:center;gap:6px;
}
.wm-tc-big .trend{font-size:13px;font-weight:700}
.wm-tc-big .trend.up{color:var(--wm-red);text-shadow:0 0 8px var(--wm-red-glow)}
.wm-tc-big .trend.down{color:var(--wm-green);text-shadow:0 0 8px rgba(46,232,154,.35)}
.wm-tc-big .trend.flat{color:var(--wm-text-faint);text-shadow:none}
.wm-tc-meta{
  grid-row:2;grid-column:2;
  display:flex;flex-direction:column;gap:2px;min-width:0;
}
.wm-tc-spark{height:26px;width:100%;overflow:visible}
.wm-tc-spark path{stroke:var(--tc-color, var(--wm-accent));stroke-width:1.4;fill:none;stroke-linejoin:round;stroke-linecap:round}
.wm-tc-spark .fill{fill:var(--tc-color, var(--wm-accent));opacity:.14;stroke:none}
.wm-tc-sub{
  font-family:'Share Tech Mono',monospace;color:var(--wm-text-faint);
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.wm-tc-sub .hot{color:var(--wm-red);margin-left:4px}
.wm-tc.hot{background:linear-gradient(90deg,rgba(255,58,78,.07),transparent 60%)}
.wm-tc.hot::before{background:var(--wm-red);box-shadow:var(--wm-glow-red)}

@media (max-width:1280px){
  .wm-threat-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wm-tc:nth-child(n+4){display:none}
}
@media (max-width:860px){
  .wm-threat{flex-direction:column}
  .wm-threat-label{border-right:none;border-bottom:1px solid var(--wm-border-2)}
  /* .wm-threat-cards columns + visibility handled in the full mobile block below */
}

/* ─────────── Main grid ─────────── */
.wm-main{
  display:grid;grid-template-columns:280px 1fr 400px;
  min-height:calc(100vh - 186px);gap:0;
}
.wm-col{display:flex;flex-direction:column;min-width:0;position:relative}

/* Universal corner-bracket treatment on panels */
.wm-section-header,.wm-panel-header,.wm-map-header{position:relative}

.wm-section-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;
  background:linear-gradient(90deg,rgba(255,179,71,.05),transparent);
  border-bottom:1px solid var(--wm-border-2);
  font-family:'Orbitron',sans-serif;
  font-size:10.5px;letter-spacing:.24em;color:var(--wm-accent);
  text-transform:uppercase;font-weight:600;
}
.wm-section-header span:last-child{color:var(--wm-text-dim);font-weight:400;font-family:'Share Tech Mono',monospace;letter-spacing:.1em}
.wm-section-header::before{
  content:'';position:absolute;left:8px;top:50%;width:3px;height:14px;transform:translateY(-50%);
  background:var(--wm-accent);box-shadow:var(--wm-glow-amber);
}
.wm-section-header{padding-left:20px}

/* ─────────── Providers sidebar ─────────── */
.wm-layers{
  background:linear-gradient(180deg,var(--wm-bg-2) 0%,var(--wm-bg) 100%);
  border-right:1px solid var(--wm-border-2);
}
.wm-layers::before{
  content:'';position:absolute;top:0;right:-1px;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,rgba(255,179,71,.4) 30%,rgba(255,179,71,.4) 70%,transparent);
  opacity:.5;
}

.wm-provider-actions{
  display:flex;gap:4px;padding:8px 14px;
  border-bottom:1px solid var(--wm-border);flex-wrap:wrap;
  background:rgba(0,0,0,.3);
}
.wm-mini{
  padding:4px 9px;
  background:rgba(10,14,21,.6);color:var(--wm-text-dim);
  border:1px solid var(--wm-border-2);
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  cursor:pointer;font-family:'Share Tech Mono',monospace;
  transition:all .15s ease;
}
.wm-mini:hover{color:var(--wm-accent);border-color:var(--wm-accent);box-shadow:var(--wm-glow-amber)}

.wm-provider-list{flex:1;overflow-y:auto;background:rgba(0,0,0,.2)}
.wm-prov-row{
  display:flex;align-items:center;gap:10px;padding:8px 14px;
  border-bottom:1px solid rgba(22,33,48,.6);
  cursor:pointer;user-select:none;
  transition:background .15s ease,transform .15s ease;
  position:relative;
}
.wm-prov-row:hover{background:rgba(255,179,71,.05)}
.wm-prov-row:hover::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--wm-accent);box-shadow:var(--wm-glow-amber);
}
.wm-prov-chk{
  width:12px;height:12px;border:1px solid var(--wm-border-hot);background:var(--wm-bg);
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  transition:all .15s ease;
}
.wm-prov-chk.on{background:var(--wm-accent);border-color:var(--wm-accent);box-shadow:var(--wm-glow-amber)}
.wm-prov-chk.on::after{
  content:'';width:6px;height:3px;border-left:2px solid #03060a;border-bottom:2px solid #03060a;
  transform:rotate(-45deg) translate(0,-1px);
}
.wm-prov-swatch{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  box-shadow:0 0 8px currentColor;
}
.wm-prov-name{
  flex:1;color:var(--wm-text);font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;font-family:'Share Tech Mono',monospace;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.wm-prov-count{
  color:var(--wm-text-dim);font-size:10.5px;
  font-family:'Share Tech Mono',monospace;letter-spacing:.05em;
}
.wm-prov-count.degraded{color:var(--wm-amber)}
.wm-prov-count.outage{color:var(--wm-red);text-shadow:0 0 6px var(--wm-red-glow)}
.wm-prov-health{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.wm-prov-health.operational{background:var(--wm-green);box-shadow:0 0 6px var(--wm-green)}
.wm-prov-health.degraded{background:var(--wm-amber);box-shadow:0 0 6px var(--wm-amber)}
.wm-prov-health.outage{background:var(--wm-red);box-shadow:0 0 10px var(--wm-red);animation:wm-pulse 1s ease-in-out infinite}

.wm-foot-brand{
  padding:12px 14px;border-top:1px solid var(--wm-border);
  font-size:10px;color:var(--wm-text-faint);
  font-family:'Share Tech Mono',monospace;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(0,0,0,.3);
}

/* ─────────── Map area ─────────── */
.wm-map-wrap{
  background:var(--wm-bg);
  border-right:1px solid var(--wm-border-2);
  position:relative;
}
.wm-map-header{
  display:flex;align-items:center;justify-content:space-between;padding:10px 16px;
  background:linear-gradient(180deg,rgba(10,14,21,.95),rgba(5,8,16,.9));
  border-bottom:1px solid var(--wm-border-2);
  position:relative;z-index:5;
}
.wm-map-header::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--wm-cyan) 50%,transparent);
  opacity:.35;
}
.wm-map-title{
  font-family:'Orbitron',sans-serif;color:var(--wm-accent);
  letter-spacing:.3em;font-size:11px;text-transform:uppercase;font-weight:600;
  text-shadow:0 0 10px rgba(255,179,71,.4);
}
.wm-map-title::before{
  content:'◈ ';color:var(--wm-cyan);text-shadow:0 0 8px var(--wm-cyan);
}
.wm-map-clock{color:var(--wm-cyan);font-size:11px;letter-spacing:.1em;text-shadow:0 0 8px rgba(0,229,255,.35)}

.wm-23d{display:inline-flex;border:1px solid var(--wm-border-2);overflow:hidden;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}
.wm-23d button{
  padding:4px 12px;background:transparent;color:var(--wm-text-dim);
  border:none;cursor:pointer;font-size:10px;letter-spacing:.18em;
  font-family:'Share Tech Mono',monospace;transition:all .15s ease;
}
.wm-23d button:hover{color:var(--wm-accent)}
.wm-23d button.on{
  background:linear-gradient(180deg,var(--wm-accent),#c27d1a);color:#03060a;font-weight:700;
  text-shadow:none;box-shadow:inset 0 0 12px rgba(255,255,255,.2);
}

.wm-map-area{
  position:relative;flex:1;min-height:520px;
  background:#020309;overflow:hidden;
}
/* Corner brackets on map (no filter — flat render is much cheaper) */
.wm-map-area::after{
  content:'';position:absolute;inset:10px;pointer-events:none;z-index:501;
  background:
    linear-gradient(var(--wm-accent),var(--wm-accent)) top left/16px 1px no-repeat,
    linear-gradient(var(--wm-accent),var(--wm-accent)) top left/1px 16px no-repeat,
    linear-gradient(var(--wm-accent),var(--wm-accent)) top right/16px 1px no-repeat,
    linear-gradient(var(--wm-accent),var(--wm-accent)) top right/1px 16px no-repeat,
    linear-gradient(var(--wm-accent),var(--wm-accent)) bottom left/16px 1px no-repeat,
    linear-gradient(var(--wm-accent),var(--wm-accent)) bottom left/1px 16px no-repeat,
    linear-gradient(var(--wm-accent),var(--wm-accent)) bottom right/16px 1px no-repeat,
    linear-gradient(var(--wm-accent),var(--wm-accent)) bottom right/1px 16px no-repeat;
  opacity:.75;
}

.wm-map-legend{
  position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:14px;
  background:rgba(4,6,10,.92);
  padding:7px 16px;border:1px solid rgba(255,179,71,.3);
  font-size:10.5px;color:var(--wm-text-dim);z-index:600;
  font-family:'Share Tech Mono',monospace;letter-spacing:.08em;text-transform:uppercase;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.wm-map-legend .lg{display:inline-flex;align-items:center;gap:6px}
.wm-map-legend .lg .d{width:7px;height:7px;border-radius:50%;box-shadow:0 0 6px currentColor}

/* ─────────── Map mode (INFRA vs DNS) + DNS toolbar ─────────── */
.wm-mapmode{
  display:inline-flex;border:1px solid var(--wm-border-2);overflow:hidden;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.wm-mapmode button{
  padding:5px 14px;background:rgba(10,14,21,.8);color:var(--wm-text-dim);
  border:none;cursor:pointer;
  font-family:'Orbitron',sans-serif;font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;
  transition:all .15s ease;
}
.wm-mapmode button:hover{color:var(--wm-accent)}
.wm-mapmode button.on{
  background:linear-gradient(180deg,var(--wm-accent),#c27d1a);color:#03060a;
  box-shadow:inset 0 0 12px rgba(255,255,255,.15);
}
.wm-mapmode button#modeDns.on{
  background:linear-gradient(180deg,var(--wm-cyan),#0aa6bf);color:#03060a;
  box-shadow:inset 0 0 12px rgba(255,255,255,.15);
}

.wm-dns-toolbar{display:flex;gap:6px;align-items:stretch}
.wm-dns-toolbar select,
.wm-dns-toolbar input{
  background:rgba(10,14,21,.9);color:var(--wm-text);
  border:1px solid var(--wm-border-2);
  padding:5px 8px;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.04em;
  outline:none;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.wm-dns-toolbar select{width:88px}
.wm-dns-toolbar input{width:240px}
.wm-dns-toolbar input:focus,.wm-dns-toolbar select:focus{border-color:var(--wm-cyan);box-shadow:var(--wm-glow-cyan)}
.wm-dns-toolbar button{
  padding:5px 14px;
  background:linear-gradient(180deg,rgba(0,229,255,.2),rgba(0,229,255,.06));
  color:var(--wm-cyan);border:1px solid rgba(0,229,255,.5);
  font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:.18em;
  font-weight:700;text-transform:uppercase;cursor:pointer;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.wm-dns-toolbar button:hover{background:linear-gradient(180deg,var(--wm-cyan),#0aa6bf);color:#03060a;text-shadow:none}
.wm-dns-toolbar button:disabled{opacity:.5;cursor:not-allowed}
@media (max-width:860px){
  .wm-dns-toolbar input{width:100%;min-width:0;flex:1}
  .wm-dns-toolbar{flex:1 1 100%}
}

.wm-probe-icon{
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Share Tech Mono',monospace;font-size:11px;font-weight:700;
  border:2px solid currentColor;
  background:rgba(4,6,10,.85);
}
.wm-probe-icon.ok      { color:var(--wm-green); box-shadow:0 0 14px rgba(46,232,154,.6) }
.wm-probe-icon.warn    { color:var(--wm-amber); box-shadow:0 0 14px rgba(255,179,71,.6) }
.wm-probe-icon.bad     { color:var(--wm-red);   box-shadow:0 0 14px var(--wm-red-glow) }
.wm-probe-icon.loading { color:var(--wm-cyan);  box-shadow:0 0 14px rgba(0,229,255,.5); animation:wm-pulse 1.2s ease-in-out infinite }
.wm-probe-icon.nxdomain{ color:var(--wm-red);   box-shadow:0 0 14px var(--wm-red-glow) }

/* Server pin (resolved IP location, colored by provider, latency inside) */
.wm-server-icon{
  width:34px;height:22px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(4,6,10,.95),rgba(4,6,10,.85));
  color:var(--c, #00e5ff);
  border:1.5px solid var(--c, #00e5ff);
  box-shadow:0 0 12px var(--c, rgba(0,229,255,.5));
  clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);
}
.wm-server-icon .lat{
  font-family:'Share Tech Mono',monospace;font-size:10px;font-weight:700;
  letter-spacing:.04em;line-height:1;
}

/* Dashed traffic lines from probes to their resolved servers */
.wm-dns-link{
  fill:none;
  stroke-dasharray:2 6;
  animation:arc-flow 70s linear infinite;
}

/* Dim the infrastructure visuals when DNS mode is active so the probe pins
   + server pins dominate. We grey the canvas (where infra dots render) and
   the basemap tiles. The overlay-pane (which holds arcs AND our DNS probe→
   server dashed lines) stays at full color so the network connections pop.
   The marker-pane (probe + server DivIcons) is always untouched. */
.wm-map-area.dns-mode .leaflet-tile-pane{
  filter:grayscale(100%) brightness(.55);
  opacity:.55;
  transition:opacity .25s ease, filter .25s ease;
}
.wm-map-area.dns-mode canvas.leaflet-zoom-animated{
  filter:grayscale(100%) brightness(.5);
  opacity:.28;
  transition:opacity .25s ease, filter .25s ease;
}
/* Dim the arcs too (they carry brand color that competes with our cyan probes). */
.wm-map-area.dns-mode .wm-arc{
  stroke:#4a5a72 !important;
  opacity:.25;
}
.wm-map-area.dns-mode .wm-radar{opacity:.1}

.wm-dns-summary{
  position:absolute;top:12px;left:50%;transform:translateX(-50%);
  z-index:600;padding:8px 16px;
  background:rgba(4,6,10,.92);border:1px solid rgba(0,229,255,.45);
  font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.1em;
  color:var(--wm-text);text-transform:uppercase;
  display:none;gap:14px;align-items:center;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  max-width:calc(100% - 32px);
}
.wm-dns-summary.show{display:inline-flex}
.wm-dns-summary .dom{color:var(--wm-cyan);text-shadow:0 0 8px rgba(0,229,255,.4);font-weight:700}
.wm-dns-summary .tag{
  padding:2px 8px;font-size:10px;letter-spacing:.14em;border:1px solid currentColor;
}
.wm-dns-summary .tag.ok{color:var(--wm-green)}
.wm-dns-summary .tag.warn{color:var(--wm-amber)}
.wm-dns-summary .tag.bad{color:var(--wm-red)}

/* Radar sweep overlay — simplified for perf (no blur, no blend mode) */
.wm-radar{
  position:absolute;inset:0;pointer-events:none;z-index:650;
  overflow:hidden;opacity:.35;
}
.wm-radar-sweep{
  position:absolute;left:50%;top:50%;width:140vh;height:140vh;transform-origin:0 0;
  background:conic-gradient(from 0deg at 0 0,
    transparent 0deg,
    transparent 352deg,
    rgba(0,229,255,0.25) 358deg,
    rgba(0,229,255,0.5) 360deg);
  transform:translate(-50%,-50%) rotate(0deg);
  animation:radar-spin 18s linear infinite;
  will-change:transform;
}
@keyframes radar-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* ─────────── Leaflet overrides ─────────── */
.leaflet-container{background:#020309;font-family:inherit;outline:0}
.leaflet-control-zoom{border:1px solid var(--wm-border-2)!important;box-shadow:0 0 12px rgba(0,0,0,.6)!important}
.leaflet-control-zoom a{
  background:rgba(10,14,21,.9)!important;color:var(--wm-text)!important;
  border:none!important;border-bottom:1px solid var(--wm-border-2)!important;
  font-family:'Share Tech Mono',monospace!important;
  transition:all .15s ease!important;
}
.leaflet-control-zoom a:hover{background:rgba(255,179,71,.15)!important;color:var(--wm-accent)!important}
.leaflet-control-attribution{background:rgba(4,6,10,.85)!important;color:var(--wm-text-faint)!important;font-size:9px!important;letter-spacing:.05em}
.leaflet-control-attribution a{color:var(--wm-text-dim)!important}

.leaflet-popup-content-wrapper{
  background:linear-gradient(180deg,rgba(10,14,21,.98),rgba(5,8,16,.98))!important;
  color:var(--wm-text)!important;
  border:1px solid rgba(255,179,71,.45)!important;
  border-radius:0!important;
  box-shadow:0 8px 40px rgba(0,0,0,.8),var(--wm-glow-amber)!important;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.leaflet-popup-tip{background:rgba(10,14,21,.98)!important;border:1px solid rgba(255,179,71,.45)!important}
.leaflet-popup-content{margin:12px 14px;font-size:11.5px;line-height:1.5}
.leaflet-popup-content b{
  color:var(--wm-accent);font-family:'Orbitron',sans-serif;
  letter-spacing:.12em;font-size:11.5px;text-transform:uppercase;
  text-shadow:0 0 8px rgba(255,179,71,.3);
}
.leaflet-popup-content .pop-meta{color:var(--wm-text-dim);font-size:10.5px;margin-top:5px;font-family:'Share Tech Mono',monospace;letter-spacing:.04em}
.leaflet-popup-content .pop-pill{
  display:inline-block;padding:2px 8px;font-size:9.5px;
  font-family:'Share Tech Mono',monospace;letter-spacing:.1em;
  margin-right:4px;margin-top:4px;text-transform:uppercase;
}

.marker-cluster{background:rgba(255,179,71,.25)!important;border:1px solid rgba(255,179,71,.5)!important}
.marker-cluster div{
  background:linear-gradient(180deg,var(--wm-accent),#c27d1a)!important;
  color:#03060a!important;
  font-family:'Share Tech Mono',monospace!important;
  font-weight:700!important;border:none!important;
  box-shadow:0 0 12px rgba(255,179,71,.5);
}

/* Glowing dot pulse (for outages) */
.wm-pulse-icon{position:relative}
.wm-pulse-icon::before,.wm-pulse-icon::after{
  content:'';position:absolute;left:50%;top:50%;
  width:8px;height:8px;border-radius:50%;
  background:var(--wm-red);transform:translate(-50%,-50%);
  animation:ping 1.6s ease-out infinite;
}
.wm-pulse-icon::after{animation-delay:.8s}
@keyframes ping{
  0%{width:6px;height:6px;opacity:.9}
  100%{width:30px;height:30px;opacity:0}
}

/* ─────────── Right panel stack ─────────── */
.wm-right{
  background:linear-gradient(180deg,var(--wm-bg-2) 0%,var(--wm-bg) 100%);
  border-left:1px solid var(--wm-border-2);
  max-height:calc(100vh - 186px);overflow-y:auto;
}
.wm-right::before{
  content:'';position:absolute;top:0;left:-1px;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,rgba(0,229,255,.4) 30%,rgba(0,229,255,.4) 70%,transparent);
  opacity:.4;z-index:1;
}
.wm-panel{
  border-bottom:1px solid var(--wm-border-2);
  background:var(--wm-panel);
  position:relative;
}
.wm-panel-header{
  display:flex;align-items:center;justify-content:space-between;padding:9px 14px;
  background:linear-gradient(90deg,rgba(0,229,255,.05),transparent);
  font-family:'Orbitron',sans-serif;font-size:10.5px;letter-spacing:.24em;
  color:var(--wm-cyan);text-transform:uppercase;font-weight:600;
  border-bottom:1px solid var(--wm-border);
  text-shadow:0 0 10px rgba(0,229,255,.3);
  padding-left:20px;
}
.wm-panel-header::before{
  content:'';position:absolute;left:8px;top:50%;width:3px;height:14px;transform:translateY(-50%);
  background:var(--wm-cyan);box-shadow:var(--wm-glow-cyan);
}
.wm-panel-header .muted{color:var(--wm-text-dim);font-size:9.5px;letter-spacing:.08em;font-family:'Share Tech Mono',monospace;text-shadow:none;font-weight:400}
.wm-panel-header .badge{
  background:var(--wm-red);color:#fff;padding:1px 8px;
  font-size:9.5px;letter-spacing:.04em;margin-left:6px;
  font-family:'Share Tech Mono',monospace;font-weight:700;
  box-shadow:var(--wm-glow-red);
}

.wm-news-tabs,.wm-video-tabs{
  display:flex;gap:4px;padding:8px 14px;
  border-bottom:1px solid var(--wm-border);overflow-x:auto;
  background:rgba(0,0,0,.3);
}
.wm-news-tabs::-webkit-scrollbar,.wm-video-tabs::-webkit-scrollbar{height:2px}
.wm-news-tab,.wm-video-tab{
  padding:4px 10px;background:transparent;color:var(--wm-text-dim);
  border:1px solid var(--wm-border-2);
  font-family:'Share Tech Mono',monospace;font-size:9.5px;letter-spacing:.14em;
  cursor:pointer;text-transform:uppercase;white-space:nowrap;
  transition:all .15s ease;
}
.wm-news-tab:hover,.wm-video-tab:hover{color:var(--wm-accent);border-color:var(--wm-accent)}
.wm-news-tab.active,.wm-video-tab.active{
  background:linear-gradient(180deg,rgba(255,179,71,.2),rgba(255,179,71,.08));
  color:var(--wm-accent);border-color:var(--wm-accent);
  box-shadow:inset 0 0 10px rgba(255,179,71,.15),var(--wm-glow-amber);
}

/* ─────────── Video player ─────────── */
.wm-video-player{
  position:relative;aspect-ratio:16/9;background:#020309;
  border-bottom:1px solid var(--wm-border);overflow:hidden;
  margin:0;
}
.wm-video-player::before{
  content:'◉ LIVE';position:absolute;top:10px;left:10px;z-index:3;
  font-family:'Share Tech Mono',monospace;font-size:10px;font-weight:700;
  color:var(--wm-red);letter-spacing:.15em;
  padding:3px 8px;background:rgba(4,6,10,.75);
  border:1px solid rgba(255,58,78,.5);
  text-shadow:0 0 8px var(--wm-red);
  animation:wm-pulse 1.4s ease-in-out infinite;
  pointer-events:none;
}
.wm-video-player::after{
  /* corner brackets for video frame */
  content:'';position:absolute;inset:4px;pointer-events:none;z-index:2;
  background:
    linear-gradient(var(--wm-cyan),var(--wm-cyan)) top left/12px 1px no-repeat,
    linear-gradient(var(--wm-cyan),var(--wm-cyan)) top left/1px 12px no-repeat,
    linear-gradient(var(--wm-cyan),var(--wm-cyan)) top right/12px 1px no-repeat,
    linear-gradient(var(--wm-cyan),var(--wm-cyan)) top right/1px 12px no-repeat,
    linear-gradient(var(--wm-cyan),var(--wm-cyan)) bottom left/12px 1px no-repeat,
    linear-gradient(var(--wm-cyan),var(--wm-cyan)) bottom left/1px 12px no-repeat,
    linear-gradient(var(--wm-cyan),var(--wm-cyan)) bottom right/12px 1px no-repeat,
    linear-gradient(var(--wm-cyan),var(--wm-cyan)) bottom right/1px 12px no-repeat;
  opacity:.85;
}
.wm-video-player video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#020309}
.wm-video-player iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.wm-video-status{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:var(--wm-cyan);font-family:'Share Tech Mono',monospace;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;pointer-events:none;
  background:rgba(4,6,10,.85);opacity:0;transition:opacity .2s;
}
.wm-video-status::after{content:' ▌';animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}
.wm-video-status.show{opacity:1}
.wm-video-yt{
  position:absolute;right:10px;bottom:10px;z-index:3;
  padding:4px 10px;background:rgba(4,6,10,.85);
  color:var(--wm-cyan);font-size:9.5px;
  font-family:'Share Tech Mono',monospace;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;border:1px solid rgba(0,229,255,.4);
  opacity:0;transition:opacity .2s;
}
.wm-video-player:hover .wm-video-yt{opacity:1}
.wm-video-yt:hover{color:#fff;border-color:var(--wm-cyan);box-shadow:var(--wm-glow-cyan)}

/* ─────────── Traffic panel ─────────── */
.wm-traffic-kpis{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  padding:12px 14px;border-bottom:1px solid var(--wm-border);
  background:rgba(0,0,0,.3);
}
.wm-tkpi{
  background:linear-gradient(180deg,rgba(15,23,35,.8),rgba(5,8,16,.8));
  border:1px solid var(--wm-border-2);
  padding:9px 12px;display:flex;flex-direction:column;gap:2px;
  position:relative;
}
.wm-tkpi::before{
  content:'';position:absolute;left:0;top:0;width:2px;height:12px;background:var(--wm-cyan);
  box-shadow:var(--wm-glow-cyan);
}
.wm-tkpi .k{
  font-family:'Share Tech Mono',monospace;color:var(--wm-text-faint);
  font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
}
.wm-tkpi .v{
  color:var(--wm-accent);font-size:19px;
  font-family:'Share Tech Mono',monospace;font-weight:700;
  text-shadow:0 0 10px rgba(255,179,71,.3);
}
.wm-tkpi .u{color:var(--wm-text-dim);font-size:10px;margin-left:4px;font-weight:400}

.wm-ixp-list{max-height:360px;overflow-y:auto}
.wm-ixp{
  display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:9px 14px;
  border-bottom:1px solid rgba(22,33,48,.5);cursor:pointer;transition:all .15s ease;
  position:relative;
}
.wm-ixp:hover{background:rgba(0,229,255,.04)}
.wm-ixp:hover::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--wm-cyan);box-shadow:var(--wm-glow-cyan)}
.wm-ixp .nm{color:var(--wm-text);font-size:11.5px;font-family:'Share Tech Mono',monospace;letter-spacing:.06em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.wm-ixp .loc{color:var(--wm-text-faint);font-size:9.5px;font-family:'Share Tech Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.wm-ixp .traf{
  color:var(--wm-accent);font-size:11.5px;font-family:'Share Tech Mono',monospace;
  font-weight:700;text-align:right;white-space:nowrap;text-shadow:0 0 8px rgba(255,179,71,.3);
}
.wm-ixp .nets{color:var(--wm-text-dim);font-size:9.5px;font-family:'Share Tech Mono',monospace;text-align:right}

/* ─────────── News feed ─────────── */
.wm-news-list{max-height:520px;overflow-y:auto}
.wm-news-item{
  display:flex;flex-direction:column;gap:4px;padding:10px 14px;
  border-bottom:1px solid rgba(22,33,48,.5);cursor:pointer;
  transition:all .15s ease;position:relative;
}
.wm-news-item:hover{background:rgba(255,179,71,.04)}
.wm-news-item:hover::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--wm-accent);box-shadow:var(--wm-glow-amber)}
.wm-news-meta{
  display:flex;justify-content:space-between;align-items:center;
  font-family:'Share Tech Mono',monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
}
.wm-news-meta .src{color:var(--wm-accent);text-shadow:0 0 6px rgba(255,179,71,.3)}
.wm-news-meta .age{color:var(--wm-text-faint)}
.wm-news-item .ttl{color:var(--wm-text);font-size:12px;line-height:1.45;font-weight:500}
.wm-news-item .sum{color:var(--wm-text-dim);font-size:10.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ─────────── Outage list ─────────── */
.wm-outage-list{max-height:calc(100vh - 420px);overflow-y:auto}
.wm-outage{
  display:flex;flex-direction:column;gap:5px;padding:10px 14px;
  border-bottom:1px solid rgba(22,33,48,.5);cursor:pointer;
  transition:all .15s ease;position:relative;
}
.wm-outage:hover{background:rgba(255,58,78,.05)}
.wm-outage:hover::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--wm-red);box-shadow:var(--wm-glow-red)}
.wm-outage-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.wm-outage-prov{
  font-family:'Share Tech Mono',monospace;color:var(--wm-accent);
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  text-shadow:0 0 6px rgba(255,179,71,.3);
}
.wm-outage-time{color:var(--wm-text-faint);font-size:9.5px;font-family:'Share Tech Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.wm-outage-title{color:var(--wm-text);font-size:11.5px;line-height:1.4}
.wm-outage-meta{display:flex;align-items:center;gap:6px;font-size:9.5px;color:var(--wm-text-dim);flex-wrap:wrap}
.wm-outage-impact{
  padding:2px 7px;font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700;
}
.wm-outage-impact.critical{background:rgba(255,58,78,.18);color:var(--wm-red);border:1px solid rgba(255,58,78,.5);box-shadow:0 0 8px rgba(255,58,78,.2)}
.wm-outage-impact.major{background:rgba(255,100,58,.15);color:#fb7f58;border:1px solid rgba(255,100,58,.4)}
.wm-outage-impact.minor{background:rgba(255,179,71,.12);color:var(--wm-amber);border:1px solid rgba(255,179,71,.35)}
.wm-outage-impact.maintenance{background:rgba(0,229,255,.1);color:var(--wm-cyan);border:1px solid rgba(0,229,255,.35)}
.wm-outage-impact.none{background:rgba(46,232,154,.1);color:var(--wm-green);border:1px solid rgba(46,232,154,.35)}
.wm-outage-status{
  padding:2px 6px;border:1px solid var(--wm-border-2);
  font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--wm-text-dim);
}

.wm-empty{padding:24px;text-align:center;color:var(--wm-text-faint);font-size:11px;font-family:'Share Tech Mono',monospace;letter-spacing:.1em;text-transform:uppercase}

/* ─────────── Domain lookup ─────────── */
.wm-lookup-form{
  display:flex;gap:6px;padding:10px 14px;
  background:rgba(0,0,0,.3);
  border-bottom:1px solid var(--wm-border);
}
.wm-lookup-form input{
  flex:1;min-width:0;
  padding:7px 10px;
  background:rgba(10,14,21,.8);
  color:var(--wm-text);
  border:1px solid var(--wm-border-2);
  font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:.04em;
  outline:none;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.wm-lookup-form input::placeholder{color:var(--wm-text-faint);letter-spacing:.06em}
.wm-lookup-form input:focus{border-color:var(--wm-accent);box-shadow:var(--wm-glow-amber)}
.wm-lookup-form button{
  padding:7px 14px;
  background:linear-gradient(180deg,rgba(255,179,71,.18),rgba(255,179,71,.06));
  color:var(--wm-accent);border:1px solid rgba(255,179,71,.5);
  font-family:'Share Tech Mono',monospace;font-size:10.5px;letter-spacing:.16em;
  font-weight:700;text-transform:uppercase;cursor:pointer;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
}
.wm-lookup-form button:hover{background:linear-gradient(180deg,var(--wm-accent),#c27d1a);color:#03060a;text-shadow:none}
.wm-lookup-form button:disabled{opacity:.5;cursor:not-allowed}

.wm-lookup-result{padding:0 0 6px}
.wm-lookup-quick{
  display:flex;gap:4px;padding:0 14px 10px;flex-wrap:wrap;
  border-bottom:1px solid var(--wm-border);
}
.wm-quick{
  padding:3px 8px;background:transparent;color:var(--wm-text-dim);
  border:1px solid var(--wm-border-2);cursor:pointer;
  font-family:'Share Tech Mono',monospace;font-size:9.5px;letter-spacing:.08em;
  text-transform:lowercase;transition:all .15s ease;
}
.wm-quick:hover{color:var(--wm-accent);border-color:var(--wm-accent)}
.wm-lookup-domain{
  padding:10px 14px 6px;font-family:'Orbitron',sans-serif;
  color:var(--wm-accent);font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  text-shadow:0 0 10px rgba(255,179,71,.3);
  word-break:break-all;
}
.wm-lookup-providers{padding:6px 14px 8px;display:flex;flex-direction:column;gap:4px}
.wm-lookup-prov{
  display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;
  padding:8px 10px 8px 12px;
  background:rgba(255,179,71,.04);
  border-left:3px solid var(--tc-color, var(--wm-accent));
  position:relative;
  transition:background .15s ease;
  cursor:pointer;
}
.wm-lookup-prov:hover{background:rgba(255,179,71,.08)}
.wm-lookup-prov .nm{
  font-family:'Orbitron',sans-serif;color:var(--wm-text);
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
}
.wm-lookup-prov .meta{
  font-family:'Share Tech Mono',monospace;color:var(--wm-text-dim);
  font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.wm-lookup-prov .active-hot{
  color:var(--wm-red);font-family:'Share Tech Mono',monospace;
  font-size:9.5px;letter-spacing:.14em;padding:2px 7px;
  background:rgba(255,58,78,.1);border:1px solid rgba(255,58,78,.5);
  text-shadow:0 0 6px var(--wm-red-glow);
}
.wm-lookup-prov .ok{
  color:var(--wm-green);font-family:'Share Tech Mono',monospace;
  font-size:9.5px;letter-spacing:.14em;
}
.wm-lookup-prov .via{
  font-family:'Share Tech Mono',monospace;color:var(--wm-text-faint);
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  padding:1px 5px;border:1px solid var(--wm-border-2);margin-left:6px;
}
.wm-lookup-section-title{
  padding:8px 14px 4px;
  font-family:'Share Tech Mono',monospace;color:var(--wm-text-faint);
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  border-top:1px solid rgba(22,33,48,.5);
  margin-top:2px;
}
.wm-lookup-iplist{padding:0 14px 8px;display:flex;flex-direction:column;gap:3px}
.wm-lookup-ip{
  display:grid;grid-template-columns:auto 1fr auto;gap:6px 10px;align-items:baseline;
  font-family:'Share Tech Mono',monospace;font-size:10.5px;
  color:var(--wm-text-dim);padding:3px 0;
}
.wm-lookup-ip .addr{color:var(--wm-text);letter-spacing:.04em;word-break:break-all}
.wm-lookup-ip .asn{color:var(--wm-cyan);text-shadow:0 0 5px rgba(0,229,255,.3);white-space:nowrap}
.wm-lookup-ip .cc{color:var(--wm-accent);text-align:right;letter-spacing:.1em;white-space:nowrap}
.wm-lookup-ip .kind{color:var(--wm-text-faint);font-size:9px;letter-spacing:.14em}

.wm-lookup-cname{
  display:flex;align-items:center;gap:6px;padding:3px 14px;
  font-family:'Share Tech Mono',monospace;font-size:10.5px;color:var(--wm-text-dim);
}
.wm-lookup-cname::before{content:'⇢ ';color:var(--wm-cyan)}
.wm-lookup-cname .tgt{color:var(--wm-text);word-break:break-all}

.wm-lookup-err{
  padding:14px;color:var(--wm-red);font-family:'Share Tech Mono',monospace;
  font-size:11px;letter-spacing:.1em;text-align:center;
  text-shadow:0 0 6px var(--wm-red-glow);
}
.wm-lookup-loading{
  padding:24px;color:var(--wm-cyan);font-family:'Share Tech Mono',monospace;
  font-size:11px;letter-spacing:.18em;text-align:center;text-transform:uppercase;
}
.wm-lookup-loading::after{content:' ▌';animation:blink 1s step-end infinite}

/* ─────────── Country list ─────────── */
.wm-country-list{padding:10px 14px;display:flex;flex-direction:column;gap:5px}
.wm-country{display:flex;align-items:center;gap:8px;font-family:'Share Tech Mono',monospace;font-size:10.5px}
.wm-country .cc{color:var(--wm-accent);width:28px;letter-spacing:.12em;font-weight:700;text-shadow:0 0 6px rgba(255,179,71,.3)}
.wm-country .nm{flex:1;color:var(--wm-text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.wm-country .n{color:var(--wm-text-dim);min-width:55px;text-align:right;letter-spacing:.05em}
.wm-country .bar{flex:1;height:3px;background:rgba(22,33,48,.8);overflow:hidden;margin:0 6px;position:relative}
.wm-country .bar>div{height:100%;background:linear-gradient(90deg,var(--wm-cyan),var(--wm-accent));box-shadow:0 0 6px rgba(255,179,71,.4)}

/* ─────────── Health grid ─────────── */
.wm-health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 14px}
.wm-health-card{
  background:linear-gradient(180deg,rgba(15,23,35,.8),rgba(5,8,16,.8));
  border:1px solid var(--wm-border-2);
  padding:10px 12px;display:flex;flex-direction:column;gap:4px;
  cursor:pointer;transition:all .15s ease;position:relative;
}
.wm-health-card:hover{border-color:var(--wm-accent);box-shadow:var(--wm-glow-amber)}
.wm-health-card .th{font-family:'Share Tech Mono',monospace;color:var(--wm-text-dim);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.wm-health-card .cnt{color:var(--wm-text);font-size:20px;font-family:'Share Tech Mono',monospace;font-weight:700}
.wm-health-card .st{font-size:9.5px;font-family:'Share Tech Mono',monospace;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.wm-health-card .st.operational{color:var(--wm-green);text-shadow:0 0 6px rgba(46,232,154,.4)}
.wm-health-card .st.degraded{color:var(--wm-amber);text-shadow:0 0 6px rgba(255,179,71,.4)}
.wm-health-card .st.outage{color:var(--wm-red);text-shadow:0 0 8px var(--wm-red-glow);animation:wm-pulse 1.4s ease-in-out infinite}

/* ─────────── Stats strip ─────────── */
.wm-stats-strip{
  display:grid;grid-template-columns:repeat(6,1fr);gap:1px;
  background:var(--wm-border-2);border-top:1px solid var(--wm-border-2);
  position:relative;
}
.wm-stats-strip::before{
  content:'';position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--wm-accent) 50%,transparent);
  opacity:.5;
}
.wm-stat{
  background:linear-gradient(180deg,var(--wm-bg-2),var(--wm-bg));
  padding:14px 18px;display:flex;flex-direction:column;gap:4px;position:relative;
}
.wm-stat::before{
  content:'';position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--wm-accent);opacity:.5;
}
.wm-stat.good::before{background:var(--wm-green)}
.wm-stat.warn::before{background:var(--wm-amber)}
.wm-stat.bad::before{background:var(--wm-red);box-shadow:var(--wm-glow-red)}
.wm-stat .k{font-family:'Share Tech Mono',monospace;color:var(--wm-text-faint);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase}
.wm-stat .v{color:var(--wm-accent);font-size:24px;font-family:'Share Tech Mono',monospace;font-weight:700;text-shadow:0 0 12px rgba(255,179,71,.3)}
.wm-stat.good .v{color:var(--wm-green);text-shadow:0 0 12px rgba(46,232,154,.3)}
.wm-stat.warn .v{color:var(--wm-amber);text-shadow:0 0 12px rgba(255,179,71,.3)}
.wm-stat.bad .v{color:var(--wm-red);text-shadow:0 0 12px var(--wm-red-glow);animation:wm-pulse 1.4s ease-in-out infinite}

/* ─────────── Arc / connection lines (Leaflet SVG) ─────────── */
/* Single shared keyframes animates ALL arcs together — browsers optimize this
   as one animation timeline, unlike the old per-path drop-shadow setup. */
.wm-arc{
  fill:none;
  stroke-linecap:round;
  stroke-dasharray:4 14;
  animation:arc-flow 60s linear infinite;
}
@keyframes arc-flow{to{stroke-dashoffset:-1080}}
@media (prefers-reduced-motion: reduce){
  .wm-arc{animation:none}
}

.wm-node-glow{filter:drop-shadow(0 0 6px currentColor)}

/* ─────────── Responsive ─────────── */
@media (max-width:1280px){
  .wm-main{grid-template-columns:240px 1fr 360px}
  .wm-stats-strip{grid-template-columns:repeat(3,1fr)}
}

/* ════════════════════════════════════════════════════════════════
   MOBILE (≤860px): stack everything vertically with a content-first
   order. Map is the hero, providers drop to a collapsible drawer
   at the bottom, everything else flows naturally.
   ════════════════════════════════════════════════════════════════ */
@media (max-width:860px){
  /* ---- Top chrome compression ---- */
  .wm-pro-banner{
    font-size:9.5px;padding:5px 10px;letter-spacing:.06em;line-height:1.3;
    text-align:left;gap:6px;
  }
  .wm-pro-banner span:nth-child(2){
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;
  }
  .wm-pro-close{right:6px}

  .wm-topbar{
    padding:6px 10px;gap:8px;flex-wrap:wrap;
  }
  .wm-topbar-left,.wm-topbar-right{
    flex-wrap:wrap;gap:6px;min-width:0;
  }
  .wm-monitor-title{
    font-size:11px;letter-spacing:.2em;gap:6px;
  }
  .wm-monitor-title .ver{display:none}
  .wm-monitor-title .user{font-size:9px}
  /* Only keep the brand icon + "LIVE" + DCs pill on narrow screens */
  .wm-search-bar{display:none}
  #pillProv{display:none}
  .wm-btn#refreshBtn{padding:5px 9px;font-size:10px}
  .wm-btn#refreshBtn svg{display:none}
  .wm-defcon{padding:3px 9px;font-size:9.5px;letter-spacing:.12em}

  /* ---- Threat board: horizontal scroll-snap carousel ---- */
  .wm-threat{flex-direction:column;min-height:auto}
  .wm-threat-label{
    border-right:none;border-bottom:1px solid var(--wm-border-2);
    min-width:0;padding:7px 14px;flex-direction:row;align-items:center;gap:10px;
  }
  .wm-threat-label::before{top:7px;bottom:7px}
  .wm-threat-label .lv{font-size:10px;letter-spacing:.2em}
  .wm-threat-label .sub{font-size:8.5px}
  .wm-threat-cards{
    display:flex;grid-template-columns:none;
    overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;gap:1px;
  }
  .wm-threat-cards::-webkit-scrollbar{height:2px}
  .wm-tc{
    min-width:74vw;scroll-snap-align:start;
    padding:10px 12px 10px 14px;
  }

  /* ---- Main grid: stack vertical, map first, providers last ---- */
  .wm-main{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .wm-layers{
    order:99;                         /* providers drawer at bottom */
    border-right:none;
    border-top:1px solid var(--wm-border-2);
  }
  .wm-layers::before{display:none}
  /* Collapsible providers drawer */
  .wm-provider-list{max-height:58vh}
  .wm-map-wrap{
    order:1;
    border-right:none;
    border-bottom:1px solid var(--wm-border-2);
  }
  .wm-right{
    order:2;
    border-left:none;
    max-height:none;                  /* let the whole page scroll */
  }
  .wm-right::before{display:none}

  /* Map: fixed portrait height, capped so it's never more than ~520px
     regardless of how tall the device window is (tablets, desktop dev tools). */
  .wm-map-area{
    min-height:min(62vh, 520px);
    height:min(62vh, 520px);
  }
  .wm-map-header{
    padding:8px 12px;gap:8px;flex-wrap:wrap;
  }
  .wm-map-title{font-size:10px;letter-spacing:.2em}
  .wm-map-clock{font-size:9.5px;letter-spacing:.05em}
  .wm-23d button{padding:4px 9px;font-size:9.5px;letter-spacing:.12em}
  .wm-map-legend{
    bottom:8px;gap:8px;padding:5px 10px;font-size:8.5px;
    /* let it flow onto two rows instead of overflowing */
    flex-wrap:wrap;justify-content:center;max-width:calc(100% - 20px);
  }
  .wm-map-legend .lg{gap:4px}
  /* Corner bracket brackets scale down */
  .wm-map-area::after{inset:6px}

  /* ---- Panels inside the right column ---- */
  .wm-panel-header{padding:8px 12px 8px 18px;font-size:10px;letter-spacing:.18em}
  .wm-panel-header::before{left:6px;width:2px;height:12px}
  .wm-section-header{padding:8px 14px 8px 18px;font-size:10px;letter-spacing:.2em}

  /* Video stays fluid; stop muting the controls to 0 */
  .wm-video-player{aspect-ratio:16/9}
  .wm-video-tabs,.wm-news-tabs{padding:6px 10px}

  /* Outage / news / country / ixp lists breathe */
  .wm-outage-list,.wm-news-list,.wm-ixp-list{max-height:none}
  .wm-news-item .ttl{font-size:12.5px;line-height:1.4}
  .wm-outage-title{font-size:12px}
  .wm-country-list{padding:10px 12px}

  /* ---- Bottom stats strip: 2-col compact ---- */
  .wm-stats-strip{grid-template-columns:repeat(2,1fr)}
  .wm-stat{padding:10px 14px}
  .wm-stat .v{font-size:19px}
  .wm-stat .k{font-size:8.5px}

  /* Footer brand */
  .wm-foot-brand{font-size:9px;padding:10px 12px}

  /* Kill the global grid overlay on mobile — it fights the small text */
  body::after{display:none}
}

/* Very narrow phones (≤400px) — even tighter */
@media (max-width:400px){
  .wm-pro-banner{font-size:9px}
  .wm-pro-banner .tag{display:none}
  .wm-monitor-title{font-size:10px;letter-spacing:.15em}
  .wm-defcon .lvl{display:none}         /* just show the count */
  .wm-threat-label{padding:6px 10px}
  .wm-threat-label .sub{display:none}
  .wm-tc{min-width:82vw}
  .wm-23d button:nth-child(4){display:none}  /* hide RISK toggle, user can still get there via HEAT+filter */
  .wm-map-legend .lg:nth-child(n+5){display:none}
}

/* ═══════════════════════════════════════════════════════════════════
   PHASE 1 FEATURE STYLES  ·  CRT, Weasel, Seen, Share, ASN, Cables
   ═══════════════════════════════════════════════════════════════════ */

/* ---------- CRT SHADER ---------- */
.wm-crt-overlay{
  position: fixed; inset: 0; pointer-events: none;
  z-index: 9000; display: none;
  background-image:
    repeating-linear-gradient(to bottom,
      rgba(0,0,0,0.18) 0px,
      rgba(0,0,0,0.18) 1px,
      transparent 1px,
      transparent 3px);
  mix-blend-mode: multiply;
}
body.crt-on .wm-crt-overlay{ display: block; }
body.crt-on .wm-crt-overlay::before{
  content:""; position: absolute; inset: 0;
  background: radial-gradient(ellipse at center,
    transparent 58%,
    rgba(0,0,0,0.55) 100%);
  pointer-events: none;
}
body.crt-on .wm-crt-overlay::after{
  content:""; position: absolute; left: 0; right: 0; height: 110px;
  background: linear-gradient(to bottom,
    transparent, rgba(123,212,255,0.045), transparent);
  animation: wm-crt-scan 7s linear infinite;
  pointer-events: none;
}
@keyframes wm-crt-scan{
  0%   { top: -10%; }
  100% { top: 110%; }
}
body.crt-on #app{
  text-shadow:
    0.5px 0 0 rgba(255,40,40,0.22),
   -0.5px 0 0 rgba(40,140,255,0.22);
  filter: contrast(1.04) saturate(1.06) brightness(1.02);
}
body.crt-on .leaflet-container{ filter: contrast(1.08) saturate(1.1); }
.wm-btn.on, .wm-btn[aria-pressed="true"]{
  border-color: var(--wm-cyan);
  color: var(--wm-cyan);
  box-shadow: 0 0 0 1px rgba(0,229,255,0.22), inset 0 0 12px rgba(0,229,255,0.08);
}
.wm-btn-icon{ gap: 6px; }

/* ---------- WEASEL WORD DOTS ---------- */
.wm-weasel-dot{
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  margin-right: 8px; vertical-align: middle;
  background: var(--wm-text-dim); opacity: 0.85;
}
.wm-weasel-dot.direct   { background: #ff3a4e; box-shadow: 0 0 6px rgba(255,58,78,0.6); }
.wm-weasel-dot.weasel   { background: #ffb347; box-shadow: 0 0 6px rgba(255,179,71,0.5); }
.wm-weasel-dot.mixed    { background: #eab308; }
.wm-weasel-dot.resolved { background: #34d399; opacity: 0.6; }
.wm-weasel-dot.maintenance{ background: #7bd4ff; opacity: 0.7; }
.wm-weasel-dot.neutral  { background: var(--wm-text-dim); opacity: 0.5; }

/* ---------- HONESTY INDEX ---------- */
.wm-honesty{
  font-family: 'Share Tech Mono', monospace;
  font-size: 9.5px;
  letter-spacing: .09em;
  padding: 2px 5px;
  border-radius: 3px;
  margin-top: 4px;
  background: rgba(123,212,255,0.08);
  color: var(--wm-cyan);
  border: 1px solid rgba(123,212,255,0.25);
  width: fit-content;
}
.wm-honesty.good{ color: #34d399; border-color: rgba(52,211,153,0.4); background: rgba(52,211,153,0.08); }
.wm-honesty.warn{ color: #eab308; border-color: rgba(234,179,8,0.4); background: rgba(234,179,8,0.08); }
.wm-honesty.bad { color: #ff3a4e; border-color: rgba(255,58,78,0.45); background: rgba(255,58,78,0.1); }

/* ---------- SEEN COUNT ---------- */
.wm-outage-seen{
  font-family: 'Share Tech Mono', monospace;
  font-size: 9.5px;
  color: var(--wm-cyan-dim);
  letter-spacing: .08em;
  opacity: 0.7;
  margin-left: auto;
}
.wm-outage-seen.on{ opacity: 1; color: var(--wm-cyan); }
.wm-outage-meta{ flex-wrap: wrap; }

/* ---------- SHARE BUTTON ---------- */
.wm-outage-share{
  font-family: 'Share Tech Mono', monospace;
  font-size: 10px;
  letter-spacing: .12em;
  padding: 2px 8px;
  border: 1px solid rgba(123,212,255,0.35);
  background: rgba(123,212,255,0.05);
  color: var(--wm-cyan);
  border-radius: 3px;
  cursor: pointer;
  transition: all .12s;
}
.wm-outage-share:hover{
  border-color: var(--wm-cyan);
  background: rgba(123,212,255,0.16);
  color: #fff;
  box-shadow: 0 0 8px rgba(0,229,255,0.25);
}

/* ---------- SHARE MODAL ---------- */
.wm-share-modal{ position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; }
.wm-share-backdrop{ position: absolute; inset: 0; background: rgba(2,4,8,0.85); backdrop-filter: blur(6px); }
.wm-share-box{
  position: relative; z-index: 1;
  background: var(--wm-panel-2);
  border: 1px solid var(--wm-border-hot);
  box-shadow: 0 0 50px rgba(0,229,255,0.1), 0 10px 60px rgba(0,0,0,0.7);
  border-radius: 6px; padding: 20px; width: min(760px, 92vw);
  max-height: 90vh; overflow: auto;
}
.wm-share-head{
  display: flex; align-items: center; justify-content: space-between;
  font-family: 'Share Tech Mono', monospace; font-size: 12px;
  color: var(--wm-accent); letter-spacing: .12em;
  padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid var(--wm-border);
}
.wm-share-close{ background: transparent; color: var(--wm-text); border: 0; font-size: 20px; cursor: pointer; opacity: .7; }
.wm-share-close:hover{ opacity: 1; color: var(--wm-cyan); }
.wm-share-img{ width: 100%; border-radius: 4px; border: 1px solid var(--wm-border); }
.wm-share-actions{ display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.wm-share-btn{
  flex: 1 1 auto; text-align: center;
  font-family: 'Share Tech Mono', monospace; font-size: 11px;
  letter-spacing: .14em; text-decoration: none; cursor: pointer;
  padding: 10px 14px; border: 1px solid var(--wm-border-hot);
  background: rgba(123,212,255,0.04); color: var(--wm-cyan);
  border-radius: 3px; transition: all .12s;
}
.wm-share-btn:hover{ border-color: var(--wm-cyan); background: rgba(123,212,255,0.14); color: #fff; }
.wm-share-meta{ margin-top: 10px; text-align: right; font-size: 10px; }

.wm-toast{
  position: fixed; bottom: 60px; left: 50%; transform: translate(-50%, 20px);
  z-index: 10001; background: var(--wm-panel-2); color: var(--wm-cyan);
  border: 1px solid var(--wm-cyan-dim); padding: 10px 18px;
  font-family: 'Share Tech Mono', monospace; font-size: 12px; letter-spacing: .1em;
  border-radius: 3px; opacity: 0; pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
  box-shadow: 0 0 20px rgba(0,229,255,0.2);
}
.wm-toast.show{ opacity: 1; transform: translate(-50%, 0); }

/* ---------- ASN EXPLORER PANEL ---------- */
.wm-asn-head{ display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.wm-asn-num{ font-family: Orbitron, sans-serif; font-weight: 800; font-size: 17px; color: var(--wm-cyan); }
.wm-asn-holder{ color: var(--wm-text); font-size: 13px; flex: 1; }
.wm-asn-badge{
  font-family: 'Share Tech Mono', monospace; font-size: 9.5px; letter-spacing: .1em;
  padding: 2px 6px; border: 1px solid var(--wm-border-hot); color: var(--wm-accent);
  border-radius: 2px; background: rgba(255,179,71,0.06);
}
.wm-asn-badge.bad{ color: #ff3a4e; border-color: rgba(255,58,78,0.5); background: rgba(255,58,78,0.08); }
.wm-asn-kpis{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
  margin: 8px 0 14px;
}
.wm-asn-kpis > div{
  background: var(--wm-bg-3); border: 1px solid var(--wm-border);
  padding: 8px; text-align: center; border-radius: 3px;
}
.wm-asn-kpis span{ display: block; font-size: 17px; color: var(--wm-accent); font-weight: 700; }
.wm-asn-kpis label{ font-family: 'Share Tech Mono', monospace; font-size: 9.5px; color: var(--wm-text-dim); letter-spacing: .1em; }
.wm-asn-sub{
  font-family: 'Share Tech Mono', monospace; font-size: 10.5px; letter-spacing: .14em;
  color: var(--wm-accent); margin: 12px 0 6px; text-transform: uppercase;
}
.wm-asn-prefixes{
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px;
  font-size: 11px; color: var(--wm-text);
}
.wm-asn-prefixes span{ padding: 3px 6px; background: var(--wm-bg-3); border: 1px solid var(--wm-border); border-radius: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wm-asn-peers{ display: flex; flex-wrap: wrap; gap: 5px; }
.wm-asn-peer{
  font-family: 'Share Tech Mono', monospace; font-size: 11px;
  border: 1px solid var(--wm-border-hot); background: rgba(123,212,255,0.05);
  color: var(--wm-cyan); padding: 3px 8px; border-radius: 2px; cursor: pointer;
}
.wm-asn-peer:hover{ border-color: var(--wm-cyan); color: #fff; background: rgba(123,212,255,0.15); }
.wm-asn-peer i{ font-style: normal; font-size: 9px; color: var(--wm-text-dim); margin-left: 4px; letter-spacing: .06em; }
.wm-asn-chips{ display: flex; flex-wrap: wrap; gap: 4px; }
.wm-asn-chip{
  font-family: 'Share Tech Mono', monospace; font-size: 11px;
  padding: 3px 7px; background: var(--wm-bg-3); border: 1px solid var(--wm-border);
  border-radius: 2px; color: var(--wm-text);
}
.wm-asn-chip b{ color: var(--wm-accent); margin-left: 5px; }

/* ---------- SUBMARINE CABLE TOGGLE + STYLE ---------- */
.wm-overlay-btn{
  font-family: 'Share Tech Mono', monospace; font-size: 10.5px; letter-spacing: .14em;
  padding: 5px 10px; border: 1px solid var(--wm-border-hot);
  background: var(--wm-bg-3); color: var(--wm-text-dim); cursor: pointer;
  border-radius: 2px; display: inline-flex; align-items: center; gap: 6px;
  transition: all .12s;
}
.wm-overlay-btn .dot{
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--wm-text-faint);
}
.wm-overlay-btn:hover{ color: var(--wm-text); border-color: var(--wm-accent); }
.wm-overlay-btn.on{
  color: var(--wm-accent); border-color: var(--wm-accent);
  background: rgba(255,179,71,0.08);
  box-shadow: 0 0 8px rgba(255,179,71,0.25);
}
.wm-overlay-btn.on .dot{ background: var(--wm-accent); box-shadow: 0 0 6px var(--wm-accent); }
.leaflet-container .wm-cable{ filter: drop-shadow(0 0 1px rgba(255,179,71,0.35)); }
.leaflet-container .wm-cable-broken{
  filter: drop-shadow(0 0 4px rgba(255,58,78,0.9));
  animation: wm-cable-pulse 1.8s ease-in-out infinite;
}
@keyframes wm-cable-pulse{
  0%, 100% { opacity: 0.95; }
  50%      { opacity: 0.55; }
}


/* ========== POWER GRID (EUROPE) ========== */
.wm-grid-country{
  background: rgba(255,179,71,.08);
  border: 1px solid rgba(255,179,71,.25);
  color: var(--wm-text);
  font-family: var(--wm-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px;
  padding: 3px 6px;
  border-radius: 3px;
  letter-spacing: .02em;
  cursor: pointer;
  min-width: 130px;
}
.wm-grid-country:focus{ outline: 1px solid rgba(255,179,71,.55); }

.wm-grid-freq{
  padding: 6px 0 10px;
  border-bottom: 1px dashed rgba(255,255,255,.08);
  margin-bottom: 10px;
}
.wm-grid-freq-row{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 0 2px;
}
.wm-grid-freq-main{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}
.wm-grid-freq-main .hz{
  font-family: 'Orbitron', 'Share Tech Mono', monospace;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #2ee89a;
  text-shadow: 0 0 12px rgba(46,232,154,.28);
}
.wm-grid-freq-main .hz .unit{
  font-size: 14px;
  opacity: .65;
  margin-left: 4px;
  font-weight: 500;
}
.wm-grid-freq-main .dev{
  margin-top: 4px;
  font-family: var(--wm-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  letter-spacing: .08em;
  color: rgba(255,255,255,.6);
}
.wm-grid-freq-main.elevated .hz{ color: #facc15; text-shadow: 0 0 12px rgba(250,204,21,.28); }
.wm-grid-freq-main.degraded .hz{ color: #ff9a3a; text-shadow: 0 0 14px rgba(255,154,58,.32); }
.wm-grid-freq-main.critical .hz{
  color: #ff3a4e;
  text-shadow: 0 0 18px rgba(255,58,78,.55);
  animation: wm-grid-pulse 1.1s ease-in-out infinite;
}
@keyframes wm-grid-pulse{ 0%,100%{ opacity:1 } 50%{ opacity:.55 } }

.wm-grid-freq-side{
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}
.wm-grid-freq-side .chip{
  display: inline-block;
  font-family: var(--wm-mono, 'JetBrains Mono', monospace);
  font-size: 10px;
  letter-spacing: .14em;
  padding: 3px 8px;
  border-radius: 3px;
  border: 1px solid rgba(46,232,154,.4);
  color: #2ee89a;
  background: rgba(46,232,154,.08);
}
.wm-grid-freq-side .chip.elevated{ color:#facc15; border-color: rgba(250,204,21,.45); background: rgba(250,204,21,.08); }
.wm-grid-freq-side .chip.degraded{ color:#ff9a3a; border-color: rgba(255,154,58,.5); background: rgba(255,154,58,.1); }
.wm-grid-freq-side .chip.critical{ color:#ff3a4e; border-color: rgba(255,58,78,.55); background: rgba(255,58,78,.12); }
.wm-grid-freq-side .small{
  font-family: var(--wm-mono, 'JetBrains Mono', monospace);
  font-size: 10px;
  letter-spacing: .04em;
}
.wm-grid-freq-side .small.muted{ color: rgba(255,255,255,.42); }
.wm-grid-spark-wrap{ padding: 6px 2px 2px; }
.wm-grid-spark{ width:100%; height:40px; display:block; }
.wm-grid-spark path{
  fill: none;
  stroke: #ffb347;
  stroke-width: 1.3;
  filter: drop-shadow(0 0 3px rgba(255,179,71,.35));
}
.wm-grid-spark line.nom{
  stroke: rgba(255,255,255,.18);
  stroke-dasharray: 2 3;
}
.wm-grid-foot{
  font-size: 10px;
  margin-top: 6px;
  letter-spacing: .06em;
  color: rgba(255,255,255,.55);
}
.wm-grid-foot .muted{ opacity: .55; }

.wm-grid-mix.loading{ opacity: .65; transition: opacity .15s ease; }
.wm-grid-mix-kpis{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 6px;
  margin: 4px 0 10px;
}
.wm-grid-kpi{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 3px;
  padding: 6px 7px;
}
.wm-grid-kpi .k{
  font-family: var(--wm-mono, 'JetBrains Mono', monospace);
  font-size: 9px;
  letter-spacing: .12em;
  color: rgba(255,255,255,.5);
}
.wm-grid-kpi .v{
  font-family: 'Orbitron', 'JetBrains Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  color: var(--wm-text);
  margin-top: 2px;
}
.wm-grid-kpi .sub{
  font-family: var(--wm-mono, 'JetBrains Mono', monospace);
  font-size: 9.5px;
  color: rgba(255,255,255,.45);
  margin-top: 1px;
}
.wm-grid-kpi.good{ border-color: rgba(46,232,154,.3); }
.wm-grid-kpi.good .v{ color: #2ee89a; }
.wm-grid-kpi.bad{ border-color: rgba(239,68,68,.32); }
.wm-grid-kpi.bad .v{ color: #ff6767; }

.wm-grid-mix-list{ display:flex; flex-direction:column; gap: 3px; }
.wm-grid-mix-row{
  display: grid;
  grid-template-columns: 110px 1fr 70px;
  gap: 8px;
  align-items: center;
  padding: 3px 2px;
  font-family: var(--wm-mono, 'JetBrains Mono', monospace);
  font-size: 10.5px;
}
.wm-grid-mix-row .nm{
  color: rgba(255,255,255,.78);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wm-grid-mix-row .bar{
  height: 7px;
  background: rgba(255,255,255,.05);
  border-radius: 2px;
  overflow: hidden;
}
.wm-grid-mix-row .bar > div{
  height: 100%;
  transition: width .25s ease;
  box-shadow: 0 0 8px currentColor;
}
.wm-grid-mix-row .mw{
  text-align: right;
  color: var(--wm-text);
  font-weight: 500;
}
.wm-grid-mix-row .mw.neg{ color: #94a3b8; }


/* ========================================================================
   ONBOARDING & CLARITY LAYER
   ======================================================================== */

/* ---------- COMMAND BAR (single-row header, kills the old 2-row hero+topbar) ---------- */
.wm-cmd{
  display: grid;
  grid-template-columns: minmax(240px, 1.1fr) auto auto;
  align-items: center;
  gap: 18px;
  padding: 6px 18px;
  min-height: 56px;
  background:
    radial-gradient(600px 90px at 8% 50%, rgba(255,179,71,.05), transparent 60%),
    radial-gradient(500px 80px at 95% 50%, rgba(0,229,255,.04), transparent 55%),
    linear-gradient(180deg, #060912 0%, #050810 100%);
  border-bottom: 1px solid var(--wm-border-2);
  position: sticky; top: 0; z-index: 70;
  box-shadow: 0 1px 0 rgba(255,179,71,.08), 0 10px 40px rgba(0,0,0,.45);
}
.wm-cmd::after{
  content:'';
  position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background: linear-gradient(90deg, transparent, var(--wm-accent) 15%, var(--wm-cyan) 50%, var(--wm-accent) 85%, transparent);
  opacity: .35;
}

.wm-cmd-brand{ display: flex; align-items: center; gap: 10px; min-width: 0; }
.wm-hero-logo{
  display:inline-flex; align-items:center; justify-content:center;
  width: 36px; height: 36px;
  color: var(--wm-accent);
  flex-shrink: 0;
}
.wm-brand-mark{
  width: 36px; height: 36px;
  filter: drop-shadow(0 0 6px rgba(255,179,71,.32)) drop-shadow(0 0 10px rgba(0,229,255,.15));
}
.wm-brand-orbit{ transform-origin: 24px 24px; animation: wm-brand-orbit-rot 10s linear infinite; }
@keyframes wm-brand-orbit-rot{ from{transform:rotate(-24deg)} to{transform:rotate(336deg)} }
.wm-brand-sat{ filter: drop-shadow(0 0 4px #00e5ff); animation: wm-brand-sat-pulse 2s ease-in-out infinite; }
@keyframes wm-brand-sat-pulse{ 0%,100%{opacity:.4} 50%{opacity:1} }
.wm-brand-core{ animation: wm-brand-core-pulse 2s ease-in-out infinite; filter: drop-shadow(0 0 4px rgba(255,179,71,.55)); }
@keyframes wm-brand-core-pulse{ 0%,100%{ r: 2 } 50%{ r: 2.8 } }

.wm-cmd-words{ display: flex; flex-direction: column; min-width: 0; line-height: 1.1; gap: 2px; }
.wm-cmd-name{ display: flex; align-items: center; gap: 8px; }
.wm-cmd-name .nm{
  font-family: 'Orbitron','Share Tech Mono',monospace;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .22em;
  color: var(--wm-accent);
  text-shadow: 0 0 8px rgba(255,179,71,.3);
}
.wm-live-chip{
  display: inline-flex; align-items: center; gap: 5px;
  font-family: 'Share Tech Mono', monospace;
  font-size: 9px;
  letter-spacing: .18em;
  color: var(--wm-green);
  padding: 1px 6px;
  border: 1px solid rgba(46,232,154,.32);
  border-radius: 2px;
  background: rgba(46,232,154,.06);
}
.wm-live-chip .d{
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--wm-green);
  box-shadow: 0 0 5px var(--wm-green);
  animation: wm-pulse 1.6s ease-in-out infinite;
}
.wm-cmd-tagline{
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .02em;
  color: var(--wm-text-dim);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* vitals inline, small */
.wm-cmd-vitals{
  display: flex;
  gap: 6px;
  align-items: stretch;
}
.wm-vital{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid var(--wm-border-2);
  background: rgba(10,14,21,.65);
  cursor: pointer;
  font-family: 'Share Tech Mono', monospace;
  transition: transform .15s ease, border-color .15s ease, background-color .15s ease;
  white-space: nowrap;
}
.wm-vital:hover{
  transform: translateY(-1px);
  border-color: rgba(255,179,71,.45);
  background: rgba(20,14,4,.8);
}
.wm-vital .k{
  font-size: 9px;
  letter-spacing: .14em;
  color: var(--wm-text-faint);
}
.wm-vital .v{
  font-family: 'Orbitron', 'Share Tech Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  color: var(--wm-text);
  letter-spacing: .02em;
}
.wm-vital[data-vital="outages"].hot{ border-color: rgba(255,58,78,.55); background: rgba(255,58,78,.08) }
.wm-vital[data-vital="outages"].hot .v{ color: var(--wm-red); text-shadow: 0 0 10px rgba(255,58,78,.45); animation: wm-grid-pulse 1.1s ease-in-out infinite }
.wm-vital[data-vital="grid"][data-status="elevated"] .v{ color: #facc15 }
.wm-vital[data-vital="grid"][data-status="degraded"] .v{ color: #ff9a3a }
.wm-vital[data-vital="grid"][data-status="critical"] .v{ color: var(--wm-red); animation: wm-grid-pulse 1.1s ease-in-out infinite }

/* tools */
.wm-cmd-tools{ display: flex; align-items: center; gap: 4px; }
.wm-cmd-search{
  display: inline-flex;
  align-items: center;
  position: relative;
  transition: all .2s ease;
}
.wm-cmd-search-btn{
  width: 30px; height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--wm-border-2);
  background: rgba(10,14,21,.65);
  color: var(--wm-text-dim);
  cursor: pointer;
  transition: all .2s ease;
  padding: 0;
}
.wm-cmd-search-btn:hover{ color: var(--wm-accent); border-color: rgba(255,179,71,.4); }
.wm-cmd-search input{
  width: 0;
  opacity: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--wm-text);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .02em;
  outline: none;
  transition: width .25s ease, opacity .25s ease, padding .25s ease;
}
.wm-cmd-search.open{
  border: 1px solid rgba(255,179,71,.4);
  background: rgba(10,14,21,.9);
  box-shadow: var(--wm-glow-amber);
}
.wm-cmd-search.open .wm-cmd-search-btn{ border: none; background: transparent; color: var(--wm-accent); }
.wm-cmd-search.open input{ width: 230px; opacity: 1; padding: 4px 10px 4px 2px; }

.wm-cmd-icon{
  width: 30px; height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--wm-border-2);
  background: rgba(10,14,21,.65);
  color: var(--wm-text-dim);
  cursor: pointer;
  transition: all .2s ease;
  padding: 0;
}
.wm-cmd-icon:hover{
  color: var(--wm-accent);
  border-color: rgba(255,179,71,.4);
  box-shadow: var(--wm-glow-amber);
}
.wm-cmd-icon[aria-pressed="true"]{
  color: var(--wm-cyan);
  border-color: rgba(0,229,255,.5);
  background: rgba(0,229,255,.08);
  box-shadow: var(--wm-glow-cyan);
}

.wm-cmd-time{
  font-family: 'Share Tech Mono', monospace;
  font-size: 9.5px;
  letter-spacing: .08em;
  color: var(--wm-text-faint);
  padding: 0 4px 0 8px;
  opacity: .7;
  white-space: nowrap;
}

/* ---------- MOBILE: stack brand + collapse vitals, keep tools inline ---------- */
@media (max-width: 900px){
  .wm-cmd{
    grid-template-columns: 1fr auto;
    grid-template-areas: "brand tools" "vitals vitals";
    gap: 8px;
    padding: 6px 12px;
    min-height: 56px;
  }
  .wm-cmd-brand{ grid-area: brand }
  .wm-cmd-tools{ grid-area: tools }
  .wm-cmd-vitals{ grid-area: vitals; overflow-x: auto; padding-bottom: 4px }
  .wm-cmd-tagline{ display: none }
  .wm-cmd-name .nm{ font-size: 14px; letter-spacing: .18em }
  .wm-vital{ padding: 4px 8px; flex-shrink: 0 }
  .wm-vital .k{ font-size: 8.5px }
  .wm-vital .v{ font-size: 12px }
  .wm-cmd-time{ display: none }
  .wm-cmd-icon{ width: 28px; height: 28px }
  .wm-cmd-search-btn{ width: 28px; height: 28px }
  .wm-cmd-search.open input{ width: 150px; font-size: 10.5px }
}
@media (max-width: 480px){
  .wm-cmd-name .nm{ font-size: 12px; letter-spacing: .14em }
  .wm-hero-logo, .wm-brand-mark{ width: 30px; height: 30px }
}


.wm-hero-tour{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 14px;
  border:1px solid rgba(0,229,255,.45);
  background:linear-gradient(180deg,rgba(0,229,255,.08),rgba(0,229,255,.02));
  color:var(--wm-cyan);
  font-family:'Share Tech Mono',monospace;
  font-size:11px; letter-spacing:.18em; cursor:pointer;
  text-transform:uppercase; transition:all .18s ease; position:relative;
}
.wm-hero-tour > span[aria-hidden]{
  display:inline-flex; width:18px; height:18px; border-radius:50%;
  align-items:center; justify-content:center;
  border:1px solid rgba(0,229,255,.55);
  background:rgba(0,229,255,.12);
  font-family:'Orbitron',monospace; font-weight:700; font-size:11px;
}
.wm-hero-tour:hover{
  border-color:var(--wm-cyan);
  background:rgba(0,229,255,.14);
  box-shadow:var(--wm-glow-cyan);
  color:#e6fdff;
}
.wm-hero-tour.flash{ animation: wm-tour-flash 1.3s ease-out }
@keyframes wm-tour-flash{
  0%  { box-shadow: 0 0 0 0 rgba(0,229,255,.7) }
  70% { box-shadow: 0 0 0 12px rgba(0,229,255,0) }
  100%{ box-shadow: 0 0 0 0  rgba(0,229,255,0) }
}

/* ---------- HELP DOTS & POPOVER ---------- */
.wm-help-dot{
  display:inline-flex; align-items:center; justify-content:center;
  width:15px; height:15px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px; font-weight:600;
  color:var(--wm-cyan);
  background:rgba(0,229,255,.08);
  border:1px solid rgba(0,229,255,.35);
  border-radius:50%;
  cursor:help; margin-left:4px; padding:0; line-height:1;
  vertical-align:middle;
  transition:all .15s ease;
}
.wm-help-dot:hover{
  background:rgba(0,229,255,.22);
  border-color:var(--wm-cyan);
  color:#e6fdff;
  box-shadow:0 0 8px rgba(0,229,255,.4);
}
.wm-help-dot.pulse{ animation: wm-help-pulse 1.4s ease-in-out infinite }
@keyframes wm-help-pulse{
  0%,100%{ box-shadow: 0 0 0 0 rgba(0,229,255,.45) }
  50%    { box-shadow: 0 0 0 6px rgba(0,229,255,0) }
}

.wm-help-popover{
  display:none;
  position:fixed;
  z-index:9100;
  background:#0a1018;
  border:1px solid rgba(0,229,255,.4);
  box-shadow: 0 10px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(0,229,255,.1) inset;
  padding:10px 12px;
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px; line-height:1.55;
  color:var(--wm-text);
  letter-spacing:.01em;
}

/* ---------- TOUR ---------- */
.wm-tour-shade{
  display:none; position:fixed; inset:0;
  background:rgba(2,4,8,.82);
  backdrop-filter:blur(2px);
  z-index:9000; cursor:pointer;
}
body.tour-on .wm-tour-shade{ display:block; animation: wm-fade-in .2s ease }
@keyframes wm-fade-in{ from{opacity:0} to{opacity:1} }

.wm-tour-spot{
  display:none; position:fixed; z-index:9001; pointer-events:none;
  border:1.5px solid var(--wm-cyan); border-radius:6px;
  box-shadow:
    0 0 0 9999px rgba(2,4,8,.78),
    0 0 22px rgba(0,229,255,.45),
    inset 0 0 20px rgba(0,229,255,.08);
  transition: all .28s cubic-bezier(.2,.9,.3,1);
}
body.tour-on .wm-tour-spot{ display:block }

.wm-tour-card{
  display:none; position:fixed; z-index:9002;
  width:380px; max-width:92vw;
  padding:14px 16px;
  background: linear-gradient(180deg,#0c1220 0%,#070b14 100%);
  border:1px solid rgba(0,229,255,.45); border-radius:4px;
  box-shadow: 0 20px 60px rgba(0,0,0,.65), 0 0 28px rgba(0,229,255,.12);
  font-family:'Inter',system-ui,sans-serif;
  color:var(--wm-text);
}
body.tour-on .wm-tour-card{ display:block; animation: wm-tour-card-in .3s ease-out }
@keyframes wm-tour-card-in{
  from{ opacity:0; transform:scale(.96) }
  to  { opacity:1; transform:scale(1) }
}
.wm-tour-head{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:6px;
  font-family:'Share Tech Mono',monospace; font-size:10px; letter-spacing:.18em;
}
.wm-tour-counter{ color:var(--wm-cyan); letter-spacing:.16em }
.wm-tour-x{
  background:transparent;
  border:1px solid rgba(215,228,242,.25);
  color:var(--wm-text-dim);
  padding:2px 6px;
  font-family:'Share Tech Mono',monospace; font-size:9.5px; letter-spacing:.1em;
  cursor:pointer;
}
.wm-tour-x:hover{ border-color:var(--wm-text-dim); color:var(--wm-text) }
.wm-tour-title{
  margin:4px 0 8px;
  font-family:'Orbitron','Inter',sans-serif;
  font-weight:600; font-size:17px; letter-spacing:.02em;
  color:var(--wm-accent); text-shadow:0 0 10px rgba(255,179,71,.25);
}
.wm-tour-body{
  margin:0 0 14px;
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px; line-height:1.55; color:var(--wm-text);
}
.wm-tour-nav{ display:flex; justify-content:space-between; gap:8px; }
.wm-tour-btn{
  flex:1; padding:8px 14px;
  background:var(--wm-cyan); border:1px solid var(--wm-cyan);
  color:#041218;
  font-family:'Share Tech Mono',monospace;
  font-size:11px; letter-spacing:.18em; font-weight:700;
  cursor:pointer; transition:all .15s ease;
}
.wm-tour-btn:hover{ background:#5ef0ff; box-shadow:0 0 14px rgba(0,229,255,.5); }
.wm-tour-btn.ghost{ background:transparent; color:var(--wm-cyan); border-color:rgba(0,229,255,.4); }
.wm-tour-btn.ghost:hover{ background:rgba(0,229,255,.08); box-shadow:none; color:#e6fdff; }
.wm-tour-btn:disabled{ opacity:.3; cursor:not-allowed }

/* ---------- MORE PANELS ACCORDION ---------- */
.wm-more-btn{
  display:flex; align-items:center; gap:10px;
  width: calc(100% - 12px);
  margin:6px 6px 10px;
  padding:9px 12px;
  background:rgba(10,14,21,.6);
  border:1px dashed rgba(255,179,71,.32);
  color:var(--wm-text-dim);
  font-family:'Share Tech Mono',monospace;
  font-size:10.5px; letter-spacing:.12em;
  cursor:pointer; transition:all .18s ease;
}
.wm-more-btn:hover{
  border-style:solid; border-color:rgba(255,179,71,.55);
  color:var(--wm-accent); background:rgba(255,179,71,.04);
}
.wm-more-btn .caret{ width:14px; color:var(--wm-accent); font-size:13px }
.wm-more-btn .lbl{ flex:0 0 auto; font-weight:600 }
.wm-more-btn .hint{ margin-left:auto; color:var(--wm-text-faint); font-size:9.5px; letter-spacing:.08em }
.wm-more-btn.on{ border-style:solid; color:var(--wm-accent); border-color:rgba(255,179,71,.4) }

/* ---------- MOBILE — unified hamburger menu ---------- */
.wm-mob-nav,
.wm-mob-nav .wm-mob-btn { display:none }
.wm-mob-shade{ display:none }

/* Hamburger button — desktop hides it, mobile shows it. */
.wm-cmd-mob-menu{ display:none }

/* Mobile-menu drawer (right slide), full height. */
.wm-mob-menu{
  display:none;
  position:fixed; top:0; right:0; bottom:0;
  width:min(86vw, 380px);
  background:linear-gradient(180deg, #050811 0%, #060a14 100%);
  border-left:1px solid var(--wm-border-2);
  box-shadow:-12px 0 48px rgba(0,0,0,.7);
  z-index:5000;
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.2,.9,.3,1);
  overflow:hidden;
  flex-direction:column;
}
body.mob-menu-open .wm-mob-menu{ display:flex; transform:translateX(0) }
body.mob-menu-open .wm-mob-shade{
  display:block; position:fixed; inset:0;
  background:rgba(2,4,8,.7);
  backdrop-filter:blur(2px);
  z-index:4900;
  animation:wm-fade-in .25s ease;
}
@keyframes wm-fade-in{ from{ opacity:0 } to{ opacity:1 } }

.wm-mob-menu-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px 10px;
  border-bottom:1px solid var(--wm-border-2);
}
.wm-mob-menu-title{
  font-family:'Orbitron',sans-serif; color:var(--wm-accent);
  font-size:13px; font-weight:700; letter-spacing:.28em;
  text-shadow:0 0 10px rgba(255,179,71,.4);
}
.wm-mob-menu-close{
  background:transparent; border:1px solid var(--wm-border-2);
  color:var(--wm-text-dim); padding:6px 8px; cursor:pointer;
  border-radius:0;
  transition:all .15s ease;
}
.wm-mob-menu-close:hover{ color:var(--wm-accent); border-color:var(--wm-accent) }

.wm-mob-menu-search{
  display:flex; align-items:center; gap:8px;
  margin:12px 18px 8px;
  padding:10px 12px;
  border:1px solid var(--wm-border-2);
  background:rgba(0,0,0,.35);
  color:var(--wm-text-dim);
}
.wm-mob-menu-search svg{ flex:0 0 auto; color:var(--wm-text-faint) }
.wm-mob-menu-search input{
  flex:1; min-width:0; background:transparent; border:none; outline:none;
  color:var(--wm-text); font-family:'Share Tech Mono',monospace;
  font-size:13px; letter-spacing:.04em;
}
.wm-mob-menu-search input::placeholder{ color:var(--wm-text-faint) }

/* Tabs */
.wm-mob-menu-tabs{
  display:flex;
  margin:6px 18px 0;
  border-bottom:1px solid var(--wm-border-2);
}
.wm-mob-tab{
  flex:1; padding:11px 0;
  background:transparent; border:none; cursor:pointer;
  color:var(--wm-text-faint);
  font-family:'Share Tech Mono',monospace;
  font-size:10.5px; letter-spacing:.18em; font-weight:600;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
  transition:all .15s ease;
}
.wm-mob-tab.on{
  color:var(--wm-accent);
  border-bottom-color:var(--wm-accent);
  text-shadow:0 0 6px rgba(255,179,71,.5);
}
.wm-mob-tab:active{ background:rgba(255,179,71,.08) }

.wm-mob-menu-body{
  flex:1; overflow-y:auto;
  padding:8px 14px 80px;
  -webkit-overflow-scrolling:touch;
}
.wm-mob-pane{ display:none; padding-top:8px }
.wm-mob-pane.on{ display:block; animation:wm-slide-in .25s ease }
@keyframes wm-slide-in{ from{ opacity:0; transform:translateY(6px) } to{ opacity:1; transform:translateY(0) } }

/* Jump-to rows */
.wm-mob-jump{
  display:grid; grid-template-columns:32px 1fr;
  gap:4px 10px; align-items:center;
  width:100%; padding:14px 12px;
  background:rgba(22,33,48,.25);
  border:1px solid var(--wm-border-2);
  margin-bottom:6px; cursor:pointer;
  text-align:left; color:var(--wm-text);
  transition:all .15s ease;
}
.wm-mob-jump:hover,
.wm-mob-jump:active{
  border-color:var(--wm-accent);
  background:rgba(255,179,71,.06);
  color:var(--wm-accent);
}
.wm-mob-jump .ic{
  grid-row:1/3; font-size:18px; color:var(--wm-cyan);
  text-shadow:0 0 8px rgba(0,229,255,.4);
  text-align:center;
}
.wm-mob-jump .lbl{
  font-family:'Share Tech Mono',monospace;
  font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  font-weight:700;
}
.wm-mob-jump .sub{
  font-size:10.5px; color:var(--wm-text-faint);
  letter-spacing:.04em;
}

/* Quick filters (PROVIDERS pane) */
.wm-mob-quickfilters{
  display:flex; flex-wrap:wrap; gap:5px;
  padding:6px 0 12px;
  border-bottom:1px solid rgba(22,33,48,.5);
  margin-bottom:8px;
}
.wm-mob-qf{
  padding:7px 10px; background:rgba(22,33,48,.4);
  border:1px solid var(--wm-border-2); cursor:pointer;
  color:var(--wm-text-dim);
  font-family:'Share Tech Mono',monospace;
  font-size:10px; letter-spacing:.14em; font-weight:700;
}
.wm-mob-qf:active{ background:rgba(255,179,71,.1); color:var(--wm-accent) }

/* Provider list inside drawer — bigger touch targets than desktop. */
.wm-mob-prov-list{ display:flex; flex-direction:column }
.wm-mob-prov-list .wm-prov-row{
  padding:11px 8px; gap:9px;
}
.wm-mob-prov-list .wm-prov-name{ font-size:13px }

/* Tools pane buttons — full-width pill rows. */
.wm-mob-tool{
  display:flex; align-items:center; gap:12px;
  width:100%; padding:14px 14px;
  background:rgba(22,33,48,.25);
  border:1px solid var(--wm-border-2);
  color:var(--wm-text);
  font-family:'Share Tech Mono',monospace;
  font-size:12px; letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer; text-decoration:none;
  margin-bottom:6px;
  transition:all .15s ease;
}
.wm-mob-tool:hover,
.wm-mob-tool:active{
  border-color:var(--wm-accent); color:var(--wm-accent);
  background:rgba(255,179,71,.06);
}
.wm-mob-tool.on{ border-color:var(--wm-cyan); color:var(--wm-cyan) }
.wm-mob-tool svg{ flex:0 0 auto }
.wm-mob-tool .lbl{ flex:1; text-align:left }
.wm-mob-tool-foot{
  margin-top:14px; padding:10px 4px;
  font-size:10px; color:var(--wm-text-faint);
  letter-spacing:.1em; text-transform:uppercase;
  text-align:center;
  border-top:1px solid rgba(22,33,48,.5);
}

@media (max-width: 900px){
  /* Show the hamburger button, hide individual desktop tools that move into the menu */
  .wm-cmd-mob-menu{ display:inline-flex }
  /* Keep refresh/CRT visible too — the menu offers them but power users can still hit them in the bar */

  .wm-cmd{
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding: 10px 12px;
    align-items:center;
    position:sticky; top:0; z-index:200;
    background:rgba(4,6,12,.92);
    backdrop-filter:blur(8px);
  }
  .wm-cmd-brand{ min-width:0 }
  .wm-cmd-brand .wm-hero-logo{ width:36px; height:36px }
  .wm-cmd-tagline{ font-size:11px; line-height:1.3; max-width:none; opacity:.7 }
  .wm-cmd-name .nm{ font-size:15px; letter-spacing:.18em }
  /* Vitals span the full width on a second row */
  .wm-cmd-vitals{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    margin-top:2px;
  }
  .wm-cmd-vitals .wm-vital{
    padding:6px 4px; min-width:0;
    background:rgba(22,33,48,.3);
    border:1px solid var(--wm-border-2);
  }
  .wm-cmd-vitals .wm-vital .k{ font-size:8.5px; letter-spacing:.1em }
  .wm-cmd-vitals .wm-vital .v{ font-size:14px; font-weight:700 }
  .wm-cmd-tools{ gap:6px; flex:0 0 auto }
  .wm-cmd-search,.wm-cmd-time{ display:none }
  .wm-cmd-icon{ padding:8px; min-width:36px; min-height:36px }

  /* Threat board: compact single-row horizontal-scroll cards */
  .wm-threat{ flex-direction:column; align-items:stretch }
  .wm-threat-cards{
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
    gap:8px; padding:8px;
    -webkit-overflow-scrolling:touch;
  }
  .wm-tc{ flex:0 0 78%; scroll-snap-align:start }

  /* LEFT column (providers) is fully relocated into the hamburger menu. */
  .wm-col.wm-layers{ display:none !important; }
  /* Right column already wraps below the map at <860px (existing rule);
     no-op here, but make sure it scrolls clean and goes full-width. */
  .wm-col.wm-right{ width:100%; padding:0 4px; max-height:none; }
  /* Map gets the entire width and a generous height. */
  .wm-col.wm-map-wrap{
    height: 60vh; min-height:380px;
  }

  /* Tour card sits above the keyboard / floats higher. */
  .wm-tour-card{
    left:8px !important; right:8px !important;
    top:auto !important; bottom:16px !important;
    width: calc(100vw - 16px) !important; max-width:none !important;
  }
  .wm-help-popover{ max-width: calc(100vw - 24px) }
}

@media (max-width: 480px){
  .wm-cmd-name .nm{ font-size:14px; letter-spacing:.16em }
  .wm-cmd-tagline{ font-size:10px }
  .wm-cmd-vitals{ grid-template-columns:repeat(3, 1fr) }
  .wm-mob-menu{ width:92vw }
  .wm-mob-jump{ padding:12px 10px }
  .wm-mob-jump .lbl{ font-size:12px }
  .wm-mob-jump .sub{ font-size:10px }
}


/* ========================================================================
   EARLY WARNING SYSTEM
   ======================================================================== */
.wm-warn-panel{
  padding: 0;
  background:
    radial-gradient(900px 180px at 20% 10%, rgba(255,58,78,.06), transparent 55%),
    radial-gradient(700px 140px at 80% 40%, rgba(0,229,255,.04), transparent 60%),
    linear-gradient(180deg, #070b15 0%, #05080f 100%);
  border-bottom: 1px solid var(--wm-border-2);
  position: relative;
}
.wm-warn-panel::before{
  content:'';
  position:absolute; inset:0;
  background: var(--wm-scanline);
  opacity:.05;
  pointer-events:none;
}
.wm-warn-panel::after{
  content:'';
  position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background: linear-gradient(90deg, transparent, #ff3a4e 20%, var(--wm-cyan) 50%, #ff3a4e 80%, transparent);
  opacity:.4;
}

/* ---- Clickable header strip (single row when collapsed) ---- */
.wm-warn-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 12px;
  padding: 9px 22px;
  background: transparent;
  border: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color .15s ease;
}
.wm-warn-head:hover{ background: rgba(255,58,78,.03) }
.wm-warn-head:focus-visible{ outline: 1px solid rgba(255,58,78,.5); outline-offset: -2px }

.wm-warn-title{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}
.wm-warn-logo{
  font-size: 16px;
  filter: drop-shadow(0 0 6px rgba(255,58,78,.45));
  animation: wm-warn-logo 2s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes wm-warn-logo{ 0%,100%{opacity:1} 50%{opacity:.55} }
.wm-warn-h1{
  font-family:'Orbitron','Inter',sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .14em;
  color: #ff3a4e;
  text-shadow: 0 0 8px rgba(255,58,78,.28);
  flex-shrink: 0;
}
.wm-warn-summary{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family:'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .02em;
  color: var(--wm-text);
  padding-left: 10px;
  border-left: 1px solid rgba(255,255,255,.08);
  min-width: 0;
}
.wm-warn-sum-text{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wm-warn-sum-text.muted{ color: var(--wm-text-faint) }
.wm-warn-sum-dot{
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--wm-green);
  box-shadow: 0 0 6px currentColor;
  color: var(--wm-green);
  flex-shrink: 0;
}
.wm-warn-sum-dot.normal   { background: var(--wm-green); color: var(--wm-green) }
.wm-warn-sum-dot.elevated { background: #facc15; color: #facc15 }
.wm-warn-sum-dot.warning  { background: #ff9a3a; color: #ff9a3a; animation: wm-pulse 1.6s ease-in-out infinite }
.wm-warn-sum-dot.imminent { background: #ff3a4e; color: #ff3a4e; animation: wm-pulse 1.1s ease-in-out infinite }
.wm-warn-sum-dot.muted    { background: var(--wm-text-faint); color: var(--wm-text-faint); box-shadow: none }

.wm-warn-head-right{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.wm-warn-caret{
  color: var(--wm-text-dim);
  font-size: 14px;
  transition: transform .22s ease, color .15s ease;
  display: inline-block;
}
.wm-warn-head:hover .wm-warn-caret{ color: var(--wm-accent) }
.wm-warn-panel:not(.wm-warn-collapsed) .wm-warn-caret{ transform: rotate(90deg) }

/* ---- Collapsed state: hide body ---- */
.wm-warn-body{
  overflow: hidden;
  max-height: 2000px;
  transition: max-height .3s cubic-bezier(.2,.9,.3,1), opacity .2s ease, padding .2s ease;
  padding: 0 22px 12px;
}
.wm-warn-panel.wm-warn-collapsed .wm-warn-body{
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  pointer-events: none;
}
.wm-warn-h2-row{
  padding-bottom: 8px;
}
.wm-warn-h2{
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: .08em;
  color: var(--wm-text-dim);
  text-transform: uppercase;
}

.wm-warn-scoreboard{
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  padding: 4px 10px;
  border: 1px solid rgba(0,229,255,.3);
  background: rgba(0,229,255,.04);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
}
.wm-sb-lbl{
  color: var(--wm-cyan);
  letter-spacing: .16em;
  font-size: 10px;
  text-transform: uppercase;
}
.wm-sb-val{ color: var(--wm-text); letter-spacing: .02em; }
.wm-sb-val strong{ color: #e6fdff }
.wm-sb-val.muted{ color: var(--wm-text-dim) }

.wm-warn-list{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 14px;
}
@media (max-width: 900px){ .wm-warn-list{ grid-template-columns: 1fr } }

.wm-warn-row{
  background: rgba(10,14,21,.55);
  border: 1px solid var(--wm-border-2);
  transition: border-color .2s ease, background-color .2s ease;
}
.wm-warn-row[open]{
  background: rgba(10,14,21,.85);
  border-color: rgba(255,179,71,.35);
}
.wm-warn-row > summary{
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) 1.5fr 40px 80px;
  align-items: center;
  gap: 10px;
  padding: 7px 12px;
  cursor: pointer;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  list-style: none;
}
.wm-warn-row > summary::-webkit-details-marker{ display: none }
.wm-warn-row .dot{
  width: 8px; height: 8px; border-radius: 50%;
  box-shadow: 0 0 6px currentColor;
}
.wm-warn-row .nm{
  font-weight: 500;
  color: var(--wm-text);
  letter-spacing: .02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wm-warn-row .spark{
  position: relative;
  height: 6px;
  background: rgba(255,255,255,.05);
  overflow: hidden;
}
.wm-warn-row .spark > span{
  display: block;
  height: 100%;
  transition: width .4s cubic-bezier(.2,.9,.3,1);
  box-shadow: 0 0 8px currentColor;
}
.wm-warn-row .sc{
  font-family: 'Orbitron','JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 14px;
  text-align: right;
  color: var(--wm-text);
  letter-spacing: .02em;
}
.wm-warn-row .st{
  font-size: 9px;
  letter-spacing: .14em;
  padding: 2px 6px;
  border: 1px solid currentColor;
  text-align: center;
  font-weight: 600;
}
.wm-warn-row.normal   { }
.wm-warn-row.normal   .st{ color: var(--wm-green); border-color: rgba(46,232,154,.3) }
.wm-warn-row.elevated { border-color: rgba(250,204,21,.35) }
.wm-warn-row.elevated .st{ color: #facc15; background: rgba(250,204,21,.06) }
.wm-warn-row.elevated .sc{ color: #facc15 }
.wm-warn-row.warning  { border-color: rgba(255,154,58,.55); background: rgba(255,154,58,.04) }
.wm-warn-row.warning  .st{ color: #ff9a3a; background: rgba(255,154,58,.08); animation: wm-pulse 1.6s ease-in-out infinite }
.wm-warn-row.warning  .sc{ color: #ff9a3a; text-shadow: 0 0 8px rgba(255,154,58,.4) }
.wm-warn-row.imminent { border-color: rgba(255,58,78,.65); background: rgba(255,58,78,.06) }
.wm-warn-row.imminent .st{ color: #ff3a4e; background: rgba(255,58,78,.12); animation: wm-pulse 1.1s ease-in-out infinite }
.wm-warn-row.imminent .sc{ color: #ff3a4e; text-shadow: 0 0 10px rgba(255,58,78,.5) }

.wm-warn-signals{
  padding: 6px 12px 10px;
  border-top: 1px dashed rgba(255,255,255,.08);
  background: rgba(0,0,0,.25);
}
.wm-warn-sig{
  display: grid;
  grid-template-columns: 110px 1fr 32px;
  gap: 8px;
  align-items: center;
  padding: 2px 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
}
.wm-warn-sig .lbl{
  color: var(--wm-text-dim);
  letter-spacing: .04em;
}
.wm-warn-sig.hot .lbl{ color: var(--wm-text) }
.wm-warn-sig .bar{
  height: 4px;
  background: rgba(255,255,255,.04);
  overflow: hidden;
}
.wm-warn-sig .bar > span{
  display: block; height: 100%; transition: width .3s ease;
  box-shadow: 0 0 4px currentColor;
}
.wm-warn-sig .val{
  font-weight: 600;
  text-align: right;
  color: var(--wm-text);
}
.wm-warn-sig-det{
  padding-left: 118px;
  padding-bottom: 2px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  letter-spacing: .02em;
  color: var(--wm-text-faint);
}
.wm-warn-det{ opacity: .85 }

.wm-warn-foot{
  margin-top: 10px;
  font-size: 9.5px;
  letter-spacing: .06em;
  color: var(--wm-text-faint);
  opacity: .75;
  text-align: center;
}

/* ---------- TOASTS ---------- */
.wm-warn-toasts{
  position: fixed;
  top: 90px; right: 14px;
  z-index: 9200;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}
.wm-warn-toast{
  pointer-events: auto;
  min-width: 300px;
  max-width: 360px;
  padding: 10px 12px;
  background: linear-gradient(180deg, #1a0c10 0%, #0c0609 100%);
  border: 1px solid rgba(255,58,78,.5);
  box-shadow: 0 10px 30px rgba(0,0,0,.55), 0 0 20px rgba(255,58,78,.18);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--wm-text);
  transform: translateX(120%);
  transition: transform .4s cubic-bezier(.2,.9,.3,1);
  cursor: pointer;
}
.wm-warn-toast.show{ transform: translateX(0) }
.wm-warn-toast.imminent{
  border-color: #ff3a4e;
  background: linear-gradient(180deg, #2a0b12 0%, #140408 100%);
  box-shadow: 0 10px 30px rgba(0,0,0,.6), 0 0 30px rgba(255,58,78,.35);
  animation: wm-pulse 1.1s ease-in-out infinite;
}
.wm-warn-toast-head{
  display: block;
  font-family: 'Orbitron', monospace;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .16em;
  color: #ff3a4e;
  margin-bottom: 4px;
}
.wm-warn-toast-body{
  display: block;
  font-size: 12px;
  color: var(--wm-text);
  margin-bottom: 2px;
}
.wm-warn-toast-sub{
  display: block;
  font-size: 10px;
  color: var(--wm-text-dim);
  letter-spacing: .02em;
}

@media (max-width: 900px){
  .wm-warn-toasts{ top: auto; bottom: 70px; right: 8px; left: 8px }
  .wm-warn-toast{ min-width: auto; max-width: none }
  .wm-warn-head{ padding: 8px 14px }
  .wm-warn-body{ padding: 0 14px 10px }
  .wm-warn-head{ gap: 8px }
  .wm-warn-h1{ font-size: 12px; letter-spacing: .1em }
  .wm-warn-summary{ font-size: 10.5px; padding-left: 8px }
  .wm-warn-scoreboard{ display: none } /* save mobile real estate */
  .wm-warn-row > summary{ grid-template-columns: 10px minmax(0,1fr) 1fr 34px 62px; gap: 6px; font-size: 10px; padding: 6px 10px }
  .wm-warn-sig{ grid-template-columns: 92px 1fr 28px }
  .wm-warn-sig-det{ padding-left: 100px }
}


/* ========================================================================
   LOUPE MINIMAP (hover magnifier on the threat board)
   ======================================================================== */
.wm-inset{
  position: relative;
  flex: 0 0 auto;
  width: 168px;
  height: 78px;              /* match threat-bar height exactly */
  border-right: 1px solid var(--wm-border-2);
  background: linear-gradient(180deg, #04070d 0%, #030509 100%);
  overflow: hidden;
}
.wm-inset-frame{
  position: absolute; inset: 4px;
  border: 1px solid rgba(0,229,255,.28);
  background: #020407;
  overflow: hidden;
  /* mission-ops corner brackets */
  box-shadow: inset 0 0 0 1px rgba(0,229,255,.05);
}
.wm-inset-frame::before,
.wm-inset-frame::after{
  content: '';
  position: absolute;
  width: 8px; height: 8px;
  pointer-events: none;
  border: 1px solid var(--wm-cyan);
}
.wm-inset-frame::before{
  top: 0; left: 0;
  border-right: none; border-bottom: none;
}
.wm-inset-frame::after{
  bottom: 0; right: 0;
  border-left: none; border-top: none;
}
.wm-inset-map{
  position: absolute; inset: 0;
  filter: saturate(.9) brightness(1.05);
}
.wm-inset-map .leaflet-container{
  background: #020407 !important;
  font: inherit;
}
.wm-inset-map .leaflet-control-container{ display: none }

.wm-inset-overlay{
  position: absolute;
  top: 4px; left: 5px; right: 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  font-family: 'Share Tech Mono', monospace;
}
.wm-inset-title{
  font-size: 9px;
  letter-spacing: .2em;
  color: var(--wm-cyan);
  text-shadow: 0 0 6px rgba(0,229,255,.4);
}
.wm-inset-coord{
  font-size: 9px;
  letter-spacing: .02em;
  color: rgba(215,228,242,.75);
  background: rgba(2,6,10,.65);
  padding: 1px 4px;
}
/* Crosshair reticle centered in the loupe — shows where cursor is mapped to */
.wm-inset-ret{
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.wm-inset-ret .h,
.wm-inset-ret .v{
  position: absolute;
  background: rgba(0,229,255,.4);
  pointer-events: none;
}
.wm-inset-ret .h{
  left: 50%; top: 50%;
  width: 14px; height: 1px;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 4px rgba(0,229,255,.6);
}
.wm-inset-ret .v{
  left: 50%; top: 50%;
  width: 1px; height: 14px;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 4px rgba(0,229,255,.6);
}

/* Hide on phones — no hover to care about; saves space */
@media (max-width: 900px){
  .wm-inset{ display: none }
}


/* ════════════════════════════════════════════════════════════════
   "GO EVEN HARDER" — Outage severity, impact, dependencies, timing,
   and map focus mode. One block at the end so it wins cascade order.
   ════════════════════════════════════════════════════════════════ */

/* Severity pulse dot, rendered inline before the provider label. Color
   matches the .wm-outage-impact badge palette so the eye catches it
   on the same axis. Animation speed scales with how loud the severity
   actually is — CRITICAL goes fast, MINOR goes slow, NONE doesn't pulse. */
.wm-sev-pulse{
  display:inline-block; width:7px; height:7px; border-radius:50%;
  margin-right:6px; vertical-align:middle;
  background:var(--wm-green); box-shadow:0 0 4px rgba(46,232,154,.4);
}
.wm-sev-pulse.critical{
  background:var(--wm-red); box-shadow:0 0 8px var(--wm-red);
  animation:wm-pulse 1s ease-in-out infinite;
}
.wm-sev-pulse.major{
  background:#fb7f58; box-shadow:0 0 7px rgba(251,127,88,.7);
  animation:wm-pulse 1.25s ease-in-out infinite;
}
.wm-sev-pulse.minor{
  background:var(--wm-amber); box-shadow:0 0 6px rgba(255,179,71,.5);
  animation:wm-pulse 1.6s ease-in-out infinite;
}
.wm-sev-pulse.maintenance{
  background:var(--wm-cyan); box-shadow:0 0 6px rgba(0,229,255,.45);
}
.wm-sev-pulse.none{ background:var(--wm-green); }

/* "Likely impact:" body-language line — slightly larger than meta row,
   left-rail accent colored by severity so the impact reads visually. */
.wm-outage-impact-line{
  font-size:10.5px; line-height:1.4; color:#ffd8b1;
  padding:5px 9px; margin-top:2px;
  border-left:2px solid rgba(255,179,71,.35);
  background:rgba(255,179,71,.04);
  font-style:italic;
}
.wm-outage.critical .wm-outage-impact-line{
  color:#ffc0c5; border-left-color:rgba(255,58,78,.55);
  background:rgba(255,58,78,.05);
}
.wm-outage.major .wm-outage-impact-line{
  color:#ffcaa8; border-left-color:rgba(251,127,88,.5);
  background:rgba(251,127,88,.05);
}
.wm-outage.maintenance .wm-outage-impact-line{
  color:#b7ecff; border-left-color:rgba(0,229,255,.45);
  background:rgba(0,229,255,.04);
}
.wm-outage.none .wm-outage-impact-line{
  color:#b8f0cf; border-left-color:rgba(46,232,154,.4);
  background:rgba(46,232,154,.04);
}

/* Timing row — monospace so it reads like a timestamp ticker. Trend
   colors mimic the existing severity palette. */
.wm-outage-timing{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  font-family:'Share Tech Mono',monospace; font-size:9.5px;
  color:var(--wm-text-faint); letter-spacing:.1em; text-transform:uppercase;
}
.wm-outage-timing .t-trend{ font-weight:700; padding:1px 5px; border:1px solid currentColor; }
.wm-outage-timing .t-trend.active{
  color:var(--wm-red); text-shadow:0 0 6px var(--wm-red-glow);
  animation:wm-pulse 1.2s ease-in-out infinite;
}
.wm-outage-timing .t-trend.stabilizing{ color:var(--wm-amber); }
.wm-outage-timing .t-trend.stale{ color:var(--wm-text-faint); }
.wm-outage-timing .t-trend.resolved{ color:var(--wm-green); }

/* Dependency chips — small, monospace, recognizable brand names so the
   reader immediately grasps the blast radius. */
.wm-outage-deps{
  display:flex; flex-wrap:wrap; gap:4px; align-items:center;
  font-size:9.5px; line-height:1.3;
}
.wm-outage-deps .lbl{
  color:var(--wm-text-faint); font-family:'Share Tech Mono',monospace;
  letter-spacing:.1em; text-transform:uppercase; margin-right:2px;
}
.wm-outage-dep{
  padding:1px 6px; border:1px solid var(--wm-border-2);
  color:var(--wm-text-dim); background:rgba(22,33,48,.4);
  white-space:nowrap;
}
.wm-outage.critical .wm-outage-dep{
  border-color:rgba(255,58,78,.35); color:#ffbcc2;
  background:rgba(255,58,78,.06);
}

/* Outage row state when its provider is focused on the map — cyan rail
   replaces the red hover rail so users can see where the map is looking. */
.wm-outage.is-focused{ background:rgba(0,229,255,.05); }
.wm-outage.is-focused::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:var(--wm-cyan); box-shadow:0 0 10px rgba(0,229,255,.7);
}

/* External-link ↗ (small, subtle — share is still the loud button). */
.wm-outage-link{
  color:var(--wm-text-faint); text-decoration:none; padding:0 4px;
  font-size:11px; line-height:1; transition:color .15s ease;
}
.wm-outage-link:hover{ color:var(--wm-accent); }

/* ─── Map focus mode ─────────────────────────────────────────────
   When .wm-focused is on the map container, blur & dim everything
   EXCEPT the focus pane. Transitions keep it from jarring the eye. */
.leaflet-container.wm-focused .leaflet-tile-pane{
  filter:saturate(.45) brightness(.55);
  transition:filter .45s ease;
}
.leaflet-container.wm-focused .leaflet-marker-pane,
.leaflet-container.wm-focused .leaflet-overlay-pane{
  opacity:.22; filter:blur(.8px);
  transition:opacity .45s ease, filter .45s ease;
}
/* Focus pane itself must always stay crisp & full opacity. */
.leaflet-container .leaflet-focus-pane{
  opacity:1 !important; filter:none !important;
  transition:none;
}

/* Focus arcs: thick, bright, fast-flowing dashes with a color-matched
   drop shadow. Short dasharray + 2s cycle = visible, hypnotic motion. */
.wm-focus-arc{
  fill:none; stroke-linecap:round;
  stroke-dasharray:3 8;
  animation:focus-arc-flow 2s linear infinite;
  filter:drop-shadow(0 0 4px currentColor);
}
@keyframes focus-arc-flow{ to{ stroke-dashoffset:-220 } }

/* Focus nodes: soft radial pulse over the brand color. */
.wm-focus-node{
  animation:focus-node-pulse 1.4s ease-in-out infinite;
  filter:drop-shadow(0 0 7px currentColor);
}
@keyframes focus-node-pulse{
  0%,100%{ stroke-opacity:1; fill-opacity:0.9 }
  50%    { stroke-opacity:0.5; fill-opacity:0.55 }
}

@media (prefers-reduced-motion: reduce){
  .wm-focus-arc,.wm-focus-node,.wm-sev-pulse{ animation:none !important }
}

/* ════════════════════════════════════════════════════════════════
   AUTH SPLASH — full-viewport gate, animated globe LEFT, form RIGHT.
   Lives at the END of styles.css so it always wins cascade.
   ════════════════════════════════════════════════════════════════ */

body.wm-auth-locked{ overflow:hidden }
body.wm-auth-locked > #app{ filter:blur(6px) brightness(.4); pointer-events:none; user-select:none }

#wmAuthSplash{
  position:fixed; inset:0; z-index:99990;
  display:grid; grid-template-columns: 1fr 1fr;
  background:#020308;
  animation:wm-auth-fade .35s ease;
}
@keyframes wm-auth-fade{ from{ opacity:0 } to{ opacity:1 } }
#wmAuthSplash.hidden{ opacity:0; transition:opacity .35s ease; pointer-events:none }

/* ---------- LEFT: visual ---------- */
.wm-auth-left{
  position:relative; overflow:hidden;
  background:#02040a;
  border-right:1px solid rgba(120,90,255,.25);
  box-shadow: inset -10px 0 40px rgba(120,90,255,.06);
}
.wm-auth-img{
  position:absolute; inset:0;
  background-image:url('./img/auth-circuit.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  /* Slow zoom-pan for life — image already has parallax depth. */
  animation: wm-auth-drift 28s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes wm-auth-drift{
  0%   { transform: scale(1.06) translate(-1.5%, -1%); }
  50%  { transform: scale(1.10) translate(1%, 0.5%); }
  100% { transform: scale(1.06) translate(-0.5%, 1.2%); }
}
#wmAuthCanvas{ position:absolute; inset:0; width:100%; height:100% }
.wm-auth-scanlines{
  position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(0deg,
    rgba(0,229,255,.04) 0 1px, transparent 1px 3px);
  mix-blend-mode:screen;
  animation:wm-auth-scan 8s linear infinite;
}
@keyframes wm-auth-scan{
  0%{ transform:translateY(0) } 100%{ transform:translateY(3px) }
}
.wm-auth-grain{
  position:absolute; inset:0; pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.45; mix-blend-mode:soft-light;
}
.wm-auth-vignette{
  position:absolute; inset:0; pointer-events:none;
  /* Ramp the right edge down so the form column reads cleanly against
     the right side of the image. */
  background:
    linear-gradient(90deg, transparent 0%, transparent 70%, rgba(2,4,10,.55) 100%),
    radial-gradient(ellipse 80% 90% at 40% 50%, transparent 30%, rgba(0,0,0,.6) 100%);
}

/* ---------- RIGHT: form ---------- */
.wm-auth-right{
  display:flex; align-items:center; justify-content:center;
  padding:32px 32px;
  background:
    radial-gradient(700px 500px at 30% 40%, rgba(255,179,71,.04) 0%, transparent 70%),
    linear-gradient(180deg, #050811 0%, #03060d 100%);
}
.wm-auth-form{
  width:100%; max-width:380px;
  padding:36px 32px;
  background:rgba(8,12,22,.72);
  border:1px solid rgba(255,179,71,.18);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.5),
    0 22px 60px rgba(0,0,0,.55),
    inset 0 0 60px rgba(255,179,71,.02);
  backdrop-filter:blur(6px);
  position:relative;
}
.wm-auth-form::before,.wm-auth-form::after{
  content:''; position:absolute; width:14px; height:14px;
  border:1px solid var(--wm-accent); opacity:.6;
}
.wm-auth-form::before{ top:-1px; left:-1px; border-right:none; border-bottom:none }
.wm-auth-form::after { bottom:-1px; right:-1px; border-left:none; border-top:none }
@keyframes wm-auth-shake{
  10%,90%{ transform:translateX(-2px) } 20%,80%{ transform:translateX(3px) }
  30%,50%,70%{ transform:translateX(-5px) } 40%,60%{ transform:translateX(5px) }
}
.wm-auth-form.shake{ animation:wm-auth-shake .45s cubic-bezier(.36,.07,.19,.97) both;
  border-color:rgba(255,58,78,.45); box-shadow:0 0 0 1px rgba(0,0,0,.5),0 0 30px rgba(255,58,78,.18) }

.wm-auth-brand{
  display:flex; align-items:center; gap:10px;
  margin-bottom:24px;
}
.wm-auth-name{
  font-family:'Orbitron',sans-serif; font-weight:700;
  font-size:18px; letter-spacing:.34em; color:var(--wm-accent);
  text-shadow:0 0 12px rgba(255,179,71,.35);
}
.wm-auth-head{
  font-family:'Share Tech Mono',monospace; font-size:11.5px;
  color:var(--wm-red); letter-spacing:.32em;
  text-transform:uppercase; font-weight:700;
  display:flex; align-items:center; gap:8px;
  text-shadow:0 0 8px rgba(255,58,78,.35);
}
.wm-auth-head .dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--wm-red);
  box-shadow:0 0 8px var(--wm-red);
  animation:wm-pulse 1.4s ease-in-out infinite;
}
.wm-auth-sub{
  font-size:11px; color:var(--wm-text-faint);
  letter-spacing:.16em; text-transform:uppercase;
  margin:6px 0 24px;
}

.wm-auth-fields{ display:flex; flex-direction:column; gap:14px }
.wm-auth-label{
  display:flex; flex-direction:column; gap:5px;
  font-family:'Share Tech Mono',monospace;
  font-size:9.5px; color:var(--wm-text-faint);
  letter-spacing:.28em; font-weight:700;
}
.wm-auth-label input{
  background:rgba(0,0,0,.5);
  border:1px solid rgba(0,229,255,.18);
  border-radius:0;
  padding:11px 13px;
  font-family:'Share Tech Mono',monospace;
  font-size:13px; letter-spacing:.06em;
  color:var(--wm-text);
  outline:none;
  transition:all .15s ease;
}
.wm-auth-label input::placeholder{ color:rgba(255,255,255,.16) }
.wm-auth-label input:focus{
  border-color:var(--wm-accent);
  box-shadow:0 0 0 1px var(--wm-accent), 0 0 18px rgba(255,179,71,.18);
  background:rgba(255,179,71,.03);
}
.wm-auth-label input:-webkit-autofill{
  -webkit-text-fill-color:var(--wm-text) !important;
  -webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.6) inset !important;
  caret-color:var(--wm-text);
}

.wm-auth-submit{
  margin-top:6px;
  position:relative;
  background:linear-gradient(180deg, rgba(255,179,71,.18) 0%, rgba(255,179,71,.08) 100%);
  border:1px solid var(--wm-accent);
  color:var(--wm-accent);
  font-family:'Share Tech Mono',monospace;
  font-size:12.5px; letter-spacing:.34em; font-weight:700;
  padding:14px 16px;
  cursor:pointer;
  transition:all .18s ease;
  text-transform:uppercase;
  text-shadow:0 0 8px rgba(255,179,71,.35);
}
.wm-auth-submit:hover{
  background:linear-gradient(180deg, rgba(255,179,71,.28) 0%, rgba(255,179,71,.12) 100%);
  box-shadow:0 0 24px rgba(255,179,71,.3), inset 0 0 16px rgba(255,179,71,.1);
}
.wm-auth-submit:active{ transform:translateY(1px) }
.wm-auth-submit:disabled{ cursor:wait; opacity:.7 }
.wm-auth-submit-spin{
  display:none; position:absolute; right:14px; top:50%; transform:translateY(-50%);
  width:13px; height:13px; border:1.5px solid currentColor;
  border-right-color:transparent; border-radius:50%;
  animation:wm-spin .85s linear infinite;
}
@keyframes wm-spin{ to{ transform:translateY(-50%) rotate(360deg) } }
.wm-auth-submit.loading .wm-auth-submit-spin{ display:block }
.wm-auth-submit.loading .wm-auth-submit-lbl{ opacity:.6 }

.wm-auth-err{
  margin-top:6px; padding:9px 11px;
  background:rgba(255,58,78,.06);
  border-left:2px solid var(--wm-red);
  color:var(--wm-red);
  font-family:'Share Tech Mono',monospace;
  font-size:11px; letter-spacing:.1em;
  text-shadow:0 0 6px rgba(255,58,78,.3);
}

.wm-auth-foot{
  margin-top:22px;
  display:flex; justify-content:space-between; align-items:center;
  font-size:9px; letter-spacing:.18em;
  color:var(--wm-text-faint); text-transform:uppercase;
  border-top:1px solid rgba(255,255,255,.05);
  padding-top:14px;
}

/* ---------- Logout button (lives in command bar after auth) ---------- */
.wm-cmd-logout{
  display:none;
  background:transparent; border:1px solid var(--wm-border-2);
  color:var(--wm-text-faint); padding:6px 10px;
  font-family:'Share Tech Mono',monospace; font-size:9.5px;
  letter-spacing:.18em; cursor:pointer;
  text-transform:uppercase;
  transition:all .15s ease;
}
.wm-cmd-logout:hover{ color:var(--wm-red); border-color:var(--wm-red);
  text-shadow:0 0 8px rgba(255,58,78,.3) }
body.wm-authed .wm-cmd-logout{ display:inline-flex }

/* ---------- Mobile splash: stack vertically ---------- */
@media (max-width: 760px){
  #wmAuthSplash{ grid-template-columns:1fr; grid-template-rows: 38vh 1fr }
  .wm-auth-left{ border-right:none; border-bottom:1px solid rgba(0,229,255,.2) }
  .wm-auth-right{ padding:24px 16px }
  .wm-auth-form{ padding:24px 18px }
  .wm-auth-name{ font-size:15px }
}

/* ════════════════════════════════════════════════════════════════
   ENSEMBLE — Cross-Cloud Edge Health panel
   Bayesian posterior over 8 inter-provider edges. Each row shows the
   top hypothesis + a 4-segment stacked probability bar + the signals
   that drove the inference.
   ════════════════════════════════════════════════════════════════ */

.wm-beta{
  font-family:'Share Tech Mono',monospace; font-weight:700;
  color:var(--wm-cyan); padding:1px 5px;
  border:1px solid rgba(0,229,255,.35);
  font-size:9px; letter-spacing:.16em; vertical-align:middle;
  background:rgba(0,229,255,.05);
}

.wm-ens-list{ display:flex; flex-direction:column; gap:8px; padding:8px 4px }

.wm-ens-row{
  padding:9px 10px;
  background:rgba(22,33,48,.28);
  border:1px solid var(--wm-border-2);
  border-left-width:2px;
  display:flex; flex-direction:column; gap:6px;
  transition:border-color .2s ease, background .2s ease;
}
.wm-ens-row[data-state="healthy"]   { border-left-color:var(--wm-green) }
.wm-ens-row[data-state="congested"] { border-left-color:var(--wm-amber) }
.wm-ens-row[data-state="degraded"]  { border-left-color:#fb7f58 }
.wm-ens-row[data-state="cut"]       { border-left-color:var(--wm-red);
  background:rgba(255,58,78,.05); animation:wm-pulse 1.5s ease-in-out infinite }
.wm-ens-row[data-state="unknown"]   { border-left-color:var(--wm-text-faint); opacity:.6 }

.wm-ens-row-top{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-family:'Share Tech Mono',monospace;
}
.wm-ens-lbl{
  flex:1 1 auto; min-width:0;
  font-size:11.5px; letter-spacing:.06em;
  color:var(--wm-text);
  text-transform:uppercase; font-weight:700;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.wm-ens-state{
  font-size:9.5px; letter-spacing:.18em; padding:2px 7px;
  border:1px solid currentColor;
}
.wm-ens-state-healthy   { color:var(--wm-green) }
.wm-ens-state-congested { color:var(--wm-amber) }
.wm-ens-state-degraded  { color:#fb7f58 }
.wm-ens-state-cut       { color:var(--wm-red); text-shadow:0 0 6px var(--wm-red-glow) }
.wm-ens-state-unknown   { color:var(--wm-text-faint) }

.wm-ens-p, .wm-ens-conf{
  font-size:10px; color:var(--wm-text-faint); letter-spacing:.06em;
}

.wm-ens-bar{
  display:flex; height:6px;
  background:rgba(0,0,0,.3);
  border:1px solid rgba(255,255,255,.04);
  overflow:hidden;
}
.wm-ens-bar .seg{ display:block; height:100%; transition:width .4s ease }
.wm-ens-bar .seg-healthy   { background:var(--wm-green) }
.wm-ens-bar .seg-congested { background:var(--wm-amber) }
.wm-ens-bar .seg-degraded  { background:#fb7f58 }
.wm-ens-bar .seg-cut       { background:var(--wm-red) }

.wm-ens-chips{
  display:flex; flex-wrap:wrap; gap:4px;
  font-family:'Share Tech Mono',monospace;
  font-size:9.5px;
}
.wm-ens-chip{
  padding:1px 6px; background:rgba(0,229,255,.05);
  border:1px solid rgba(0,229,255,.2);
  color:var(--wm-cyan); letter-spacing:.06em;
  white-space:nowrap;
}
.wm-ens-chip.muted{
  background:transparent; border:1px dashed rgba(120,140,180,.18);
  color:var(--wm-text-faint);
}

.wm-ens-foot{
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 4px 4px;
  font-size:9px; letter-spacing:.18em;
  color:var(--wm-text-faint);
  text-transform:uppercase;
  border-top:1px solid rgba(22,33,48,.5);
  margin-top:8px;
}

@media (max-width:480px){
  .wm-ens-state{ font-size:9px; padding:2px 5px }
  .wm-ens-p, .wm-ens-conf{ font-size:9.5px }
}

/* ---------- AUGUR badge & rule-detail dropdown ---------- */
.wm-ens-augur{
  background:linear-gradient(135deg, rgba(120,90,255,.18) 0%, rgba(0,229,255,.12) 100%);
  border:1px solid rgba(120,90,255,.5);
  color:#c9b8ff;
  font-family:'Share Tech Mono',monospace;
  font-size:9.5px; letter-spacing:.12em; font-weight:700;
  padding:2px 7px; cursor:pointer;
  text-shadow:0 0 6px rgba(120,90,255,.5);
  box-shadow:0 0 8px rgba(120,90,255,.2);
  transition:all .15s ease;
}
.wm-ens-augur:hover{
  background:linear-gradient(135deg, rgba(120,90,255,.3) 0%, rgba(0,229,255,.2) 100%);
  box-shadow:0 0 14px rgba(120,90,255,.4);
}
.wm-ens-augur.open{
  background:rgba(120,90,255,.28);
  border-color:#c9b8ff;
  color:#fff;
}

.wm-ens-augur-detail{
  margin-top:4px;
  padding:8px 10px;
  background:rgba(120,90,255,.04);
  border:1px solid rgba(120,90,255,.2);
  border-left:2px solid #c9b8ff;
  font-family:'Share Tech Mono',monospace; font-size:10px;
  display:flex; flex-direction:column; gap:6px;
  animation:wm-slide-in .25s ease;
}
.wm-ens-augur-row{ display:flex; flex-wrap:wrap; gap:6px; align-items:center }
.wm-ens-augur-row .rule-id{
  color:#c9b8ff; font-weight:700; letter-spacing:.06em;
  padding:1px 5px; background:rgba(120,90,255,.15);
  border:1px solid rgba(120,90,255,.3);
}
.wm-ens-augur-row .rule-eff{
  color:var(--wm-text-faint); letter-spacing:.06em;
  padding:1px 5px; border:1px solid rgba(255,255,255,.05);
}
.wm-ens-augur-row .rule-eff.boost   { color:#fb7f58 }
.wm-ens-augur-row .rule-eff.suppress{ color:var(--wm-green) }
.wm-ens-augur-row .rule-eff.set     { color:var(--wm-cyan) }
.wm-ens-augur-row .rule-why{
  width:100%; padding-left:4px; padding-top:2px;
  color:var(--wm-text-dim); font-style:italic;
  letter-spacing:.04em; line-height:1.4;
}


/* ===========================================================
   AUGUR · Rule Tuning panel
   (DSL source intentionally hidden — operators tune NUMERIC params only)
   =========================================================== */
.wm-augur-open-btn{
  background: linear-gradient(180deg, rgba(0,229,255,.12), rgba(0,229,255,.04));
  color: var(--wm-cyan);
  border: 1px solid rgba(0,229,255,.36);
  font: 600 9px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  padding: 4px 8px;
  cursor: pointer;
  text-transform: uppercase;
  transition: background .15s, border-color .15s, color .15s;
}
.wm-augur-open-btn:hover{
  background: rgba(0,229,255,.18);
  border-color: rgba(0,229,255,.6);
  color: #d4f7ff;
}
.wm-panel-tools{
  display:flex; align-items:center; gap:10px;
}

.wm-augur-modal[hidden]{ display:none !important }
.wm-augur-modal{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  font:13px/1.4 'Inter', sans-serif;
}
.wm-augur-backdrop{
  position:absolute; inset:0;
  background: rgba(2,3,8,.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.wm-augur-card{
  position:relative;
  width: min(1080px, 96vw);
  max-height: 92vh;
  background: linear-gradient(180deg, #0a1019 0%, #060a12 100%);
  border: 1px solid rgba(0,229,255,.32);
  box-shadow:
    0 0 0 1px rgba(0,229,255,.12),
    0 0 60px rgba(0,229,255,.18),
    0 24px 80px rgba(0,0,0,.65);
  display:flex; flex-direction:column;
  animation: wm-augur-pop .22s ease-out;
}
@keyframes wm-augur-pop {
  from { opacity:0; transform:translateY(8px) scale(.985) }
  to   { opacity:1; transform:translateY(0)   scale(1) }
}
.wm-augur-head{
  display:flex; align-items:center; justify-content:space-between;
  padding: 18px 22px 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.wm-augur-head h3{
  margin:0; font:700 18px/1 'Orbitron', sans-serif;
  letter-spacing:.08em; color:#fff;
}
.wm-augur-head h3 .wm-beta{
  font: 500 11px/1 'Share Tech Mono', monospace;
  color: var(--wm-cyan);
  letter-spacing:.18em;
  margin-left:8px;
  padding:2px 6px;
  border:1px solid rgba(0,229,255,.32);
}
.wm-augur-sub{
  margin: 6px 0 0;
  color: var(--wm-text-dim);
  font-size: 11px; letter-spacing:.06em;
}
.wm-augur-x{
  background: transparent;
  border: 1px solid rgba(255,255,255,.18);
  color: var(--wm-text-dim);
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing:.14em;
  padding: 6px 10px; cursor:pointer;
  transition: border-color .15s, color .15s;
}
.wm-augur-x:hover{ color:#fff; border-color: rgba(255,255,255,.4) }

.wm-augur-body{
  display:grid;
  grid-template-columns: 280px 1fr;
  gap: 0;
  flex: 1; min-height: 0;
}

/* List */
.wm-augur-list{
  border-right: 1px solid rgba(255,255,255,.06);
  display:flex; flex-direction:column; min-height:0;
  background: rgba(255,255,255,.012);
}
.wm-augur-list-head{
  display:flex; align-items:center; justify-content:space-between;
  padding: 12px 14px;
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing:.16em;
  color: var(--wm-text-dim);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.wm-augur-count{
  color: var(--wm-cyan);
  font-size: 9px; letter-spacing:.14em;
}
.wm-augur-list-items{
  overflow-y:auto;
  padding: 8px 6px;
  flex: 1;
}
.wm-augur-li{
  display:block; width:100%; text-align:left;
  background:transparent; color:inherit;
  border: 1px solid rgba(255,255,255,.04);
  border-left: 2px solid rgba(0,229,255,.4);
  padding: 8px 10px; margin: 4px 2px;
  cursor: pointer;
  font: inherit;
  transition: background .12s, border-color .12s;
}
.wm-augur-li:hover{
  background: rgba(0,229,255,.06);
  border-color: rgba(0,229,255,.18);
  border-left-color: rgba(0,229,255,.7);
}
.wm-augur-li.selected{
  background: rgba(0,229,255,.10);
  border-left-color: var(--wm-cyan);
  border-color: rgba(0,229,255,.32);
}
.wm-augur-li.inactive{
  opacity: .5;
  border-left-color: rgba(255,255,255,.18);
}
.wm-augur-li-row{
  display:flex; align-items:baseline; justify-content:space-between;
  margin-bottom: 2px;
}
.wm-augur-li-id{
  color: var(--wm-cyan);
  font-size: 11px; letter-spacing: .08em;
}
.wm-augur-li-id .ver{
  color: var(--wm-text-faint); font-size:9px;
  margin-left: 4px; letter-spacing: .04em;
}
.wm-augur-li-fires{
  color: #ffb347; font-size: 10px;
}
.wm-augur-li-name{
  color: #d8e3ee;
  font-size: 12px; line-height: 1.3;
  margin: 2px 0 4px;
}
.wm-augur-li-meta{
  display:flex; gap:10px;
  color: var(--wm-text-faint);
  font-size: 9px; letter-spacing:.08em;
}
.wm-augur-li-meta .on  { color: #5fffa0 }
.wm-augur-li-meta .off { color: #888 }
.wm-augur-li-track{
  margin-left: auto;
  font-size: 9px; letter-spacing: .08em;
  padding: 1px 4px;
  border: 1px solid currentColor;
}
.wm-augur-li-track.wr-good { color: #5fffa0 }
.wm-augur-li-track.wr-mid  { color: #ffb347 }
.wm-augur-li-track.wr-bad  { color: #ff6b6b }
.wm-augur-chip.wr-good { color: #5fffa0; border-color: rgba(95,255,160,.4) }
.wm-augur-chip.wr-mid  { color: #ffb347; border-color: rgba(255,179,71,.4) }
.wm-augur-chip.wr-bad  { color: #ff6b6b; border-color: rgba(255,107,107,.4) }
.wm-augur-fleetwr{
  display:inline-block;
  color: var(--wm-cyan);
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing: .12em;
  padding: 1px 6px;
  border: 1px solid rgba(0,229,255,.4);
  margin-left: 6px;
}
.wm-augur-fleetwr.muted{
  color: var(--wm-text-faint);
  border-color: rgba(255,255,255,.12);
}

/* Edit / tuning pane */
.wm-augur-edit{
  padding: 18px 22px;
  overflow-y: auto;
  display:flex; flex-direction:column; gap: 16px;
}
.wm-augur-empty{
  padding: 60px 20px; text-align:center;
  color: var(--wm-text-faint); letter-spacing: .12em;
  font-size: 11px;
}
.wm-augur-param-head{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap: 14px; flex-wrap: wrap;
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding-bottom: 12px;
}
.wm-augur-param-id{
  color: var(--wm-cyan);
  font-size: 11px; letter-spacing: .14em;
}
.wm-augur-param-id .ver{
  color: var(--wm-text-faint); font-size: 9px; margin-left: 4px;
}
.wm-augur-param-name{
  margin: 4px 0 0;
  color: #fff;
  font: 600 16px/1.25 'Orbitron', sans-serif;
  letter-spacing: .03em;
}
.wm-augur-meta-chips{
  display:flex; gap:6px; flex-wrap:wrap;
}
.wm-augur-chip{
  font: 600 9px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.12);
  color: var(--wm-text-dim);
  background: rgba(255,255,255,.03);
}
.wm-augur-chip.kind-set      { color: var(--wm-cyan); border-color: rgba(0,229,255,.4) }
.wm-augur-chip.kind-boost    { color: #fb7f58;        border-color: rgba(251,127,88,.4) }
.wm-augur-chip.kind-suppress { color: var(--wm-green); border-color: rgba(95,255,160,.4) }

.wm-augur-rationale{
  font-size: 12px; line-height: 1.55;
  color: #d8e3ee;
  background: rgba(0,229,255,.04);
  border-left: 2px solid rgba(0,229,255,.4);
  padding: 10px 14px;
  font-style: italic;
}
.wm-augur-rationale .kw{
  color: var(--wm-cyan);
  font-style: normal;
  font-weight: 600;
  letter-spacing: .14em;
  margin-right: 8px;
  font-size: 10px;
}

.wm-augur-lbl{
  display:flex; flex-direction:column; gap:6px;
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing:.14em;
  color: var(--wm-text-dim);
}
.wm-augur-lbl-row{
  display:flex; align-items:baseline; justify-content:space-between;
}
.wm-augur-out{
  font: 600 14px/1 'JetBrains Mono', monospace;
  color: var(--wm-cyan);
  letter-spacing: 0;
  text-transform: none;
}
.wm-augur-hint{
  font-size: 9px; letter-spacing: .08em;
  color: var(--wm-text-faint);
  text-transform: none;
  font-weight: 400;
}
.wm-augur-hint-block{
  font-size: 11px; letter-spacing: .08em;
  color: var(--wm-text-dim);
  background: rgba(255,255,255,.02);
  border: 1px dashed rgba(255,255,255,.08);
  padding: 8px 12px;
}
.wm-augur-lbl input[type="text"]{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  color: #e6edf3;
  font: 13px/1.45 'JetBrains Mono', monospace;
  padding: 8px 10px;
  outline: none;
  transition: border-color .12s, background .12s;
  border-radius: 0;
}
.wm-augur-lbl input[type="text"]:focus{
  border-color: rgba(0,229,255,.6);
  background: rgba(0,229,255,.04);
}
.wm-augur-lbl input[type="range"]{
  -webkit-appearance: none; appearance: none;
  background: transparent;
  height: 18px;
  cursor: pointer;
}
.wm-augur-lbl input[type="range"]::-webkit-slider-runnable-track{
  height: 4px;
  background: linear-gradient(90deg, rgba(0,229,255,.4) 0%, rgba(255,179,71,.4) 50%, rgba(255,90,90,.4) 100%);
  border: 1px solid rgba(255,255,255,.06);
}
.wm-augur-lbl input[type="range"]::-moz-range-track{
  height: 4px;
  background: linear-gradient(90deg, rgba(0,229,255,.4) 0%, rgba(255,179,71,.4) 50%, rgba(255,90,90,.4) 100%);
  border: 1px solid rgba(255,255,255,.06);
}
.wm-augur-lbl input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance: none; appearance: none;
  width: 14px; height: 14px;
  background: var(--wm-cyan);
  border: 2px solid #050811;
  border-radius: 0;
  margin-top: -6px;
  box-shadow: 0 0 8px rgba(0,229,255,.6);
}
.wm-augur-lbl input[type="range"]::-moz-range-thumb{
  width: 14px; height: 14px;
  background: var(--wm-cyan);
  border: 2px solid #050811;
  border-radius: 0;
  box-shadow: 0 0 8px rgba(0,229,255,.6);
}
.wm-augur-lbl-active{
  flex-direction: row; align-items: center; gap: 8px;
  white-space: nowrap;
  font-size: 11px;
}
.wm-augur-lbl-active input[type="checkbox"]{
  accent-color: var(--wm-cyan);
  width: 16px; height: 16px;
}

.wm-augur-actions{
  display:flex; gap: 8px; flex-wrap:wrap;
  margin-top: 4px;
}
.wm-augur-actions button{
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  padding: 9px 14px; cursor: pointer;
  border-radius: 0;
  background: transparent;
  transition: background .12s, border-color .12s, color .12s;
}
.wm-augur-test{
  border: 1px solid rgba(0,229,255,.5); color: var(--wm-cyan);
}
.wm-augur-test:hover{ background: rgba(0,229,255,.12); border-color: var(--wm-cyan) }
.wm-augur-save{
  border: 1px solid rgba(255,179,71,.6); color: #ffb347;
}
.wm-augur-save:hover{ background: rgba(255,179,71,.14); border-color: #ffb347 }
.wm-augur-actions button:disabled{ opacity:.5; cursor:not-allowed }

/* Result panel */
.wm-augur-result{
  margin-top: 6px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
}
.wm-augur-result.loading{
  border-color: rgba(0,229,255,.3);
  background: rgba(0,229,255,.04);
  color: var(--wm-cyan);
}
.wm-augur-result.ok{
  border-color: rgba(95,255,160,.4);
  background: rgba(95,255,160,.06);
  color: #c9ffd9;
}
.wm-augur-result.err{
  border-color: rgba(255,90,90,.4);
  background: rgba(255,90,90,.06);
  color: #ffd0d0;
}
.wm-augur-result-head{
  display:flex; align-items:center; gap: 12px;
  margin-bottom: 8px;
}
.wm-augur-fire{
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing:.14em;
  padding: 3px 8px;
  border: 1px solid currentColor;
}
.wm-augur-fire.on  { color: #5fffa0 }
.wm-augur-fire.off { color: var(--wm-text-faint) }
.wm-augur-impact{
  margin-top: 4px;
}
.wm-augur-impact-head{
  font-size: 10px; letter-spacing:.16em;
  color: var(--wm-text-dim);
  margin-bottom: 4px;
}
.wm-augur-impact.muted{
  color: var(--wm-text-faint);
  font-style: italic;
}
.wm-augur-impact-row{
  display:flex; align-items:center; gap: 10px; flex-wrap:wrap;
  padding: 4px 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px;
  color: #cfd8e0;
  border-top: 1px solid rgba(255,255,255,.04);
}
.wm-augur-impact-row .edge{ color: var(--wm-cyan); min-width:160px }
.wm-augur-impact-row .shift b{ color:#ffb347; padding: 0 4px }
.wm-augur-postbar{
  display: inline-flex; height: 8px; min-width: 110px; vertical-align: middle;
  border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.4);
}
.wm-augur-postbar .seg{ display:block; height:100%; }
.wm-augur-postbar .seg-healthy   { background: var(--wm-green) }
.wm-augur-postbar .seg-congested { background: var(--wm-amber) }
.wm-augur-postbar .seg-degraded  { background: #fb7f58 }
.wm-augur-postbar .seg-cut       { background: var(--wm-red) }

.wm-augur-err{
  color: #ff9999;
  padding: 8px 10px;
  border: 1px solid rgba(255,90,90,.3);
  background: rgba(255,90,90,.06);
}

body.wm-augur-open{ overflow:hidden }

/* Mobile */
@media (max-width: 720px){
  .wm-augur-card{ width: 100vw; max-height: 100vh; height: 100vh; border:none }
  .wm-augur-body{ grid-template-columns: 1fr; }
  .wm-augur-list{ border-right:none; border-bottom: 1px solid rgba(255,255,255,.06); max-height: 38vh; }
  .wm-augur-param-head{ flex-direction: column; align-items: flex-start; }
}

/* ===========================================================
   AUGUR · Rule Explorer overlay
   =========================================================== */
.wm-augur-card-wide{ width: min(1280px, 96vw) }
.wm-augur-explorer-tools{
  display:flex; gap: 8px; align-items: center;
}
.wm-augur-range{
  display:inline-flex; border: 1px solid rgba(255,255,255,.10);
}
.wm-augur-range-btn{
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  padding: 5px 10px;
  background: transparent;
  border: none;
  color: var(--wm-text-dim);
  cursor: pointer;
  border-right: 1px solid rgba(255,255,255,.06);
  transition: color .12s, background .12s;
}
.wm-augur-range-btn:last-child{ border-right:none }
.wm-augur-range-btn:hover{ color:#fff; background: rgba(0,229,255,.06) }
.wm-augur-range-btn.active{
  color: var(--wm-cyan);
  background: rgba(0,229,255,.10);
}
.wm-augur-explorer-body{
  padding: 18px 22px;
  overflow-y: auto;
  display:flex; flex-direction:column; gap: 16px;
}

/* KPIs */
.wm-aex-kpis{
  display:grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.wm-aex-kpi{
  background: linear-gradient(180deg, #0b1120 0%, #060a12 100%);
  padding: 14px 16px;
  display:flex; flex-direction:column; gap: 4px;
}
.wm-aex-kpi-lbl{
  font-size: 9px; letter-spacing: .16em; color: var(--wm-text-faint);
}
.wm-aex-kpi-val{
  font: 700 26px/1 'Orbitron', sans-serif;
  color: #fff;
  letter-spacing: .04em;
}
.wm-aex-kpi-val.wr-good { color: #5fffa0 }
.wm-aex-kpi-val.wr-mid  { color: #ffb347 }
.wm-aex-kpi-val.wr-bad  { color: #ff6b6b }
.wm-aex-kpi-val.muted   { color: var(--wm-text-faint) }
.wm-aex-kpi-sub{
  font-size: 9px; letter-spacing: .08em;
  color: var(--wm-text-dim);
}

/* Two-up grid: timeline + by-edge */
.wm-aex-grid{
  display:grid; grid-template-columns: 2fr 1fr; gap: 14px;
}

.wm-aex-panel{
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.012);
}
.wm-aex-panel-head{
  display:flex; align-items:center; justify-content:space-between;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing: .16em;
  color: var(--wm-text-dim);
}
.wm-aex-panel-head .muted{
  font-weight: 400;
  letter-spacing: .08em;
}

/* Timeline (stacked bar chart) */
.wm-aex-tl{
  display:flex; align-items:flex-end; gap: 2px;
  height: 160px;
  padding: 12px 14px 4px;
}
.wm-aex-tl-col{
  flex: 1 1 auto;
  display:flex; align-items:flex-end; justify-content:center;
  height: 100%;
}
.wm-aex-tl-bar{
  width: 100%;
  display:flex; flex-direction: column-reverse;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(255,255,255,.10);
  min-height: 1px;
}
.wm-aex-tl-bar .seg{ display:block; width:100%; }
.wm-aex-tl-bar .seg-win     { background: #5fffa0 }
.wm-aex-tl-bar .seg-loss    { background: #ff6b6b }
.wm-aex-tl-bar .seg-tie     { background: #ffb347 }
.wm-aex-tl-bar .seg-pending { background: rgba(0,229,255,.4) }
.wm-aex-tl-legend{
  display:flex; gap: 14px;
  padding: 4px 14px 12px;
  font-size: 9px; letter-spacing: .14em;
  color: var(--wm-text-dim);
}
.wm-aex-tl-legend .seg{
  display:inline-block; width: 10px; height: 8px;
  margin-right: 4px; vertical-align: middle;
}
.wm-aex-tl-legend .seg-win     { background: #5fffa0 }
.wm-aex-tl-legend .seg-loss    { background: #ff6b6b }
.wm-aex-tl-legend .seg-tie     { background: #ffb347 }
.wm-aex-tl-legend .seg-pending { background: rgba(0,229,255,.6) }

/* Per-edge breakdown bars */
.wm-aex-edges{
  padding: 10px 14px;
  display:flex; flex-direction:column; gap: 8px;
}
.wm-aex-edge-row{
  display:grid; grid-template-columns: 160px 1fr 90px;
  align-items:center; gap: 12px;
  font-size: 11px;
}
.wm-aex-edge-id{ color: var(--wm-cyan); }
.wm-aex-edge-bar{
  display:block;
  height: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  position: relative;
}
.wm-aex-edge-fill{
  display:flex; height: 100%;
}
.wm-aex-edge-fill .seg{ display:block; height: 100%; }
.wm-aex-edge-fill .seg-win  { background: #5fffa0 }
.wm-aex-edge-fill .seg-loss { background: #ff6b6b }
.wm-aex-edge-fill .seg-tie  { background: #ffb347 }
.wm-aex-edge-n{
  text-align: right;
  color: #d8e3ee; font-size: 11px;
}

/* Leaderboard table */
.wm-aex-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.wm-aex-table th, .wm-aex-table td{
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  text-align: left;
}
.wm-aex-table th{
  font: 600 9px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  color: var(--wm-text-faint);
  background: rgba(255,255,255,.02);
}
.wm-aex-table td.num, .wm-aex-table th.num{
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.wm-aex-table tr.inactive{ opacity: .45 }
.wm-aex-table .id{ color: var(--wm-cyan) }
.wm-aex-table .id .ver{ color: var(--wm-text-faint); font-size: 9px; margin-left: 4px }
.wm-aex-table .name{ color: #d8e3ee; max-width: 360px; }
.wm-aex-table .win   { color: #5fffa0 }
.wm-aex-table .loss  { color: #ff6b6b }
.wm-aex-table .wr-good { color: #5fffa0 }
.wm-aex-table .wr-mid  { color: #ffb347 }
.wm-aex-table .wr-bad  { color: #ff6b6b }
.wm-aex-table .muted   { color: var(--wm-text-faint) }
.wm-aex-table tr:hover td{ background: rgba(0,229,255,.04) }

/* Recent fires log */
.wm-aex-recent-list{
  list-style: none; margin: 0; padding: 0;
  max-height: 360px; overflow-y: auto;
}
.wm-aex-recent-row{
  display:grid; grid-template-columns: 70px 70px 1fr 70px 180px 80px;
  align-items: center; gap: 10px;
  padding: 7px 14px;
  font-size: 11px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.wm-aex-recent-row .ts{ color: var(--wm-text-faint) }
.wm-aex-recent-row .rule{ color: var(--wm-cyan); font-size: 10px }
.wm-aex-recent-row .name{ color: #cfd8e0 }
.wm-aex-recent-row .kind{ color: var(--wm-text-dim); font-size: 9px; letter-spacing: .14em }
.wm-aex-recent-row .edge{ color: var(--wm-text-dim); font-size: 10px }
.wm-aex-recent-row .oc{
  text-align: center;
  font-size: 9px; letter-spacing: .14em;
  padding: 2px 6px;
  border: 1px solid currentColor;
}
.wm-aex-recent-row .outcome-chip-win     { color: #5fffa0 }
.wm-aex-recent-row .outcome-chip-loss    { color: #ff6b6b }
.wm-aex-recent-row .outcome-chip-tie     { color: #ffb347 }
.wm-aex-recent-row .outcome-chip-pending { color: var(--wm-cyan) }

/* Mobile */
@media (max-width: 900px){
  .wm-aex-kpis{ grid-template-columns: repeat(2, 1fr); }
  .wm-aex-grid{ grid-template-columns: 1fr; }
  .wm-aex-recent-row{ grid-template-columns: 1fr; gap: 2px; }
  .wm-aex-recent-row .oc{ justify-self: start }
}

/* Tabs */
.wm-aex-tabs{
  display:flex; gap: 0;
  padding: 0 22px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
}
.wm-aex-tab{
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  padding: 12px 16px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--wm-text-dim);
  cursor: pointer;
  transition: color .12s, border-color .12s;
}
.wm-aex-tab:hover{ color: #fff }
.wm-aex-tab.active{
  color: var(--wm-cyan);
  border-bottom-color: var(--wm-cyan);
}
.wm-aex-tab-badge{
  color: #ffb347;
  font-size: 9px;
  margin-left: 4px;
}

/* Conflicts */
.wm-aex-conflict-list{
  list-style: none; margin: 0; padding: 0;
}
.wm-aex-conflict-row{
  border-bottom: 1px solid rgba(255,255,255,.04);
  padding: 12px 14px;
}
.wm-aex-conflict-head{
  display:flex; align-items:center; justify-content: space-between;
  font-size: 10px; letter-spacing: .14em;
  color: var(--wm-cyan);
  margin-bottom: 8px;
}
.wm-aex-conflict-head time{ color: var(--wm-text-faint); font-weight: 400 }
.wm-aex-conflict-pair{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px; align-items: center;
}
.wm-aex-conflict-side{
  display:flex; flex-direction: column; gap: 4px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid rgba(0,229,255,.6);
  padding: 10px 12px;
  cursor: pointer;
  text-align: left;
  font: inherit; color: inherit;
  transition: background .12s, border-color .12s;
}
.wm-aex-conflict-side:hover{
  background: rgba(95,255,160,.08);
  border-color: rgba(95,255,160,.4);
  border-left-color: #5fffa0;
}
.wm-aex-conflict-side .rid{ color: var(--wm-cyan); font-size: 11px; letter-spacing: .08em; }
.wm-aex-conflict-side .rname{ color: #d8e3ee; font-size: 12px; }
.wm-aex-conflict-side .reff{ color: var(--wm-text-faint); font-size: 10px; }
.wm-aex-conflict-side .reff.pol-good { color: #5fffa0 }
.wm-aex-conflict-side .reff.pol-mid  { color: #ffb347 }
.wm-aex-conflict-side .reff.pol-bad  { color: #ff8c8c }
.wm-aex-vs{
  color: #ffb347; font-size: 12px;
  letter-spacing: .14em;
  text-align: center;
}

/* Proposals */
.wm-aex-prop-list{
  list-style: none; margin: 0; padding: 0;
}
.wm-aex-prop-row{
  display:grid; grid-template-columns: 1fr auto;
  gap: 16px; align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.wm-aex-prop-meta > div{ display:flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.wm-aex-prop-name{
  color: #fff;
  font: 600 13px/1.3 'Inter', sans-serif;
}
.wm-aex-prop-conf{
  font-size: 10px; letter-spacing: .12em;
  padding: 1px 6px; border: 1px solid currentColor;
}
.wm-aex-prop-conf.wr-good { color: #5fffa0 }
.wm-aex-prop-conf.wr-mid  { color: #ffb347 }
.wm-aex-prop-conf.wr-bad  { color: #ff6b6b }
.wm-aex-prop-supp{ color: var(--wm-text-faint); font-size: 10px }
.wm-aex-prop-because{
  margin: 6px 0 0;
  color: var(--wm-text-dim);
  font-size: 12px; line-height: 1.5;
  font-style: italic;
}
.wm-aex-prop-actions{
  display:flex; gap: 6px;
}
.wm-aex-prop-approve, .wm-aex-prop-reject{
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  padding: 8px 12px;
  background: transparent;
  cursor: pointer;
  border-radius: 0;
  transition: background .12s, border-color .12s;
}
.wm-aex-prop-approve{
  border: 1px solid rgba(95,255,160,.5); color: #5fffa0;
}
.wm-aex-prop-approve:hover{ background: rgba(95,255,160,.12) }
.wm-aex-prop-reject{
  border: 1px solid rgba(255,107,107,.4); color: #ff8c8c;
}
.wm-aex-prop-reject:hover{ background: rgba(255,107,107,.10) }
.wm-aex-prop-approve:disabled, .wm-aex-prop-reject:disabled{ opacity:.5; cursor:not-allowed }

/* Incidents */
.wm-aex-inc-list{
  list-style: none; margin: 0; padding: 0;
}
.wm-aex-inc-row{
  display:grid; grid-template-columns: 80px 200px 100px 100px 1fr auto;
  gap: 12px; align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.wm-aex-inc-row .ts{ color: var(--wm-text-faint); font-size: 11px }
.wm-aex-inc-row .edge{ color: var(--wm-cyan); font-size: 12px }
.wm-aex-inc-row .state{
  font-size: 10px; letter-spacing: .14em;
  padding: 2px 6px; border: 1px solid currentColor;
  text-align: center;
}
.wm-aex-inc-row .state-degraded{ color: #fb7f58 }
.wm-aex-inc-row .state-cut     { color: var(--wm-red) }
.wm-aex-inc-row .conf{ color: #d8e3ee; font-size: 11px }
.wm-aex-inc-open{
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  padding: 6px 12px;
  background: transparent;
  border: 1px solid rgba(0,229,255,.5);
  color: var(--wm-cyan);
  cursor: pointer;
}
.wm-aex-inc-open:hover{ background: rgba(0,229,255,.12) }
.wm-aex-inc-detail{
  margin-top: 14px;
  border: 1px solid rgba(0,229,255,.32);
  background: rgba(0,229,255,.04);
}
.wm-aex-inc-md{
  padding: 18px 22px;
  font: 13px/1.6 'Inter', sans-serif;
  color: #d8e3ee;
}
.wm-aex-inc-md h2, .wm-aex-inc-md h3, .wm-aex-inc-md h4{
  color: #fff;
  font-family: 'Orbitron', sans-serif;
  letter-spacing: .04em;
  margin: 14px 0 8px;
}
.wm-aex-inc-md h2{ font-size: 18px }
.wm-aex-inc-md h3{ font-size: 14px; color: var(--wm-cyan) }
.wm-aex-inc-md h4{ font-size: 12px; color: var(--wm-text-dim) }
.wm-aex-inc-md p{ margin: 6px 0 }
.wm-aex-inc-md ul{ margin: 6px 0; padding-left: 22px }
.wm-aex-inc-md li{ margin: 2px 0 }
.wm-aex-inc-md hr{
  border: none;
  border-top: 1px dashed rgba(255,255,255,.10);
  margin: 14px 0;
}
.wm-aex-inc-md code{
  font-family: 'JetBrains Mono', monospace;
  background: rgba(0,229,255,.10);
  padding: 1px 5px;
  color: var(--wm-cyan);
  font-size: 12px;
}
.wm-aex-inc-md strong{ color: #fff }
.wm-aex-inc-md em{ color: var(--wm-text-dim) }

/* ===========================================================
   AUGUR public lead-time receipts chip
   =========================================================== */
.wm-augur-lead{
  position: fixed;
  right: 14px; bottom: 14px;
  z-index: 990;
  font: 13px/1.4 'Inter', sans-serif;
}
.wm-augur-lead-chip{
  display:inline-flex; align-items:center; gap: 8px;
  background: linear-gradient(180deg, rgba(8,16,28,.92), rgba(4,8,14,.92));
  border: 1px solid rgba(0,229,255,.32);
  color: #d4f7ff;
  padding: 8px 14px;
  font: 600 11px/1 'Share Tech Mono', monospace;
  letter-spacing: .12em;
  cursor: pointer;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 16px rgba(0,0,0,.4), 0 0 24px rgba(0,229,255,.10);
  transition: border-color .15s, transform .15s;
}
.wm-augur-lead-chip:hover{
  border-color: rgba(0,229,255,.6);
  transform: translateY(-1px);
}
.wm-augur-lead-pulse{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--wm-cyan);
  box-shadow: 0 0 8px var(--wm-cyan);
  animation: wm-aug-pulse 2.4s ease-in-out infinite;
}
@keyframes wm-aug-pulse {
  0%,100% { opacity: 1;   transform: scale(1)   }
  50%     { opacity: .35; transform: scale(.65) }
}
.wm-augur-lead-text{ color: inherit }

.wm-augur-lead-panel[hidden]{ display:none !important }
.wm-augur-lead-panel{
  position: absolute; right: 0; bottom: 48px;
  width: min(640px, calc(100vw - 28px));
  max-height: 70vh;
  background: linear-gradient(180deg, #0a1019 0%, #060a12 100%);
  border: 1px solid rgba(0,229,255,.32);
  box-shadow: 0 0 0 1px rgba(0,229,255,.10), 0 24px 60px rgba(0,0,0,.65);
  display:flex; flex-direction:column;
  overflow: hidden;
}
.wm-augur-lead-head{
  display:flex; align-items:center; justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  color: var(--wm-cyan);
}
.wm-augur-lead-close{
  background: transparent;
  border: 1px solid rgba(255,255,255,.18);
  color: var(--wm-text-dim);
  font: inherit;
  letter-spacing: .14em;
  padding: 4px 10px;
  cursor: pointer;
}
.wm-augur-lead-close:hover{ color: #fff; border-color: rgba(255,255,255,.4) }
.wm-augur-lead-paper{
  display: inline-flex; align-items: center;
  margin-left: auto; margin-right: 8px;
  padding: 4px 10px;
  border: 1px solid rgba(0,229,255,.32);
  background: rgba(0,229,255,.06);
  color: var(--wm-cyan);
  text-decoration: none;
  font: inherit;
  letter-spacing: .14em;
  transition: background-color 100ms linear, border-color 100ms linear, color 100ms linear;
}
.wm-augur-lead-paper:hover{
  background: var(--wm-cyan);
  color: var(--wm-bg-base, #060912);
  border-color: var(--wm-cyan);
}
.wm-augur-lead-body{
  flex: 1; min-height: 0;
  display:flex; flex-direction:column; gap: 12px;
  padding: 14px 16px;
  overflow-y: auto;
}
.wm-augur-lead-stats{
  display:grid; grid-template-columns: repeat(6, 1fr); gap: 1px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
}
.wm-augur-lead-stats > div{
  background: rgba(0,0,0,.4);
  padding: 8px 10px;
  display:flex; flex-direction:column; gap: 2px;
}
.wm-augur-lead-stats span{
  font-size: 9px; letter-spacing: .14em;
  color: var(--wm-text-faint);
}
.wm-augur-lead-stats strong{
  font: 600 14px/1 'Orbitron', sans-serif;
  color: #fff;
}
.wm-augur-lead-rows{
  list-style: none; margin: 0; padding: 0;
  border: 1px solid rgba(255,255,255,.06);
}
.wm-augur-lead-row{
  display:grid; grid-template-columns: 36px 130px 80px 70px 1fr 70px;
  gap: 8px; align-items: center;
  padding: 6px 10px;
  font-size: 11px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.wm-augur-lead-row .ts{ color: var(--wm-text-faint) }
.wm-augur-lead-row .edge{ color: var(--wm-cyan) }
.wm-augur-lead-row .state{ font-size: 9px; letter-spacing: .14em; padding: 1px 4px; border: 1px solid currentColor; text-align: center }
.wm-augur-lead-row .state.state-degraded{ color: #fb7f58 }
.wm-augur-lead-row .state.state-cut     { color: var(--wm-red) }
.wm-augur-lead-row .state.state-congested{ color: #ffb347 }
.wm-augur-lead-row .conf{ color: #d8e3ee }
.wm-augur-lead-row .lead{ color: #5fffa0; font-size: 10px }
.wm-augur-lead-row .oc{
  font-size: 9px; letter-spacing: .14em;
  text-align: center;
  padding: 1px 5px; border: 1px solid currentColor;
}
.wm-augur-lead-row .outcome-chip-hit            { color: #5fffa0 }
.wm-augur-lead-row .outcome-chip-false_positive { color: #ff8c8c }
.wm-augur-lead-row .outcome-chip-pending        { color: var(--wm-cyan) }
.wm-augur-lead-foot{
  display:flex; align-items: center; gap: 12px;
  padding-top: 4px;
}
.wm-augur-lead-verify{
  font: 600 10px/1 'Share Tech Mono', monospace;
  letter-spacing: .14em;
  padding: 8px 14px;
  background: transparent;
  border: 1px solid rgba(0,229,255,.5);
  color: var(--wm-cyan);
  cursor: pointer;
  transition: background .12s, border-color .12s;
}
.wm-augur-lead-verify:hover{ background: rgba(0,229,255,.12) }
.wm-augur-lead-verify.ok { border-color: rgba(95,255,160,.6); color: #5fffa0 }
.wm-augur-lead-verify.bad{ border-color: rgba(255,107,107,.6); color: #ff6b6b }
.wm-augur-lead-verify:disabled{ opacity: .5; cursor: not-allowed }
.wm-augur-lead-foot-note{
  flex: 1;
  font-size: 10px;
  color: var(--wm-text-faint);
}
.wm-augur-lead-foot-note code{
  background: rgba(0,229,255,.10);
  color: var(--wm-cyan);
  padding: 1px 4px;
  font-family: 'JetBrains Mono', monospace;
}

@media (max-width: 720px){
  .wm-augur-lead{ left: 14px; right: 14px; }
  .wm-augur-lead-panel{ width: auto; right: 0; }
  .wm-augur-lead-stats{ grid-template-columns: repeat(3, 1fr); }
  .wm-augur-lead-row{ grid-template-columns: 50px 1fr 70px; gap: 4px; }
  .wm-augur-lead-row .conf, .wm-augur-lead-row .lead { display: none }
}


/* ═══════════════════════════════════════════════════════════════════
   PHASE 4 · Design-system polish — tokens, motion, moment-of-truth
   Layered on top of existing styles per design_guidelines.json.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  /* Spacing scale (4-baseline) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;

  /* Type scale */
  --type-micro:   0.65rem;
  --type-mono:    0.75rem;
  --type-body:    0.875rem;
  --type-subhead: 1rem;
  --type-heading: 1.5rem;
  --type-display: 2.5rem;

  /* Track scale */
  --track-mono:  0;
  --track-tag:   0.05em;
  --track-head:  0.02em;
  --track-display: -0.02em;

  /* Motion */
  --motion-fast: 100ms;
  --motion-base: 180ms;
  --motion-slow: 320ms;
  --motion-ease: cubic-bezier(.2, .6, .2, 1);
}

/* ─── Posterior bar — strict geometric, 1px gaps, no gradients ── */
.wm-aex-tl-bar .seg,
.wm-augur-postbar .seg,
.wm-aex-edge-fill .seg{
  transition: opacity var(--motion-base) var(--motion-ease);
}
.wm-aex-tl-col:hover .wm-aex-tl-bar .seg{ opacity: 1 }
.wm-aex-tl-bar:hover{ filter: drop-shadow(0 0 10px rgba(0,229,255,.25)) }

/* ─── Panel header — restrained, with cyan top-stripe on focus ─── */
.wm-panel-header,
.wm-aex-panel-head{
  position: relative;
}
.wm-panel.wm-panel-active::before,
.wm-aex-panel.is-focal::before{
  content: '';
  position: absolute;
  inset: -1px -1px auto -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--wm-cyan), transparent);
  opacity: .6;
  pointer-events: none;
}

/* ─── KPI cell polish — tabular nums + ASCII scramble entry ─── */
.wm-aex-kpi-val,
.wm-aex-kpi strong,
.wm-augur-lead-stats strong,
.wm-augur-lead-out{
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}
@keyframes wm-scramble {
  0%, 60% { opacity: .35; filter: blur(0.5px) }
  100%    { opacity: 1;   filter: none }
}
.wm-aex-kpi-val[data-mounted]{
  animation: wm-scramble 320ms var(--motion-ease) both;
}

/* ═══════════════════════════════════════════════════════════════════
   AUGUR EXPLORER — master/detail conversion
   ─────────────────────────────────────────────────────────────────── */
.wm-augur-explorer .wm-augur-card-wide{
  /* Promote to a true command surface */
  width: min(1320px, 96vw);
  height: min(86vh, 880px);
}
.wm-augur-explorer .wm-augur-card-wide .wm-augur-head{
  border-bottom-color: rgba(0,229,255,.12);
}
.wm-augur-explorer .wm-augur-head h3{
  letter-spacing: .12em;
}

/* Convert top-row tabs → left rail nav (master) */
.wm-augur-explorer .wm-aex-tabs{
  display: flex;
  flex-direction: column;
  width: 200px;
  flex: 0 0 200px;
  padding: var(--space-3) 0;
  border-right: 1px solid rgba(255,255,255,.06);
  border-bottom: none;
  background: linear-gradient(180deg, rgba(0,229,255,.03), transparent 60%);
  gap: 0;
}
.wm-augur-explorer .wm-aex-tab{
  text-align: left;
  padding: var(--space-3) var(--space-4);
  border-bottom: none;
  border-left: 2px solid transparent;
  border-right: 1px solid transparent;
  margin: 1px 0;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}
.wm-augur-explorer .wm-aex-tab:hover{
  background: rgba(0,229,255,.05);
  border-left-color: rgba(0,229,255,.4);
}
.wm-augur-explorer .wm-aex-tab.active{
  background: rgba(0,229,255,.10);
  border-left-color: var(--wm-cyan);
  border-bottom-color: transparent;
  border-right-color: rgba(0,229,255,.32);
  color: var(--wm-cyan);
  position: relative;
}
.wm-augur-explorer .wm-aex-tab.active::after{
  content: '◀';
  position: absolute; right: -1px; top: 50%;
  transform: translate(50%, -50%);
  color: var(--wm-cyan);
  font-size: 10px;
}
.wm-augur-explorer .wm-aex-tab-badge{
  background: rgba(255,179,71,.15);
  border: 1px solid rgba(255,179,71,.4);
  color: #ffb347;
  font-size: 9px;
  padding: 1px 5px;
  letter-spacing: .08em;
  margin-left: auto;
}
/* Switch the explorer body to a row layout (rail | content) */
.wm-augur-explorer .wm-augur-card-wide{
  display: flex;
  flex-direction: column;
}
.wm-augur-explorer .wm-augur-explorer-shell{
  display: flex;
  flex-direction: row;
  flex: 1;
  min-height: 0;
}
.wm-augur-explorer .wm-augur-explorer-body{
  flex: 1;
  min-height: 0;
  padding: var(--space-6);
}

/* Heavier KPI cards inside the new explorer */
.wm-augur-explorer .wm-aex-kpis{
  border: 1px solid rgba(0,229,255,.18);
  background:
    linear-gradient(180deg, rgba(0,229,255,.04), transparent 80%),
    rgba(255,255,255,.02);
}
.wm-augur-explorer .wm-aex-kpi{
  padding: var(--space-4) var(--space-6);
}
.wm-augur-explorer .wm-aex-kpi-val{
  font-size: 1.85rem;
  letter-spacing: var(--track-display);
}
.wm-augur-explorer .wm-aex-kpi-lbl{
  font-size: var(--type-micro);
  letter-spacing: 0.18em;
}
.wm-augur-explorer .wm-aex-kpi-sub{ font-size: var(--type-micro); letter-spacing: .08em }

/* Mobile fallback — collapse rail back to a tabbar on small screens */
@media (max-width: 900px){
  .wm-augur-explorer .wm-augur-explorer-shell{ flex-direction: column }
  .wm-augur-explorer .wm-aex-tabs{
    width: 100%; flex: 0 0 auto;
    flex-direction: row; overflow-x: auto;
    border-right: none; border-bottom: 1px solid rgba(255,255,255,.06);
    padding: var(--space-2);
  }
  .wm-augur-explorer .wm-aex-tab{
    border-left: none; border-right: none;
    border-bottom: 2px solid transparent;
    flex: 0 0 auto;
  }
  .wm-augur-explorer .wm-aex-tab.active{
    border-left: none;
    border-bottom-color: var(--wm-cyan);
  }
  .wm-augur-explorer .wm-aex-tab.active::after{ display:none }
}

/* ═══════════════════════════════════════════════════════════════════
   LEAD-TIME CHIP — moment-of-truth verification animation
   ─────────────────────────────────────────────────────────────────── */
.wm-augur-lead-chip{
  /* Tighten to terminal-chip dimensions */
  height: 36px;
  padding: 0 var(--space-3);
  align-items: center;
}
.wm-augur-lead-chip:focus-visible{
  outline: none;
  box-shadow: 0 0 0 1px var(--wm-cyan), 0 4px 16px rgba(0,0,0,.4), 0 0 24px rgba(0,229,255,.18);
}
.wm-augur-lead-text{
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}
/* Heavier panel border + corner cuts */
.wm-augur-lead-panel{
  border-color: rgba(0,229,255,.4);
  box-shadow:
    0 0 0 1px rgba(0,229,255,.15),
    0 24px 60px rgba(0,0,0,.7),
    0 0 60px rgba(0,229,255,.08);
}
.wm-augur-lead-panel::before{
  content: '';
  position: absolute;
  top: -1px; left: -1px; right: -1px;
  height: 2px;
  background: linear-gradient(90deg,
    transparent,
    var(--wm-cyan) 20%,
    var(--wm-cyan) 80%,
    transparent);
  opacity: .8;
  pointer-events: none;
}
.wm-augur-lead-stats > div{
  background: linear-gradient(180deg, rgba(0,229,255,.04), transparent 80%), rgba(0,0,0,.4);
}

/* The verify button — restrained at rest, devastating on click */
.wm-augur-lead-verify{
  position: relative;
  overflow: hidden;
  font-variant-numeric: tabular-nums;
}
.wm-augur-lead-verify::before{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    transparent,
    rgba(0,229,255,.18),
    transparent);
  transform: translateX(-100%);
  transition: transform .4s var(--motion-ease);
  pointer-events: none;
}
.wm-augur-lead-verify:hover::before{ transform: translateX(100%) }
.wm-augur-lead-verify.is-cycling{
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0;
  color: #5fffa0;
  border-color: rgba(95,255,160,.7);
  background: rgba(0,0,0,.6);
}
.wm-augur-lead-verify.is-cycling::after{
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg,
    rgba(95,255,160,.06) 0,
    rgba(95,255,160,.06) 1px,
    transparent 1px,
    transparent 3px);
  pointer-events: none;
  animation: wm-verify-scan 800ms linear;
}
.wm-augur-lead-verify.ok{
  border-color: #5fffa0;
  background: rgba(95,255,160,.10);
  box-shadow: 0 0 14px rgba(95,255,160,.5), inset 0 0 14px rgba(95,255,160,.10);
  color: #5fffa0;
}
.wm-augur-lead-verify.bad{
  border-color: #ff5a5a;
  background: rgba(255,90,90,.08);
  box-shadow: 0 0 14px rgba(255,90,90,.4);
  color: #ff8c8c;
}
@keyframes wm-verify-scan {
  0%   { transform: translateY(-100%) }
  100% { transform: translateY(100%) }
}

/* Row sweep — sequential green highlight as verifier walks the chain */
.wm-augur-lead-rows{ position: relative }
.wm-augur-lead-row{
  position: relative;
  transition: background var(--motion-fast) var(--motion-ease);
}
.wm-augur-lead-row.is-verifying{
  background: rgba(95,255,160,.10);
  box-shadow: inset 2px 0 0 #5fffa0;
}
.wm-augur-lead-row.is-verified{
  border-bottom-color: rgba(95,255,160,.20);
}
.wm-augur-lead-row.is-verified::after{
  content: '✓';
  position: absolute;
  right: var(--space-2);
  top: 50%; transform: translateY(-50%);
  color: #5fffa0;
  font-size: 11px;
  opacity: 0;
  animation: wm-verify-tick 400ms var(--motion-ease) forwards;
}
@keyframes wm-verify-tick {
  0%   { opacity: 0; transform: translateY(-50%) translateX(6px) }
  100% { opacity: 1; transform: translateY(-50%) translateX(0)   }
}

/* Hash chip — the cryptographic flair on the open panel */
.wm-augur-lead-hash{
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: 1px var(--space-2);
  background: rgba(0,229,255,.06);
  border: 1px solid rgba(0,229,255,.22);
  color: var(--wm-cyan);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0;
}
.wm-augur-lead-hash::before{ content: '⟫'; opacity: .6 }

/* ═══════════════════════════════════════════════════════════════════
   PHASE 5 · Main dashboard polish (re-targeted to actual markup)
   Layered ADDITIVELY. Bumps: command bar, threat cards (.wm-tc),
   provider rows, edge-health rail, mode tabs (.wm-mapmode),
   view tools (.wm-23d), warn ribbon severity, motion + tabular nums.
   ═══════════════════════════════════════════════════════════════════ */

/* Tabular numerics everywhere data lives — kills digit-wobble on poll. */
.wm-tc-big,
.wm-prov-count,
.wm-vital .v,
.wm-cmd-time,
.badge,
.wm-warn-meta strong,
.wm-ens-p,
.wm-ens-conf,
.wm-warn-row strong,
.wm-warn-sig{
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1, 'cv02' 1, 'cv11' 1;
}

/* ── Command bar (.wm-cmd): tighten + lift on hover, accent rule under ── */
.wm-cmd{ box-shadow: 0 1px 0 rgba(0,229,255,.06), 0 10px 40px rgba(0,0,0,.45); }
.wm-cmd::after{ opacity: .55; }
.wm-vital{ transition:
  transform 120ms cubic-bezier(.2,.6,.2,1),
  border-color 120ms cubic-bezier(.2,.6,.2,1),
  background-color 120ms cubic-bezier(.2,.6,.2,1); }
.wm-vital:hover{
  transform: translateY(-1px);
  border-color: rgba(0,229,255,.4);
  background: rgba(0,229,255,.05);
}
.wm-vital .v{ letter-spacing: 0; }

/* ── Threat board cards (.wm-tc) — additive polish on existing visuals ── */
.wm-tc{
  position: relative;
  transition:
    transform 180ms cubic-bezier(.2,.6,.2,1),
    border-color 180ms cubic-bezier(.2,.6,.2,1),
    background-color 180ms cubic-bezier(.2,.6,.2,1);
}
.wm-tc:hover{
  transform: translateY(-1px);
  border-color: rgba(0,229,255,.32);
}
.wm-tc[data-trend="up"]::before    { background: var(--wm-amber); box-shadow: 0 0 6px rgba(255,179,71,.55); }
.wm-tc[data-trend="surge"]::before { background: var(--wm-red);   box-shadow: 0 0 6px var(--wm-red-glow); }
.wm-tc[data-trend="down"]::before  { background: var(--wm-green); box-shadow: 0 0 5px rgba(46,232,154,.35); }
.wm-tc[data-trend="flat"]::before  { background: rgba(255,255,255,.20); }
.wm-tc-big{
  letter-spacing: -.01em;
  font-feature-settings: 'tnum' 1;
}
.wm-tc::after{
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.025), transparent 28%);
  pointer-events: none;
}

/* ── Provider rows (.wm-prov-row): keep amber hover spine, add cyan
       selected state when an outage filter pins this provider ── */
.wm-prov-row{
  transition:
    background-color 100ms cubic-bezier(.2,.6,.2,1),
    border-left-color 100ms cubic-bezier(.2,.6,.2,1);
}
.wm-prov-row.is-selected{
  background: rgba(0,229,255,.06);
}
.wm-prov-row.is-selected::before{
  background: var(--wm-cyan) !important;
  box-shadow: 0 0 6px var(--wm-cyan);
}
.wm-prov-row.is-selected .wm-prov-name{ color: var(--wm-cyan); }
.wm-prov-count{ letter-spacing: 0; font-feature-settings: 'tnum' 1; }

/* ── Mode tabs (.wm-mapmode button.on): cyan glow on the active spine ── */
.wm-mapmode button{ transition: color 100ms linear, background-color 100ms linear; }
.wm-mapmode button.on::after{
  content: '';
  position: absolute;
  left: 8px; right: 8px; bottom: -1px;
  height: 2px;
  background: var(--wm-cyan);
  box-shadow: 0 0 8px var(--wm-cyan);
  pointer-events: none;
}
.wm-mapmode button{ position: relative; }

/* ── View tools (.wm-23d button) — smoother focus state ── */
.wm-23d button{ transition: color 100ms linear, background-color 100ms linear, box-shadow 120ms linear; }
.wm-23d button.on{ box-shadow: inset 0 -2px 0 var(--wm-cyan); }

/* ── Edge Health rail (.wm-ens-row): tabular nums + lift on hover ── */
.wm-ens-row{
  transition:
    transform 180ms cubic-bezier(.2,.6,.2,1),
    border-color 180ms cubic-bezier(.2,.6,.2,1),
    background-color 180ms cubic-bezier(.2,.6,.2,1);
}
.wm-ens-row:hover{ transform: translateY(-1px); }
.wm-ens-bar .seg{ position: relative; }
.wm-ens-bar .seg::after{
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.18), transparent 60%);
  pointer-events: none;
}

/* ── Panel chrome — calmer borders, faint inner cyan rim ── */
.wm-panel{ box-shadow: 0 1px 0 rgba(0,229,255,.04) inset; }

/* ── Help dot polish — neutral at rest, cyan on hover ── */
.wm-help-dot{
  transition:
    color 100ms cubic-bezier(.2,.6,.2,1),
    border-color 100ms cubic-bezier(.2,.6,.2,1),
    background-color 100ms cubic-bezier(.2,.6,.2,1);
}
.wm-help-dot:hover{
  color: var(--wm-cyan) !important;
  border-color: rgba(0,229,255,.5) !important;
  background: rgba(0,229,255,.06) !important;
}

/* ── EARLY WARNING ribbon — severity-driven border ── */
.wm-warn-panel[data-severity="ok"]   { border-color: rgba(95,255,160,.20); }
.wm-warn-panel[data-severity="warn"] { border-color: rgba(255,179,71,.42); }
.wm-warn-panel[data-severity="crit"] {
  border-color: rgba(255,90,90,.55);
  box-shadow: 0 0 0 1px rgba(255,90,90,.18);
}

/* ── Subtle staggered first-paint reveal of top-level surfaces ── */
@keyframes wm-rise-in {
  from { opacity: 0; transform: translateY(6px) }
  to   { opacity: 1; transform: translateY(0)   }
}
@media (prefers-reduced-motion: no-preference){
  .wm-warn-panel,
  .wm-threat,
  .wm-main > .wm-col{
    animation: wm-rise-in 380ms cubic-bezier(.2,.6,.2,1) both;
  }
  .wm-warn-panel        { animation-delay:  40ms }
  .wm-threat            { animation-delay:  90ms }
  .wm-main > .wm-col:nth-child(1){ animation-delay: 130ms }
  .wm-main > .wm-col:nth-child(2){ animation-delay: 170ms }
  .wm-main > .wm-col:nth-child(3){ animation-delay: 210ms }
  .wm-tc{ animation: wm-rise-in 320ms cubic-bezier(.2,.6,.2,1) both; }
  .wm-tc:nth-child(1){ animation-delay:  60ms }
  .wm-tc:nth-child(2){ animation-delay:  90ms }
  .wm-tc:nth-child(3){ animation-delay: 120ms }
  .wm-tc:nth-child(4){ animation-delay: 150ms }
  .wm-tc:nth-child(5){ animation-delay: 180ms }
}

/* ── Selection — match the cyan accent ── */
::selection{ background: rgba(0,229,255,.25); color: #d4f7ff; }


/* ════════════════════════════════════════════════════════════════════
   GLASS SYSTEM · v2 · Liquid-glass operator surface
   ════════════════════════════════════════════════════════════════════
   Map-first full-bleed layout. Side rails float as translucent glass
   columns over a Leaflet world. Aurora ambient backdrop. Spring motion.
   No DOM changes — every existing class + data-testid + event listener
   stays intact. This block sits last so cascade order wins.
   ════════════════════════════════════════════════════════════════════ */

:root{
  /* Surfaces */
  --g-bg-base:        #07101e;
  --g-bg-deep:        #050a14;
  --g-glass-1:        rgba(15, 23, 42, 0.30);   /* lightest — chips */
  --g-glass-2:        rgba(15, 23, 42, 0.46);   /* default panels */
  --g-glass-3:        rgba(15, 23, 42, 0.62);   /* heavy — overlays */
  --g-glass-hover:    rgba(28, 41, 64, 0.58);

  /* Specular borders (top bright, bottom dark — like real glass) */
  --g-spec-top:       rgba(255, 255, 255, 0.22);
  --g-spec-bot:       rgba(0, 0, 0, 0.45);
  --g-spec-edge:      rgba(255, 255, 255, 0.07);
  --g-spec-inner:     inset 0 1px 0 rgba(255, 255, 255, 0.12),
                      inset 0 -1px 0 rgba(0, 0, 0, 0.35);
  --g-spec-inner-hi:  inset 0 1px 0 rgba(255, 255, 255, 0.18),
                      inset 0 -1px 0 rgba(0, 0, 0, 0.45),
                      inset 0 0 22px rgba(255, 255, 255, 0.025);

  /* Refraction sheen (used on hover / active states) */
  --g-sheen:          linear-gradient(135deg,
                        rgba(255,255,255,0.16) 0%,
                        rgba(255,255,255,0)   55%);

  /* Blur tiers */
  --g-blur:           saturate(160%) blur(22px);
  --g-blur-strong:    saturate(180%) blur(34px);
  --g-blur-light:     saturate(140%) blur(12px);

  /* Soft shadows (depth) */
  --g-shadow:         0 14px 40px -12px rgba(0,0,0,0.55),
                      0 4px 12px -4px rgba(0,0,0,0.45);
  --g-shadow-hover:   0 22px 56px -14px rgba(0,0,0,0.65),
                      0 6px 16px -4px rgba(0,0,0,0.55);

  /* Radii */
  --g-r-panel:        16px;
  --g-r-card:         12px;
  --g-r-pill:         999px;
  --g-r-tile:         10px;

  /* Accents (kept from prior palette for muscle-memory) */
  --g-cyan:           #38e0ff;
  --g-cyan-soft:      rgba(56, 224, 255, 0.22);
  --g-cyan-rim:       rgba(56, 224, 255, 0.42);
  --g-amber:          #ffb850;
  --g-amber-soft:     rgba(255, 184, 80, 0.20);
  --g-green:          #34e6a4;
  --g-red:            #ff5c6c;
  --g-text:           #f1f5f9;
  --g-text-dim:       #94a3b8;
  --g-text-faint:     #64748b;

  /* Spring + ease */
  --g-spring:         cubic-bezier(0.22, 1, 0.36, 1);
  --g-spring-bounce:  cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ─── Ambient base + aurora backdrop ─────────────────────────────── */
html, body{
  background: var(--g-bg-deep);
  overflow: hidden;
}
body{
  position: relative;
  font-family: 'Inter', system-ui, -apple-system, 'SF Pro Display', sans-serif;
  color: var(--g-text);
}
body::before{
  content:'';
  position: fixed; inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(60vw 50vh at 12% 18%,  rgba(56,224,255,0.10), transparent 60%),
    radial-gradient(55vw 45vh at 88% 78%,  rgba(255,184,80,0.07), transparent 60%),
    radial-gradient(50vw 40vh at 50% 100%, rgba(46,177,255,0.10), transparent 65%),
    radial-gradient(80vw 60vh at 50% -10%, rgba(20,40,80,0.45), transparent 60%),
    var(--g-bg-base);
  animation: g-aurora 28s var(--g-spring) infinite alternate;
}
@keyframes g-aurora{
  0%   { filter: hue-rotate(0deg)   saturate(1) }
  100% { filter: hue-rotate(20deg) saturate(1.15) }
}

/* App wrapper — sits above map, below overlays */
#app{
  position: relative;
  z-index: 5;
  min-height: 100vh;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ─── Map full-bleed ─────────────────────────────────────────────── */
#map{
  position: fixed !important;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 1 !important;
  background: transparent !important;
}
.leaflet-container{ background: transparent !important; }
.leaflet-tile-pane{
  filter: brightness(0.55) contrast(1.15) saturate(0.85) hue-rotate(-6deg);
}

/* ─── Country borders — faint glowing cyan stroke ───────────────── */
.leaflet-borders-pane path,
.leaflet-bordersPane-pane path{
  filter: drop-shadow(0 0 1.5px rgba(56, 224, 255, 0.55))
          drop-shadow(0 0 4px   rgba(56, 224, 255, 0.18));
  cursor: default;
}

/* ─── Country hover tooltip — glass pill ───────────────────────── */
.leaflet-tooltip.wm-country-tip{
  background: rgba(15, 23, 42, 0.78) !important;
  backdrop-filter: saturate(180%) blur(18px);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  border: 1px solid rgba(56, 224, 255, 0.42) !important;
  border-top-color: rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  padding: 4px 12px !important;
  color: #e0f7ff !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  box-shadow: 0 8px 24px -8px rgba(0,0,0,.6),
              inset 0 1px 0 rgba(255,255,255,.10);
  white-space: nowrap;
}
.leaflet-tooltip.wm-country-tip::before{ display: none !important; }
.leaflet-tooltip.wm-country-tip.leaflet-tooltip-top{ margin-top: -8px !important; }

/* Dimmed empty area outside the world bounds. */
.leaflet-container .leaflet-tile-pane{ background: var(--g-bg-deep); }

/* ─── Labels (cities · countries · oceans) — boost legibility ─── */
.leaflet-shadow-pane .leaflet-labels-tile,
.leaflet-shadow-pane{
  /* the carto only-labels tiles ship near-white text on transparent;
     boost them so they read crisply over the dimmed base. */
  filter: brightness(1.55) contrast(1.18) saturate(1.05);
  opacity: 0.92;
  mix-blend-mode: screen;
}

/* The map's flow placeholder — let it dissolve so children can float. */
.wm-map-wrap{
  display: contents;
}
.wm-main{
  display: contents;
}

/* ─── Glass panel base recipe ───────────────────────────────────── */
.wm-panel,
.wm-warn-panel,
.wm-threat,
.wm-layers,
.wm-right,
.wm-cmd,
.wm-augur-lead,
.wm-augur-lead-panel,
#mapInset .wm-inset-frame{
  background: var(--g-glass-2);
  backdrop-filter: var(--g-blur);
  -webkit-backdrop-filter: var(--g-blur);
  border: 1px solid var(--g-spec-edge);
  border-top-color: var(--g-spec-top);
  border-bottom-color: var(--g-spec-bot);
  border-radius: var(--g-r-panel);
  box-shadow: var(--g-shadow), var(--g-spec-inner);
}

/* Reset legacy chrome that conflicts with glass */
.wm-panel{ box-shadow: var(--g-shadow), var(--g-spec-inner); }
.wm-panel::before, .wm-panel::after{ display: none !important; }
.wm-layers::before, .wm-right::before, .wm-warn-panel::before,
.wm-warn-panel::after, .wm-threat::before, .wm-threat::after,
.wm-cmd::after, .wm-stats-strip::before{ display: none !important; }

/* ─── Command bar (top floating glass) ──────────────────────────── */
.wm-cmd{
  margin: 14px 16px 10px;
  padding: 10px 18px;
  min-height: 56px;
  border-radius: var(--g-r-panel);
  position: relative !important;
  z-index: 50;
  box-shadow: var(--g-shadow), var(--g-spec-inner-hi);
  flex-shrink: 0;
}
.wm-cmd::before{
  /* refraction sheen across the top edge */
  content:'';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: var(--g-sheen);
  opacity: .55;
  mix-blend-mode: screen;
}
.wm-cmd-name .nm{
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.16em;
  color: var(--g-text);
  text-shadow: none;
}
.wm-cmd-tagline{
  color: var(--g-text-dim);
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 400;
  font-size: 11.5px;
  letter-spacing: 0;
}
.wm-live-chip{
  border-radius: var(--g-r-pill);
  border-color: rgba(52, 230, 164, 0.4);
  background: rgba(52, 230, 164, 0.10);
  color: var(--g-green);
  padding: 3px 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.18em;
}
.wm-live-chip .d{
  background: var(--g-green);
  box-shadow: 0 0 8px var(--g-green);
}

/* Vitals → glass pills */
.wm-cmd-vitals{ gap: 8px; }
.wm-vital{
  background: var(--g-glass-1);
  backdrop-filter: var(--g-blur-light);
  -webkit-backdrop-filter: var(--g-blur-light);
  border: 1px solid var(--g-spec-edge);
  border-top-color: rgba(255,255,255,0.18);
  border-radius: var(--g-r-pill);
  padding: 6px 14px;
  color: var(--g-text);
  font-family: 'JetBrains Mono', monospace;
  transition:
    transform 240ms var(--g-spring),
    background-color 240ms var(--g-spring),
    border-color 240ms var(--g-spring),
    box-shadow 240ms var(--g-spring);
}
.wm-vital:hover{
  background: var(--g-glass-hover);
  border-color: var(--g-cyan-rim);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px -8px rgba(56,224,255,.28);
}
.wm-vital .k{ color: var(--g-text-dim); font-size: 9.5px; letter-spacing: .16em; }
.wm-vital .v{ color: var(--g-text); font-weight: 600; font-size: 12px; font-variant-numeric: tabular-nums; }

/* Cmd-bar tools — round glass icon buttons */
.wm-cmd-icon, .wm-cmd-search-btn, .wm-cmd-logout, .wm-cmd-mob-menu{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-top-color: rgba(255,255,255,0.18);
  border-radius: var(--g-r-pill);
  color: var(--g-text-dim);
  padding: 7px 11px;
  transition: all 220ms var(--g-spring);
}
.wm-cmd-icon:hover, .wm-cmd-search-btn:hover, .wm-cmd-mob-menu:hover{
  background: var(--g-glass-hover);
  color: var(--g-text);
  border-color: var(--g-cyan-rim);
  transform: translateY(-1px);
}
.wm-cmd-logout{
  color: var(--g-amber);
  border-color: var(--g-amber-soft);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .12em;
}
.wm-cmd-logout:hover{ background: rgba(255,184,80,.12); border-color: var(--g-amber); }
.wm-cmd-search input{ color: var(--g-text); font-family: 'Inter', sans-serif; }
.wm-cmd-search.open{ background: var(--g-glass-2); border: 1px solid var(--g-spec-edge); border-radius: var(--g-r-pill); }
.wm-cmd-time{
  font-family: 'JetBrains Mono', monospace;
  color: var(--g-text-dim);
  font-size: 10px;
  letter-spacing: .04em;
}

/* ─── Early Warning ribbon (glass strip) ────────────────────────── */
.wm-warn-panel{
  margin: 0 16px 10px;
  padding: 0;
  position: relative;
  z-index: 30;
  flex-shrink: 0;
  overflow: hidden;
}
.wm-warn-panel[data-severity="ok"]   { border-color: rgba(52,230,164,.35); }
.wm-warn-panel[data-severity="warn"] { border-color: rgba(255,184,80,.55); }
.wm-warn-panel[data-severity="crit"] { border-color: rgba(255,92,108,.65); box-shadow: var(--g-shadow), 0 0 0 1px rgba(255,92,108,.18); }
.wm-warn-head{
  background: transparent !important;
  padding: 12px 18px;
  border: none !important;
}
.wm-warn-h1{
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .22em;
  color: var(--g-amber);
  text-shadow: none;
}
.wm-warn-summary{ color: var(--g-text-dim); font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .04em; }
.wm-warn-sum-dot.normal   { background: var(--g-green); box-shadow: 0 0 8px var(--g-green); }
.wm-warn-sum-dot.elevated { background: var(--g-cyan);  box-shadow: 0 0 8px var(--g-cyan);  }
.wm-warn-sum-dot.warning  { background: var(--g-amber); box-shadow: 0 0 8px var(--g-amber); }
.wm-warn-sum-dot.imminent { background: var(--g-red);   box-shadow: 0 0 8px var(--g-red);   }
.wm-warn-scoreboard{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-radius: var(--g-r-pill);
  padding: 4px 12px;
  color: var(--g-text-dim);
  font-family: 'JetBrains Mono', monospace;
}
.wm-warn-body{ padding: 0 18px 14px; border-top: 1px solid var(--g-spec-edge); }

/* ─── Threat Board (glass strip with glass cards) ───────────────── */
.wm-threat{
  margin: 0 16px 12px;
  padding: 14px 16px;
  display: flex; align-items: stretch; gap: 14px;
  flex-shrink: 0;
  position: relative;
  z-index: 30;
}
.wm-threat-label{
  border-right: 1px solid var(--g-spec-edge);
  padding-right: 14px;
  align-self: stretch;
  display: flex; flex-direction: column; justify-content: center; gap: 4px;
  min-width: 150px;
}
.wm-threat-label::before{ display: none !important; }
.wm-threat-label .lv{
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .22em;
  color: var(--g-text);
  text-shadow: none;
}
.wm-threat-label .sub{ color: var(--g-text-faint); font-size: 9.5px; letter-spacing: .12em; font-family: 'JetBrains Mono', monospace; }
.wm-threat-cards{ gap: 10px; flex: 1; }

.wm-tc{
  background: var(--g-glass-1);
  backdrop-filter: var(--g-blur-light);
  -webkit-backdrop-filter: var(--g-blur-light);
  border: 1px solid var(--g-spec-edge);
  border-top-color: rgba(255,255,255,0.18);
  border-radius: var(--g-r-card);
  padding: 12px 14px !important;
  position: relative;
  overflow: hidden;
  transition: all 280ms var(--g-spring);
}
.wm-tc::before{
  /* trend stripe */
  width: 3px !important;
  background: var(--g-cyan) !important;
  border-radius: 2px;
  opacity: .8;
  left: 8px !important;
  top: 12px !important;
  bottom: 12px !important;
  height: auto !important;
}
.wm-tc[data-trend="up"]::before    { background: var(--g-amber) !important; box-shadow: 0 0 10px rgba(255,184,80,.6); }
.wm-tc[data-trend="surge"]::before { background: var(--g-red) !important;   box-shadow: 0 0 10px rgba(255,92,108,.6); }
.wm-tc[data-trend="down"]::before  { background: var(--g-green) !important; box-shadow: 0 0 10px rgba(52,230,164,.5); }
.wm-tc[data-trend="flat"]::before  { background: rgba(255,255,255,.25) !important; box-shadow: none; }
.wm-tc::after{
  /* glass sheen on top */
  content: '';
  position: absolute; inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.07) 0%, transparent 35%);
  pointer-events: none;
}
.wm-tc:hover{
  background: var(--g-glass-hover);
  transform: translateY(-2px);
  box-shadow: var(--g-shadow-hover);
  border-color: var(--g-cyan-rim);
}
.wm-tc-name{
  font-family: 'Inter', sans-serif;
  color: var(--g-text);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: .04em;
  padding-left: 8px;
}
.wm-tc-big{
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: 24px !important;
  color: #fff;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  padding-left: 8px;
}
.wm-tc-meta, .wm-tc-sub{ color: var(--g-text-dim); font-family: 'JetBrains Mono', monospace; font-size: 10px; padding-left: 8px; }
.wm-tc.hot{ background: var(--g-glass-1); }

/* ─── Side rails (providers · right panels) — floating glass ───── */
.wm-layers{
  position: fixed !important;
  left: 16px;
  top: 0;
  width: 280px;
  z-index: 25;
  padding: 10px 0;
  display: flex; flex-direction: column;
  border-right: none !important;
  background: var(--g-glass-2);
  backdrop-filter: var(--g-blur);
  -webkit-backdrop-filter: var(--g-blur);
  border: 1px solid var(--g-spec-edge);
  border-top-color: var(--g-spec-top);
  border-bottom-color: var(--g-spec-bot);
  border-radius: var(--g-r-panel);
  overflow: hidden;
  /* anchored below the top stack via JS-set CSS var, with sane default */
  margin-top: var(--g-top-stack, 220px);
  height: calc(100vh - var(--g-top-stack, 220px) - 80px);
  box-shadow: var(--g-shadow), var(--g-spec-inner);
}
.wm-right{
  position: fixed !important;
  right: 16px;
  top: 0;
  width: 400px;
  z-index: 25;
  padding: 10px;
  display: flex; flex-direction: column; gap: 12px;
  margin-top: var(--g-top-stack, 220px);
  height: calc(100vh - var(--g-top-stack, 220px) - 80px);
  background: var(--g-glass-2);
  backdrop-filter: var(--g-blur);
  -webkit-backdrop-filter: var(--g-blur);
  border: 1px solid var(--g-spec-edge);
  border-top-color: var(--g-spec-top);
  border-bottom-color: var(--g-spec-bot);
  border-radius: var(--g-r-panel);
  overflow-y: auto;
  overflow-x: hidden;
  box-shadow: var(--g-shadow), var(--g-spec-inner);
}

/* Section header inside the providers rail */
.wm-section-header{
  padding: 10px 14px 10px 18px !important;
  background: transparent !important;
  border-bottom: 1px solid var(--g-spec-edge) !important;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: .22em;
  color: var(--g-text);
  text-shadow: none;
}
.wm-section-header::before{
  background: var(--g-cyan) !important;
  box-shadow: 0 0 8px var(--g-cyan-soft) !important;
  width: 2px !important;
  border-radius: 1px;
}
.wm-section-header span:last-child{ color: var(--g-text-faint); font-family: 'JetBrains Mono', monospace; }

/* Provider mini-buttons */
.wm-provider-actions{ padding: 8px 12px; gap: 6px; flex-wrap: wrap; }
.wm-mini{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-top-color: rgba(255,255,255,0.18);
  border-radius: var(--g-r-pill);
  color: var(--g-text-dim);
  padding: 4px 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  letter-spacing: .14em;
  transition: all 200ms var(--g-spring);
}
.wm-mini:hover{ background: var(--g-glass-hover); color: var(--g-text); border-color: var(--g-cyan-rim); }

.wm-provider-list{ flex: 1; min-height: 0; overflow-y: auto; padding: 4px 0; }

/* Provider row → subtle glass list item */
.wm-prov-row{
  padding: 8px 14px !important;
  border-left: 2px solid transparent !important;
  border-bottom: 1px solid rgba(255,255,255,.04);
  transition: all 200ms var(--g-spring);
  display: grid !important;
  grid-template-columns: 16px 8px 1fr auto 12px !important;
  align-items: center;
  gap: 10px;
}
.wm-prov-row:hover{
  background: rgba(56,224,255,.07);
  border-left-color: var(--g-cyan-rim) !important;
}
.wm-prov-row.is-selected{
  background: rgba(56,224,255,.12);
  border-left-color: var(--g-cyan) !important;
}
.wm-prov-row.is-selected::before{ display: none !important; }
.wm-prov-name{ color: var(--g-text); font-family: 'Inter', sans-serif; font-size: 11.5px; font-weight: 500; }
.wm-prov-row.is-selected .wm-prov-name{ color: var(--g-cyan); }
.wm-prov-count{ font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--g-text-dim); font-variant-numeric: tabular-nums; }

.wm-foot-brand{
  padding: 10px 14px;
  border-top: 1px solid var(--g-spec-edge);
  color: var(--g-text-faint);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
}

/* ─── Right-rail panels (glass cards inside the rail) ──────────── */
.wm-right .wm-panel{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-top-color: rgba(255,255,255,.16);
  border-radius: var(--g-r-card);
  box-shadow: 0 8px 24px -8px rgba(0,0,0,.35), var(--g-spec-inner);
  padding: 0;
  margin: 0;
  overflow: hidden;
}
.wm-panel-header{
  padding: 12px 14px !important;
  background: transparent !important;
  border-bottom: 1px solid var(--g-spec-edge) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 10.5px !important;
  letter-spacing: .22em !important;
  color: var(--g-text) !important;
  text-shadow: none !important;
}
.wm-panel-header .muted, .wm-panel-header span:last-child:not(.badge){
  color: var(--g-text-faint);
  font-family: 'JetBrains Mono', monospace;
  font-weight: 400;
  letter-spacing: .04em;
}
.wm-panel-header .badge{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-radius: var(--g-r-pill);
  padding: 2px 9px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--g-text);
  font-variant-numeric: tabular-nums;
}

/* ENSEMBLE rows (Edge Health) — glass cards */
.wm-ens-list{ padding: 10px 12px; display: flex; flex-direction: column; gap: 10px; }
.wm-ens-row{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-top-color: rgba(255,255,255,.16);
  border-radius: var(--g-r-tile);
  padding: 12px !important;
  transition: all 240ms var(--g-spring);
  position: relative;
  overflow: hidden;
}
.wm-ens-row::after{
  content: '';
  position: absolute; inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, transparent 35%);
  pointer-events: none;
}
.wm-ens-row:hover{
  background: var(--g-glass-hover);
  border-color: var(--g-cyan-rim);
  transform: translateY(-1px);
  box-shadow: var(--g-shadow-hover);
}
.wm-ens-lbl{
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 12px;
  color: var(--g-text);
  letter-spacing: .02em;
}
.wm-ens-state{
  border-radius: var(--g-r-pill);
  padding: 2px 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  letter-spacing: .14em;
  border: 1px solid currentColor;
}
.wm-ens-p, .wm-ens-conf{
  font-family: 'JetBrains Mono', monospace;
  font-variant-numeric: tabular-nums;
  color: var(--g-text-dim);
  font-size: 10px;
}

/* Posterior bar — pill shape with inner shadow */
.wm-ens-bar{
  height: 8px !important;
  background: rgba(0,0,0,.5) !important;
  border-radius: var(--g-r-pill) !important;
  border: 1px solid rgba(0,0,0,.4) !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.6);
  display: flex; gap: 1px;
  overflow: hidden;
  margin: 8px 0;
}
.wm-ens-bar .seg{ position: relative; min-width: 0; }
.wm-ens-bar .seg::after{
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.30) 0%, transparent 60%);
  pointer-events: none;
}

/* Chips inside ENSEMBLE row */
.wm-ens-chip{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-radius: var(--g-r-pill);
  padding: 2px 9px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  color: var(--g-text-dim);
}

/* AUGUR fired-rule chip inside ENSEMBLE row */
.wm-ens-augur{
  background: rgba(56,224,255,.06) !important;
  border: 1px solid var(--g-cyan-soft) !important;
  border-left: 2px solid var(--g-cyan) !important;
  border-radius: var(--g-r-tile) !important;
  padding: 8px 12px !important;
  margin-top: 8px !important;
  transition: all 200ms var(--g-spring);
}
.wm-ens-augur:hover{ background: rgba(56,224,255,.12) !important; }
.wm-ens-augur-row .rule-id{
  background: rgba(56,224,255,.14) !important;
  border: 1px solid var(--g-cyan-soft) !important;
  border-radius: var(--g-r-pill) !important;
  padding: 2px 8px !important;
  font-family: 'JetBrains Mono', monospace;
  color: var(--g-cyan) !important;
}

/* ─── Outage list rows ──────────────────────────────────────────── */
.wm-outage-list{ padding: 8px; display: flex; flex-direction: column; gap: 8px; }
.wm-outage{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-top-color: rgba(255,255,255,.14);
  border-radius: var(--g-r-tile);
  padding: 10px 12px !important;
  transition: all 220ms var(--g-spring);
  cursor: pointer;
}
.wm-outage:hover{
  background: var(--g-glass-hover);
  transform: translateX(2px);
  border-color: var(--g-cyan-rim);
}

/* News tabs (Active Outages filter) */
.wm-news-tabs{ padding: 8px 12px; gap: 6px; display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--g-spec-edge); }
.wm-news-tab{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-radius: var(--g-r-pill);
  padding: 4px 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--g-text-dim);
  letter-spacing: .12em;
  transition: all 200ms var(--g-spring);
}
.wm-news-tab:hover{ background: var(--g-glass-hover); color: var(--g-text); }
.wm-news-tab.active{
  background: rgba(56,224,255,.16);
  color: var(--g-cyan);
  border-color: var(--g-cyan-rim);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

/* Lookup form & inputs */
.wm-lookup-form{ padding: 10px 12px; display: flex; gap: 8px; }
.wm-lookup-form input{
  flex: 1;
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-top-color: rgba(255,255,255,.14);
  border-radius: var(--g-r-pill);
  color: var(--g-text);
  padding: 7px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  outline: none;
  transition: border-color 200ms var(--g-spring);
}
.wm-lookup-form input:focus{ border-color: var(--g-cyan-rim); box-shadow: 0 0 0 3px rgba(56,224,255,.15); }
.wm-lookup-form button{
  background: rgba(56,224,255,.16);
  border: 1px solid var(--g-cyan-rim);
  border-radius: var(--g-r-pill);
  color: var(--g-cyan);
  padding: 7px 16px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .14em;
  cursor: pointer;
  transition: all 200ms var(--g-spring);
}
.wm-lookup-form button:hover{ background: var(--g-cyan); color: var(--g-bg-deep); }
.wm-lookup-quick{ padding: 0 12px 10px; gap: 6px; display: flex; flex-wrap: wrap; }
.wm-quick{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-radius: var(--g-r-pill);
  padding: 3px 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--g-text-dim);
  cursor: pointer;
  transition: all 200ms var(--g-spring);
}
.wm-quick:hover{ background: var(--g-glass-hover); color: var(--g-text); border-color: var(--g-cyan-rim); }
.wm-lookup-result, .wm-empty{ padding: 8px 14px; color: var(--g-text-dim); font-family: 'Inter', sans-serif; font-size: 11.5px; }

/* ─── AUGUR tools in Edge Health header ─────────────────────────── */
.wm-augur-open-btn{
  background: var(--g-glass-1);
  border: 1px solid var(--g-cyan-soft);
  border-radius: var(--g-r-pill);
  color: var(--g-cyan);
  padding: 4px 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  letter-spacing: .14em;
  cursor: pointer;
  transition: all 200ms var(--g-spring);
}
.wm-augur-open-btn:hover{ background: var(--g-cyan); color: var(--g-bg-deep); }

/* ─── Map header tools (mode tabs, view tools, legend) ──────────── */
.wm-map-header{
  position: fixed !important;
  top: var(--g-top-stack, 220px);
  left: calc(280px + 32px);
  right: calc(400px + 32px);
  z-index: 20;
  padding: 10px 14px !important;
  background: var(--g-glass-2) !important;
  backdrop-filter: var(--g-blur);
  -webkit-backdrop-filter: var(--g-blur);
  border: 1px solid var(--g-spec-edge) !important;
  border-top-color: var(--g-spec-top);
  border-bottom-color: var(--g-spec-bot);
  border-radius: var(--g-r-panel);
  box-shadow: var(--g-shadow), var(--g-spec-inner);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  flex-wrap: wrap;
}
.wm-mapmode{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-radius: var(--g-r-pill);
  padding: 3px;
  display: flex;
  gap: 2px;
  overflow: hidden;
  clip-path: none;
}
.wm-mapmode button{
  background: transparent !important;
  border: none !important;
  border-radius: var(--g-r-pill) !important;
  padding: 5px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 10px !important;
  letter-spacing: .14em;
  color: var(--g-text-dim) !important;
  transition: all 200ms var(--g-spring);
  position: relative;
}
.wm-mapmode button:hover{ color: var(--g-text) !important; background: rgba(255,255,255,.04) !important; }
.wm-mapmode button.on{
  background: rgba(56,224,255,.16) !important;
  color: var(--g-cyan) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.wm-mapmode button.on::after{ display: none !important; }

.wm-map-title{
  color: var(--g-text-faint);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .04em;
}
.wm-map-clock{
  color: var(--g-text-dim);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  font-variant-numeric: tabular-nums;
}

.wm-23d{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-radius: var(--g-r-pill) !important;
  padding: 2px;
  clip-path: none !important;
  display: flex;
  gap: 2px;
}
.wm-23d button{
  background: transparent !important;
  border: none !important;
  border-radius: var(--g-r-pill) !important;
  padding: 5px 10px !important;
  color: var(--g-text-dim) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 10px !important;
  letter-spacing: .12em;
  transition: all 200ms var(--g-spring);
}
.wm-23d button:hover{ color: var(--g-text) !important; background: rgba(255,255,255,.06) !important; }
.wm-23d button.on{
  background: rgba(56,224,255,.18) !important;
  color: var(--g-cyan) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}

.wm-overlay-btn{
  background: var(--g-glass-1) !important;
  border: 1px solid var(--g-spec-edge) !important;
  border-radius: var(--g-r-pill) !important;
  color: var(--g-text-dim) !important;
  padding: 5px 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 10px !important;
  letter-spacing: .12em;
}
.wm-overlay-btn:hover{ background: var(--g-glass-hover) !important; color: var(--g-text) !important; }

/* DNS toolbar */
.wm-dns-toolbar{ display: flex; gap: 6px; }
.wm-dns-toolbar select, .wm-dns-toolbar input{
  background: var(--g-glass-1);
  border: 1px solid var(--g-spec-edge);
  border-radius: var(--g-r-pill);
  color: var(--g-text);
  padding: 5px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  outline: none;
}
.wm-dns-toolbar button{
  background: rgba(56,224,255,.16);
  border: 1px solid var(--g-cyan-rim);
  border-radius: var(--g-r-pill);
  color: var(--g-cyan);
  padding: 5px 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .14em;
  cursor: pointer;
}

/* Map legend (floating glass at bottom of map area) */
.wm-map-legend{
  position: fixed !important;
  bottom: 16px;
  left: calc(280px + 32px);
  right: calc(400px + 32px);
  z-index: 20;
  background: var(--g-glass-2) !important;
  backdrop-filter: var(--g-blur-light);
  -webkit-backdrop-filter: var(--g-blur-light);
  border: 1px solid var(--g-spec-edge) !important;
  border-top-color: rgba(255,255,255,.14);
  border-radius: var(--g-r-pill);
  padding: 6px 16px !important;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--g-text-dim);
  display: flex; align-items: center; gap: 14px;
  flex-wrap: wrap;
  width: max-content;
  max-width: calc(100vw - 280px - 400px - 64px);
  margin: 0 auto;
  box-shadow: var(--g-shadow);
}

/* ─── Map inset / loupe (glass) ─────────────────────────────────── */
.wm-inset{ z-index: 22 !important; }
.wm-inset-frame{
  border-radius: var(--g-r-card) !important;
  background: var(--g-glass-2) !important;
  backdrop-filter: var(--g-blur-light);
  -webkit-backdrop-filter: var(--g-blur-light);
  border: 1px solid var(--g-spec-edge) !important;
  border-top-color: rgba(255,255,255,.18) !important;
  box-shadow: var(--g-shadow), var(--g-spec-inner);
  overflow: hidden;
}

/* ─── + MORE PANELS button ──────────────────────────────────────── */
.wm-more-btn{
  background: var(--g-glass-1) !important;
  border: 1px solid var(--g-spec-edge) !important;
  border-radius: var(--g-r-pill) !important;
  color: var(--g-text-dim) !important;
  padding: 8px 14px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: .14em;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin: 4px 6px;
  transition: all 200ms var(--g-spring);
}
.wm-more-btn:hover{ background: var(--g-glass-hover) !important; color: var(--g-text) !important; }

/* ─── AUGUR receipts chip + panel — glass island bottom right ───── */
.wm-augur-lead{
  z-index: 60;
  bottom: 16px !important;
  right: calc(400px + 32px) !important;
}
.wm-augur-lead-chip{
  background: var(--g-glass-2) !important;
  backdrop-filter: var(--g-blur);
  -webkit-backdrop-filter: var(--g-blur);
  border: 1px solid var(--g-cyan-soft) !important;
  border-top-color: rgba(255,255,255,.16) !important;
  border-radius: var(--g-r-pill) !important;
  padding: 8px 16px !important;
  color: var(--g-cyan) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: .04em;
  box-shadow: var(--g-shadow), 0 0 0 1px rgba(56,224,255,.18), var(--g-spec-inner);
  transition: all 240ms var(--g-spring);
}
.wm-augur-lead-chip:hover{
  background: var(--g-glass-hover) !important;
  transform: translateY(-1px);
  box-shadow: var(--g-shadow-hover), 0 0 24px -8px rgba(56,224,255,.5);
}
.wm-augur-lead-pulse{
  width: 8px !important; height: 8px !important;
  background: var(--g-cyan) !important;
  box-shadow: 0 0 10px var(--g-cyan);
  border-radius: 50%;
}

.wm-augur-lead-panel{
  background: var(--g-glass-3) !important;
  backdrop-filter: var(--g-blur-strong);
  -webkit-backdrop-filter: var(--g-blur-strong);
  border: 1px solid var(--g-spec-edge) !important;
  border-top-color: rgba(255,255,255,.2) !important;
  border-radius: var(--g-r-panel) !important;
  box-shadow: 0 30px 80px -16px rgba(0,0,0,.7), var(--g-spec-inner-hi);
  width: 540px !important;
  max-height: 70vh !important;
  z-index: 60;
}
.wm-augur-lead-head{ padding: 14px 18px !important; border-bottom: 1px solid var(--g-spec-edge) !important; color: var(--g-text) !important; }
.wm-augur-lead-head span:first-child{ font-family: 'Inter', sans-serif !important; font-weight: 700; font-size: 11px; letter-spacing: .22em; }
.wm-augur-lead-paper{
  background: var(--g-glass-1) !important;
  border-color: var(--g-cyan-rim) !important;
  border-radius: var(--g-r-pill) !important;
  padding: 4px 12px !important;
  font-size: 10px !important;
}
.wm-augur-lead-close{
  background: var(--g-glass-1) !important;
  border-radius: var(--g-r-pill) !important;
  padding: 4px 12px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
}
.wm-augur-lead-stats{
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--g-spec-edge);
  border-radius: 0 !important;
}
.wm-augur-lead-row{
  background: rgba(255,255,255,.025) !important;
  border-radius: var(--g-r-tile) !important;
  margin-bottom: 4px;
  padding: 8px 12px !important;
}
.wm-augur-lead-verify{
  background: rgba(56,224,255,.16) !important;
  border: 1px solid var(--g-cyan-rim) !important;
  border-radius: var(--g-r-pill) !important;
  color: var(--g-cyan) !important;
  padding: 6px 16px !important;
}
.wm-augur-lead-hash{
  background: var(--g-glass-1) !important;
  border-color: var(--g-cyan-soft) !important;
  border-radius: var(--g-r-pill) !important;
  padding: 2px 10px !important;
}

/* ─── Help dots ─────────────────────────────────────────────────── */
.wm-help-dot{
  background: var(--g-glass-1) !important;
  border: 1px solid var(--g-spec-edge) !important;
  border-radius: 50% !important;
  width: 18px !important;
  height: 18px !important;
  color: var(--g-text-faint) !important;
  font-size: 10px !important;
  font-family: 'JetBrains Mono', monospace !important;
  line-height: 1 !important;
  display: inline-flex; align-items: center; justify-content: center;
  transition: all 180ms var(--g-spring);
}
.wm-help-dot:hover{ color: var(--g-cyan) !important; border-color: var(--g-cyan-rim) !important; background: rgba(56,224,255,.10) !important; }

/* ─── Stats strip & legacy chrome — neutralize ──────────────────── */
.wm-stats-strip{ display: none !important; }
.wm-foot-brand{ display: none; }       /* shown via mediaq when desktop */
@media (min-width: 900px){ .wm-foot-brand{ display: block; } }

/* CRT shader is anachronistic with glass — disable. */
.wm-crt-overlay{ display: none !important; }
body.crt-on .wm-crt-overlay{ display: none !important; }

/* ─── Radar sweep — keep but ultra-subtle (no longer over panels) */
.wm-radar{ opacity: .35; }
.wm-radar-sweep{ opacity: .6; }

/* ─── Spring entrance for floating panels ──────────────────────── */
@keyframes g-rise {
  0%   { opacity: 0; transform: translateY(14px) scale(.985); }
  100% { opacity: 1; transform: translateY(0)   scale(1);     }
}
@media (prefers-reduced-motion: no-preference){
  .wm-cmd        { animation: g-rise 520ms var(--g-spring) both; }
  .wm-warn-panel { animation: g-rise 520ms 60ms  var(--g-spring) both; }
  .wm-threat     { animation: g-rise 520ms 110ms var(--g-spring) both; }
  .wm-layers     { animation: g-rise 560ms 160ms var(--g-spring) both; }
  .wm-right      { animation: g-rise 560ms 200ms var(--g-spring) both; }
  .wm-map-header { animation: g-rise 560ms 240ms var(--g-spring) both; }
  .wm-map-legend { animation: g-rise 560ms 320ms var(--g-spring) both; }
  .wm-augur-lead { animation: g-rise 600ms 380ms var(--g-spring-bounce) both; }
}

/* Custom scrollbar tuned for glass */
.wm-right::-webkit-scrollbar,
.wm-provider-list::-webkit-scrollbar,
.wm-augur-lead-body::-webkit-scrollbar{ width: 6px; }
.wm-right::-webkit-scrollbar-thumb,
.wm-provider-list::-webkit-scrollbar-thumb,
.wm-augur-lead-body::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.10);
  border-radius: var(--g-r-pill);
}
.wm-right::-webkit-scrollbar-thumb:hover,
.wm-provider-list::-webkit-scrollbar-thumb:hover{ background: rgba(56,224,255,.32); }

/* ─── Tour / popovers — glass-ify ───────────────────────────────── */
.wm-tour-card,
.wm-help-popover{
  background: var(--g-glass-3) !important;
  backdrop-filter: var(--g-blur-strong);
  -webkit-backdrop-filter: var(--g-blur-strong);
  border: 1px solid var(--g-spec-edge) !important;
  border-top-color: rgba(255,255,255,.18) !important;
  border-radius: var(--g-r-panel) !important;
  box-shadow: var(--g-shadow-hover), var(--g-spec-inner);
}

/* ─── Selection ─────────────────────────────────────────────────── */
::selection{ background: rgba(56,224,255,.30); color: #f1fdff; }

/* ─── Mobile (< 900px) — collapse rails into a slide-up sheet ───── */
@media (max-width: 900px){
  .wm-layers, .wm-right{
    position: fixed !important;
    left: 12px; right: 12px;
    width: auto !important;
    height: auto !important;
    max-height: 60vh;
    bottom: auto;
    top: auto;
    margin-top: 0 !important;
  }
  .wm-layers{ top: 88px; }
  .wm-right { top: auto; bottom: 12px; max-height: 50vh; }
  .wm-map-header{
    left: 12px; right: 12px;
    top: 76px;
  }
  .wm-map-legend{ left: 12px; right: 12px; bottom: 12px; }
  .wm-threat{ overflow-x: auto; }
  .wm-augur-lead{ right: 12px !important; bottom: 12px !important; }
  .wm-augur-lead-panel{ width: calc(100vw - 24px) !important; }
}
/* ════════════════════════════════════════════════════════════════════
   END GLASS SYSTEM v2
   ════════════════════════════════════════════════════════════════════ */


/* ════════════════════════════════════════════════════════════════════
   GLASS SYSTEM v2 · auth splash override (first impression)
   ════════════════════════════════════════════════════════════════════ */
#wmAuthSplash{
  display: flex !important;
  align-items: center;
  justify-content: center;
  grid-template-columns: none !important;
  background: var(--g-bg-deep);
  position: fixed; inset: 0;
  overflow: hidden;
}
#wmAuthSplash::before{
  content:'';
  position: absolute; inset: 0;
  background:
    radial-gradient(60vw 50vh at 18% 22%, rgba(56,224,255,0.18), transparent 55%),
    radial-gradient(50vw 45vh at 82% 78%, rgba(255,184,80,0.12), transparent 55%),
    radial-gradient(70vw 50vh at 50% 50%, rgba(46,177,255,0.14), transparent 60%);
  filter: blur(40px) saturate(1.2);
  animation: g-aurora 26s var(--g-spring) infinite alternate;
  pointer-events: none;
}
.wm-auth-left{
  position: absolute !important;
  inset: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  z-index: 1;
}
.wm-auth-img{
  opacity: .35;
  filter: blur(2px) saturate(1.1) hue-rotate(190deg);
}
.wm-auth-scanlines{ display: none !important; }
.wm-auth-right{
  position: relative;
  z-index: 5;
  background: transparent !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 24px;
  width: 100%;
}
.wm-auth-card{
  background: var(--g-glass-3) !important;
  backdrop-filter: var(--g-blur-strong);
  -webkit-backdrop-filter: var(--g-blur-strong);
  border: 1px solid var(--g-spec-edge) !important;
  border-top-color: var(--g-spec-top) !important;
  border-bottom-color: var(--g-spec-bot) !important;
  border-radius: var(--g-r-panel) !important;
  box-shadow: 0 30px 80px -16px rgba(0,0,0,.7), var(--g-spec-inner-hi);
  padding: 40px 36px !important;
  width: min(440px, 92vw) !important;
  position: relative;
  overflow: hidden;
}
.wm-auth-card::before{
  content:'';
  position: absolute; inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.07) 0%, transparent 35%);
  pointer-events: none;
}
.wm-auth-brand{
  color: var(--g-text) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  letter-spacing: .22em !important;
  text-shadow: none !important;
  margin-bottom: 30px !important;
  display: flex; align-items: center; gap: 12px;
}
.wm-auth-fields label{
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  color: var(--g-text-dim) !important;
}
.wm-auth-fields input{
  background: var(--g-glass-1) !important;
  border: 1px solid var(--g-spec-edge) !important;
  border-top-color: rgba(255,255,255,.16) !important;
  border-radius: var(--g-r-pill) !important;
  color: var(--g-text) !important;
  font-family: 'Inter', sans-serif !important;
  padding: 11px 18px !important;
  outline: none !important;
  font-size: 13px !important;
  transition: border-color 200ms var(--g-spring), box-shadow 200ms var(--g-spring);
}
.wm-auth-fields input:focus{
  border-color: var(--g-cyan-rim) !important;
  box-shadow: 0 0 0 3px rgba(56,224,255,.15) !important;
}
.wm-auth-submit{
  background: linear-gradient(180deg, rgba(56,224,255,.28) 0%, rgba(56,224,255,.18) 100%) !important;
  border: 1px solid var(--g-cyan-rim) !important;
  border-radius: var(--g-r-pill) !important;
  color: var(--g-cyan) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  letter-spacing: .22em !important;
  padding: 12px 18px !important;
  cursor: pointer;
  margin-top: 8px;
  box-shadow: 0 8px 24px -8px rgba(56,224,255,.4), var(--g-spec-inner);
  transition: all 220ms var(--g-spring);
}
.wm-auth-submit:hover{
  background: var(--g-cyan) !important;
  color: var(--g-bg-deep) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px -8px rgba(56,224,255,.6), var(--g-spec-inner);
}
.wm-auth-err{
  background: rgba(255,92,108,.12) !important;
  border: 1px solid rgba(255,92,108,.4) !important;
  border-radius: var(--g-r-tile) !important;
  color: var(--g-red) !important;
  padding: 10px 14px !important;
  margin-top: 12px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
}

/* ─── Tour spotlight + shade ────────────────────────────────────── */
.wm-tour-shade{ background: rgba(7,16,30,.55) !important; backdrop-filter: var(--g-blur-light); -webkit-backdrop-filter: var(--g-blur-light); }
.wm-tour-card{ box-shadow: 0 30px 80px -16px rgba(0,0,0,.7), var(--g-spec-inner-hi) !important; }
.wm-tour-btn{
  background: rgba(56,224,255,.16) !important;
  border: 1px solid var(--g-cyan-rim) !important;
  border-radius: var(--g-r-pill) !important;
  color: var(--g-cyan) !important;
  padding: 8px 16px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: .14em;
}
.wm-tour-btn.ghost{
  background: var(--g-glass-1) !important;
  border-color: var(--g-spec-edge) !important;
  color: var(--g-text-dim) !important;
}

/* ─── Mobile menu drawer ────────────────────────────────────────── */
.wm-mob-menu{
  background: var(--g-glass-3) !important;
  backdrop-filter: var(--g-blur-strong);
  -webkit-backdrop-filter: var(--g-blur-strong);
  border-left: 1px solid var(--g-spec-edge) !important;
  border-radius: var(--g-r-panel) 0 0 var(--g-r-panel) !important;
}
.wm-mob-tab.on, .wm-mob-tab[aria-selected="true"]{
  background: rgba(56,224,255,.16) !important;
  color: var(--g-cyan) !important;
  border-color: var(--g-cyan-rim) !important;
}


/* ════════════════════════════════════════════════════════════════════
   CLEAN PASS · v3
   ────────────────────────────────────────────────────────────────────
   Same functionality, less noise. Compacts every zone, hides redundant
   chrome, tightens hierarchy. Sits last so cascade wins.
   ════════════════════════════════════════════════════════════════════ */

/* ── 1. Cmd bar — slimmer, no tagline noise ─────────────────────── */
.wm-cmd{
  margin: 10px 14px 8px !important;
  padding: 8px 16px !important;
  min-height: 48px !important;
}
.wm-cmd-tagline{ display: none !important; }     /* The whole "live map of the internet your site runs on" subtitle is noise. */
.wm-cmd-name .nm{ font-size: 14px !important; letter-spacing: .18em !important; }
.wm-cmd-time{ display: none !important; }        /* clock moves to map header */
.wm-cmd-vitals{ gap: 6px !important; }
.wm-vital{ padding: 5px 12px !important; }
.wm-vital .k{ font-size: 9px !important; }
.wm-vital .v{ font-size: 11.5px !important; }

/* Brand glyph slimmer */
.wm-cmd-glyph{ width: 36px !important; height: 36px !important; }

/* ── 2. Early Warning — single compact glass strip ──────────────── */
.wm-warn-panel{
  margin: 0 14px 8px !important;
  border-radius: 12px !important;
}
.wm-warn-head{ padding: 8px 14px !important; }
.wm-warn-h1{ font-size: 9.5px !important; letter-spacing: .18em !important; }
.wm-warn-summary{ font-size: 10.5px !important; }
.wm-warn-scoreboard{
  /* TRACK RECORD chip — hide unless a real prediction has fired.
     Cleaner; people who care can open the AUGUR panel for the receipts. */
  display: none !important;
}
.wm-warn-help{ display: none !important; }       /* drop the help-dot here; tour still hits other dots */

/* ── 3. Threat Board — drop LOUPE placeholder + label column ───── */
.wm-inset{ display: none !important; }            /* hover-loupe shows on map hover via existing JS handler; static placeholder is dead space. */
.wm-threat{
  margin: 0 14px 10px !important;
  padding: 10px 14px !important;
}
.wm-threat-label{ display: none !important; }     /* cards self-evident; label column wasted ~150px */
.wm-threat-cards{ gap: 8px !important; }
.wm-threat-help{ display: none !important; }
.wm-tc{ padding: 10px 12px 10px 18px !important; }
.wm-tc-name{ font-size: 10.5px !important; padding-left: 0 !important; }
.wm-tc-big{ font-size: 22px !important; padding-left: 0 !important; line-height: 1.05 !important; margin: 4px 0 2px !important; }
.wm-tc-meta, .wm-tc-sub{ font-size: 9.5px !important; padding-left: 0 !important; }
.wm-tc::before{ left: 6px !important; top: 10px !important; bottom: 10px !important; width: 2.5px !important; }

/* ── 4. Map header — single compact pill row, remove verbosity ──── */
.wm-map-title{ display: none !important; }       /* "GLOBAL INFRANET TOPOLOGY" verbose tagline */
.wm-map-clock{
  /* Clock relocates here, made tiny + monochrome */
  font-size: 9.5px !important;
  letter-spacing: .04em !important;
  color: var(--g-text-faint) !important;
  text-shadow: none !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 400 !important;
}
.wm-map-header{
  padding: 8px 14px !important;
  gap: 12px !important;
  min-height: 0 !important;
}
.wm-mapmode button{ padding: 4px 12px !important; font-size: 9.5px !important; }
.wm-23d{ padding: 2px !important; }              /* DOTS/CLUSTER/HEAT/RISK toggle — keep, just compact */
.wm-23d button{ padding: 4px 9px !important; font-size: 9.5px !important; }
.wm-overlay-btn{ padding: 4px 10px !important; font-size: 9.5px !important; }
.wm-help-tools{ display: none !important; }       /* drop tool-row help-dots; one dot in the EDGE HEALTH panel covers the same ground */

/* Legend — quieter */
.wm-map-legend{
  padding: 4px 14px !important;
  font-size: 9.5px !important;
  gap: 10px !important;
  bottom: 10px !important;
}

/* ── 5. Side rails — narrower, tighter, less padding ────────────── */
.wm-layers{
  width: 248px !important;
  left: 14px !important;
  border-radius: 14px !important;
}
.wm-right{
  width: 360px !important;
  right: 14px !important;
  padding: 8px !important;
  gap: 8px !important;
  border-radius: 14px !important;
}
.wm-map-header{
  left: calc(248px + 28px) !important;
  right: calc(360px + 28px) !important;
}
.wm-map-legend{
  left: calc(248px + 28px) !important;
  right: calc(360px + 28px) !important;
  max-width: calc(100vw - 248px - 360px - 56px) !important;
}
.wm-augur-lead{
  right: calc(360px + 28px) !important;
}

/* Provider rail — thinner rows, smaller chips */
.wm-section-header{ padding: 8px 12px 8px 14px !important; font-size: 9.5px !important; }
.wm-provider-actions{ padding: 6px 10px !important; gap: 4px !important; }
.wm-mini{ padding: 3px 9px !important; font-size: 9px !important; }
.wm-prov-row{
  padding: 6px 12px !important;
  grid-template-columns: 14px 7px 1fr auto !important;
  gap: 8px !important;
}
.wm-prov-name{ font-size: 11px !important; }
.wm-prov-count{ font-size: 9.5px !important; }

/* Right-rail panel headers — quieter */
.wm-right .wm-panel{ border-radius: 10px !important; }
.wm-panel-header{ padding: 8px 12px !important; font-size: 9.5px !important; letter-spacing: .18em !important; }

/* ENSEMBLE rows — compact */
.wm-ens-list{ padding: 8px 10px !important; gap: 8px !important; }
.wm-ens-row{ padding: 10px !important; }
.wm-ens-lbl{ font-size: 11px !important; }
.wm-ens-state{ font-size: 9px !important; padding: 1px 8px !important; }
.wm-ens-bar{ height: 6px !important; margin: 6px 0 !important; }
.wm-ens-p, .wm-ens-conf{ font-size: 9.5px !important; }

/* Domain Lookup — single line + button on the same row */
.wm-lookup-form{ padding: 8px 10px !important; gap: 6px !important; }
.wm-lookup-form input{ padding: 6px 12px !important; font-size: 11.5px !important; }
.wm-lookup-form button{ padding: 6px 14px !important; font-size: 9.5px !important; }
.wm-lookup-quick{ padding: 0 10px 8px !important; gap: 4px !important; }
.wm-quick{ padding: 2px 9px !important; font-size: 9px !important; }

/* Outage rows — denser */
.wm-outage-list{ padding: 6px !important; gap: 6px !important; }
.wm-outage{ padding: 8px 10px !important; }
.wm-news-tabs{ padding: 6px 10px !important; gap: 4px !important; }
.wm-news-tab{ padding: 3px 9px !important; font-size: 9.5px !important; }

/* MORE PANELS — collapsed by default with a quieter aesthetic */
.wm-more-btn{ padding: 6px 12px !important; font-size: 9px !important; }

/* ── 6. AUGUR receipts chip — slimmer pill ─────────────────────── */
.wm-augur-lead-chip{
  padding: 6px 14px !important;
  font-size: 10px !important;
  letter-spacing: .03em;
}
.wm-augur-lead-pulse{ width: 6px !important; height: 6px !important; }

/* ── 7. Help dots — smaller, single uniform size ────────────────── */
.wm-help-dot{
  width: 14px !important;
  height: 14px !important;
  font-size: 8.5px !important;
}

/* ── 8. Spring entrance — slightly faster on the second pass ────── */
@media (prefers-reduced-motion: no-preference){
  .wm-cmd, .wm-warn-panel, .wm-threat,
  .wm-layers, .wm-right, .wm-map-header,
  .wm-map-legend, .wm-augur-lead{
    animation-duration: 420ms !important;
  }
}

/* ── 9. Mobile / tablet — keep compact ─────────────────────────── */
@media (max-width: 1100px){
  .wm-layers{ width: 220px !important; }
  .wm-right{ width: 320px !important; }
  .wm-map-header{
    left: calc(220px + 24px) !important;
    right: calc(320px + 24px) !important;
  }
  .wm-map-legend{
    left: calc(220px + 24px) !important;
    right: calc(320px + 24px) !important;
  }
  .wm-augur-lead{ right: calc(320px + 24px) !important; }
}
@media (max-width: 900px){
  /* keep mobile from glass-system block */
  .wm-warn-panel, .wm-threat{ display: none !important; }   /* mobile users get rails only */
}
/* ════════════════════════════════════════════════════════════════════
   END CLEAN PASS v3
   ════════════════════════════════════════════════════════════════════ */


/* ════════════════════════════════════════════════════════════════════
   ENTERPRISE v1 · RESTRAINT OVERRIDES
   ────────────────────────────────────────────────────────────────────
   Datadog meets Linear meets Bloomberg Terminal. Calm, data-dense,
   restrained. Sits last so cascade order wins. Aggressive `!important`
   used to neutralize prior GLASS SYSTEM v2 + CLEAN PASS v3 declarations.
   Zero markup changes — CSS-only.
   ════════════════════════════════════════════════════════════════════ */

@import url('https://rsms.me/inter/inter.css');

:root{
  /* Pivot tokens — these are read by app.js for the top-stack calc. */
  --e-bg:           #09090b;
  --e-surface:      #141416;
  --e-surface-2:    #1c1c1f;
  --e-surface-h:    rgba(255, 255, 255, 0.04);
  --e-line:         rgba(255, 255, 255, 0.08);
  --e-line-2:       rgba(255, 255, 255, 0.14);
  --e-fg:           #f3f4f6;
  --e-fg-2:         #d1d5db;
  --e-fg-3:         #9ca3af;
  --e-fg-4:         #6b7280;
  --e-accent:       #0066ff;
  --e-accent-h:     #2563eb;
  --e-red:          #ef4444;
  --e-amber:        #f59e0b;
  --e-green:        #10b981;
  --e-r:            4px;
  --e-r-card:       6px;
  --e-shadow-low:   0 1px 2px rgba(0,0,0,0.4);
  --e-shadow-mid:   0 4px 16px rgba(0,0,0,0.5);
  --e-inner-hl:     inset 0 1px 0 rgba(255,255,255,0.04);
}

/* ── Global reset ──────────────────────────────────────────────── */
html, body{
  background: var(--e-bg) !important;
  color: var(--e-fg) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  letter-spacing: 0 !important;
  font-feature-settings: 'cv02', 'cv11', 'ss01';
}
body::before{
  /* Kill the aurora-blob background. Replace with flat + faint dot grid. */
  background:
    radial-gradient(circle at center, rgba(255,255,255,0.012) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
  filter: none !important;
  animation: none !important;
}

/* ── Map — crisp, no dim ──────────────────────────────────────── */
.leaflet-tile-pane{
  filter: brightness(0.92) contrast(1.0) saturate(0.95) !important;
}
.leaflet-shadow-pane,
.leaflet-shadow-pane .leaflet-labels-tile{
  filter: brightness(1.1) contrast(1.05) !important;
  opacity: 0.85 !important;
  mix-blend-mode: normal !important;
}
.leaflet-borders-pane path,
.leaflet-bordersPane-pane path{
  filter: none !important;
  stroke: rgba(255, 255, 255, 0.18) !important;
}
.leaflet-tooltip.wm-country-tip{
  background: var(--e-surface) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 4px 10px !important;
  color: var(--e-fg) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  box-shadow: var(--e-shadow-low) !important;
}

/* ── 1. Cmd bar — tight 40px hairline strip ────────────────────── */
.wm-cmd{
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  background: var(--e-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--e-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  animation: none !important;
}
.wm-cmd::before, .wm-cmd::after{ display: none !important; }
.wm-cmd-glyph{ width: 22px !important; height: 22px !important; opacity: 0.9; }
.wm-cmd-name .nm{
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: var(--e-fg) !important;
  text-shadow: none !important;
}
.wm-cmd-tagline{ display: none !important; }
.wm-cmd-time{ display: none !important; }

.wm-live-chip{
  background: transparent !important;
  border: 1px solid rgba(16, 185, 129, 0.32) !important;
  border-radius: var(--e-r) !important;
  padding: 2px 8px !important;
  color: var(--e-green) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}
.wm-live-chip .d{
  width: 5px !important; height: 5px !important;
  background: var(--e-green) !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.18) !important;
}

/* Vital pills — flat hairline tabs */
.wm-cmd-vitals{ gap: 0 !important; border-left: 1px solid var(--e-line) !important; padding-left: 12px !important; margin-left: 4px !important; }
.wm-vital{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 12px !important;
  color: var(--e-fg-3) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 6px !important;
  transition: color 200ms ease !important;
}
.wm-vital:hover{
  background: transparent !important;
  border: 0 !important;
  transform: none !important;
  color: var(--e-fg) !important;
}
.wm-vital .k{ font-family: 'Inter', sans-serif !important; font-size: 10px !important; font-weight: 500 !important; color: var(--e-fg-4) !important; letter-spacing: 0 !important; text-transform: uppercase; }
.wm-vital .v{ font-family: 'JetBrains Mono', monospace !important; font-size: 12px !important; font-weight: 600 !important; color: var(--e-fg) !important; letter-spacing: 0 !important; }

/* Cmd-bar tools */
.wm-cmd-icon, .wm-cmd-search-btn, .wm-cmd-mob-menu{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  width: 26px !important;
  height: 26px !important;
  padding: 0 !important;
  color: var(--e-fg-3) !important;
  font-size: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 180ms ease !important;
}
.wm-cmd-icon:hover, .wm-cmd-search-btn:hover, .wm-cmd-mob-menu:hover{
  background: var(--e-surface-h) !important;
  color: var(--e-fg) !important;
  border-color: var(--e-line-2) !important;
  transform: none !important;
}
.wm-cmd-logout{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 4px 10px !important;
  color: var(--e-fg-3) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: all 180ms ease !important;
}
.wm-cmd-logout:hover{ background: var(--e-surface-h) !important; color: var(--e-fg) !important; border-color: var(--e-line-2) !important; }
.wm-cmd-search input{
  background: transparent !important;
  border: 0 !important;
  color: var(--e-fg) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
}

/* ── 2. Warn ribbon — quiet status strip ───────────────────────── */
.wm-warn-panel{
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  background: var(--e-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--e-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  animation: none !important;
}
.wm-warn-panel[data-severity="ok"]{ background: var(--e-bg) !important; border-bottom-color: var(--e-line) !important; }
.wm-warn-panel[data-severity="warn"]{ background: rgba(245, 158, 11, 0.06) !important; border-bottom-color: rgba(245, 158, 11, 0.32) !important; }
.wm-warn-panel[data-severity="crit"]{ background: rgba(239, 68, 68, 0.08) !important; border-bottom-color: rgba(239, 68, 68, 0.42) !important; box-shadow: none !important; }
.wm-warn-head{ padding: 0 !important; height: 32px !important; display: flex !important; align-items: center !important; gap: 12px !important; border: 0 !important; }
.wm-warn-h1{
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--e-amber) !important;
  text-shadow: none !important;
}
.wm-warn-summary{ color: var(--e-fg-3) !important; font-family: 'Inter', sans-serif !important; font-size: 11px !important; letter-spacing: 0 !important; }
.wm-warn-sum-dot{ width: 6px !important; height: 6px !important; box-shadow: none !important; }
.wm-warn-sum-dot.normal   { background: var(--e-green) !important; }
.wm-warn-sum-dot.elevated { background: var(--e-accent) !important; }
.wm-warn-sum-dot.warning  { background: var(--e-amber) !important; }
.wm-warn-sum-dot.imminent { background: var(--e-red) !important; }
.wm-warn-scoreboard{ display: none !important; }
.wm-warn-help{ display: none !important; }
.wm-warn-toggle{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  color: var(--e-fg-3) !important;
  font-size: 11px !important;
  padding: 2px 8px !important;
  margin-left: auto !important;
}

/* ── 3. Threat board — flat data cards, no spine ───────────────── */
.wm-inset{ display: none !important; }
.wm-threat{
  margin: 0 !important;
  padding: 12px 16px !important;
  background: var(--e-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--e-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  animation: none !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}
.wm-threat::before, .wm-threat::after{ display: none !important; }
.wm-threat-label{ display: none !important; }
.wm-threat-help{ display: none !important; }
.wm-threat-cards{ gap: 10px !important; flex: 1 !important; display: grid !important; grid-template-columns: repeat(5, 1fr) !important; }

.wm-tc{
  background: var(--e-surface) !important;
  background-image: none !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r-card) !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  animation: none !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  transition: border-color 180ms ease, background-color 180ms ease !important;
}
.wm-tc::before, .wm-tc::after{ display: none !important; }
.wm-tc:hover{
  background: var(--e-surface-2) !important;
  border-color: var(--e-line-2) !important;
  transform: none !important;
  box-shadow: none !important;
}
.wm-tc-name{
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  color: var(--e-fg-3) !important;
  text-transform: uppercase !important;
  padding: 0 !important;
}
.wm-tc-big{
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: var(--e-fg) !important;
  margin: 2px 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-shadow: none !important;
  font-variant-numeric: tabular-nums !important;
}
.wm-tc-meta, .wm-tc-sub{
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--e-fg-4) !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
}
/* Trend indicator → tiny right-side colored dot, much subtler than the spine */
.wm-tc[data-trend="up"]    .wm-tc-big::after,
.wm-tc[data-trend="surge"] .wm-tc-big::after,
.wm-tc[data-trend="down"]  .wm-tc-big::after{
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  margin-left: 8px;
  vertical-align: middle;
}
.wm-tc[data-trend="up"]    .wm-tc-big::after{ background: var(--e-amber); }
.wm-tc[data-trend="surge"] .wm-tc-big::after{ background: var(--e-red); }
.wm-tc[data-trend="down"]  .wm-tc-big::after{ background: var(--e-green); }

/* ── 4. Side rails — structured panels, no float-glass ─────────── */
/* Override fixed-glass positioning to flow as proper columns. */
.wm-main{
  display: grid !important;
  grid-template-columns: 240px 1fr 360px !important;
  gap: 0 !important;
  flex: 1 !important;
  min-height: 0 !important;
  position: relative !important;
}
.wm-map-wrap{
  display: block !important;
  position: relative !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-left: 1px solid var(--e-line) !important;
  border-right: 1px solid var(--e-line) !important;
}
.wm-layers, .wm-right{
  position: relative !important;
  inset: auto !important;
  left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  background: var(--e-bg) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  animation: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}

/* Map full-bleed within its grid cell */
#map{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
}

/* Map header + legend — inside the map cell, anchored to its edges */
.wm-map-header{
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: 12px !important;
  z-index: 20 !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  height: 32px !important;
  background: rgba(20, 20, 22, 0.85) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  box-shadow: var(--e-shadow-low) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.wm-map-legend{
  position: absolute !important;
  bottom: 12px !important;
  left: 12px !important;
  right: 12px !important;
  z-index: 20 !important;
  margin: 0 auto !important;
  padding: 4px 12px !important;
  background: rgba(20, 20, 22, 0.85) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  box-shadow: none !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--e-fg-3) !important;
  width: max-content !important;
  max-width: calc(100% - 24px) !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  bottom: 12px !important;
}
.wm-map-title{ display: none !important; }
.wm-map-clock{
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--e-fg-3) !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.wm-mapmode{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 2px !important;
  display: inline-flex !important;
  gap: 0 !important;
}
.wm-mapmode button{
  background: transparent !important;
  border: 0 !important;
  border-radius: 2px !important;
  padding: 2px 10px !important;
  height: 22px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--e-fg-3) !important;
  letter-spacing: 0.02em !important;
  transition: all 150ms ease !important;
}
.wm-mapmode button:hover{ background: var(--e-surface-h) !important; color: var(--e-fg) !important; }
.wm-mapmode button.on{
  background: var(--e-surface-2) !important;
  color: var(--e-fg) !important;
  box-shadow: none !important;
}
.wm-mapmode button.on::after{ display: none !important; }

.wm-23d{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 2px !important;
  display: inline-flex !important;
}
.wm-23d button{
  background: transparent !important;
  border: 0 !important;
  border-radius: 2px !important;
  padding: 2px 8px !important;
  height: 22px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--e-fg-3) !important;
  letter-spacing: 0.02em !important;
}
.wm-23d button:hover{ background: var(--e-surface-h) !important; color: var(--e-fg) !important; }
.wm-23d button.on{ background: var(--e-surface-2) !important; color: var(--e-fg) !important; }

.wm-overlay-btn{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  color: var(--e-fg-3) !important;
  padding: 0 10px !important;
  height: 24px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
}

/* ── 5. Providers rail ─────────────────────────────────────────── */
.wm-section-header{
  background: var(--e-surface-2) !important;
  border-bottom: 1px solid var(--e-line) !important;
  padding: 10px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--e-fg-3) !important;
  text-shadow: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.wm-section-header::before{ display: none !important; }
.wm-section-header span:last-child{ color: var(--e-fg-4) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 10px !important; }

.wm-provider-actions{ padding: 8px 14px !important; gap: 4px !important; border-bottom: 1px solid var(--e-line) !important; flex-wrap: wrap !important; }
.wm-mini{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 2px 8px !important;
  height: 22px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--e-fg-3) !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: all 150ms ease !important;
}
.wm-mini:hover{ background: var(--e-surface-h) !important; color: var(--e-fg) !important; border-color: var(--e-line-2) !important; }
.wm-mini.active{ background: var(--e-surface-2) !important; color: var(--e-fg) !important; border-color: var(--e-line-2) !important; }

.wm-provider-list{ padding: 4px 0 !important; }
.wm-prov-row{
  height: 28px !important;
  padding: 0 14px !important;
  border-left: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.03) !important;
  background: transparent !important;
  display: grid !important;
  grid-template-columns: 14px 6px 1fr auto !important;
  align-items: center !important;
  gap: 8px !important;
  transition: background 150ms ease !important;
}
.wm-prov-row::before{ display: none !important; }
.wm-prov-row:hover{ background: var(--e-surface-h) !important; border-left-color: transparent !important; }
.wm-prov-row.is-selected{
  background: rgba(0, 102, 255, 0.08) !important;
  border-left: 2px solid var(--e-accent) !important;
  padding-left: 12px !important;
}
.wm-prov-row.is-selected .wm-prov-name{ color: var(--e-fg) !important; }
.wm-prov-name{
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: var(--e-fg-2) !important;
  letter-spacing: 0 !important;
}
.wm-prov-count{
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  color: var(--e-fg-4) !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
}

.wm-foot-brand{
  background: var(--e-surface-2) !important;
  border-top: 1px solid var(--e-line) !important;
  padding: 8px 14px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 9.5px !important;
  color: var(--e-fg-4) !important;
}

/* ── 6. Right rail — panels stacked ───────────────────────────── */
.wm-right{
  border-left: 1px solid var(--e-line) !important;
  background: var(--e-bg) !important;
}
.wm-right .wm-panel,
.wm-panel{
  background: var(--e-surface) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--e-line) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  animation: none !important;
}
.wm-panel-header{
  background: var(--e-surface-2) !important;
  border-bottom: 1px solid var(--e-line) !important;
  padding: 10px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--e-fg-3) !important;
  text-shadow: none !important;
  height: auto !important;
}
.wm-panel-header .muted, .wm-panel-header span:last-child:not(.badge){
  color: var(--e-fg-4) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.wm-panel-header .badge{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 1px 7px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--e-fg-2) !important;
  letter-spacing: 0 !important;
}

/* ENSEMBLE rows — dense data cells */
.wm-ens-list{ padding: 0 !important; gap: 0 !important; }
.wm-ens-row{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.03) !important;
  border-radius: 0 !important;
  padding: 10px 14px !important;
  box-shadow: none !important;
  transition: background 150ms ease !important;
}
.wm-ens-row::after{ display: none !important; }
.wm-ens-row:hover{ background: var(--e-surface-h) !important; transform: none !important; box-shadow: none !important; border-color: rgba(255,255,255,0.05) !important; }
.wm-ens-lbl{
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--e-fg) !important;
  letter-spacing: 0 !important;
}
.wm-ens-state{
  background: transparent !important;
  border: 1px solid currentColor !important;
  border-radius: var(--e-r) !important;
  padding: 1px 7px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.wm-ens-p, .wm-ens-conf{
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--e-fg-3) !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums !important;
}
/* Posterior bar — flat 4px */
.wm-ens-bar{
  height: 4px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  display: flex !important;
  gap: 0 !important;
  overflow: hidden !important;
  margin: 8px 0 !important;
}
.wm-ens-bar .seg{
  position: relative !important;
  box-shadow: none !important;
}
.wm-ens-bar .seg::after{ display: none !important; }

.wm-ens-chip{
  background: var(--e-surface-2) !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 1px 7px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 9.5px !important;
  color: var(--e-fg-3) !important;
  letter-spacing: 0 !important;
}

.wm-ens-augur{
  background: rgba(0, 102, 255, 0.06) !important;
  border: 0 !important;
  border-left: 2px solid var(--e-accent) !important;
  border-radius: 0 !important;
  padding: 8px 12px !important;
  margin-top: 8px !important;
}
.wm-ens-augur:hover{ background: rgba(0, 102, 255, 0.10) !important; }
.wm-ens-augur-row .rule-id{
  background: transparent !important;
  border: 1px solid rgba(0, 102, 255, 0.32) !important;
  border-radius: var(--e-r) !important;
  padding: 1px 6px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: var(--e-accent) !important;
  font-size: 10px !important;
  letter-spacing: 0 !important;
}

/* AUGUR open buttons in panel header */
.wm-augur-open-btn{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  color: var(--e-fg-3) !important;
  padding: 2px 9px !important;
  height: 22px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}
.wm-augur-open-btn:hover{ background: var(--e-surface-h) !important; color: var(--e-fg) !important; border-color: var(--e-line-2) !important; }

/* Domain Lookup form */
.wm-lookup-form{ padding: 10px 14px !important; gap: 6px !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; }
.wm-lookup-form input{
  background: var(--e-surface-2) !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  color: var(--e-fg) !important;
  padding: 5px 10px !important;
  height: 28px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
}
.wm-lookup-form input:focus{
  border-color: var(--e-accent) !important;
  box-shadow: 0 0 0 2px rgba(0, 102, 255, 0.18) !important;
  outline: none !important;
}
.wm-lookup-form button{
  background: var(--e-accent) !important;
  border: 0 !important;
  border-radius: var(--e-r) !important;
  color: #fff !important;
  padding: 0 14px !important;
  height: 28px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  transition: background-color 150ms ease !important;
}
.wm-lookup-form button:hover{ background: var(--e-accent-h) !important; color: #fff !important; }
.wm-lookup-quick{ padding: 0 14px 10px !important; gap: 4px !important; }
.wm-quick{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 2px 8px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--e-fg-3) !important;
}
.wm-quick:hover{ background: var(--e-surface-h) !important; color: var(--e-fg) !important; }

/* News tabs / outage filters */
.wm-news-tabs{ padding: 0 !important; gap: 0 !important; border-bottom: 1px solid var(--e-line) !important; display: flex !important; }
.wm-news-tab{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  padding: 8px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--e-fg-4) !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  transition: all 150ms ease !important;
}
.wm-news-tab:hover{ color: var(--e-fg-2) !important; background: transparent !important; }
.wm-news-tab.active{
  color: var(--e-fg) !important;
  border-bottom-color: var(--e-accent) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wm-outage-list{ padding: 0 !important; gap: 0 !important; }
.wm-outage{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.03) !important;
  border-radius: 0 !important;
  padding: 10px 14px !important;
  margin: 0 !important;
}
.wm-outage:hover{ background: var(--e-surface-h) !important; transform: none !important; }

/* MORE PANELS button */
.wm-more-btn{
  background: var(--e-surface-2) !important;
  border: 0 !important;
  border-top: 1px solid var(--e-line) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  color: var(--e-fg-3) !important;
  padding: 10px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  width: 100% !important;
}
.wm-more-btn:hover{ background: var(--e-surface) !important; color: var(--e-fg) !important; }

/* ── 7. AUGUR receipts dock — quiet status chip ─────────────────── */
.wm-augur-lead{
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 60 !important;
  pointer-events: none !important;
  display: flex !important;
  justify-content: center !important;
  padding: 8px !important;
  animation: none !important;
}
.wm-augur-lead-chip{
  pointer-events: auto !important;
  background: var(--e-surface) !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 5px 12px !important;
  height: 28px !important;
  color: var(--e-fg-3) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  box-shadow: var(--e-shadow-low) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 180ms ease !important;
}
.wm-augur-lead-chip:hover{
  background: var(--e-surface-2) !important;
  border-color: var(--e-line-2) !important;
  color: var(--e-fg) !important;
  transform: none !important;
  box-shadow: var(--e-shadow-low) !important;
}
.wm-augur-lead-pulse{
  width: 5px !important; height: 5px !important;
  background: var(--e-green) !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.18) !important;
  border-radius: 50% !important;
}
.wm-augur-lead-panel{
  background: rgba(20, 20, 22, 0.95) !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r-card) !important;
  box-shadow: var(--e-shadow-mid) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  width: 540px !important;
  max-height: 70vh !important;
}
.wm-augur-lead-head{
  background: var(--e-surface-2) !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--e-line) !important;
  color: var(--e-fg) !important;
}
.wm-augur-lead-head span:first-child{
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 10px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--e-fg-3) !important;
}
.wm-augur-lead-paper, .wm-augur-lead-close{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 3px 9px !important;
  height: 22px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}
.wm-augur-lead-paper{ color: var(--e-accent) !important; border-color: rgba(0,102,255,0.32) !important; }
.wm-augur-lead-paper:hover{ background: rgba(0,102,255,0.08) !important; color: var(--e-accent) !important; }
.wm-augur-lead-close{ color: var(--e-fg-3) !important; }
.wm-augur-lead-close:hover{ background: var(--e-surface-h) !important; color: var(--e-fg) !important; }
.wm-augur-lead-stats{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--e-line) !important;
  border-radius: 0 !important;
}
.wm-augur-lead-row{
  background: transparent !important;
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.03) !important;
  padding: 10px 14px !important;
  margin: 0 !important;
}
.wm-augur-lead-verify{
  background: var(--e-accent) !important;
  border: 0 !important;
  border-radius: var(--e-r) !important;
  color: #fff !important;
  padding: 5px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}
.wm-augur-lead-verify:hover{ background: var(--e-accent-h) !important; color: #fff !important; }
.wm-augur-lead-hash{
  background: var(--e-surface-2) !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  padding: 1px 8px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: var(--e-fg-3) !important;
}

/* ── 8. Help dots ───────────────────────────────────────────────── */
.wm-help-dot{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  border-radius: 50% !important;
  width: 14px !important;
  height: 14px !important;
  color: var(--e-fg-4) !important;
  font-size: 9px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 150ms ease !important;
}
.wm-help-dot:hover{ background: var(--e-surface-h) !important; color: var(--e-fg) !important; border-color: var(--e-line-2) !important; }

/* ── 9. Auth splash — clean enterprise login ────────────────────── */
#wmAuthSplash{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--e-bg) !important;
  position: fixed !important;
  inset: 0 !important;
  overflow: hidden !important;
}
#wmAuthSplash::before{
  background:
    radial-gradient(circle at center, rgba(255,255,255,0.012) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
  filter: none !important;
  animation: none !important;
  pointer-events: none !important;
}
.wm-auth-left{ display: none !important; }
.wm-auth-right{
  position: relative !important;
  z-index: 5 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  width: 100% !important;
}
.wm-auth-card{
  background: var(--e-surface) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r-card) !important;
  box-shadow: var(--e-shadow-mid) !important;
  padding: 36px 40px !important;
  width: min(420px, 92vw) !important;
}
.wm-auth-card::before{ display: none !important; }
.wm-auth-brand{
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  letter-spacing: 0 !important;
  color: var(--e-fg) !important;
  text-shadow: none !important;
  margin-bottom: 4px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.wm-auth-card .wm-auth-sub,
.wm-auth-card > p:first-of-type{
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: var(--e-fg-3) !important;
  margin-bottom: 24px !important;
}
.wm-auth-fields label{
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--e-fg-3) !important;
}
.wm-auth-fields input{
  background: var(--e-surface-2) !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r) !important;
  color: var(--e-fg) !important;
  font-family: 'Inter', sans-serif !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
  outline: none !important;
}
.wm-auth-fields input:focus{
  border-color: var(--e-accent) !important;
  box-shadow: 0 0 0 2px rgba(0, 102, 255, 0.20) !important;
}
.wm-auth-submit{
  background: var(--e-accent) !important;
  border: 0 !important;
  border-radius: var(--e-r) !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding: 10px 16px !important;
  margin-top: 12px !important;
  box-shadow: none !important;
  text-transform: none !important;
}
.wm-auth-submit:hover{
  background: var(--e-accent-h) !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}
.wm-auth-err{
  background: rgba(239, 68, 68, 0.10) !important;
  border: 1px solid rgba(239, 68, 68, 0.32) !important;
  border-radius: var(--e-r) !important;
  color: var(--e-red) !important;
  padding: 8px 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  margin-top: 12px !important;
}

/* ── 10. Tour overlays + mobile drawer ─────────────────────────── */
.wm-tour-shade{ background: rgba(0, 0, 0, 0.65) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.wm-tour-card, .wm-help-popover{
  background: var(--e-surface) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid var(--e-line) !important;
  border-radius: var(--e-r-card) !important;
  box-shadow: var(--e-shadow-mid) !important;
}
.wm-tour-btn{
  background: var(--e-accent) !important;
  border: 0 !important;
  border-radius: var(--e-r) !important;
  color: #fff !important;
  padding: 7px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.wm-tour-btn.ghost{
  background: transparent !important;
  border: 1px solid var(--e-line) !important;
  color: var(--e-fg-3) !important;
}

.wm-mob-menu{
  background: var(--e-surface) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-left: 1px solid var(--e-line) !important;
  border-radius: 0 !important;
}

/* ── 11. Selection ─────────────────────────────────────────────── */
::selection{ background: rgba(0, 102, 255, 0.30) !important; color: #fff !important; }

/* ── 12. Scrollbars ─────────────────────────────────────────────── */
*::-webkit-scrollbar{ width: 8px !important; height: 8px !important; }
*::-webkit-scrollbar-track{ background: transparent !important; }
*::-webkit-scrollbar-thumb{
  background: rgba(255, 255, 255, 0.10) !important;
  border-radius: 0 !important;
  border: 2px solid var(--e-bg) !important;
}
*::-webkit-scrollbar-thumb:hover{ background: rgba(255, 255, 255, 0.18) !important; }

/* ── 13. Kill all the prior g-rise + spring + pulse animations ── */
.wm-cmd, .wm-warn-panel, .wm-threat,
.wm-layers, .wm-right, .wm-map-header,
.wm-map-legend, .wm-augur-lead,
.wm-tc, .wm-panel{
  animation: none !important;
}

/* ── 14. CRT shader stays off ──────────────────────────────────── */
.wm-crt-overlay, body.crt-on .wm-crt-overlay{ display: none !important; }

/* ── 15. Mobile ─────────────────────────────────────────────────── */
@media (max-width: 1100px){
  .wm-main{ grid-template-columns: 220px 1fr 320px !important; }
}
@media (max-width: 900px){
  .wm-main{ grid-template-columns: 1fr !important; grid-template-rows: 200px 50vh auto !important; }
  .wm-layers{ order: 2 !important; max-height: 30vh !important; }
  .wm-map-wrap{ order: 1 !important; height: 50vh !important; }
  .wm-right{ order: 3 !important; border-left: 0 !important; border-top: 1px solid var(--e-line) !important; }
  .wm-warn-panel, .wm-threat{ display: flex !important; }
}
/* ════════════════════════════════════════════════════════════════════
   END ENTERPRISE v1
   ════════════════════════════════════════════════════════════════════ */


/* ════════════════════════════════════════════════════════════════════
   BLOOMBERG v1 · TERMINAL VIBES
   ────────────────────────────────────────────────────────────────────
   Pure-black backdrop. Orange headers, white values. Monospace
   everywhere. Sharp 0px corners. Hairline grid lines. Function-key
   style toggle hints. Status-bar feel. Sits last; aggressive
   `!important` overrides every prior block.
   ════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap');

:root{
  /* Bloomberg palette */
  --b-bg:        #000000;
  --b-bg-alt:    #0a0a0a;     /* row alternates / hover */
  --b-bg-hi:    #141414;      /* section header strip */
  --b-line:      #1f1f1f;     /* hairline grid */
  --b-line-hi:  #2e2e2e;
  --b-orange:    #ff8c00;     /* Bloomberg signature orange */
  --b-orange-hi: #ffa940;
  --b-amber:     #ffb000;
  --b-yellow:    #ffd54a;
  --b-white:    #ffffff;     /* values */
  --b-text:      #d0d0d0;     /* body */
  --b-dim:       #888888;
  --b-faint:     #555555;
  --b-cyan:      #00d9ff;     /* links / active */
  --b-green:     #00d97f;
  --b-red:       #ff4d4d;
  --b-mono:      'IBM Plex Mono', 'JetBrains Mono', 'Consolas', monospace;
}

/* ── Global reset — pure-black, mono everywhere ─────────────────── */
html, body{
  background: var(--b-bg) !important;
  color: var(--b-text) !important;
  font-family: var(--b-mono) !important;
  font-feature-settings: 'tnum' 1, 'zero' 1, 'cv02' 1 !important;
  letter-spacing: 0 !important;
  -webkit-font-smoothing: subpixel-antialiased !important;
}
body::before{
  /* No dot grid, no aurora — just pure black. */
  background: var(--b-bg) !important;
  background-size: 0 0 !important;
  filter: none !important;
  animation: none !important;
}
* { font-family: var(--b-mono) !important; }

/* ── Map ───────────────────────────────────────────────────────── */
.leaflet-tile-pane{ filter: brightness(0.78) contrast(1.1) saturate(0.55) !important; }
.leaflet-shadow-pane,
.leaflet-shadow-pane .leaflet-labels-tile{
  filter: brightness(1.05) contrast(1.05) !important;
  opacity: 0.78 !important;
  mix-blend-mode: normal !important;
}
.leaflet-borders-pane path,
.leaflet-bordersPane-pane path{
  stroke: rgba(255, 140, 0, 0.32) !important;     /* orange country outlines — terminal vibes */
  filter: none !important;
}
.leaflet-tooltip.wm-country-tip{
  background: var(--b-bg) !important;
  border: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  padding: 3px 8px !important;
  color: var(--b-orange) !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  text-transform: uppercase;
}

/* ── 1. Cmd bar — terminal status row ──────────────────────────── */
.wm-cmd{
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  background: var(--b-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  font-size: 11px !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  animation: none !important;
}
.wm-cmd::before, .wm-cmd::after{ display: none !important; }
.wm-cmd-glyph{ display: none !important; }
.wm-cmd-name{ display: inline-flex !important; align-items: center !important; padding-right: 14px !important; border-right: 1px solid var(--b-line-hi) !important; height: 100% !important; }
.wm-cmd-name .nm{
  font-family: var(--b-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: var(--b-orange) !important;
  text-shadow: none !important;
}
.wm-cmd-tagline{ display: none !important; }
.wm-cmd-time{
  display: inline-block !important;
  margin-left: auto !important;
  padding: 0 12px !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--b-dim) !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  border-left: 1px solid var(--b-line-hi) !important;
  height: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
}

.wm-live-chip{
  background: var(--b-bg) !important;
  border: 0 !important;
  border-right: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  padding: 0 12px !important;
  height: 100% !important;
  color: var(--b-green) !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.wm-live-chip .d{ width: 5px !important; height: 5px !important; background: var(--b-green) !important; box-shadow: none !important; border-radius: 50% !important; }

/* Vitals → ticker columns */
.wm-cmd-vitals{ gap: 0 !important; height: 100% !important; padding-left: 0 !important; margin-left: 0 !important; border-left: 0 !important; display: inline-flex !important; }
.wm-vital{
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  padding: 0 14px !important;
  height: 100% !important;
  color: var(--b-text) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: none !important;
  transition: background-color 100ms linear !important;
}
.wm-vital:hover{ background: var(--b-bg-alt) !important; transform: none !important; border-color: var(--b-line-hi) !important; }
.wm-vital .k{ font-family: var(--b-mono) !important; font-size: 10px !important; font-weight: 600 !important; color: var(--b-orange) !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; }
.wm-vital .v{ font-family: var(--b-mono) !important; font-size: 11px !important; font-weight: 700 !important; color: var(--b-white) !important; letter-spacing: 0 !important; font-variant-numeric: tabular-nums !important; }

/* Cmd-bar tools — fn-key style buttons */
.wm-cmd-icon, .wm-cmd-search-btn, .wm-cmd-mob-menu, .wm-cmd-logout{
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  padding: 0 10px !important;
  height: 100% !important;
  color: var(--b-text) !important;
  font-family: var(--b-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  transition: background-color 100ms linear, color 100ms linear !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.wm-cmd-icon:hover, .wm-cmd-search-btn:hover, .wm-cmd-mob-menu:hover, .wm-cmd-logout:hover{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  transform: none !important;
}
.wm-cmd-search input{
  background: transparent !important;
  border: 0 !important;
  color: var(--b-orange) !important;
  font-family: var(--b-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase;
}

/* ── 2. Warn ribbon — ticker headline strip ────────────────────── */
.wm-warn-panel{
  height: 26px !important;
  min-height: 26px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  background: var(--b-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  animation: none !important;
}
.wm-warn-panel[data-severity="ok"]{ background: var(--b-bg) !important; border-bottom-color: var(--b-line) !important; }
.wm-warn-panel[data-severity="warn"]{ background: var(--b-bg) !important; border-bottom-color: var(--b-amber) !important; }
.wm-warn-panel[data-severity="crit"]{ background: var(--b-bg) !important; border-bottom-color: var(--b-red) !important; }
.wm-warn-head{ padding: 0 !important; height: 26px !important; display: flex !important; align-items: center !important; gap: 12px !important; }
.wm-warn-h1{
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--b-orange) !important;
  text-shadow: none !important;
}
.wm-warn-summary{ color: var(--b-text) !important; font-family: var(--b-mono) !important; font-size: 10px !important; letter-spacing: 0 !important; }
.wm-warn-sum-dot{ width: 6px !important; height: 6px !important; border-radius: 0 !important; box-shadow: none !important; }
.wm-warn-sum-dot.normal   { background: var(--b-green) !important; }
.wm-warn-sum-dot.elevated { background: var(--b-cyan) !important; }
.wm-warn-sum-dot.warning  { background: var(--b-amber) !important; }
.wm-warn-sum-dot.imminent { background: var(--b-red) !important; }
.wm-warn-scoreboard{ display: none !important; }
.wm-warn-help{ display: none !important; }
.wm-warn-toggle{
  background: transparent !important;
  border: 0 !important;
  color: var(--b-orange) !important;
  font-size: 12px !important;
  padding: 0 8px !important;
  margin-left: auto !important;
}

/* ── 3. Threat board — terminal data row ───────────────────────── */
.wm-inset{ display: none !important; }
.wm-threat{
  margin: 0 !important;
  padding: 0 !important;
  background: var(--b-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  animation: none !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 0 !important;
}
.wm-threat::before, .wm-threat::after{ display: none !important; }
.wm-threat-label{ display: none !important; }
.wm-threat-help{ display: none !important; }
.wm-threat-cards{ gap: 0 !important; display: contents !important; }

.wm-tc{
  background: var(--b-bg) !important;
  background-image: none !important;
  border: 0 !important;
  border-right: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  animation: none !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto auto !important;
  align-items: baseline !important;
  gap: 2px 8px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: background-color 100ms linear !important;
}
.wm-tc:last-child{ border-right: 0 !important; }
.wm-tc::before, .wm-tc::after{ display: none !important; }
.wm-tc:hover{ background: var(--b-bg-alt) !important; transform: none !important; box-shadow: none !important; border-color: var(--b-line) !important; }
.wm-tc-name{
  grid-column: 1 / 3 !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  color: var(--b-orange) !important;
  text-transform: uppercase !important;
  padding: 0 !important;
}
.wm-tc-big{
  grid-column: 1 / 2 !important;
  font-family: var(--b-mono) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: var(--b-white) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-shadow: none !important;
  font-variant-numeric: tabular-nums !important;
}
.wm-tc-meta, .wm-tc-sub{
  grid-column: 1 / 3 !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  color: var(--b-dim) !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
}
.wm-tc[data-trend="up"]    .wm-tc-big::after,
.wm-tc[data-trend="surge"] .wm-tc-big::after,
.wm-tc[data-trend="down"]  .wm-tc-big::after,
.wm-tc[data-trend="flat"]  .wm-tc-big::after{
  content: '';
  display: inline-block;
  width: 0; height: 0;
  margin-left: 6px;
  vertical-align: middle;
}
.wm-tc[data-trend="up"]    .wm-tc-big::after{ border: 4px solid transparent; border-bottom-color: var(--b-amber); margin-bottom: 8px; }
.wm-tc[data-trend="surge"] .wm-tc-big::after{ border: 4px solid transparent; border-bottom-color: var(--b-red); margin-bottom: 8px; }
.wm-tc[data-trend="down"]  .wm-tc-big::after{ border: 4px solid transparent; border-top-color: var(--b-green); margin-top: 8px; }
.wm-tc[data-trend="flat"]  .wm-tc-big::after{ width: 6px; height: 1.5px; background: var(--b-dim); margin-bottom: 4px; border: 0; }

/* ── 4. Layout — pure-black grid with hairline rules ───────────── */
.wm-main{
  display: grid !important;
  grid-template-columns: 280px 1fr 360px !important;
  gap: 0 !important;
  background: var(--b-bg) !important;
}
/* Bloomberg = nothing behind the terminal. Kill the body aurora,
   force pure black on html/body, and make sure every shell layer is
   fully opaque. */
html, body{
  background: #000 !important;
}
body::before{ display: none !important; }
#app{
  background: var(--b-bg) !important;
}
.wm-cmd, .wm-warn-panel, .wm-threat,
.wm-mainstage, .wm-stage, .wm-shell{
  background: var(--b-bg) !important;
  backdrop-filter: none !important;
}
/* Belt-and-braces: the main grid + every column is solid black */
.wm-main, .wm-map-wrap, .wm-layers, .wm-right{
  background: var(--b-bg) !important;
}
.wm-map-wrap{
  display: block !important;
  position: relative !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-left: 1px solid var(--b-line) !important;
  border-right: 1px solid var(--b-line) !important;
  background: var(--b-bg) !important;
}
.wm-layers, .wm-right{
  position: relative !important;
  inset: auto !important;
  width: auto !important; height: auto !important;
  margin: 0 !important;
  background: var(--b-bg) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  animation: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}
.wm-right{ border-left: 0 !important; }
#map{ position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; z-index: 1 !important; }

/* ── 5. Map header — function-key toolbar ──────────────────────── */
.wm-map-header{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 20 !important;
  margin: 0 !important;
  padding: 0 10px !important;
  height: 26px !important;
  background: var(--b-bg) !important;
  backdrop-filter: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
}
.wm-map-legend{
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 20 !important;
  margin: 0 !important;
  padding: 0 12px !important;
  background: var(--b-bg) !important;
  backdrop-filter: none !important;
  border: 0 !important;
  border-top: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  color: var(--b-dim) !important;
  width: auto !important;
  max-width: none !important;
  height: 22px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}
.wm-map-title{ display: none !important; }
.wm-map-clock{
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--b-orange) !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  margin-left: auto !important;
}

.wm-mapmode, .wm-23d{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  height: 100% !important;
}
.wm-mapmode button, .wm-23d button{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 12px !important;
  height: 100% !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: var(--b-dim) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  position: relative !important;
  transition: color 100ms linear, background-color 100ms linear !important;
}
.wm-mapmode button:hover, .wm-23d button:hover{ background: var(--b-bg-alt) !important; color: var(--b-orange) !important; }
.wm-mapmode button.on, .wm-23d button.on{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  box-shadow: none !important;
}
.wm-mapmode button.on::after, .wm-23d button.on::after{ display: none !important; }
/* Function-key prefix for the visualization toggles */
.wm-23d button#viewDots::before    { content: '<1> '; opacity: 0.55; }
.wm-23d button#viewCluster::before { content: '<2> '; opacity: 0.55; }
.wm-23d button#viewHeat::before    { content: '<3> '; opacity: 0.55; }
.wm-23d button#viewRisk::before    { content: '<4> '; opacity: 0.55; }
.wm-23d button.on::before          { color: var(--b-bg) !important; opacity: 0.7; }

.wm-overlay-btn{
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  color: var(--b-dim) !important;
  padding: 0 12px !important;
  height: 100% !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.wm-overlay-btn:hover{ background: var(--b-bg-alt) !important; color: var(--b-orange) !important; }

/* ── 6. Providers rail ─────────────────────────────────────────── */
.wm-section-header{
  background: var(--b-bg-hi) !important;
  border-bottom: 1px solid var(--b-line) !important;
  padding: 4px 10px !important;
  height: 22px !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--b-orange) !important;
  text-shadow: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.wm-section-header::before{ display: none !important; }
.wm-section-header span:last-child{ color: var(--b-white) !important; font-family: var(--b-mono) !important; font-size: 10px !important; font-weight: 600 !important; }

.wm-provider-actions{
  background: var(--b-bg) !important;
  padding: 4px 10px !important;
  gap: 4px !important;
  border-bottom: 1px solid var(--b-line) !important;
  flex-wrap: wrap !important;
}
.wm-mini{
  background: transparent !important;
  border: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  padding: 0 8px !important;
  height: 18px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  color: var(--b-dim) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.wm-mini:hover{ background: var(--b-orange) !important; color: var(--b-bg) !important; border-color: var(--b-orange) !important; }
.wm-mini.active{ background: var(--b-orange) !important; color: var(--b-bg) !important; border-color: var(--b-orange) !important; }

.wm-provider-list{ padding: 0 !important; }
.wm-prov-row{
  height: 22px !important;
  padding: 0 12px !important;
  border-left: 0 !important;
  border-bottom: 1px solid var(--b-line) !important;
  background: transparent !important;
  display: grid !important;
  grid-template-columns: 14px 6px 1fr auto 8px !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: var(--b-mono) !important;
  font-size: 11px !important;
}
.wm-prov-row::before{ display: none !important; }
.wm-prov-row:hover{ background: var(--b-bg-alt) !important; border-left-color: transparent !important; }
.wm-prov-row.is-selected{
  background: rgba(255, 140, 0, 0.10) !important;
  border-left: 2px solid var(--b-orange) !important;
  padding-left: 8px !important;
}
.wm-prov-row.is-selected .wm-prov-name{ color: var(--b-orange) !important; }
.wm-prov-name{
  font-family: var(--b-mono) !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: var(--b-text) !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}
.wm-prov-count{
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--b-white) !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
}

.wm-foot-brand{
  background: var(--b-bg-hi) !important;
  border-top: 1px solid var(--b-line) !important;
  padding: 5px 10px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  color: var(--b-dim) !important;
  text-transform: uppercase;
}

/* ── 7. Right rail — panels ─────────────────────────────────────── */
.wm-right .wm-panel,
.wm-panel{
  background: var(--b-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  animation: none !important;
}
.wm-panel-header{
  background: var(--b-bg-hi) !important;
  border-bottom: 1px solid var(--b-line) !important;
  padding: 0 10px !important;
  height: 18px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--b-orange) !important;
  text-shadow: none !important;
  display: flex !important;
  align-items: center !important;
}
.wm-panel-header .muted, .wm-panel-header span:last-child:not(.badge){
  color: var(--b-dim) !important;
  font-family: var(--b-mono) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  font-size: 9px !important;
}
.wm-panel-header .badge{
  background: transparent !important;
  border: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  padding: 0 5px !important;
  height: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  font-family: var(--b-mono) !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  color: var(--b-orange) !important;
  letter-spacing: 0 !important;
}

/* ENSEMBLE rows */
.wm-ens-list{ padding: 0 !important; gap: 0 !important; }
.wm-ens-row{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  padding: 8px 12px !important;
  box-shadow: none !important;
  transition: background-color 100ms linear !important;
}
.wm-ens-row::after{ display: none !important; }
.wm-ens-row:hover{ background: var(--b-bg-alt) !important; transform: none !important; box-shadow: none !important; border-color: var(--b-line) !important; }
.wm-ens-lbl{
  font-family: var(--b-mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: var(--b-orange) !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}
.wm-ens-state{
  background: transparent !important;
  border: 1px solid currentColor !important;
  border-radius: 0 !important;
  padding: 0 6px !important;
  height: 16px !important;
  font-family: var(--b-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
}
.wm-ens-p, .wm-ens-conf{
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  color: var(--b-text) !important;
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums !important;
}

/* Posterior bar — flat 4px, sharp */
.wm-ens-bar{
  height: 4px !important;
  background: var(--b-line) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  gap: 0 !important;
  overflow: hidden !important;
  margin: 6px 0 !important;
}
.wm-ens-bar .seg{ position: relative !important; box-shadow: none !important; }
.wm-ens-bar .seg::after{ display: none !important; }

.wm-ens-chip{
  background: transparent !important;
  border: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  padding: 0 6px !important;
  height: 16px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  color: var(--b-dim) !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
}

.wm-ens-augur{
  background: var(--b-bg-alt) !important;
  border: 0 !important;
  border-left: 2px solid var(--b-orange) !important;
  border-radius: 0 !important;
  padding: 6px 10px !important;
  margin-top: 6px !important;
}
.wm-ens-augur:hover{ background: rgba(255,140,0,0.10) !important; }
.wm-ens-augur-row .rule-id{
  background: var(--b-orange) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 6px !important;
  font-family: var(--b-mono) !important;
  color: var(--b-bg) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.wm-augur-open-btn{
  background: transparent !important;
  border: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  color: var(--b-orange) !important;
  padding: 0 9px !important;
  height: 18px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.wm-augur-open-btn:hover{ background: var(--b-orange) !important; color: var(--b-bg) !important; }

/* Domain Lookup */
.wm-lookup-form{ padding: 8px 10px !important; gap: 4px !important; border-bottom: 1px solid var(--b-line) !important; }
.wm-lookup-form input{
  background: var(--b-bg-alt) !important;
  border: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  color: var(--b-orange) !important;
  padding: 0 10px !important;
  height: 22px !important;
  font-family: var(--b-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}
.wm-lookup-form input:focus{ border-color: var(--b-orange) !important; box-shadow: none !important; outline: none !important; }
.wm-lookup-form button{
  background: var(--b-orange) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--b-bg) !important;
  padding: 0 12px !important;
  height: 22px !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
.wm-lookup-form button:hover{ background: var(--b-orange-hi) !important; color: var(--b-bg) !important; }
.wm-lookup-quick{ padding: 0 10px 8px !important; gap: 4px !important; }
.wm-quick{
  background: transparent !important;
  border: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  padding: 0 6px !important;
  height: 18px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  color: var(--b-dim) !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}
.wm-quick:hover{ background: var(--b-orange) !important; color: var(--b-bg) !important; border-color: var(--b-orange) !important; }

/* News tabs / outage filters */
.wm-news-tabs{ padding: 0 !important; gap: 0 !important; border-bottom: 1px solid var(--b-line) !important; display: flex !important; }
.wm-news-tab{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-right: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  padding: 4px 12px !important;
  height: 22px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  color: var(--b-dim) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.wm-news-tab:hover{ color: var(--b-orange) !important; background: var(--b-bg-alt) !important; }
.wm-news-tab.active{
  color: var(--b-orange) !important;
  border-bottom-color: var(--b-orange) !important;
  background: var(--b-bg-alt) !important;
}
.wm-outage-list{ padding: 0 !important; gap: 0 !important; }
.wm-outage{
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  padding: 8px 10px !important;
  margin: 0 !important;
}
.wm-outage:hover{ background: var(--b-bg-alt) !important; transform: none !important; }

.wm-more-btn{
  background: var(--b-bg-hi) !important;
  border: 0 !important;
  border-top: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  color: var(--b-orange) !important;
  padding: 6px 10px !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  width: 100% !important;
}
.wm-more-btn:hover{ background: var(--b-orange) !important; color: var(--b-bg) !important; }

/* ── 8. AUGUR receipts — terminal status footer ─────────────────── */
.wm-augur-lead{
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 60 !important;
  pointer-events: none !important;
  display: flex !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  animation: none !important;
}
.wm-augur-lead-chip{
  pointer-events: auto !important;
  background: var(--b-bg) !important;
  border: 0 !important;
  border-top: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  padding: 0 12px !important;
  height: 22px !important;
  width: 100% !important;
  color: var(--b-text) !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  text-transform: uppercase;
  transition: color 100ms linear !important;
}
.wm-augur-lead-chip:hover{
  background: var(--b-bg) !important;
  border-color: var(--b-orange-hi) !important;
  color: var(--b-orange) !important;
  transform: none !important;
  box-shadow: none !important;
}
.wm-augur-lead-pulse{
  width: 6px !important; height: 6px !important;
  background: var(--b-orange) !important;
  box-shadow: none !important;
  border-radius: 50% !important;
}
.wm-augur-lead-panel{
  background: var(--b-bg) !important;
  border: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  box-shadow: 0 -8px 32px rgba(0,0,0,0.8) !important;
  backdrop-filter: none !important;
  width: 540px !important;
  max-height: 70vh !important;
}
.wm-augur-lead-head{
  background: var(--b-bg-hi) !important;
  padding: 4px 12px !important;
  height: 24px !important;
  border-bottom: 1px solid var(--b-orange) !important;
  color: var(--b-orange) !important;
}
.wm-augur-lead-head span:first-child{
  font-family: var(--b-mono) !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--b-orange) !important;
}
.wm-augur-lead-paper, .wm-augur-lead-close{
  background: transparent !important;
  border: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  padding: 0 8px !important;
  height: 18px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--b-orange) !important;
}
.wm-augur-lead-paper:hover, .wm-augur-lead-close:hover{ background: var(--b-orange) !important; color: var(--b-bg) !important; }
.wm-augur-lead-stats{
  background: var(--b-bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--b-line) !important;
  border-radius: 0 !important;
}
.wm-augur-lead-row{
  background: transparent !important;
  border-radius: 0 !important;
  border-bottom: 1px solid var(--b-line) !important;
  padding: 8px 12px !important;
  margin: 0 !important;
}
.wm-augur-lead-verify{
  background: var(--b-orange) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--b-bg) !important;
  padding: 0 14px !important;
  height: 22px !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.wm-augur-lead-verify:hover{ background: var(--b-orange-hi) !important; color: var(--b-bg) !important; }
.wm-augur-lead-hash{
  background: transparent !important;
  border: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  padding: 0 6px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  color: var(--b-orange) !important;
}

/* Make space for the bottom AUGUR status bar so #map / #app don't overlap. */
#app{ padding-bottom: 22px !important; }

/* ── 9. Help dots ───────────────────────────────────────────────── */
.wm-help-dot{
  background: transparent !important;
  border: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  width: 14px !important;
  height: 14px !important;
  color: var(--b-dim) !important;
  font-size: 9px !important;
  font-family: var(--b-mono) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.wm-help-dot:hover{ background: var(--b-orange) !important; color: var(--b-bg) !important; border-color: var(--b-orange) !important; }

/* ── 10. Auth splash — terminal login ──────────────────────────── */
#wmAuthSplash{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--b-bg) !important;
  position: fixed !important;
  inset: 0 !important;
  overflow: hidden !important;
}
#wmAuthSplash::before{
  background: var(--b-bg) !important;
  background-image:
    repeating-linear-gradient(0deg, transparent 0, transparent 23px, rgba(255, 140, 0, 0.04) 23px, rgba(255, 140, 0, 0.04) 24px) !important;
  background-size: auto !important;
  filter: none !important;
  animation: none !important;
  pointer-events: none !important;
}
.wm-auth-left{ display: none !important; }
.wm-auth-right{
  position: relative !important;
  z-index: 5 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  width: 100% !important;
}
.wm-auth-card{
  background: var(--b-bg) !important;
  backdrop-filter: none !important;
  border: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  box-shadow: 0 0 0 1px var(--b-bg), 0 0 32px rgba(255, 140, 0, 0.18) !important;
  padding: 32px 36px !important;
  width: min(420px, 92vw) !important;
}
.wm-auth-card::before{ display: none !important; }
.wm-auth-brand{
  font-family: var(--b-mono) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.18em !important;
  color: var(--b-orange) !important;
  text-shadow: none !important;
  margin-bottom: 4px !important;
  text-transform: uppercase !important;
}
.wm-auth-card .wm-auth-sub,
.wm-auth-card > p:first-of-type{
  font-family: var(--b-mono) !important;
  font-size: 11px !important;
  color: var(--b-dim) !important;
  margin-bottom: 24px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.wm-auth-fields label{
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--b-orange) !important;
}
.wm-auth-fields input{
  background: var(--b-bg-alt) !important;
  border: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  color: var(--b-orange) !important;
  font-family: var(--b-mono) !important;
  padding: 8px 10px !important;
  font-size: 12px !important;
  outline: none !important;
  letter-spacing: 0 !important;
}
.wm-auth-fields input:focus{
  border-color: var(--b-orange) !important;
  box-shadow: 0 0 0 1px var(--b-orange) !important;
}
.wm-auth-submit{
  background: var(--b-orange) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--b-bg) !important;
  font-family: var(--b-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding: 10px 16px !important;
  margin-top: 12px !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
.wm-auth-submit:hover{ background: var(--b-orange-hi) !important; color: var(--b-bg) !important; transform: none !important; }
.wm-auth-err{
  background: var(--b-bg) !important;
  border: 1px solid var(--b-red) !important;
  border-radius: 0 !important;
  color: var(--b-red) !important;
  padding: 8px 12px !important;
  font-family: var(--b-mono) !important;
  font-size: 11px !important;
  margin-top: 12px !important;
  text-transform: uppercase !important;
}

/* ── 11. Tour overlays + mobile drawer ─────────────────────────── */
.wm-tour-shade{ background: rgba(0,0,0,0.85) !important; backdrop-filter: none !important; }
.wm-tour-card, .wm-help-popover{
  background: var(--b-bg) !important;
  backdrop-filter: none !important;
  border: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  box-shadow: 0 0 24px rgba(255, 140, 0, 0.18) !important;
  font-family: var(--b-mono) !important;
}
.wm-tour-btn{
  background: var(--b-orange) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--b-bg) !important;
  padding: 6px 14px !important;
  font-family: var(--b-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.wm-tour-btn.ghost{
  background: transparent !important;
  border: 1px solid var(--b-line-hi) !important;
  color: var(--b-dim) !important;
}
.wm-mob-menu{
  background: var(--b-bg) !important;
  backdrop-filter: none !important;
  border-left: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
}

/* ── 12. Selection ─────────────────────────────────────────────── */
::selection{ background: var(--b-orange) !important; color: var(--b-bg) !important; }

/* ── 13. Scrollbars ─────────────────────────────────────────────── */
*::-webkit-scrollbar{ width: 6px !important; height: 6px !important; }
*::-webkit-scrollbar-track{ background: var(--b-bg) !important; }
*::-webkit-scrollbar-thumb{
  background: var(--b-line-hi) !important;
  border-radius: 0 !important;
  border: 0 !important;
}
*::-webkit-scrollbar-thumb:hover{ background: var(--b-orange) !important; }

/* ── 14. Mobile ─────────────────────────────────────────────────── */
@media (max-width: 1100px){
  .wm-main{ grid-template-columns: 220px 1fr 320px !important; }
}
@media (max-width: 900px){
  .wm-main{ grid-template-columns: 1fr !important; grid-template-rows: 200px 50vh auto !important; }
  .wm-warn-panel, .wm-threat{ display: flex !important; }
}
/* ════════════════════════════════════════════════════════════════════
   END BLOOMBERG v1
   ════════════════════════════════════════════════════════════════════ */


/* ════════════════════════════════════════════════════════════════════
   BLOOMBERG · ORG v1 — TIGHTER INFORMATION ARCHITECTURE
   ────────────────────────────────────────────────────────────────────
   - Right rail becomes a tabbed surface (1 panel visible at a time)
   - Threat board gets a column header strip
   - Map nav consolidates into hairline-grouped sections
   - AUGUR command-line bar gets multi-segment status divisions
   ════════════════════════════════════════════════════════════════════ */

/* ── 1. Right-rail tab strip ───────────────────────────────────── */
.wm-right-tabs{
  display: flex !important;
  align-items: stretch !important;
  background: var(--b-bg-hi) !important;
  border-bottom: 1px solid var(--b-orange) !important;
  height: 22px !important;
  flex-shrink: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
}
.wm-right-tabs::-webkit-scrollbar{ display: none; }
.wm-right-tab{
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--b-line-hi) !important;
  border-radius: 0 !important;
  padding: 0 10px !important;
  height: 100% !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  color: var(--b-dim) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  transition: background-color 100ms linear, color 100ms linear !important;
}
.wm-right-tab:hover{ color: var(--b-orange) !important; background: var(--b-bg) !important; }
.wm-right-tab.active{
  color: var(--b-bg) !important;
  background: var(--b-orange) !important;
  font-weight: 700 !important;
}
.wm-right-tab .num{
  display: inline-block;
  min-width: 12px;
  height: 12px;
  border: 1px solid currentColor;
  font-size: 8px !important;
  font-weight: 700 !important;
  text-align: center;
  line-height: 10px;
  padding: 0 2px;
  opacity: 0.9;
}
.wm-right-tab.active .num{ background: var(--b-bg); color: var(--b-orange); border-color: var(--b-bg); }

/* Panel visibility: only `.active` shows when rail is tabbed. */
.wm-right[data-tabbed="1"] > section.wm-panel{ display: none !important; }
.wm-right[data-tabbed="1"] > section.wm-panel.active{ display: block !important; }
.wm-right[data-tabbed="1"] > section.wm-panel.active{ flex: 1 1 auto !important; min-height: 0 !important; }

/* The panel header inside the tab content can drop the redundant uppercase
   title since the tab already shows it — keep only the meta + tools. */
.wm-right[data-tabbed="1"] > section.wm-panel > .wm-panel-header{
  border-top: 0 !important;
}

/* MORE PANELS button hidden when tabbed */
.wm-right[data-tabbed="1"] #morePanelsBtn{ display: none !important; }

/* ── 2. Threat-board column header ─────────────────────────────── */
.wm-threat{
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  grid-template-rows: 18px auto !important;
}
.wm-threat-head{
  grid-column: 1 / -1 !important;
  grid-row: 1 / 2 !important;
  background: var(--b-bg-hi) !important;
  border-bottom: 1px solid var(--b-line) !important;
  display: grid !important;
  grid-template-columns: 1fr 64px 64px 64px 1fr !important;
  align-items: center !important;
  padding: 0 12px !important;
  height: 18px !important;
  font-family: var(--b-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  color: var(--b-orange) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  gap: 8px !important;
}
.wm-threat-head span:not(:first-child){ text-align: right !important; color: var(--b-dim) !important; }
.wm-threat-head span:last-child{ text-align: right !important; color: var(--b-dim) !important; }
.wm-threat-cards{ grid-row: 2 / 3 !important; grid-column: 1 / -1 !important; display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 0 !important; }

/* ── 3. Map nav — hairline groups + clock right ────────────────── */
.wm-map-header{
  /* Three logical groups separated by hairlines. Achieved by adding
     vertical hairlines via child > * + * borders. */
  padding: 0 !important;
  gap: 0 !important;
  flex-wrap: nowrap !important;
}
/* All .wm-row wrappers in markup are layout-only; dissolve them at
   every depth so grandchildren flow as direct flex children of the
   header. Single horizontal row: mapmode | titles | clock | 23d | cables */
.wm-map-header{
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
}
.wm-map-header .wm-row{ display: contents !important; }
.wm-map-header .wm-mapmode,
.wm-map-header .wm-23d,
.wm-map-header .wm-overlay-btn,
.wm-map-header .wm-map-clock{
  height: 26px !important;
  align-self: stretch !important;
}
.wm-map-header .wm-map-title:not([style*="display:none"]):not([style*="display: none"]),
.wm-map-header .wm-dns-toolbar:not([style*="display:none"]):not([style*="display: none"]){
  height: 26px !important;
  align-self: stretch !important;
}
.wm-map-header .wm-mapmode,
.wm-map-header .wm-23d{
  padding: 0 !important;
  display: inline-flex !important;
  align-items: stretch !important;
  border-left: 1px solid var(--b-line-hi) !important;
}
.wm-map-header .wm-overlay-btn,
.wm-map-header .wm-map-title:not([style*="display:none"]):not([style*="display: none"]),
.wm-map-header .wm-dns-toolbar:not([style*="display:none"]):not([style*="display: none"]){
  border-left: 1px solid var(--b-line-hi) !important;
}
.wm-map-header .wm-mapmode > button,
.wm-map-header .wm-23d > button{
  border-right: 1px solid var(--b-line) !important;
}
.wm-map-header .wm-mapmode > button:last-child,
.wm-map-header .wm-23d > button:last-child{ border-right: 0 !important; }

/* Map title becomes a thin label between mapmode and the right cluster */
.wm-map-header .wm-map-title{
  align-items: center !important;
  padding: 0 12px !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--b-dim) !important;
}
.wm-map-header .wm-map-title:not([style*="display:none"]):not([style*="display: none"]){
  display: inline-flex !important;
}

/* Clock pushed to the right; 23d + CABLES sit immediately after clock */
.wm-map-header .wm-map-clock{
  margin-left: auto !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-left: 1px solid var(--b-line-hi) !important;
  background: var(--b-bg) !important;
  color: var(--b-text) !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.06em !important;
  white-space: nowrap !important;
}
.wm-map-header .wm-overlay-btn{
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 0 10px !important;
  background: transparent !important;
  color: var(--b-orange) !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.wm-map-header .wm-overlay-btn.on{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
}

/* Explicit Bloomberg-strip backdrop — solid black with a 1-px orange
   accent line at the top so the toggle bar reads cleanly against the
   geographic map underneath. Without this the absolute-positioned
   header dissolved into the dark map tiles. */
.wm-map-header{
  background: #0a0a0a !important;
  border: 0 !important;
  border-top: 1px solid var(--b-orange) !important;
  border-bottom: 1px solid var(--b-orange) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6) !important;
  border-radius: 0 !important;
  height: 26px !important;
  padding: 0 !important;
  z-index: 1100 !important;
}
.wm-map-header .wm-mapmode > button,
.wm-map-header .wm-23d > button,
.wm-map-header .wm-overlay-btn{
  background: var(--b-bg) !important;
  color: var(--b-text) !important;
  font-size: 10px !important;
  padding: 0 11px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.wm-map-header .wm-mapmode > button.active,
.wm-map-header .wm-23d > button.active{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
}
/* Function-key prefix on map-mode tabs too */
.wm-mapmode #modeInfra::before  { content: '<F1> '; opacity: 0.55; margin-right: 2px; font-weight: 600; }
.wm-mapmode #modeDns::before    { content: '<F2> '; opacity: 0.55; margin-right: 2px; font-weight: 600; }
.wm-mapmode .on::before         { color: var(--b-bg) !important; opacity: 0.7; }

/* Help dot inside the map nav reads as a `<F?>` chip */
.wm-help-tools{ padding: 0 8px !important; height: 26px !important; display: inline-flex !important; align-items: center !important; border-left: 1px solid var(--b-line-hi) !important; }

/* ── 4. AUGUR status bar — multi-segment terminal command line ─── */
.wm-augur-lead-chip{
  /* Use a CSS gradient + repeating linear-gradient to draw vertical
     hairlines between logical content sections. Already mono inside —
     this just visually segments the bar. */
  position: relative !important;
  background: var(--b-bg) !important;
}
.wm-augur-lead-chip::before{
  /* Left-edge "▮ AUGUR" marker — overlay since we can't add markup */
  content: '▮ AUGUR ';
  position: absolute;
  left: 0; top: 0;
  height: 22px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  background: var(--b-orange);
  color: var(--b-bg);
  font-family: var(--b-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-right: 1px solid var(--b-bg);
  pointer-events: none;
  z-index: 2;
}
.wm-augur-lead-chip{ padding-left: 90px !important; }
.wm-augur-lead-chip:hover::before{ background: var(--b-orange-hi) !important; }
.wm-augur-lead-pulse{ display: none !important; }      /* the orange marker IS the pulse now */

/* ── 5. Provider rail header — count badge alignment ──────────── */
.wm-section-header > span:first-child{ display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.wm-section-header > span:last-child{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  padding: 0 6px !important;
  height: 14px !important;
  border-radius: 0 !important;
  font-family: var(--b-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  letter-spacing: 0 !important;
}

/* ── 6. AMOUNT INPUT — make outage filter rows visually consistent */
.wm-news-tabs{ height: 24px !important; align-items: stretch !important; }
.wm-news-tab{ height: 24px !important; padding: 0 10px !important; display: inline-flex !important; align-items: center !important; }

/* ── 7. ENSEMBLE row layout grid ───────────────────────────────── */
.wm-ens-row{
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 4px 10px !important;
}
.wm-ens-lbl{ grid-column: 1 / 2 !important; }
.wm-ens-state{ grid-column: 2 / 3 !important; justify-self: end !important; }
.wm-ens-row .wm-ens-chip{ grid-column: 3 / 4 !important; justify-self: end !important; }
.wm-ens-row .wm-ens-bar{ grid-column: 1 / -1 !important; }
.wm-ens-row .wm-ens-foot,
.wm-ens-row > div:has(.wm-ens-p),
.wm-ens-row > .wm-ens-row-stats{ grid-column: 1 / -1 !important; }
.wm-ens-row .wm-ens-augur{ grid-column: 1 / -1 !important; }

/* ── 8. Empty-state pillars — quieter ──────────────────────────── */
.wm-empty{
  background: var(--b-bg) !important;
  color: var(--b-dim) !important;
  padding: 14px !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
}

/* ── 9. Re-tighten right-rail vertical rhythm ──────────────────── */
.wm-right > section.wm-panel.active > .wm-panel-header{ height: 22px !important; }
.wm-right > section.wm-panel.active{ overflow-y: auto !important; }

/* ════════════════════════════════════════════════════════════════════
   END BLOOMBERG · ORG v1
   ════════════════════════════════════════════════════════════════════ */


/* ════════════════════════════════════════════════════════════════════
   BLOOMBERG · ORG v2 — COMMAND LINE + WATCHLIST
   ════════════════════════════════════════════════════════════════════ */

/* ── 1. Command line (lives below the AUGUR chip) ──────────────── */
.wm-cli{
  pointer-events: auto !important;
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 24px !important;
  background: var(--b-bg) !important;
  border-top: 1px solid var(--b-line) !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  position: relative;
}
.wm-cli-prompt{
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  background: var(--b-bg-hi) !important;
  color: var(--b-orange) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  border-right: 1px solid var(--b-orange) !important;
}
.wm-cli-input{
  flex: 1 !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  padding: 0 12px !important;
  color: var(--b-orange) !important;
  font-family: var(--b-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  caret-color: var(--b-orange) !important;
}
.wm-cli-input::placeholder{ color: var(--b-faint) !important; text-transform: uppercase !important; opacity: 0.7 !important; letter-spacing: 0.04em; }
.wm-cli-input:focus{ background: rgba(255, 140, 0, 0.04) !important; }
.wm-cli-feedback{
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 12px !important;
  font-family: var(--b-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--b-green) !important;
  opacity: 0 !important;
  transition: opacity 200ms linear !important;
  border-left: 1px solid var(--b-line-hi) !important;
  white-space: nowrap;
}
.wm-cli-feedback.show{ opacity: 1 !important; }
.wm-cli-feedback[data-tone="err"]{ color: var(--b-red) !important; }
.wm-cli-hint{
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 12px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  color: var(--b-dim) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border-left: 1px solid var(--b-line-hi) !important;
  white-space: nowrap;
}

/* When the CLI element is present, push #app's bottom padding to fit it. */
.wm-augur-lead:has(.wm-cli){ display: flex !important; flex-direction: column !important; }
#app:has(.wm-cli){ padding-bottom: 46px !important; }

/* Help popover (toggled by `?` or HELP) */
.wm-cli-help{
  position: fixed !important;
  left: 50% !important;
  bottom: 60px !important;
  transform: translateX(-50%) translateY(8px) !important;
  z-index: 80 !important;
  min-width: 460px !important;
  max-width: 560px !important;
  background: var(--b-bg) !important;
  border: 1px solid var(--b-orange) !important;
  border-radius: 0 !important;
  box-shadow: 0 0 32px rgba(255, 140, 0, 0.22), 0 8px 32px rgba(0,0,0,.6) !important;
  font-family: var(--b-mono) !important;
  color: var(--b-text) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 180ms linear, transform 180ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}
.wm-cli-help.show{
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}
.wm-cli-help header{
  background: var(--b-bg-hi) !important;
  color: var(--b-orange) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 6px 12px !important;
  border-bottom: 1px solid var(--b-orange) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.wm-cli-help table{ width: 100% !important; border-collapse: collapse !important; }
.wm-cli-help td{
  padding: 5px 12px !important;
  font-size: 10px !important;
  border-bottom: 1px solid var(--b-line) !important;
  vertical-align: top !important;
}
.wm-cli-help td:first-child{ color: var(--b-orange) !important; font-weight: 700 !important; min-width: 200px !important; white-space: nowrap !important; }
.wm-cli-help td:last-child{ color: var(--b-text) !important; }
.wm-cli-help footer{
  background: var(--b-bg-hi) !important;
  color: var(--b-dim) !important;
  font-size: 9.5px !important;
  padding: 6px 12px !important;
  border-top: 1px solid var(--b-line) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.wm-cli-help kbd{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  padding: 1px 5px !important;
  font-family: var(--b-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  margin: 0 2px;
}

/* Rule spotlight pulse (used by `:r011<GO>`) */
@keyframes wm-rule-spot {
  0%   { background: rgba(255, 140, 0, 0.7); }
  100% { background: transparent; }
}
.wm-rule-spotlight{ animation: wm-rule-spot 2.4s linear !important; }

/* ── 2. WATCHLIST panel (right rail · default tab #1) ──────────── */
.wm-watch-body{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}
.wm-watch-list{ display: flex !important; flex-direction: column !important; }
.wm-watch-stage{
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: var(--b-bg-hi) !important;
  border-bottom: 1px solid var(--b-line) !important;
  padding: 0 12px !important;
  height: 16px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  font-family: var(--b-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.wm-watch-stage[data-stage="trending"]{ top: 16px !important; }
.wm-watch-stage[data-stage="confirmed"]{ top: 32px !important; }
.wm-watch-stage-bar{
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 0 !important;
  flex-shrink: 0 !important;
}
.wm-watch-stage-lbl{ color: var(--b-text) !important; }
.wm-watch-stage[data-stage="imminent"]  .wm-watch-stage-lbl{ color: var(--b-orange) !important; }
.wm-watch-stage[data-stage="trending"]  .wm-watch-stage-lbl{ color: var(--b-yellow) !important; }
.wm-watch-stage[data-stage="confirmed"] .wm-watch-stage-lbl{ color: var(--b-red) !important; }

.wm-watch-empty{
  padding: 6px 12px !important;
  text-align: left !important;
  color: var(--b-faint) !important;
  font-family: var(--b-mono) !important;
  font-size: 9px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.wm-watch-row{
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  gap: 1px 8px !important;
  padding: 5px 12px !important;
  background: var(--b-bg) !important;
  border-bottom: 1px solid var(--b-line) !important;
  border-left: 2px solid transparent !important;
  font-family: var(--b-mono) !important;
  font-size: 10.5px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color 100ms linear, border-left-color 100ms linear !important;
}
/* When a row has an AUGUR chip, add a 3rd grid row for the chip below
   the headline so it never collides with the headline ellipsis. */
.wm-watch-row[data-has-augur="1"]{
  grid-template-rows: auto auto auto !important;
  padding-bottom: 4px !important;
  row-gap: 1px !important;
}
.wm-watch-row:hover{ background: var(--b-bg-alt) !important; }
.wm-watch-row[data-severity="ok"]   { border-left-color: var(--b-green) !important; }
.wm-watch-row[data-severity="warn"] { border-left-color: var(--b-yellow) !important; }
.wm-watch-row[data-severity="crit"] { border-left-color: var(--b-red) !important; }
.wm-watch-row[data-severity="critical"]{ border-left-color: var(--b-red) !important; }
.wm-watch-row[data-severity="major"]   { border-left-color: var(--b-orange) !important; }
.wm-watch-row[data-severity="minor"]   { border-left-color: var(--b-yellow) !important; }
.wm-watch-row[data-severity="maint"]   { border-left-color: var(--b-dim) !important; }

/* Row 1: provider name (col 1, ellipsis) · badge (col 2)
   Row 2: headline (col 1, ellipsis) · time (col 2) */
.wm-watch-row-prov{
  grid-column: 1 / 2 !important;
  grid-row: 1 / 2 !important;
  font-weight: 700 !important;
  color: var(--b-orange) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: 10.5px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
}
.wm-watch-row-badge{
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  padding: 0 7px !important;
  height: 14px !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-self: end !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}
/* Severity-tinted badges (solid Bloomberg pills) */
.wm-watch-row[data-severity="critical"] .wm-watch-row-badge,
.wm-watch-row[data-severity="crit"]     .wm-watch-row-badge{ background: var(--b-red) !important;    color: var(--b-bg) !important; }
.wm-watch-row[data-severity="major"]    .wm-watch-row-badge{ background: var(--b-orange) !important; color: var(--b-bg) !important; }
.wm-watch-row[data-severity="minor"]    .wm-watch-row-badge{ background: var(--b-yellow) !important; color: var(--b-bg) !important; }
.wm-watch-row[data-severity="warn"]     .wm-watch-row-badge{ background: var(--b-yellow) !important; color: var(--b-bg) !important; }
.wm-watch-row[data-severity="maint"]    .wm-watch-row-badge{ background: var(--b-dim) !important;    color: var(--b-bg) !important; }
.wm-watch-row[data-severity="ok"]       .wm-watch-row-badge{ background: var(--b-green) !important;  color: var(--b-bg) !important; }

.wm-watch-row-head{
  grid-column: 1 / 2 !important;
  grid-row: 2 / 3 !important;
  color: var(--b-text) !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
}
/* Direction-aware headline color (trending only) */
.wm-watch-row[data-direction="up"]   .wm-watch-row-head{ color: var(--b-amber) !important; }
.wm-watch-row[data-direction="down"] .wm-watch-row-head{ color: var(--b-green) !important; }
.wm-watch-row[data-direction="flat"] .wm-watch-row-head{ color: var(--b-dim) !important; }

.wm-watch-row-time{
  grid-column: 2 / 3 !important;
  grid-row: 2 / 3 !important;
  color: var(--b-dim) !important;
  font-size: 9.5px !important;
  text-align: right !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  justify-self: end !important;
  white-space: nowrap !important;
}

.wm-watch-row-rule, .wm-watch-row-score{ display: none !important; }

/* AUGUR prediction chip — its own grid row spanning both columns,
   below the headline + time row. Never collides with headline ellipsis. */
.wm-watch-augur{
  grid-column: 1 / -1 !important;
  grid-row: 3 / 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: start !important;
  justify-self: start !important;
  margin: 1px 0 0 0 !important;
  padding: 0 4px !important;
  height: 11px !important;
  font-family: var(--b-mono) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border: 1px solid var(--b-orange) !important;
  background: rgba(255, 140, 0, 0.10) !important;
  color: var(--b-orange) !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.wm-watch-augur[data-tone="hit"]{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  border-color: var(--b-orange) !important;
}
.wm-watch-augur[data-tone="high"]{
  background: rgba(255, 140, 0, 0.22) !important;
  border-color: var(--b-orange) !important;
}
.wm-watch-augur[data-tone="fp"]{
  border-color: var(--b-dim) !important;
  background: transparent !important;
  color: var(--b-dim) !important;
  text-decoration: line-through !important;
  opacity: 0.65 !important;
}
.wm-watch-augur[data-tone="stale"]{
  border-color: rgba(255, 140, 0, 0.45) !important;
  background: transparent !important;
  color: rgba(255, 140, 0, 0.75) !important;
  opacity: 0.85 !important;
}
/* Headline reverts to plain block — chip lives in its own grid row */
.wm-watch-row-head{
  display: block !important;
  gap: 0 !important;
}

/* Slimmer stage headers + tighter empty state */
.wm-watch-stage{ height: 16px !important; padding: 0 12px !important; }
.wm-watch-stage[data-stage="trending"]{ top: 16px !important; }
.wm-watch-stage[data-stage="confirmed"]{ top: 32px !important; }
.wm-watch-empty{ padding: 6px 12px !important; }
.wm-watch-stage[data-stage="trending"]{ top: 16px !important; }
.wm-watch-stage[data-stage="confirmed"]{ top: 32px !important; }
.wm-watch-empty{ padding: 6px 12px !important; }

/* Compact threat-board empty state: collapse to a thin "all green" line
   when no anomalies, instead of 78px of dead space. */
.wm-threat{ min-height: 20px !important; }
.wm-threat:has(.wm-threat-empty){
  min-height: 20px !important;
  height: 20px !important;
  grid-template-rows: 20px !important;
}
.wm-threat:has(.wm-threat-empty) .wm-threat-cards{
  grid-row: 1 / 2 !important;
  height: 20px !important;
}
.wm-threat-empty{
  height: 20px !important;
  padding: 0 14px !important;
  font-size: 9px !important;
  letter-spacing: 0.10em !important;
  background: transparent !important;
  color: var(--b-dim) !important;
}
.wm-threat:has(.wm-threat-empty) .wm-threat-head{ display: none !important; }

/* ─────────────────────────────────────────────────────────────────────
   Rail stat tiles — pin to the bottom of left/right rails to fill the
   wasted vertical space below the provider list / watchlist with
   live, operationally-useful KPIs (sourced from already-fetched data).
   ───────────────────────────────────────────────────────────────────── */
.wm-rail-stats{
  margin-top: auto !important;
  background: var(--b-bg) !important;
  border-top: 1px solid var(--b-orange) !important;
  flex-shrink: 0 !important;
  font-family: var(--b-mono) !important;
}
.wm-rail-stats-head{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  padding: 0 12px !important;
  height: 18px !important;
  display: flex !important;
  align-items: center !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.wm-rail-stats-grid{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
}
.wm-rail-stat{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 22px !important;
  padding: 0 12px !important;
  border-bottom: 1px solid var(--b-line) !important;
  border-right: 1px solid var(--b-line) !important;
  font-size: 10px !important;
}
.wm-rail-stat:nth-child(2n){ border-right: 0 !important; }
.wm-rail-stat:nth-last-child(-n+2){ border-bottom: 0 !important; }
.wm-rail-stat-lbl{
  color: var(--b-dim) !important;
  font-size: 8.5px !important;
  letter-spacing: 0.10em !important;
  font-weight: 500 !important;
}
.wm-rail-stat-val{
  color: var(--b-text) !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
}
.wm-rail-stat-val.ok{   color: var(--b-green, #00b050) !important; }
.wm-rail-stat-val.warn{ color: var(--b-yellow, #ffd54a) !important; }
.wm-rail-stat-val.bad{  color: var(--b-red, #ff3b3b) !important; }

/* The left rail (PROVIDERS) and the watch panel both need their flex
   children laid out vertically so margin-top:auto can push the stats
   block to the bottom. */
.wm-col.wm-left, .wm-shell:has(#providerList){
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.wm-col.wm-right [data-testid="watchlist-section"],
#watchPanel,
section.wm-panel:has(#watchBody){
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
/* The .wm-watch-body should grow to fill the panel, pushing the rail
   stats block downward. */
.wm-watch-body{
  flex: 1 1 auto !important;
  overflow-y: auto !important;
}


/* ─────────────────────────────────────────────────────────────────────
   AUGUR · public chain verifier widget
   ───────────────────────────────────────────────────────────────────── */
.wm-verify-trigger{
  margin-left: auto !important;   /* push to far right of the AUGUR chip */
  padding: 0 8px !important;
  height: 16px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  align-self: center !important;
  background: transparent !important;
  border: 1px solid var(--b-orange) !important;
  color: var(--b-orange) !important;
  font-family: var(--b-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  transition: background 100ms linear, color 100ms linear !important;
}

/* ─────────────────────────────────────────────────────────────────────
   AUGUR · Bloomberg KPI tiles (bottom status bar)
   ───────────────────────────────────────────────────────────────────── */
.wm-augur-tile{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 18px !important;
  padding: 0 12px !important;
  border-right: 1px solid var(--b-line-hi) !important;
  white-space: nowrap !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  flex: 0 0 auto !important;
}
.wm-augur-tile-lbl{
  color: var(--b-dim) !important;
  font-weight: 500 !important;
  font-size: 9px !important;
}
.wm-augur-tile-val{
  color: var(--b-text) !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
}
.wm-augur-tile-val.ok{  color: var(--b-green, #00b050) !important; }
.wm-augur-tile-val.mid{ color: var(--b-yellow, #ffd54a) !important; }
.wm-augur-tile-val.bad{ color: var(--b-red,   #ff3b3b) !important; }
.wm-augur-tile.feed{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  font-weight: 700 !important;
  border-right-color: var(--b-orange) !important;
  letter-spacing: 0.14em !important;
}

/* When the chip is rendering KPI tiles, drop the chip's own padding and
   gap so the tile borders meet flush. The verify trigger still sits on
   the far right via margin-left: auto. */
.wm-augur-lead-chip:has(.wm-augur-tile){
  padding: 0 !important;
  gap: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────────
   OMEN forecast strip — horizontal one-liner above the map.
   Sits between the threat board and the map header, only visible when
   AUGUR has upcoming horizon forecasts (predicted_at_ts > now).
   ───────────────────────────────────────────────────────────────────── */
.wm-forecast-strip{
  display: flex !important;
  align-items: stretch !important;
  height: 22px !important;
  background: #0a0a0a !important;
  border-bottom: 1px solid var(--b-orange) !important;
  border-top: 1px solid var(--b-line-hi) !important;
  font-family: var(--b-mono) !important;
  font-size: 9.5px !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1200 !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}
.wm-forecast-strip[hidden]{ display: none !important; }
/* When the strip is visible, push the map-header (and the leaflet
   container) down by 22px so they don't sit underneath. */
.wm-forecast-strip:not([hidden]) ~ .wm-map-header{
  top: 22px !important;
}
.wm-forecast-strip:not([hidden]) ~ #map{
  margin-top: 22px !important;
}
.wm-forecast-label{
  display: inline-flex !important;
  align-items: center !important;
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  padding: 0 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-size: 9px !important;
  flex-shrink: 0 !important;
}
.wm-forecast-rail{
  display: flex !important;
  align-items: stretch !important;
  flex: 1 1 auto !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
}
.wm-forecast-rail::-webkit-scrollbar{ display: none !important; }
.wm-forecast-chip{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 12px !important;
  border-right: 1px solid var(--b-line) !important;
  white-space: nowrap !important;
  letter-spacing: 0.04em !important;
}
.wm-forecast-chip:hover{ background: var(--b-bg-hi) !important; }
.wm-forecast-edge{
  color: var(--b-orange) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.wm-forecast-state{
  font-weight: 700 !important;
  font-size: 9px !important;
  padding: 0 4px !important;
  border: 1px solid currentColor !important;
}
.wm-forecast-chip[data-state="down"]      .wm-forecast-state{ color: var(--b-red, #ff3b3b) !important; }
.wm-forecast-chip[data-state="congested"] .wm-forecast-state{ color: var(--b-orange) !important; }
.wm-forecast-chip[data-state="degraded"]  .wm-forecast-state{ color: var(--b-yellow, #ffd54a) !important; }
.wm-forecast-chip[data-state="other"]     .wm-forecast-state{ color: var(--b-text) !important; }
.wm-forecast-conf{
  color: var(--b-text) !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
}
.wm-forecast-chip[data-tone="high"] .wm-forecast-conf{ color: var(--b-orange) !important; }
.wm-forecast-sep{ color: var(--b-faint) !important; }
.wm-forecast-lead{
  color: var(--b-text) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  font-variant-numeric: tabular-nums !important;
}
.wm-augur-tile-pulse{
  width: 6px !important;
  height: 6px !important;
  background: var(--b-bg) !important;
  border-radius: 50% !important;
  animation: wmAugurTilePulse 2s ease-in-out infinite !important;
}
@keyframes wmAugurTilePulse{ 0%,100%{opacity:1} 50%{opacity:.35} }
.augur-status-msg{
  flex: 1 1 auto !important;
  border-right: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.augur-status-msg .wm-augur-tile-val{
  font-weight: 500 !important;
  color: var(--b-dim) !important;
  font-size: 9.5px !important;
}
.wm-verify-trigger:hover{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
}
.wm-verify-modal{
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.78) !important;
  z-index: 10000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--b-mono) !important;
}
.wm-verify-card{
  width: 760px !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 64px) !important;
  background: var(--b-bg) !important;
  border: 1px solid var(--b-orange) !important;
  box-shadow: 0 0 60px rgba(255, 140, 0, 0.18) !important;
  display: flex !important;
  flex-direction: column !important;
}
.wm-verify-head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 16px !important;
  border-bottom: 1px solid var(--b-line-hi) !important;
  background: var(--b-bg-hi) !important;
}
.wm-verify-title{
  color: var(--b-orange) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  font-weight: 700 !important;
}
.wm-verify-close{
  background: transparent !important;
  border: 0 !important;
  color: var(--b-text) !important;
  font-size: 20px !important;
  cursor: pointer !important;
  padding: 0 8px !important;
}
.wm-verify-status{
  padding: 8px 16px !important;
  border-bottom: 1px solid var(--b-line) !important;
  color: var(--b-dim) !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.wm-verify-body{
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  padding: 4px 0 !important;
}
.wm-verify-row{
  display: grid !important;
  grid-template-columns: 32px 1fr 100px 50px auto auto auto auto !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 6px 16px !important;
  font-size: 10px !important;
  border-bottom: 1px solid var(--b-line) !important;
  white-space: nowrap !important;
}
.wm-verify-idx{ color: var(--b-dim) !important; }
.wm-verify-edge{ color: var(--b-text) !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.wm-verify-state{ color: var(--b-orange) !important; letter-spacing: 0.06em !important; font-size: 9.5px !important; }
.wm-verify-conf{ color: var(--b-text) !important; text-align: right !important; }
.wm-verify-tag{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  padding: 0 5px !important;
  font-size: 8.5px !important;
  letter-spacing: 0.08em !important;
  font-weight: 700 !important;
}
.wm-vc{
  padding: 0 5px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  border: 1px solid var(--b-line-hi) !important;
}
.wm-vc.ok{ background: var(--b-green, #00b050) !important; color: var(--b-bg) !important; border-color: var(--b-green, #00b050) !important; }
.wm-vc.bad{ background: var(--b-red, #ff3b3b) !important; color: var(--b-bg) !important; border-color: var(--b-red, #ff3b3b) !important; }
.wm-vc.neut{ background: transparent !important; color: var(--b-dim) !important; }
.wm-verify-foot{
  padding: 10px 16px !important;
  border-top: 1px solid var(--b-line-hi) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: var(--b-bg-hi) !important;
  font-size: 10px !important;
  letter-spacing: 0.10em !important;
}
.wm-verify-verdict{ font-weight: 700 !important; }
.wm-verify-verdict.ok{ color: var(--b-green, #00b050) !important; }
.wm-verify-verdict.bad{ color: var(--b-red, #ff3b3b) !important; }
.wm-verify-head-hash{ color: var(--b-dim) !important; font-size: 9px !important; }
.wm-verify-empty{
  padding: 30px !important;
  text-align: center !important;
  color: var(--b-dim) !important;
  font-size: 11px !important;
  letter-spacing: 0.10em !important;
}

/* ─────────────────────────────────────────────────────────────────────
   Rail · TOP MOVERS  (left rail · between provider list and rail-stats)
   Compact list of providers with biggest 60-min outage delta. Sourced
   from the threat-board feed already on the page — zero new fetches.
   ───────────────────────────────────────────────────────────────────── */
.wm-rail-movers{
  background: var(--b-bg) !important;
  border-top: 1px solid var(--b-line-hi) !important;
  flex-shrink: 0 !important;
  font-family: var(--b-mono) !important;
}
.wm-rail-movers-head{
  background: var(--b-bg-hi) !important;
  color: var(--b-orange) !important;
  border-bottom: 1px solid var(--b-line) !important;
  padding: 0 12px !important;
  height: 18px !important;
  display: flex !important;
  align-items: center !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.wm-rail-movers-list{
  display: flex !important;
  flex-direction: column !important;
}
.wm-rail-movers-empty{
  color: var(--b-dim) !important;
  font-size: 9.5px !important;
  padding: 8px 12px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.wm-rail-mover{
  display: grid !important;
  grid-template-columns: 1fr 16px 32px !important;
  align-items: center !important;
  gap: 6px !important;
  height: 20px !important;
  padding: 0 12px !important;
  border-bottom: 1px solid var(--b-line) !important;
  font-size: 10px !important;
  cursor: pointer !important;
  transition: background 80ms linear !important;
}
.wm-rail-mover:last-child{ border-bottom: 0 !important; }
.wm-rail-mover:hover{ background: var(--b-bg-hi) !important; }
.wm-rail-mover-name{
  color: var(--b-text) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.wm-rail-mover-arrow{
  font-size: 10px !important;
  text-align: center !important;
  font-weight: 700 !important;
}
.wm-rail-mover-arrow.up{   color: var(--b-red, #ff3b3b) !important; }
.wm-rail-mover-arrow.down{ color: var(--b-green, #00b050) !important; }
.wm-rail-mover-arrow.flat{ color: var(--b-dim) !important; }
.wm-rail-mover-delta{
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
.wm-rail-mover-delta.up{   color: var(--b-red, #ff3b3b) !important; }
.wm-rail-mover-delta.down{ color: var(--b-green, #00b050) !important; }
.wm-rail-mover-delta.flat{ color: var(--b-text) !important; }

/* ─────────────────────────────────────────────────────────────────────
   Rail · LIVE TICKER  (right rail · pinned to the bottom, ALWAYS visible)
   Persistent across tab switches so the rail never has dead bottom space.
   Shows the 5 most-recent AUGUR predictions or watchlist movers.
   ───────────────────────────────────────────────────────────────────── */
.wm-rail-ticker{
  margin-top: auto !important;
  background: var(--b-bg) !important;
  border-top: 1px solid var(--b-orange) !important;
  flex: 0 0 auto !important;
  font-family: var(--b-mono) !important;
  position: sticky !important;
  bottom: 0 !important;
  z-index: 8 !important;
}
.wm-rail-ticker-head{
  background: var(--b-orange) !important;
  color: var(--b-bg) !important;
  padding: 0 12px !important;
  height: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.wm-rail-ticker-meta{
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  font-size: 9px !important;
  opacity: .85 !important;
}
.wm-rail-ticker-list{
  display: flex !important;
  flex-direction: column !important;
  border-bottom: 1px solid var(--b-line) !important;
}
.wm-rail-ticker-empty{
  color: var(--b-dim) !important;
  font-size: 9.5px !important;
  padding: 8px 12px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.wm-rail-ticker-row{
  display: grid !important;
  grid-template-columns: 38px 1fr 36px 28px !important;
  align-items: center !important;
  gap: 6px !important;
  height: 20px !important;
  padding: 0 12px !important;
  border-bottom: 1px solid var(--b-line) !important;
  font-size: 10px !important;
  cursor: pointer !important;
  transition: background 80ms linear !important;
}
.wm-rail-ticker-row:last-child{ border-bottom: 0 !important; }
.wm-rail-ticker-row:hover{ background: var(--b-bg-hi) !important; }
.wm-rail-ticker-row .t{
  color: var(--b-orange) !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
  font-size: 9.5px !important;
}
.wm-rail-ticker-row .n{
  color: var(--b-text) !important;
  font-weight: 600 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.wm-rail-ticker-row .c{
  text-align: right !important;
  color: var(--b-text) !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
  font-size: 9.5px !important;
  letter-spacing: 0 !important;
}
.wm-rail-ticker-row .c.hi{ color: var(--b-red, #ff3b3b) !important; }
.wm-rail-ticker-row .c.mi{ color: var(--b-yellow, #ffd54a) !important; }
.wm-rail-ticker-row .c.lo{ color: var(--b-green, #00b050) !important; }
.wm-rail-ticker-row .s{
  text-align: right !important;
  color: var(--b-dim) !important;
  font-size: 9px !important;
  letter-spacing: 0 !important;
}
.wm-rail-ticker-row .s.ok{ color: var(--b-green, #00b050) !important; }
.wm-rail-ticker-row .s.bad{ color: var(--b-red, #ff3b3b) !important; }
.wm-rail-ticker-foot{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 16px !important;
  padding: 0 12px !important;
  background: var(--b-bg-hi) !important;
  font-size: 8.5px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--b-dim) !important;
}
.wm-rail-ticker-foot .ok{ color: var(--b-green, #00b050) !important; font-weight: 700 !important; }
.wm-rail-ticker-foot .bad{ color: var(--b-red, #ff3b3b) !important; font-weight: 700 !important; }

/* When the rail is tabbed, prevent the active panel from greedily
   eating ALL the leftover height. Cap its grow factor so the ticker
   below has room to breathe. */
.wm-right[data-tabbed="1"] > section.wm-panel.active{
  flex: 0 1 auto !important;
}

/* ─────────────────────────────────────────────────────────────────────
   AUGUR · COMMAND DECK
   Full-screen mega-overlay: 6-tab analytical terminal (horizons,
   calibration, backtest, attribution, counterfactual, archetype).
   Inherits the existing .wm-augur-modal + .wm-augur-card scaffold but
   uses a much larger card and a deck-specific dark-orange terminal grid.
   ───────────────────────────────────────────────────────────────────── */
body.wm-deck-open{ overflow: hidden !important; }
.wm-augur-card-deck{
  width: min(96vw, 1480px) !important;
  height: min(94vh, 980px) !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--b-bg, #000) !important;
  border: 1px solid var(--b-orange, #ffb347) !important;
  border-radius: 4px !important;
  padding: 0 !important;
  font-family: var(--b-mono, 'JetBrains Mono', monospace) !important;
  box-shadow: 0 0 40px rgba(255,179,71,.18), 0 0 4px rgba(255,179,71,.4) inset !important;
}
.wm-augur-card-deck > .wm-augur-head{
  border-bottom: 1px solid var(--b-orange, #ffb347) !important;
  padding: 10px 16px !important;
  background: var(--b-bg, #000) !important;
}
.wm-deck-hotkey{
  display: inline-flex !important;
  align-items: center !important;
  height: 20px !important;
  padding: 0 8px !important;
  background: transparent !important;
  border: 1px solid var(--b-line-hi, #2a2a2a) !important;
  color: var(--b-dim, #888) !important;
  font-size: 9.5px !important;
  letter-spacing: 0.10em !important;
  margin-right: 10px !important;
}
.wm-deck-tabs{
  display: flex !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;
  height: 28px !important;
  background: var(--b-bg-hi, #0a0a0a) !important;
  border-bottom: 1px solid var(--b-line, #1a1a1a) !important;
  padding: 0 !important;
}
.wm-deck-tab{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 100% !important;
  padding: 0 14px !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--b-line, #1a1a1a) !important;
  color: var(--b-dim, #888) !important;
  font-family: var(--b-mono, 'JetBrains Mono', monospace) !important;
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 80ms linear, color 80ms linear !important;
}
.wm-deck-tab .num{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  background: var(--b-bg, #000) !important;
  color: var(--b-orange, #ffb347) !important;
  border: 1px solid var(--b-line-hi, #2a2a2a) !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
.wm-deck-tab:hover{ color: var(--b-orange, #ffb347) !important; background: var(--b-bg, #000) !important; }
.wm-deck-tab.active{
  background: var(--b-orange, #ffb347) !important;
  color: var(--b-bg, #000) !important;
}
.wm-deck-tab.active .num{ background: var(--b-bg, #000); color: var(--b-orange, #ffb347); border-color: var(--b-bg, #000); }
.wm-deck-body{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 14px 16px !important;
  background: var(--b-bg, #000) !important;
  color: var(--b-text, #fff) !important;
}
.wm-deck-foot{
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  height: 22px !important;
  padding: 0 16px !important;
  background: var(--b-bg-hi, #0a0a0a) !important;
  border-top: 1px solid var(--b-line, #1a1a1a) !important;
  font-size: 9.5px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--b-dim, #888) !important;
}
.wm-deck-foot-lbl{ color: var(--b-orange, #ffb347) !important; font-weight: 700 !important; }
.wm-deck-foot-meta{ flex: 1 1 auto !important; }
.wm-deck-foot-sig{ font-weight: 700 !important; }
.wm-deck-foot-sig.ok{ color: var(--b-green, #00b050) !important; }
.wm-deck-err{
  color: var(--b-red, #ff3b3b) !important;
  padding: 14px !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
}

/* ── Section primitives ── */
.wm-deck-section{ margin-bottom: 18px !important; }
.wm-deck-section-head{
  height: 20px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  background: var(--b-orange, #ffb347) !important;
  color: var(--b-bg, #000) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}
.wm-deck-section-head .muted{
  color: rgba(0,0,0,.6) !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
}
.wm-deck-grid2{ display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; }
.wm-deck-table{
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
}
.wm-deck-table th{
  text-align: left !important;
  padding: 5px 10px !important;
  background: var(--b-bg-hi, #0a0a0a) !important;
  color: var(--b-orange, #ffb347) !important;
  border-bottom: 1px solid var(--b-line-hi, #2a2a2a) !important;
  font-size: 9.5px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}
.wm-deck-table td{
  padding: 5px 10px !important;
  border-bottom: 1px solid var(--b-line, #1a1a1a) !important;
  color: var(--b-text, #fff) !important;
  font-variant-numeric: tabular-nums !important;
}
.wm-deck-table tr{ transition: background 60ms linear !important; }
.wm-deck-table tr[data-edge]{ cursor: pointer !important; }
.wm-deck-table tr[data-edge]:hover{ background: var(--b-bg-hi, #0a0a0a) !important; }
.wm-deck-table td.num{ font-variant-numeric: tabular-nums !important; }
.wm-deck-table td.edge{ color: var(--b-orange, #ffb347) !important; font-weight: 700 !important; }
.wm-deck-table td.prob{ font-weight: 700 !important; white-space: nowrap !important; }
.wm-deck-table td.prob.hi, .wm-deck-table td.hi{ color: var(--b-red, #ff3b3b) !important; }
.wm-deck-table td.prob.mi, .wm-deck-table td.mi{ color: var(--b-yellow, #ffd54a) !important; }
.wm-deck-table td.prob.lo, .wm-deck-table td.lo{ color: var(--b-green, #00b050) !important; }
.wm-deck-table td.ok{   color: var(--b-green, #00b050) !important; font-weight: 700 !important; }
.wm-deck-table td.warn{ color: var(--b-yellow, #ffd54a) !important; font-weight: 700 !important; }
.wm-deck-table td.bad{  color: var(--b-red, #ff3b3b) !important; font-weight: 700 !important; }

/* Inline bar (used in tables + attribution rows) */
.wm-deck-bar{
  display: inline-block !important;
  width: 60px !important;
  height: 6px !important;
  vertical-align: middle !important;
  background: var(--b-bg-hi, #0a0a0a) !important;
  border: 1px solid var(--b-line-hi, #2a2a2a) !important;
  margin-left: 6px !important;
  overflow: hidden !important;
}
.wm-deck-bar-fill{
  display: block !important;
  height: 100% !important;
  background: var(--b-orange, #ffb347) !important;
  transition: width 200ms ease !important;
}
.wm-deck-bar-fill.hi{ background: var(--b-red, #ff3b3b) !important; }
.wm-deck-bar-fill.mi{ background: var(--b-yellow, #ffd54a) !important; }
.wm-deck-bar-fill.lo{ background: var(--b-green, #00b050) !important; }

/* KPI tiles strip (backtest, counterfactual) */
.wm-deck-kpis{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
}
.wm-deck-kpi{
  background: var(--b-bg-hi, #0a0a0a) !important;
  border: 1px solid var(--b-line-hi, #2a2a2a) !important;
  padding: 8px 10px !important;
  font-family: var(--b-mono, 'JetBrains Mono', monospace) !important;
}
.wm-deck-kpi .lbl{
  font-size: 9px !important;
  color: var(--b-dim, #888) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}
.wm-deck-kpi .val{
  font-size: 22px !important;
  color: var(--b-text, #fff) !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1.1 !important;
  margin-top: 2px !important;
}
.wm-deck-kpi.ok      .val{ color: var(--b-green, #00b050) !important; }
.wm-deck-kpi.warn    .val{ color: var(--b-yellow, #ffd54a) !important; }
.wm-deck-kpi.bad     .val{ color: var(--b-red, #ff3b3b) !important; }
.wm-deck-kpi.feature{ background: var(--b-orange, #ffb347) !important; border-color: var(--b-orange, #ffb347) !important; }
.wm-deck-kpi.feature .lbl{ color: rgba(0,0,0,.6) !important; }
.wm-deck-kpi.feature .val{ color: var(--b-bg, #000) !important; }

/* Controls strip */
.wm-deck-controls{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
  flex-wrap: wrap !important;
}
.wm-deck-ctrl-lbl{
  color: var(--b-dim, #888) !important;
  font-size: 9.5px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.wm-deck-pill{
  display: inline-flex !important;
  align-items: center !important;
  height: 22px !important;
  padding: 0 12px !important;
  background: transparent !important;
  border: 1px solid var(--b-line-hi, #2a2a2a) !important;
  color: var(--b-dim, #888) !important;
  font-family: var(--b-mono, 'JetBrains Mono', monospace) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 80ms linear !important;
}
.wm-deck-pill:hover{ color: var(--b-orange, #ffb347) !important; border-color: var(--b-orange, #ffb347) !important; }
.wm-deck-pill.active{
  background: var(--b-orange, #ffb347) !important;
  color: var(--b-bg, #000) !important;
  border-color: var(--b-orange, #ffb347) !important;
}
.wm-deck-select{
  height: 22px !important;
  padding: 0 8px !important;
  background: var(--b-bg-hi, #0a0a0a) !important;
  border: 1px solid var(--b-line-hi, #2a2a2a) !important;
  color: var(--b-text, #fff) !important;
  font-family: var(--b-mono, 'JetBrains Mono', monospace) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.04em !important;
  min-width: 240px !important;
}
.wm-deck-meta{
  margin-left: auto !important;
  font-size: 10px !important;
  color: var(--b-dim, #888) !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
}

/* Reliability diagram (calibration) */
.wm-deck-calib-grid{
  display: grid !important;
  grid-template-columns: repeat(10, 1fr) !important;
  gap: 4px !important;
  height: 200px !important;
  margin-bottom: 6px !important;
}
.wm-deck-calib-bin{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  background: var(--b-bg-hi, #0a0a0a) !important;
  border: 1px solid var(--b-line-hi, #2a2a2a) !important;
  padding: 4px !important;
  position: relative !important;
}
.wm-deck-calib-bars{
  display: flex !important;
  align-items: flex-end !important;
  gap: 3px !important;
  width: 100% !important;
  height: calc(100% - 28px) !important;
}
.wm-deck-calib-bar{
  flex: 1 1 0 !important;
  min-height: 1px !important;
  transition: height 200ms ease !important;
}
.wm-deck-calib-bar.pred{   background: var(--b-orange, #ffb347) !important; }
.wm-deck-calib-bar.actual{ background: #4a90e2 !important; }
.wm-deck-calib-bar.actual.ok{  background: var(--b-green, #00b050) !important; }
.wm-deck-calib-bar.actual.mid{ background: var(--b-yellow, #ffd54a) !important; }
.wm-deck-calib-bar.actual.bad{ background: var(--b-red, #ff3b3b) !important; }
.wm-deck-calib-lbl{
  font-size: 8.5px !important;
  color: var(--b-dim, #888) !important;
  letter-spacing: 0.04em !important;
  margin-top: 4px !important;
}
.wm-deck-calib-n{
  font-size: 8.5px !important;
  color: var(--b-orange, #ffb347) !important;
  font-weight: 700 !important;
}
.wm-deck-calib-legend{
  display: flex !important;
  gap: 16px !important;
  font-size: 9.5px !important;
  color: var(--b-dim, #888) !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  padding: 4px 0 14px 0 !important;
}
.wm-deck-calib-legend .leg.pred{   color: var(--b-orange, #ffb347) !important; }
.wm-deck-calib-legend .leg.actual{ color: #4a90e2 !important; }

/* Attribution list */
.wm-deck-attr-list{
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.wm-deck-attr-row{
  display: grid !important;
  grid-template-columns: 1.5fr 100px 60px 80px 80px !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 7px 10px !important;
  background: var(--b-bg-hi, #0a0a0a) !important;
  border: 1px solid var(--b-line, #1a1a1a) !important;
  font-size: 11px !important;
  cursor: pointer !important;
  transition: border-color 80ms linear !important;
}
.wm-deck-attr-row:hover{ border-color: var(--b-orange, #ffb347) !important; }
.wm-deck-attr-name{ color: var(--b-text, #fff) !important; font-weight: 600 !important; }
.wm-deck-attr-bar{ display: flex !important; align-items: center !important; }
.wm-deck-attr-bar .wm-deck-bar{ width: 100% !important; height: 8px !important; margin-left: 0 !important; }
.wm-deck-attr-w{ text-align: right !important; color: var(--b-orange, #ffb347) !important; font-weight: 700 !important; }
.wm-deck-attr-c{ text-align: right !important; color: var(--b-dim, #888) !important; font-size: 10px !important; }
.wm-deck-attr-hr{ text-align: right !important; color: var(--b-text, #fff) !important; font-size: 10px !important; }

.wm-deck-posterior{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
}
.wm-deck-post-row{
  display: grid !important;
  grid-template-columns: 100px 1fr 60px !important;
  gap: 8px !important;
  align-items: center !important;
  background: var(--b-bg-hi, #0a0a0a) !important;
  padding: 5px 10px !important;
  font-size: 10.5px !important;
}
.wm-deck-post-row .lbl{ color: var(--b-dim, #888) !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; }
.wm-deck-post-row .val{ text-align: right !important; color: var(--b-orange, #ffb347) !important; font-weight: 700 !important; }
.wm-deck-post-row .bar .wm-deck-bar{ width: 100% !important; height: 6px !important; margin-left: 0 !important; }

/* Archetype cards (top 3) */
.wm-deck-arch-top{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}
.wm-deck-arch-card{
  background: var(--b-bg-hi, #0a0a0a) !important;
  border: 1px solid var(--b-line-hi, #2a2a2a) !important;
  padding: 12px !important;
  font-family: var(--b-mono, 'JetBrains Mono', monospace) !important;
}
.wm-deck-arch-card.rank-1{
  border-color: var(--b-orange, #ffb347) !important;
  background: linear-gradient(180deg, rgba(255,179,71,.08), var(--b-bg-hi, #0a0a0a)) !important;
}
.wm-deck-arch-rank{ color: var(--b-orange, #ffb347) !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 0.16em !important; }
.wm-deck-arch-name{ font-size: 14px !important; font-weight: 700 !important; letter-spacing: 0.10em !important; text-transform: uppercase !important; color: var(--b-text, #fff) !important; margin: 4px 0 8px 0 !important; }
.wm-deck-arch-score{ font-size: 28px !important; color: var(--b-orange, #ffb347) !important; font-weight: 700 !important; font-variant-numeric: tabular-nums !important; line-height: 1 !important; }
.wm-deck-arch-meta{ font-size: 9.5px !important; color: var(--b-dim, #888) !important; letter-spacing: 0.10em !important; text-transform: uppercase !important; margin: 6px 0 8px 0 !important; }
.wm-deck-arch-bar .wm-deck-bar{ width: 100% !important; height: 6px !important; margin-left: 0 !important; }

/* ════════════════════════════════════════════════════════════════════
   END BLOOMBERG · ORG v2
   ════════════════════════════════════════════════════════════════════ */

