:root{
  --void:#ffffff;--deep:#f7f9f7;--base:#f0f4f0;--surface:#e8ede8;--raised:#dde5dd;--card:#ffffff;
  --b1:rgba(45,122,58,0.11);--b2:rgba(45,122,58,0.20);--b3:rgba(45,122,58,0.42);
  --cyan:#2D7A3A;--cyan2:#1a5c27;--cyan-dim:rgba(45,122,58,0.06);--cyan-glow:rgba(45,122,58,0.25);
  --teal:#2D7A3A;--teal-dim:rgba(45,122,58,0.06);
  --red:#c0161a;--red2:#d63b1f;--red-dim:rgba(192,22,26,0.08);--red-glow:rgba(192,22,26,0.30);
  --amber:#b45309;--amber2:#92400e;--amber-dim:rgba(180,83,9,0.08);
  --green:#2D7A3A;--green-dim:rgba(45,122,58,0.07);
  --purple:#2D7A3A;--purple2:#1a5c27;--purple-dim:rgba(45,122,58,0.08);--purple-glow:rgba(45,122,58,0.22);
  --magenta:#d63b1f;--mag-glow:rgba(214,59,31,0.30);
  --blue:#1e6fff;--blue2:#3b82f6;--blue-glow:rgba(30,111,255,0.30);
  --body:rgba(45,75,45,0.52);--text:#2a3a2a;--bright:#1a2e1a;--white:#1a2e1a;--fg:#1a2e1a;
  --mono:'Share Tech Mono',monospace;--disp:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;overflow:hidden;}
body{background:var(--void);color:var(--text);font-family:var(--sans);font-size:14px;}
::-webkit-scrollbar{width:3px;height:3px;}
::-webkit-scrollbar-track{background:var(--void);}
::-webkit-scrollbar-thumb{background:var(--b3);}

/* LAYERED BACKGROUND CANVASES */
#rain{position:fixed;top:0;left:0;width:100%;height:100%;opacity:0.08;pointer-events:none;z-index:0;}
#scanlines{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0.03;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,220,255,0.4) 2px,rgba(0,220,255,0.4) 3px);}
#radar-bg{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(70vw,70vh);height:min(70vw,70vh);pointer-events:none;z-index:0;opacity:0.04;}

/* SHELL */
.shell{display:grid;grid-template-rows:auto auto auto 1fr;height:100vh;position:relative;z-index:1;}

/* TOPBAR */
.topbar{background:linear-gradient(180deg,rgba(1,18,32,0.98),rgba(2,12,22,0.97));border-bottom:1px solid var(--b2);box-shadow:0 0 20px rgba(0,220,255,0.08);display:flex;align-items:stretch;padding:0 1.2rem;gap:0;backdrop-filter:blur(8px);}
.brand{display:flex;align-items:center;gap:.8rem;padding-right:1.2rem;border-right:1px solid var(--b1);}
.brand-hex{width:28px;height:28px;position:relative;display:flex;align-items:center;justify-content:center;}
.brand-hex svg{width:28px;height:28px;}
.brand-t{font-family:var(--disp);font-size:.95rem;letter-spacing:.15em;color:var(--cyan2);line-height:1;text-shadow:0 0 15px var(--cyan-glow),0 0 30px rgba(0,220,255,0.3);}
.brand-s{font-family:var(--mono);font-size:.38rem;letter-spacing:.3em;color:var(--body);text-transform:uppercase;margin-top:2px;}
.sitenav{display:flex;align-items:center;flex:1;overflow:hidden;}
.sitenav a{font-family:var(--mono);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;padding:0 .75rem;height:100%;display:flex;align-items:center;color:rgba(0,200,255,0.4);text-decoration:none;border-right:1px solid var(--b1);white-space:nowrap;transition:all .2s;}
.sitenav a:hover{color:var(--cyan);text-shadow:0 0 8px var(--cyan-glow);}
.sitenav a.active{color:var(--cyan2);background:var(--cyan-dim);text-shadow:0 0 10px var(--cyan-glow);}
.topbar-r{display:flex;align-items:center;gap:1.2rem;padding-left:1.2rem;border-left:1px solid var(--b1);}
.hst-l{font-family:var(--mono);font-size:.38rem;letter-spacing:.2em;color:var(--body);text-transform:uppercase;}
.hst-v{font-family:var(--disp);font-size:.85rem;letter-spacing:.06em;line-height:1;}
.hst-v.r{color:var(--red2);text-shadow:0 0 8px var(--red-glow);}
.hst-v.g{color:var(--green);text-shadow:0 0 8px rgba(0,255,136,.5);}
.hst-v.a{color:var(--amber2);}
#ck{font-family:var(--mono);font-size:.85rem;color:var(--cyan2);letter-spacing:.06em;text-shadow:0 0 8px var(--cyan-glow);}
#ckd{font-family:var(--mono);font-size:.38rem;color:var(--body);letter-spacing:.1em;margin-top:1px;}

/* CLASSBAR */
.classbar{background:linear-gradient(90deg,rgba(192,64,255,0.1),rgba(0,220,255,0.15),rgba(255,16,64,0.12),rgba(0,220,255,0.15),rgba(192,64,255,0.1));border-top:1px solid rgba(0,220,255,0.25);border-bottom:1px solid rgba(192,64,255,0.25);overflow:hidden;padding:3px 0;font-family:var(--mono);font-size:.46rem;font-weight:400;letter-spacing:.3em;color:var(--cyan2);text-transform:uppercase;text-shadow:0 0 10px var(--cyan-glow);}
.classbar-track{display:inline-flex;white-space:nowrap;animation:classbar-scroll 90s linear infinite;}
@keyframes classbar-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.cb-diamond{color:var(--amber2);text-shadow:0 0 8px rgba(255,168,0,.6);}

/* MAIN */
.main{display:grid;grid-template-columns:210px 1fr 310px;grid-template-rows:1fr;overflow:hidden;}

/* LEFT SIDEBAR */
.lsidebar{background:linear-gradient(180deg,rgba(2,14,26,.98),rgba(1,10,20,.99));border-right:1px solid var(--b2);box-shadow:inset -1px 0 20px rgba(0,220,255,0.03);display:flex;flex-direction:column;overflow:hidden;position:relative;}
.lsidebar::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.lsb-head{padding:.55rem .8rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:.4rem;background:linear-gradient(90deg,var(--cyan-dim),rgba(192,64,255,0.04));}
.lsb-title{font-family:var(--disp);font-size:.55rem;letter-spacing:.2em;color:var(--cyan2);text-transform:uppercase;text-shadow:0 0 6px var(--cyan-glow);}
.dot-live{width:6px;height:6px;border-radius:50%;background:var(--red2);box-shadow:0 0 6px var(--red-glow);animation:pulse-r 1.5s ease-in-out infinite;flex-shrink:0;}
@keyframes pulse-r{0%,100%{opacity:1;box-shadow:0 0 8px var(--red-glow),0 0 16px rgba(255,16,64,0.3)}50%{opacity:.4;box-shadow:0 0 3px var(--red-glow)}}

/* tool nav */
.toolnav{display:flex;flex-direction:column;border-bottom:1px solid var(--b1);flex-shrink:0;}
.tnav-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem;cursor:pointer;border-bottom:1px solid var(--b1);transition:all .15s;border-left:2px solid transparent;position:relative;}
.tnav-item:hover{background:var(--cyan-dim);}
.tnav-item.active{background:linear-gradient(90deg,rgba(0,220,255,0.07),rgba(192,64,255,0.04));border-left-color:var(--cyan);}
.tnav-item.active::after{content:'';position:absolute;right:0;top:0;bottom:0;width:1px;background:var(--cyan);box-shadow:0 0 6px var(--cyan-glow);}
.tnav-icon{font-size:.8rem;flex-shrink:0;}
.tnav-label{font-family:var(--mono);font-size:.46rem;letter-spacing:.1em;color:rgba(0,200,255,0.5);text-transform:uppercase;transition:all .15s;}
.tnav-sub{font-family:var(--sans);font-size:.55rem;color:rgba(0,200,255,0.3);margin-top:1px;}
.tnav-item.active .tnav-label,.tnav-item:hover .tnav-label{color:var(--cyan);text-shadow:0 0 6px var(--cyan-glow);}

/* conflict list */
.cl-head{font-family:var(--mono);font-size:.4rem;letter-spacing:.22em;color:var(--body);text-transform:uppercase;padding:.38rem .8rem;border-bottom:1px solid var(--b1);background:rgba(0,0,0,.3);}
.conflict-list{overflow-y:auto;flex:1;}
.cl-item{padding:.5rem .8rem;border-bottom:1px solid var(--b1);cursor:pointer;transition:all .15s;border-left:2px solid transparent;position:relative;}
.cl-item:hover{background:var(--cyan-dim);}
.cl-item.active{background:linear-gradient(90deg,rgba(0,220,255,0.05),rgba(192,64,255,0.03));border-left-color:var(--red2);box-shadow:inset 0 0 12px rgba(0,220,255,0.03);}
.cl-item.active::after{content:'▶';position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-size:.5rem;color:var(--cyan);opacity:.6;}
.cl-name{font-family:var(--sans);font-weight:700;font-size:.68rem;color:var(--bright);margin-bottom:.1rem;}
.cl-region{font-family:var(--mono);font-size:.4rem;color:var(--body);letter-spacing:.1em;margin-bottom:.2rem;text-transform:uppercase;}
.cl-badge{font-family:var(--mono);font-size:.38rem;padding:1px 4px;border:1px solid;letter-spacing:.1em;display:inline-block;margin-bottom:.18rem;text-transform:uppercase;}
.cl-badge.w{color:var(--red2);border-color:rgba(255,34,68,.4);text-shadow:0 0 4px var(--red-glow);}
.cl-badge.m{color:var(--amber2);border-color:rgba(255,170,0,.4);}
.cl-badge.l{color:var(--body);border-color:var(--b1);}
.cl-esc{display:flex;align-items:center;gap:.3rem;}
.cl-bar{flex:1;height:1px;background:var(--b1);}
.cl-fill{height:100%;background:linear-gradient(90deg,rgba(255,34,68,.3),var(--red2));box-shadow:0 0 3px var(--red-glow);}
.cl-n{font-family:var(--mono);font-size:.4rem;color:var(--red2);}

/* CENTER */
.center{display:flex;flex-direction:column;overflow:hidden;position:relative;height:100%;background:linear-gradient(135deg,var(--base),var(--void));}

/* view toolbar */
.vtoolbar{background:linear-gradient(180deg,rgba(2,12,22,.97),rgba(1,8,18,.96));border-bottom:1px solid var(--b2);display:flex;align-items:center;padding:0 .8rem;gap:0;flex-shrink:0;backdrop-filter:blur(6px);box-shadow:0 2px 20px rgba(0,220,255,0.05);}
.vbtn{font-family:var(--mono);font-size:.44rem;letter-spacing:.12em;text-transform:uppercase;padding:.48rem .8rem;color:rgba(0,200,255,.4);cursor:pointer;border-right:1px solid var(--b1);transition:all .15s;border-bottom:2px solid transparent;white-space:nowrap;}
.vbtn:first-child{border-left:1px solid var(--b1);}
.vbtn:hover{color:var(--cyan);background:var(--cyan-dim);text-shadow:0 0 6px var(--cyan-glow);}
.vbtn.active{color:var(--cyan2);border-bottom-color:var(--cyan);background:linear-gradient(180deg,rgba(0,220,255,.06),rgba(192,64,255,.04));text-shadow:0 0 10px var(--cyan-glow);box-shadow:inset 0 -1px 0 rgba(192,64,255,0.3);}
.conflict-banner{padding:.28rem 1rem;background:linear-gradient(90deg,rgba(1,10,20,.95),rgba(3,16,30,.9),rgba(1,10,20,.95));border-bottom:1px solid var(--b2);display:flex;align-items:center;gap:.8rem;flex-shrink:0;}
.cb-label{font-family:var(--mono);font-size:.38rem;letter-spacing:.18em;color:var(--body);text-transform:uppercase;}
.cb-name{font-family:var(--disp);font-size:.95rem;letter-spacing:.08em;color:var(--cyan2);text-shadow:0 0 10px var(--cyan-glow);}
.cb-badge{font-family:var(--mono);font-size:.38rem;padding:1px 6px;border:1px solid rgba(255,34,68,.4);color:var(--red2);background:var(--red-dim);letter-spacing:.1em;text-shadow:0 0 4px var(--red-glow);}
.cb-esc{font-family:var(--mono);font-size:.46rem;color:var(--amber2);}

/* view area */
.view-area{flex:1;overflow:hidden;position:relative;}
.view{display:none;width:100%;height:100%;overflow-y:auto;}
.view.active{display:block;}

/* MAP */
#view-map{overflow:hidden;position:relative;background:radial-gradient(ellipse at center,rgba(4,20,40,1) 0%,rgba(1,8,18,1) 100%);}
#view-map.active{display:block;}
.map-wrap{position:absolute;top:0;left:0;right:0;bottom:0;background:#010812;}
#globe-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;}
#globe-container canvas{display:block;background:transparent !important;}
#globe-container>div{width:100% !important;height:100% !important;}
/* Globe loading spinner */
#globe-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:10;pointer-events:none;}
.gl-spinner{width:36px;height:36px;border:2px solid rgba(0,220,255,0.12);border-top-color:#00dcff;border-radius:50%;animation:gl-spin 0.75s linear infinite;}
@keyframes gl-spin{to{transform:rotate(360deg)}}
.gl-msg{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.2em;color:rgba(0,220,255,0.5);}
/* Globe score sidebar */
#globe-sidebar{position:absolute;top:16px;left:16px;background:rgba(1,8,18,0.88);border:1px solid rgba(0,220,255,0.18);border-left:2px solid rgba(0,220,255,0.45);padding:10px 14px;z-index:10;min-width:210px;}
.gs-title{font-family:'Share Tech Mono',monospace;font-size:8.5px;letter-spacing:.22em;color:rgba(0,220,255,0.45);margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid rgba(0,220,255,0.12);}
.gs-row{display:flex;align-items:center;gap:7px;padding:3px 0;cursor:pointer;}
.gs-row:hover{background:rgba(0,220,255,0.05);}
.gs-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.gs-label{font-family:'Share Tech Mono',monospace;font-size:9.5px;color:rgba(190,220,255,0.75);flex:1;}
.gs-score{font-family:'Orbitron',monospace;font-size:11px;font-weight:700;}
.gs-arrow{font-size:9px;width:10px;text-align:center;}
/* Globe legend */
#globe-legend{position:absolute;bottom:60px;right:12px;background:rgba(1,8,18,0.82);border:1px solid rgba(0,220,255,0.14);padding:8px 12px;z-index:10;pointer-events:none;}
.gl-entry{display:flex;align-items:center;gap:7px;padding:2px 0;}
.gl-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.gl-lbl{font-family:'Share Tech Mono',monospace;font-size:8.5px;color:rgba(0,220,255,0.45);letter-spacing:.08em;}
/* Theater labels floating on globe */
.globe-th-label{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.1em;background:rgba(1,8,18,0.78);padding:1px 6px;pointer-events:none;white-space:nowrap;transform:translate(-50%,-160%);border-left:2px solid currentColor;}
/* Country-click cursor feedback */
#globe-container.globe-clicking{cursor:wait !important;}
/* Interactive hint — fades out after 6s */
#globe-hint{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:.15em;color:rgba(0,220,255,0.45);pointer-events:none;white-space:nowrap;text-align:center;z-index:10;animation:globe-hint-fade 7s ease-out forwards;}
@keyframes globe-hint-fade{0%{opacity:0}15%{opacity:1}70%{opacity:1}100%{opacity:0;visibility:hidden}}
.map-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:.46rem;letter-spacing:.2em;color:var(--body);text-transform:uppercase;text-align:center;pointer-events:none;animation:hint-fade 3s ease-in-out infinite;}
@keyframes hint-fade{0%,100%{opacity:.4}50%{opacity:.9}}
.hs-ring{fill:none;stroke-width:1;animation:ring-pulse 2.5s ease-out infinite;}
.hs-ring2{fill:none;stroke-width:.5;animation:ring-pulse 2.5s ease-out infinite;animation-delay:.8s;}
@keyframes ring-pulse{0%{r:10;opacity:.8}100%{r:28;opacity:0}}
.hs-ring.war{stroke:var(--red2);}
.hs-ring2.war{stroke:var(--red2);}
.hs-ring.watch{stroke:var(--amber2);}
.hs-ring2.watch{stroke:var(--amber2);}
.hotspot{cursor:pointer;}
.hotspot circle.core{transition:r .2s;}
.hotspot:hover circle.core{r:9;}

/* PANEL */
.panel{background:linear-gradient(135deg,rgba(4,18,32,.97),rgba(2,12,24,.98));border:1px solid rgba(0,220,255,0.2);position:relative;overflow:hidden;box-shadow:0 0 20px rgba(0,220,255,0.04),inset 0 0 30px rgba(0,220,255,0.02);}
.panel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),var(--purple),transparent);opacity:.6;}
.ph{padding:.48rem .8rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;background:rgba(0,200,255,.03);}
.ph-t{font-family:var(--mono);font-size:.44rem;letter-spacing:.18em;color:var(--cyan);text-transform:uppercase;display:flex;align-items:center;gap:.4rem;text-shadow:0 0 6px var(--cyan-glow);}
.ph-m{font-family:var(--mono);font-size:.4rem;color:var(--body);letter-spacing:.1em;}

/* HUD corners */
.hud-corner{position:absolute;width:10px;height:10px;}
.hud-corner.tl{top:0;left:0;border-top:1px solid var(--cyan);border-left:1px solid var(--cyan);box-shadow:-1px -1px 6px rgba(0,220,255,0.4);}
.hud-corner.tr{top:0;right:0;border-top:1px solid var(--cyan);border-right:1px solid var(--cyan);box-shadow:1px -1px 6px rgba(0,220,255,0.4);}
.hud-corner.bl{bottom:0;left:0;border-bottom:1px solid var(--cyan);border-left:1px solid var(--cyan);box-shadow:-1px 1px 6px rgba(0,220,255,0.4);}
.hud-corner.br{bottom:0;right:0;border-bottom:1px solid var(--cyan);border-right:1px solid var(--cyan);box-shadow:1px 1px 6px rgba(0,220,255,0.4);}

/* INTEL VIEW */
.intel-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:.7rem;}
.intel-col{display:flex;flex-direction:column;gap:.7rem;}
.why-body{padding:.7rem .8rem;font-family:var(--sans);font-size:.68rem;color:var(--text);line-height:1.65;}
.why-tags{display:flex;flex-wrap:wrap;gap:.3rem;padding:.45rem .8rem;border-top:1px solid var(--b1);}
.tag{font-family:var(--mono);font-size:.42rem;padding:1px 5px;border:1px solid;letter-spacing:.07em;}
.tag.r{border-color:rgba(255,34,68,.4);color:var(--red2);}
.tag.c{border-color:rgba(0,200,255,.3);color:var(--cyan);}
.co-pills{display:flex;flex-wrap:wrap;gap:.35rem;padding:.6rem .8rem;}
.co-pill{font-family:var(--mono);font-size:.5rem;padding:.18rem .5rem;border:1px solid var(--b2);color:var(--body);cursor:pointer;transition:all .15s;}
.co-pill:hover,.co-pill.active{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim);text-shadow:0 0 6px var(--cyan-glow);box-shadow:0 0 8px rgba(0,200,255,.15);}
.ctr-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.35rem .8rem;border-bottom:1px solid var(--b1);font-size:.63rem;}
.ctr-row:last-child{border-bottom:none;}
.ctr-d{color:var(--text);line-height:1.4;}
.ctr-v{font-family:var(--mono);font-size:.56rem;color:var(--amber2);white-space:nowrap;}
.news-item{padding:.42rem .8rem;border-bottom:1px solid var(--b1);}
.news-item:last-child{border-bottom:none;}
.news-dt{font-family:var(--mono);font-size:.4rem;color:var(--body);letter-spacing:.1em;margin-bottom:.1rem;}
.news-h{font-size:.66rem;font-weight:600;color:var(--bright);line-height:1.38;margin-bottom:.1rem;}
.news-s{font-family:var(--mono);font-size:.4rem;color:var(--body);}

/* MONEY TRACE */
.trace-wrap{padding:.7rem;display:flex;flex-direction:column;gap:.7rem;}
.tsel-label{font-family:var(--mono);font-size:.42rem;letter-spacing:.2em;color:var(--body);text-transform:uppercase;margin-bottom:.3rem;}
.tsel-pill{font-family:var(--mono);font-size:.48rem;padding:.18rem .5rem;border:1px solid var(--b2);color:var(--body);cursor:pointer;transition:all .15s;}
.tsel-pill:hover{border-color:var(--cyan);color:var(--cyan);}
.tsel-pill.active{border-color:var(--red2);color:var(--red2);background:var(--red-dim);text-shadow:0 0 4px var(--red-glow);}
.trace-select{display:flex;gap:.35rem;flex-wrap:wrap;}
.flow-chain{display:flex;align-items:stretch;border:1px solid var(--b2);}
.fc-node{flex:1;padding:.7rem;border-right:1px solid var(--b1);transition:background .3s;position:relative;}
.fc-node:last-child{border-right:none;}
.fc-node.lit{background:rgba(0,200,255,.04);}
.fc-step{font-family:var(--mono);font-size:.38rem;letter-spacing:.18em;color:var(--body);text-transform:uppercase;margin-bottom:.22rem;}
.fc-title{font-family:var(--disp);font-size:.8rem;letter-spacing:.06em;margin-bottom:.28rem;}
.fc-title.r{color:var(--red2);text-shadow:0 0 6px var(--red-glow);}
.fc-title.a{color:var(--amber2);}
.fc-title.b{color:var(--cyan);text-shadow:0 0 6px var(--cyan-glow);}
.fc-title.g{color:var(--green);text-shadow:0 0 6px rgba(0,255,136,.4);}
.fc-body{font-size:.6rem;color:var(--text);line-height:1.5;}
.fc-arrow{display:flex;align-items:center;padding:0 .15rem;color:var(--cyan);font-size:.8rem;flex-shrink:0;align-self:center;text-shadow:0 0 6px var(--cyan-glow);}
.conn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;}
.conn-card{background:var(--card);border:1px solid var(--b2);padding:.7rem;position:relative;overflow:hidden;}
.conn-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.3;}
.conn-card.r{border-top:2px solid var(--red2);}
.conn-card.a{border-top:2px solid var(--amber2);}
.conn-card.b{border-top:2px solid var(--cyan);}
.conn-card.g{border-top:2px solid var(--green);}
.conn-type{font-family:var(--mono);font-size:.4rem;letter-spacing:.2em;color:var(--body);text-transform:uppercase;margin-bottom:.38rem;}
.conn-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.62rem;padding:.2rem 0;border-bottom:1px solid var(--b1);}
.conn-row:last-child{border-bottom:none;}
.conn-name{color:var(--text);font-weight:600;}
.conn-val{font-family:var(--mono);font-size:.55rem;color:var(--amber2);}
.conn-note{font-size:.56rem;color:var(--body);}

/* WEB */
#view-web{overflow:hidden;position:relative;}
#view-web.active{display:block;}
#webcanvas{width:100%;height:100%;}
.web-legend{position:absolute;bottom:.8rem;left:.8rem;background:rgba(2,8,14,.9);border:1px solid var(--b2);padding:.6rem .8rem;display:flex;flex-direction:column;gap:.28rem;}
.web-leg-item{display:flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.42rem;color:var(--body);}
.web-leg-dot{width:7px;height:7px;border-radius:50%;}
.web-tooltip{position:absolute;background:rgba(2,10,22,.97);border:1px solid rgba(192,64,255,0.4);box-shadow:0 0 20px rgba(192,64,255,0.15),0 0 40px rgba(0,220,255,0.1);padding:.5rem .7rem;font-family:var(--mono);font-size:.48rem;color:var(--text);pointer-events:none;display:none;z-index:10;min-width:150px;backdrop-filter:blur(8px);}
.web-tooltip::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--purple),var(--cyan),var(--purple));}
.wt-type{color:var(--body);font-size:.4rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.15rem;}
.wt-title{color:var(--cyan2);font-size:.6rem;margin-bottom:.15rem;text-shadow:0 0 6px var(--cyan-glow);}
.wt-body{color:var(--text);font-size:.47rem;line-height:1.5;}

/* SIMULATOR */
.sim-wrap{padding:.7rem;display:flex;flex-direction:column;gap:.7rem;overflow-y:auto;height:100%;}
.sim-note{font-family:var(--mono);font-size:.46rem;color:var(--body);text-align:center;padding:.4rem;letter-spacing:.06em;border:1px solid var(--b1);background:var(--cyan-dim);}
.sim-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;}
.sim-ctrl{background:linear-gradient(135deg,var(--card),rgba(3,12,22,.98));border:1px solid var(--b2);padding:.7rem;position:relative;overflow:hidden;}
.sim-ctrl::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.4;}
.sim-ctrl-label{font-family:var(--mono);font-size:.42rem;letter-spacing:.15em;color:var(--body);text-transform:uppercase;margin-bottom:.4rem;}
.sim-ctrl-val{font-family:var(--disp);font-size:1.3rem;color:var(--cyan2);letter-spacing:.04em;margin-bottom:.35rem;text-shadow:0 0 10px var(--cyan-glow);}
input[type=range]{width:100%;-webkit-appearance:none;height:2px;background:var(--b2);outline:none;border-radius:0;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;background:var(--cyan);cursor:pointer;border-radius:0;box-shadow:0 0 6px var(--cyan-glow);}
.sim-results{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;}
.sim-r-card{background:var(--card);border:1px solid var(--b2);padding:.7rem;text-align:center;position:relative;overflow:hidden;}
.sim-r-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.3;}
.sim-r-label{font-family:var(--mono);font-size:.4rem;letter-spacing:.16em;color:var(--body);text-transform:uppercase;margin-bottom:.3rem;}
.sim-r-val{font-family:var(--disp);font-size:1.3rem;letter-spacing:.04em;margin-bottom:.2rem;}
.sim-r-val.up{color:var(--green);text-shadow:0 0 8px rgba(0,255,136,.4);}
.sim-r-val.dn{color:var(--red2);text-shadow:0 0 8px var(--red-glow);}
.sim-r-val.w{color:var(--cyan2);text-shadow:0 0 8px var(--cyan-glow);}
.sim-r-val.a{color:var(--amber2);}
.sim-r-delta{font-family:var(--mono);font-size:.46rem;color:var(--body);}
.sim-company-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;}
.sim-co-card{background:var(--card);border:1px solid var(--b2);padding:.62rem;position:relative;overflow:hidden;transition:border-color .3s;}
.sim-co-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,200,255,.4),transparent);}
.sim-co-ticker{font-family:var(--disp);font-size:1rem;color:var(--cyan2);margin-bottom:.15rem;text-shadow:0 0 6px var(--cyan-glow);}
.sim-co-name{font-size:.54rem;color:var(--body);margin-bottom:.35rem;}
.sim-co-price{font-family:var(--mono);font-size:.75rem;color:var(--bright);margin-bottom:.15rem;}
.sim-co-delta{font-family:var(--mono);font-size:.58rem;}
.sim-co-delta.up{color:var(--green);}.sim-co-delta.dn{color:var(--red2);}

/* COMPARE */
.cmp-wrap{padding:.7rem;display:flex;flex-direction:column;gap:.7rem;overflow-y:auto;}
.cmp-selectors{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;}
.cmp-sel-wrap{display:flex;flex-direction:column;gap:.3rem;}
.cmp-sel-label{font-family:var(--mono);font-size:.4rem;letter-spacing:.18em;color:var(--body);text-transform:uppercase;}
.co-selector{display:flex;gap:.3rem;flex-wrap:wrap;}
.co-sel-pill{font-family:var(--mono);font-size:.48rem;padding:.16rem .45rem;border:1px solid var(--b2);color:var(--body);cursor:pointer;transition:all .15s;}
.co-sel-pill:hover{border-color:var(--cyan);color:var(--cyan);}
.co-sel-pill.sel-a{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim);}
.co-sel-pill.sel-b{border-color:var(--red2);color:var(--red2);background:var(--red-dim);}
.cmp-vs{font-family:var(--disp);font-size:1.1rem;color:var(--body);padding:0 .5rem;}
.cmp-table{width:100%;border-collapse:collapse;}
.cmp-table th{font-family:var(--mono);font-size:.41rem;letter-spacing:.16em;color:var(--body);text-transform:uppercase;padding:.38rem .8rem;border-bottom:1px solid var(--b2);font-weight:400;background:rgba(0,200,255,.03);}
.cmp-table th.col-a{color:var(--cyan);text-shadow:0 0 4px var(--cyan-glow);}
.cmp-table th.col-b{color:var(--red2);text-shadow:0 0 4px var(--red-glow);}
.cmp-table td{padding:.38rem .8rem;border-bottom:1px solid var(--b1);font-size:.63rem;color:var(--text);}
.cmp-table tr:hover td{background:var(--cyan-dim);}
.cmp-table .metric{font-family:var(--mono);font-size:.44rem;color:var(--body);letter-spacing:.1em;}
.cmp-table .val-a{font-family:var(--mono);font-size:.63rem;color:var(--cyan);}
.cmp-table .val-b{font-family:var(--mono);font-size:.63rem;color:var(--red2);}

/* RIGHT PANEL */
.rpanel{background:linear-gradient(180deg,rgba(2,14,26,.98),rgba(1,10,20,.99));border-left:1px solid var(--b2);box-shadow:inset 1px 0 20px rgba(0,220,255,0.03);display:flex;flex-direction:column;overflow:hidden;position:relative;}
.rpanel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.rp-tabs{display:flex;border-bottom:1px solid var(--b2);flex-shrink:0;}
.rp-tab{flex:1;padding:.42rem .4rem;font-family:var(--mono);font-size:.4rem;letter-spacing:.1em;color:rgba(0,200,255,.4);cursor:pointer;text-align:center;border-right:1px solid var(--b1);text-transform:uppercase;transition:all .15s;border-bottom:2px solid transparent;}
.rp-tab:last-child{border-right:none;}
.rp-tab:hover{color:var(--cyan);background:var(--cyan-dim);}
.rp-tab.active{color:var(--cyan2);border-bottom-color:var(--cyan);background:rgba(0,200,255,.04);text-shadow:0 0 6px var(--cyan-glow);}
.rp-content{flex:1;overflow-y:auto;}
.rp-view{display:none;padding:.6rem;}
.rp-view.active{display:block;}
.rp-section-label{font-family:var(--mono);font-size:.4rem;letter-spacing:.22em;color:var(--body);text-transform:uppercase;margin-bottom:.45rem;padding-bottom:.28rem;border-bottom:1px solid var(--b1);}

/* reveal cards */
.reveal-card{background:linear-gradient(135deg,var(--card),rgba(3,12,22,.97));border:1px solid rgba(0,220,255,0.18);margin-bottom:.42rem;overflow:hidden;position:relative;}
.reveal-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent);opacity:.35;}
.rc-head{padding:.42rem .65rem;border-bottom:1px solid var(--b1);background:rgba(0,200,255,.03);display:flex;justify-content:space-between;align-items:center;}
.rc-type{font-family:var(--mono);font-size:.38rem;letter-spacing:.18em;color:var(--body);text-transform:uppercase;}
.rc-badge{font-family:var(--mono);font-size:.38rem;padding:1px 4px;border:1px solid;letter-spacing:.08em;text-transform:uppercase;}
.rc-badge.r{color:var(--red2);border-color:rgba(255,34,68,.4);text-shadow:0 0 4px var(--red-glow);}
.rc-badge.a{color:var(--amber2);border-color:rgba(255,170,0,.4);}
.rc-badge.c{color:var(--cyan);border-color:rgba(0,200,255,.4);}
.rc-body{padding:.45rem .65rem;}
.rc-title{font-size:.68rem;font-weight:700;color:var(--bright);margin-bottom:.15rem;}
.rc-detail{font-size:.61rem;color:var(--text);line-height:1.48;}
.rc-link{font-family:var(--mono);font-size:.42rem;color:var(--amber2);margin-top:.18rem;letter-spacing:.05em;}
.rc-updated{font-family:var(--mono);font-size:.34rem;color:var(--body);letter-spacing:.08em;margin-top:.15rem;}

/* door */
.door-card{background:var(--card);border:1px solid var(--b2);margin-bottom:.4rem;overflow:hidden;}
.door-from{padding:.4rem .65rem;border-bottom:1px solid var(--b1);}
.door-to{padding:.4rem .65rem;}
.door-person{font-family:var(--sans);font-weight:700;font-size:.7rem;color:var(--bright);margin-bottom:.1rem;}
.door-role{font-family:var(--mono);font-size:.42rem;color:var(--body);letter-spacing:.06em;}
.door-arrow-row{display:flex;align-items:center;gap:.4rem;padding:.18rem .65rem;background:rgba(0,200,255,.03);border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);}
.door-arrow-txt{font-family:var(--mono);font-size:.4rem;color:var(--cyan);letter-spacing:.1em;text-shadow:0 0 4px var(--cyan-glow);}
.door-yr{font-family:var(--mono);font-size:.42rem;color:var(--amber2);margin-left:auto;}

/* timeline scrubber */
.scrubber-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;}
.scrubber-val{font-family:var(--disp);font-size:1rem;color:var(--cyan2);min-width:38px;text-shadow:0 0 6px var(--cyan-glow);}
.se-item{background:var(--card);border:1px solid var(--b1);border-left:2px solid var(--b2);padding:.42rem .6rem;margin-bottom:.35rem;transition:border-left-color .3s;}
.se-item.active-era{border-left-color:var(--cyan);box-shadow:0 0 8px rgba(0,200,255,.1);}
.se-date{font-family:var(--mono);font-size:.4rem;color:var(--amber2);margin-bottom:.1rem;}
.se-event{font-size:.65rem;font-weight:600;color:var(--bright);margin-bottom:.08rem;line-height:1.35;}
.se-impact{font-family:var(--mono);font-size:.46rem;color:var(--green);}
.se-impact.neg{color:var(--red2);}

/* ribbon */
.ribbon-wrap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(90deg,rgba(1,6,14,.95),rgba(2,10,22,.95));border-top:1px solid var(--b2);height:22px;display:flex;align-items:stretch;overflow:hidden;z-index:5;backdrop-filter:blur(4px);box-shadow:0 -2px 12px rgba(0,220,255,0.06);}
.ribbon-tag{background:linear-gradient(135deg,var(--purple),var(--cyan));color:#000;font-family:var(--mono);font-size:.42rem;font-weight:400;letter-spacing:.18em;padding:0 .7rem;display:flex;align-items:center;white-space:nowrap;flex-shrink:0;text-shadow:none;}
.ribbon-scroll{overflow:hidden;flex:1;display:flex;align-items:center;}
.ribbon-track{display:flex;gap:2.5rem;animation:scroll-r 80s linear infinite;white-space:nowrap;}
@keyframes scroll-r{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ri{font-family:var(--mono);font-size:.48rem;color:var(--body);display:flex;align-items:center;gap:.35rem;}
.ri::before{content:'◈';color:var(--cyan);font-size:.4rem;text-shadow:0 0 4px var(--cyan-glow);}

/* misc */
.row{display:flex;gap:.7rem;}
.mnum{font-family:var(--mono);font-size:.6rem;}
.up{color:var(--green);}.dn{color:var(--red2);}
.btn{font-family:var(--mono);font-size:.46rem;letter-spacing:.12em;padding:.24rem .65rem;border:1px solid var(--b2);color:var(--text);background:transparent;cursor:pointer;text-transform:uppercase;transition:all .15s;}
.btn:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 8px rgba(0,200,255,.2);}
.btn.pr{border-color:rgba(255,34,68,.4);color:var(--red2);}
.btn.pr:hover{box-shadow:0 0 8px rgba(255,34,68,.3);}
.btn:disabled{opacity:.3;cursor:not-allowed;}

/* RADAR SWEEP */
@keyframes radar-sweep{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.radar-sweep{transform-origin:50% 50%;animation:radar-sweep 4s linear infinite;}
/* PURPLE GLOW PULSE */
@keyframes purple-pulse{0%,100%{box-shadow:0 0 8px var(--purple-glow),inset 0 0 8px rgba(192,64,255,0.1)}50%{box-shadow:0 0 20px var(--purple-glow),inset 0 0 15px rgba(192,64,255,0.15)}}
/* CIRCUIT SCAN LINE */
@keyframes scan-move{0%{top:-100%}100%{top:200%}}
.scan-line{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan2),transparent);animation:scan-move 4s linear infinite;pointer-events:none;opacity:0.4;}
/* HEX grid bg */
.hex-bg{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='48'%3E%3Cpath d='M28 0 L56 16 L56 32 L28 48 L0 32 L0 16Z' fill='none' stroke='%2300dcff' stroke-width='0.5'/%3E%3C/svg%3E");background-size:56px 48px;pointer-events:none;}
/* CIRCUIT LINES on panels */
.circuit-tl{position:absolute;top:0;left:0;width:60px;height:60px;opacity:0.3;pointer-events:none;background:linear-gradient(135deg,var(--cyan-dim) 0%,transparent 60%);}
/* LEAFLET MAP */
#mapbox-container{position:absolute;top:0;left:0;right:0;bottom:22px;min-height:400px;}
#mapbox-container .leaflet-container{width:100%;height:100%;background:#010810!important;cursor:crosshair!important;}
.leaflet-control-attribution{opacity:0.3;background:rgba(1,8,16,0.7)!important;color:rgba(0,220,255,0.4)!important;}
.leaflet-control-attribution a{color:rgba(0,220,255,0.4)!important;}
/* CONFLICT MARKERS */
@keyframes marker-pulse{0%{transform:scale(1);opacity:0.8}100%{transform:scale(3.5);opacity:0}}
.cf-marker{position:relative;width:14px;height:14px;cursor:pointer;}
.cf-ring{position:absolute;border-radius:50%;width:14px;height:14px;top:0;left:0;animation:marker-pulse 2s ease-out infinite;}
.cf-ring2{position:absolute;border-radius:50%;width:14px;height:14px;top:0;left:0;animation:marker-pulse 2s ease-out infinite;animation-delay:.7s;}
.cf-core{width:14px;height:14px;border-radius:50%;position:relative;z-index:1;}
.cf-war .cf-ring{border:1.5px solid #ff1040;}.cf-war .cf-ring2{border:1px solid #ff1040;}.cf-war .cf-core{background:rgba(255,16,64,0.35);border:2px solid #ff1040;box-shadow:0 0 8px rgba(255,16,64,0.6);}
.cf-watch .cf-ring{border:1.5px solid #ffa800;}.cf-watch .cf-ring2{border:1px solid #ffa800;}.cf-watch .cf-core{background:rgba(255,168,0,0.3);border:2px solid #ffa800;box-shadow:0 0 6px rgba(255,168,0,0.5);}
.cf-latent .cf-ring{border:1px solid rgba(0,220,255,0.5);}.cf-latent .cf-ring2{border:1px solid rgba(0,220,255,0.3);}.cf-latent .cf-core{background:rgba(0,220,255,0.1);border:1px solid rgba(0,220,255,0.45);}
/* CONNECTION DRAWER */
.conn-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);z-index:199;display:none;}
.conn-drawer-overlay.open{display:block;}
.conn-drawer{position:fixed;top:0;right:-540px;width:540px;height:100vh;background:linear-gradient(180deg,rgba(2,10,20,.99),rgba(1,8,18,1));border-left:1px solid var(--b2);box-shadow:-4px 0 40px rgba(0,220,255,0.1);z-index:200;transition:right .32s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden;}
.conn-drawer.open{right:0;}
.conn-drawer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent);}
.conn-drawer-head{padding:.7rem 1rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;background:rgba(0,200,255,.03);flex-shrink:0;}
.conn-drawer-title{font-family:var(--mono);font-size:.55rem;letter-spacing:.18em;color:var(--cyan);text-transform:uppercase;text-shadow:0 0 6px var(--cyan-glow);}
.conn-drawer-close{font-family:var(--mono);font-size:.7rem;color:var(--body);cursor:pointer;padding:.2rem .5rem;border:1px solid var(--b1);transition:all .15s;letter-spacing:.08em;}
.conn-drawer-close:hover{color:var(--cyan);border-color:var(--cyan);}
.conn-drawer-body{flex:1;overflow-y:auto;padding:.9rem;}
.cd-ticker{font-family:var(--disp);font-size:1.5rem;color:var(--cyan2);text-shadow:0 0 12px var(--cyan-glow);margin-bottom:.12rem;}
.cd-fullname{font-size:.75rem;color:var(--text);margin-bottom:.9rem;}
.cd-section{margin-bottom:1.1rem;}
.cd-section-label{font-family:var(--mono);font-size:.42rem;letter-spacing:.22em;color:var(--body);text-transform:uppercase;margin-bottom:.45rem;padding-bottom:.28rem;border-bottom:1px solid var(--b1);}
.cd-row{display:flex;justify-content:space-between;align-items:baseline;padding:.3rem 0;border-bottom:1px solid var(--b1);font-size:.65rem;}
.cd-row:last-child{border-bottom:none;}
.cd-dlabel{color:var(--body);}
.cd-dvalue{font-family:var(--mono);font-size:.61rem;color:var(--amber2);text-align:right;}
.cd-chain{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem;}
.cd-node{background:var(--card);border:1px solid var(--b2);padding:.55rem .7rem;position:relative;}
.cd-node::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.3;}
.cd-step{font-family:var(--mono);font-size:.38rem;letter-spacing:.18em;color:var(--body);text-transform:uppercase;margin-bottom:.18rem;}
.cd-ntitle{font-family:var(--disp);font-size:.85rem;margin-bottom:.2rem;}
.cd-nbody{font-size:.63rem;color:var(--text);line-height:1.52;}
.cd-arrow{text-align:center;font-size:.75rem;color:var(--cyan);text-shadow:0 0 6px var(--cyan-glow);padding:.1rem 0;}
.reveal-card[data-co]{cursor:pointer;transition:border-color .2s;}
.reveal-card[data-co]:hover{border-color:var(--cyan);}
/* SIGNALS VIEW */
.signals-wrap{padding:.7rem;display:flex;flex-direction:column;gap:.55rem;overflow-y:auto;height:100%;}
.sig-card{background:linear-gradient(135deg,rgba(4,18,32,.97),rgba(2,12,24,.98));border:1px solid var(--b2);padding:.6rem .75rem;position:relative;}
.sig-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.4;}
.sig-top{display:flex;align-items:center;gap:.45rem;margin-bottom:.4rem;}
.sig-type{font-family:var(--mono);font-size:.38rem;letter-spacing:.12em;padding:1px 6px;border:1px solid;}
.sig-type.BUDGET_REQUEST{color:var(--cyan);border-color:rgba(0,220,255,.4);}
.sig-type.MARKUP{color:var(--purple);border-color:rgba(192,64,255,.4);}
.sig-type.ESCALATION{color:var(--red);border-color:rgba(255,16,64,.4);}
.sig-type.CONTRACT_AWARD{color:var(--amber);border-color:rgba(255,168,0,.4);}
.sig-dir{font-family:var(--mono);font-size:.38rem;letter-spacing:.1em;padding:1px 6px;border:1px solid;}
.sig-dir.BULLISH{color:var(--green);border-color:rgba(0,255,160,.4);}
.sig-dir.WATCH{color:var(--amber);border-color:rgba(255,168,0,.4);}
.sig-dir.NEUTRAL{color:var(--body);border-color:var(--b1);}
.sig-headline{font-family:var(--sans);font-size:.68rem;color:var(--text);line-height:1.5;margin-bottom:.4rem;}
.sig-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.35rem;}
.sig-chip{font-family:var(--mono);font-size:.42rem;padding:1px 7px;border:1px solid var(--b2);color:var(--amber2);cursor:pointer;transition:all .15s;}
.sig-chip:hover{border-color:var(--amber);color:var(--amber);background:var(--amber-dim);}
.sig-time{font-family:var(--mono);font-size:.38rem;color:var(--body);letter-spacing:.08em;}
.ctr-date{font-family:var(--mono);font-size:.38rem;color:var(--body);float:right;letter-spacing:.06em;}
.sig-empty{font-family:var(--mono);font-size:.52rem;color:var(--body);text-align:center;padding:2rem;letter-spacing:.12em;}
.sig-loading{font-family:var(--mono);font-size:.52rem;color:var(--cyan);text-align:center;padding:2rem;letter-spacing:.12em;animation:hint-fade 1.5s ease-in-out infinite;}
/* INVESTOR IMPLICATION */
.cd-impl{margin-top:.8rem;padding:.7rem;border:1px solid var(--b1);background:rgba(0,220,255,.02);position:relative;}
.cd-impl::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent);}
.cd-impl-label{font-family:var(--mono);font-size:.42rem;letter-spacing:.16em;color:var(--body);margin-bottom:.45rem;text-transform:uppercase;}
.cd-impl-loading{font-family:var(--mono);font-size:.5rem;color:var(--cyan);letter-spacing:.1em;animation:hint-fade 1.5s ease-in-out infinite;}
.cd-impl-badge{display:inline-block;font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;padding:2px 10px;border:1px solid;margin-bottom:.4rem;}
.cd-impl-badge.BULLISH{color:var(--green);border-color:rgba(0,255,160,.5);box-shadow:0 0 8px rgba(0,255,160,.2);}
.cd-impl-badge.CAUTION{color:var(--amber);border-color:rgba(255,168,0,.5);box-shadow:0 0 8px rgba(255,168,0,.2);}
.cd-impl-badge.AVOID{color:var(--red);border-color:rgba(255,16,64,.5);box-shadow:0 0 8px rgba(255,16,64,.2);}
.cd-impl-reason{font-family:var(--sans);font-size:.62rem;color:var(--text);line-height:1.55;}
/* THEATER POSITIONING */
.theater-block{margin:.7rem;padding:.7rem;border:1px solid var(--b1);background:linear-gradient(135deg,rgba(4,18,32,.97),rgba(2,12,24,.98));position:relative;}
.theater-block::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--green),var(--amber),var(--red));}
.theater-head{font-family:var(--mono);font-size:.44rem;letter-spacing:.16em;color:var(--cyan);margin-bottom:.6rem;text-transform:uppercase;}
.theater-row{display:flex;align-items:baseline;gap:.6rem;padding:.25rem 0;border-bottom:1px solid var(--b1);}
.theater-row:last-child{border-bottom:none;}
.theater-label{font-family:var(--mono);font-size:.4rem;letter-spacing:.1em;width:90px;flex-shrink:0;}
.theater-label.ow{color:var(--green);}
.theater-label.nt{color:var(--amber);}
.theater-label.uw{color:var(--red);}
.theater-cos{display:flex;flex-wrap:wrap;gap:.25rem;flex:1;}
.theater-co{font-family:var(--mono);font-size:.42rem;padding:1px 6px;border:1px solid;cursor:pointer;transition:all .15s;}
.theater-co.ow{color:var(--green);border-color:rgba(0,255,160,.35);}
.theater-co.nt{color:var(--amber);border-color:rgba(255,168,0,.35);}
.theater-co.uw{color:var(--red);border-color:rgba(255,16,64,.35);}
.theater-etf{font-family:var(--mono);font-size:.42rem;color:var(--body);margin-top:.55rem;padding-top:.5rem;border-top:1px solid var(--b1);letter-spacing:.05em;}
/* LIVE REVOLVING DOOR */
.door-live-item{padding:.4rem 0;border-bottom:1px solid var(--b1);display:flex;gap:.5rem;align-items:flex-start;}
.door-live-item:last-child{border-bottom:none;}
.door-pulse{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:.2rem;}
.door-pulse.active{background:var(--amber);box-shadow:0 0 5px var(--amber);animation:dot-live-pulse 1.5s ease-in-out infinite;}
.door-pulse.hist{background:var(--body);}
.door-live-text{flex:1;}
.door-live-h{font-family:var(--sans);font-size:.62rem;color:var(--text);line-height:1.45;}
.door-live-dt{font-family:var(--mono);font-size:.38rem;color:var(--body);margin-top:.1rem;}
.door-hist-toggle{font-family:var(--mono);font-size:.4rem;color:var(--cyan);cursor:pointer;padding:.4rem 0;display:block;letter-spacing:.08em;text-align:center;border-top:1px solid var(--b1);margin-top:.3rem;}
.door-hist-section{display:none;}
.door-hist-section.open{display:block;}
.escl-delta{font-family:var(--mono);font-size:.6rem;margin-left:.3rem;font-weight:700;line-height:1;}
.escl-delta.up{color:var(--red2);text-shadow:0 0 6px var(--red-glow);}
.escl-delta.dn{color:var(--cyan);text-shadow:0 0 6px var(--cyan-glow);}

/* PORTFOLIO STACK */
.ps-block{background:linear-gradient(135deg,rgba(0,220,255,0.04),rgba(192,64,255,0.04));border-bottom:1px solid var(--b2);padding:.6rem .8rem;flex-shrink:0;}
.ps-head{font-family:var(--mono);font-size:.4rem;letter-spacing:.2em;color:var(--cyan);text-transform:uppercase;margin-bottom:.45rem;display:flex;align-items:center;justify-content:space-between;}
.ps-row{display:flex;align-items:center;gap:.3rem;margin-bottom:.22rem;flex-wrap:wrap;}
.ps-label{font-family:var(--mono);font-size:.36rem;letter-spacing:.08em;text-transform:uppercase;width:44px;flex-shrink:0;}
.ps-label.add{color:var(--green);}.ps-label.hold{color:var(--cyan);}.ps-label.watch{color:var(--amber2);}.ps-label.avoid{color:var(--red2);}
.ps-chip{font-family:var(--mono);font-size:.42rem;padding:1px 5px;border:1px solid;cursor:pointer;transition:all .15s;letter-spacing:.04em;}
.ps-chip.add{color:var(--green);border-color:rgba(0,255,160,.3);}.ps-chip.add:hover{background:rgba(0,255,160,.1);}
.ps-chip.hold{color:var(--cyan);border-color:rgba(0,220,255,.3);}.ps-chip.hold:hover{background:rgba(0,220,255,.08);}
.ps-chip.watch{color:var(--amber2);border-color:rgba(255,170,0,.3);}.ps-chip.watch:hover{background:rgba(255,170,0,.08);}
.ps-chip.avoid{color:var(--red2);border-color:rgba(255,34,68,.3);}.ps-chip.avoid:hover{background:rgba(255,34,68,.08);}
.ps-divider{border:none;border-top:1px solid var(--b1);margin:.3rem 0;}
.ps-etf{font-family:var(--mono);font-size:.38rem;color:var(--body);margin-bottom:.18rem;}.ps-etf span{color:var(--amber2);}
.ps-reason{font-family:var(--sans);font-size:.58rem;color:rgba(0,220,255,0.68);font-style:italic;line-height:1.3;}
.ps-age{font-family:var(--mono);font-size:.36rem;color:rgba(0,200,255,0.3);letter-spacing:.08em;}
.ps-loading{font-family:var(--mono);font-size:.42rem;color:var(--body);letter-spacing:.1em;padding:.3rem 0;animation:psload 1.3s ease-in-out infinite;}
@keyframes psload{0%,100%{opacity:.55}50%{opacity:1}}

/* ARES BUTTON */
#ares-war-btn{position:fixed;bottom:44px;right:20px;z-index:900;background:rgba(0,18,32,.97);border:1px solid rgba(0,220,255,0.75);box-shadow:0 0 22px rgba(0,220,255,0.45),0 0 8px rgba(0,220,255,0.3),inset 0 0 18px rgba(0,220,255,0.08);padding:1.1rem 2.2rem;font-family:var(--mono);font-size:1rem;letter-spacing:.22em;color:var(--cyan2);cursor:pointer;display:flex;align-items:center;gap:.65rem;transition:all .2s;text-transform:uppercase;backdrop-filter:blur(8px);animation:ares-btn-breathe 3s ease-in-out infinite;}
#ares-war-btn:hover{border-color:var(--cyan2);box-shadow:0 0 38px rgba(0,220,255,.6),0 0 14px rgba(0,220,255,.4);color:#fff;animation:none;}
@keyframes ares-btn-breathe{0%,100%{box-shadow:0 0 22px rgba(0,220,255,0.45),0 0 8px rgba(0,220,255,0.3),inset 0 0 18px rgba(0,220,255,0.08)}50%{box-shadow:0 0 38px rgba(0,220,255,0.7),0 0 16px rgba(0,220,255,0.5),inset 0 0 24px rgba(0,220,255,0.14)}}
.ares-pulse{width:11px;height:11px;border-radius:50%;background:var(--cyan2);flex-shrink:0;animation:pulse-a 1.4s ease-in-out infinite;}
@keyframes pulse-a{0%,100%{opacity:1;box-shadow:0 0 10px var(--cyan-glow),0 0 20px rgba(0,220,255,0.5)}50%{opacity:.3;box-shadow:none}}

/* ARES PANEL */
#ares-panel{position:fixed;bottom:92px;right:20px;width:500px;height:660px;z-index:901;background:linear-gradient(180deg,rgba(2,14,26,.98),rgba(1,8,16,.99));border:1px solid rgba(0,220,255,0.28);box-shadow:0 0 30px rgba(0,220,255,.1),-4px -4px 24px rgba(0,0,0,.6);display:flex;flex-direction:column;transform:translateY(16px);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease;backdrop-filter:blur(12px);}
#ares-panel.open{transform:translateY(0);opacity:1;pointer-events:auto;}
.ap-head{background:linear-gradient(90deg,rgba(0,220,255,.07),rgba(192,64,255,.05));border-bottom:1px solid var(--b2);padding:.6rem .85rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.ap-title{font-family:var(--disp);font-size:.62rem;letter-spacing:.22em;color:var(--cyan2);text-shadow:0 0 8px var(--cyan-glow);}
.ap-sub{font-family:var(--mono);font-size:.44rem;color:var(--body);letter-spacing:.1em;margin-top:2px;}
.ap-close{font-family:var(--mono);font-size:.52rem;color:var(--body);cursor:pointer;transition:color .15s;letter-spacing:.05em;}.ap-close:hover{color:var(--cyan);}
.ap-health-pill{display:flex;align-items:center;gap:4px;margin-left:auto;margin-right:.6rem;cursor:default;}
.ap-hpill-dot{width:6px;height:6px;border-radius:50%;background:#555;flex-shrink:0;transition:background .4s;}
.ap-hpill-dot.healthy{background:#00e676;box-shadow:0 0 5px #00e67688;}
.ap-hpill-dot.degraded{background:#ffb400;box-shadow:0 0 5px #ffb40088;}
.ap-hpill-dot.down{background:#ff3d3d;box-shadow:0 0 5px #ff3d3d88;}
.ap-hpill-label{font-family:var(--mono);font-size:.38rem;letter-spacing:.1em;color:var(--body);text-transform:uppercase;}
.ap-messages{flex:1;overflow-y:auto;padding:.65rem .8rem;display:flex;flex-direction:column;gap:.5rem;}
.ap-msg{max-width:92%;padding:.55rem .75rem;font-family:var(--sans);font-size:.75rem;line-height:1.6;}
.ap-msg.user{align-self:flex-end;background:rgba(0,220,255,.07);border:1px solid rgba(0,220,255,.18);color:var(--bright);}
.ap-msg.ai{align-self:flex-start;background:rgba(192,64,255,.05);border:1px solid rgba(192,64,255,.15);color:var(--white);}
.ap-msg-label{font-family:var(--mono);font-size:.42rem;letter-spacing:.18em;color:var(--cyan);margin-bottom:4px;text-transform:uppercase;}
.ap-thinking{align-self:flex-start;font-family:var(--mono);font-size:.5rem;color:var(--body);animation:psload 1.3s ease-in-out infinite;padding:.35rem 0;}
/* ARES REPORT BAR */
.ap-report-bar{padding:.4rem .75rem;display:flex;gap:.35rem;flex-wrap:wrap;border-bottom:1px solid var(--b2);flex-shrink:0;background:rgba(0,220,255,.03);}
.ap-rbtn{font-family:var(--mono);font-size:.42rem;padding:3px 8px;border:1px solid rgba(0,220,255,.25);color:var(--cyan);cursor:pointer;background:rgba(0,220,255,.04);letter-spacing:.06em;white-space:nowrap;transition:all .15s;text-transform:uppercase;}.ap-rbtn:hover{border-color:var(--cyan);background:rgba(0,220,255,.1);}.ap-rbtn-global{border-color:rgba(255,180,0,.4);color:#ffb400;background:rgba(255,180,0,.05);margin-left:auto;}.ap-rbtn-global:hover{border-color:#ffb400;background:rgba(255,180,0,.12);color:#ffb400;}
.ap-report-sel{padding:.4rem .75rem;display:flex;gap:.5rem;align-items:center;border-bottom:1px solid var(--b1);flex-shrink:0;background:rgba(0,0,0,.3);}
.ap-rselect{flex:1;background:rgba(0,0,0,.5);border:1px solid var(--b2);padding:.3rem .5rem;font-family:var(--mono);font-size:.55rem;color:var(--text);outline:none;letter-spacing:.02em;}
.ap-rsend{font-family:var(--mono);font-size:.48rem;padding:.3rem .75rem;border:1px solid var(--cyan);background:rgba(0,220,255,.08);color:var(--cyan);cursor:pointer;letter-spacing:.1em;white-space:nowrap;flex-shrink:0;transition:all .15s;}.ap-rsend:hover{background:rgba(0,220,255,.18);}
/* ARES REPORT CARD */
.ap-report-card{background:rgba(0,10,20,.7);border:1px solid rgba(0,220,255,.3);padding:.75rem .85rem;margin:.5rem 0;font-family:var(--mono);font-size:.6rem;line-height:1.7;color:var(--text);width:100%;box-sizing:border-box;}
.ap-report-class{font-size:.38rem;letter-spacing:.18em;color:rgba(0,220,255,.5);margin-bottom:.4rem;text-transform:uppercase;}
.ap-report-status{color:var(--cyan);letter-spacing:.1em;font-size:.55rem;animation:ares-btn-breathe 1.5s ease-in-out infinite;}
.ap-report-body{white-space:pre-wrap;word-break:break-word;font-size:.58rem;line-height:1.75;}
.ap-report-body .rpt-section{color:var(--cyan);font-weight:bold;letter-spacing:.1em;margin-top:.6rem;}
.ap-report-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--b1);flex-wrap:wrap;}
.ap-raction{font-family:var(--mono);font-size:.44rem;padding:3px 8px;border:1px solid var(--b2);color:var(--body);cursor:pointer;background:transparent;letter-spacing:.06em;transition:all .15s;}.ap-raction:hover{border-color:var(--cyan);color:var(--cyan);}
.ap-quickbtns{padding:.45rem .75rem;display:flex;gap:.4rem;flex-wrap:wrap;border-top:1px solid var(--b1);flex-shrink:0;background:rgba(0,0,0,.25);}
.ap-qbtn{font-family:var(--mono);font-size:.44rem;padding:3px 8px;border:1px solid var(--b1);color:var(--body);cursor:pointer;transition:all .15s;letter-spacing:.04em;white-space:nowrap;}.ap-qbtn:hover{border-color:var(--cyan);color:var(--cyan);}
.ap-input-row{display:flex;border-top:1px solid var(--b2);flex-shrink:0;}
.ap-input{flex:1;background:rgba(0,0,0,.45);border:none;padding:.55rem .85rem;font-family:var(--mono);font-size:.62rem;color:var(--text);outline:none;letter-spacing:.02em;}.ap-input::placeholder{color:rgba(0,200,255,.22);}
.ap-send{background:rgba(0,220,255,.07);border:none;border-left:1px solid var(--b2);padding:.55rem 1rem;font-family:var(--mono);font-size:.58rem;color:var(--cyan);cursor:pointer;transition:all .15s;letter-spacing:.1em;flex-shrink:0;}.ap-send:hover{background:rgba(0,220,255,.14);}
/* USASPENDING AWARDS SECTION */
.cd-awards-section{margin-top:.6rem;}
.cd-awards-label{font-family:var(--mono);font-size:.38rem;letter-spacing:.22em;color:var(--cyan);text-transform:uppercase;border-top:1px solid var(--b2);border-bottom:1px solid var(--b2);padding:.25rem 0 .25rem 0;margin-bottom:.4rem;}
.cd-awards-sep{font-family:var(--mono);font-size:.35rem;letter-spacing:.15em;color:var(--b3);margin:.25rem 0;display:block;}
.cd-award-row{display:flex;flex-direction:column;padding:.32rem 0;border-bottom:1px solid rgba(0,220,255,.06);}
.cd-award-row:last-child{border-bottom:none;}
.cd-award-date{font-family:var(--mono);font-size:.36rem;color:var(--body);letter-spacing:.06em;}
.cd-award-amount{font-family:var(--disp);font-size:.78rem;color:var(--cyan2);margin:.1rem 0;}
.cd-award-desc{font-family:var(--sans);font-size:.6rem;color:var(--text);line-height:1.4;margin-top:.08rem;}
.cd-award-meta{font-family:var(--mono);font-size:.34rem;color:var(--body);margin-top:.15rem;display:flex;gap:.5rem;align-items:center;}
.cd-award-type{font-family:var(--mono);font-size:.34rem;padding:1px 5px;border:1px solid;}
.cd-award-type.cp{color:var(--amber);border-color:rgba(255,168,0,.35);}
.cd-award-type.fp{color:var(--red2);border-color:rgba(255,16,64,.35);}
.cd-awards-src{font-family:var(--mono);font-size:.3rem;letter-spacing:.18em;color:rgba(0,220,255,.25);margin-top:.45rem;text-transform:uppercase;}
/* CONTRACT HEALTH SCORE */
.cd-health-row{display:flex;align-items:center;gap:.6rem;margin-top:.5rem;padding:.35rem .5rem;background:rgba(0,0,0,.3);border:1px solid var(--b1);}
.cd-health-num{font-family:var(--disp);font-size:1rem;font-weight:700;line-height:1;}
.cd-health-num.green{color:var(--green);text-shadow:0 0 8px rgba(0,255,160,.35);}
.cd-health-num.amber{color:var(--amber);text-shadow:0 0 8px rgba(255,168,0,.3);}
.cd-health-num.red{color:var(--red2);text-shadow:0 0 8px rgba(255,16,64,.3);}
.cd-health-label{font-family:var(--mono);font-size:.3rem;letter-spacing:.18em;color:var(--body);text-transform:uppercase;flex:1;}
.cd-health-bar{flex:2;height:2px;background:var(--b1);}
.cd-health-fill{height:100%;transition:width .5s;}
.cd-health-fill.green{background:var(--green);}
.cd-health-fill.amber{background:var(--amber);}
.cd-health-fill.red{background:var(--red2);}
/* SAM SOLICITATIONS */
.sol-section{margin-top:.8rem;padding-top:.6rem;}
.sol-header{font-family:var(--mono);font-size:.4rem;letter-spacing:.22em;color:var(--purple2);text-transform:uppercase;border-top:1px solid rgba(192,64,255,.2);border-bottom:1px solid rgba(192,64,255,.2);padding:.25rem 0;margin-bottom:.5rem;}
.sol-card{background:rgba(192,64,255,.03);border:1px solid rgba(192,64,255,.18);padding:.5rem .65rem;margin-bottom:.38rem;}
.sol-title{font-family:var(--sans);font-size:.63rem;color:var(--white);line-height:1.35;margin-bottom:.2rem;}
.sol-deadline{font-family:var(--mono);font-size:.36rem;letter-spacing:.06em;}
.sol-deadline.normal{color:var(--body);}
.sol-deadline.soon{color:var(--amber);}
.sol-deadline.urgent{color:var(--red2);}
.sol-meta{font-family:var(--mono);font-size:.33rem;color:var(--body);margin-top:.2rem;}
.sol-link{font-family:var(--mono);font-size:.33rem;color:var(--cyan);text-decoration:none;margin-top:.2rem;display:inline-block;}.sol-link:hover{text-decoration:underline;}
/* HISTORICAL PRECEDENT */
.cd-hist-section{margin-top:.5rem;}
.cd-hist-label{font-family:var(--mono);font-size:.38rem;letter-spacing:.22em;color:var(--body);text-transform:uppercase;border-top:1px solid var(--b2);border-bottom:1px solid var(--b2);padding:.25rem 0;margin-bottom:.4rem;}
.cd-hist-card{background:rgba(0,0,0,.35);border:1px solid var(--b2);padding:.4rem .5rem;margin-bottom:.3rem;}
.cd-hist-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.18rem;}
.cd-hist-conflict{font-family:var(--mono);font-size:.5rem;color:var(--amber2);}
.cd-hist-escl{font-family:var(--mono);font-size:.38rem;color:var(--body);}
.cd-hist-return{font-family:var(--disp);font-size:.78rem;color:var(--cyan2);}
.cd-hist-period{font-family:var(--mono);font-size:.36rem;color:var(--body);margin-top:.1rem;}
.cd-hist-pattern{font-style:italic;font-size:.58rem;color:var(--text);margin-top:.15rem;line-height:1.4;}
.cd-hist-app{font-family:var(--mono);font-size:.36rem;padding:1px 5px;border:1px solid;display:inline-block;margin-top:.15rem;}
.cd-hist-app.HIGH{color:var(--green);border-color:rgba(0,255,160,.3);}
.cd-hist-app.MEDIUM{color:var(--amber);border-color:rgba(255,168,0,.3);}
.cd-hist-app.LOW{color:var(--red2);border-color:rgba(255,16,64,.3);}
.cd-hist-pattern-line{font-family:var(--mono);font-size:.42rem;color:var(--cyan);font-style:italic;margin-top:.35rem;padding:.3rem .4rem;border-left:2px solid var(--cyan);background:rgba(0,220,255,.03);}
.cd-hist-tte{font-family:var(--mono);font-size:.36rem;color:var(--amber);margin-top:.2rem;}
.cd-hist-conf{font-family:var(--mono);font-size:.36rem;margin-top:.1rem;}
.cd-hist-conf.HIGH{color:var(--green);}
.cd-hist-conf.MEDIUM{color:var(--amber);}
.cd-hist-conf.LOW{color:var(--red2);}
/* TIME TO EVENT on signal cards */
.sig-tte{font-family:var(--mono);font-size:.36rem;color:var(--amber);margin-top:.22rem;letter-spacing:.04em;}
.sig-tte-detail{font-family:var(--sans);font-size:.54rem;color:var(--body);margin-top:.08rem;font-style:italic;}
/* COUNTRY INTEL PANEL */
.rpanel-country{display:flex;flex-direction:column;height:100%;overflow-y:auto;}
.ci-header{padding:.6rem .8rem;border-bottom:1px solid var(--b1);flex-shrink:0;}
.ci-name{font-family:var(--disp);font-size:1.4rem;color:var(--cyan2);text-shadow:0 0 12px var(--cyan-glow);}
.ci-threat{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;}
.ci-threat-label{font-family:var(--mono);font-size:.38rem;letter-spacing:.18em;}
.ci-threat-bar{font-family:var(--mono);font-size:.55rem;letter-spacing:.05em;}
.ci-threat-CRITICAL{color:#ff1040;text-shadow:0 0 8px rgba(255,16,64,0.6);}
.ci-threat-ELEVATED{color:#ffa800;text-shadow:0 0 8px rgba(255,168,0,0.5);}
.ci-threat-MONITORING{color:#00dcff;text-shadow:0 0 8px var(--cyan-glow);}
.ci-threat-LATENT{color:var(--body);}
.ci-body{padding:.7rem .8rem;display:flex;flex-direction:column;gap:.8rem;}
.ci-section{border-bottom:1px solid var(--b1);padding-bottom:.7rem;}
.ci-section:last-child{border-bottom:none;}
.ci-slabel{font-family:var(--mono);font-size:.38rem;letter-spacing:.22em;color:var(--body);text-transform:uppercase;margin-bottom:.4rem;}
.ci-row{display:flex;justify-content:space-between;padding:.22rem 0;font-size:.62rem;border-bottom:1px solid rgba(255,255,255,0.03);}
.ci-rlabel{color:var(--body);}
.ci-rval{font-family:var(--mono);font-size:.58rem;color:var(--amber2);}
.ci-prime{display:flex;justify-content:space-between;align-items:center;padding:.28rem .4rem;background:var(--card);border:1px solid var(--b2);margin-bottom:.25rem;cursor:pointer;transition:border-color .15s;}
.ci-prime:hover{border-color:var(--cyan);}
.ci-prime-ticker{font-family:var(--disp);font-size:.8rem;color:var(--cyan2);}
.ci-prime-prog{font-size:.58rem;color:var(--text);flex:1;padding:0 .5rem;}
.ci-prime-val{font-family:var(--mono);font-size:.55rem;color:var(--amber2);}
.ci-prime-type-cp{color:var(--amber2);font-size:.38rem;font-family:var(--mono);}
.ci-prime-type-fp{color:#ff4060;font-size:.38rem;font-family:var(--mono);}
.ci-summary{font-size:.65rem;color:var(--text);line-height:1.6;font-style:italic;padding:.4rem .5rem;border-left:2px solid var(--cyan);background:rgba(0,220,255,0.03);}
.ci-back{font-family:var(--mono);font-size:.42rem;letter-spacing:.15em;color:var(--body);cursor:pointer;padding:.5rem .8rem;border-top:1px solid var(--b1);transition:color .15s;text-align:center;flex-shrink:0;}
.ci-back:hover{color:var(--cyan);}
.ci-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;font-family:var(--mono);font-size:.5rem;letter-spacing:.2em;color:var(--body);text-align:center;gap:.5rem;}
/* GLOBAL PRIMES — purple nodes in connections */
.rc-badge.global{color:var(--purple2);border-color:rgba(192,64,255,.4);}
.global-primes-section{border-top:1px solid rgba(192,64,255,.2);margin-top:.5rem;padding-top:.5rem;}
.global-primes-head{font-family:var(--mono);font-size:.38rem;letter-spacing:.2em;color:var(--purple2);text-transform:uppercase;margin-bottom:.4rem;}
.rc-badge.g{color:var(--purple2);border-color:rgba(192,64,255,.4);}
.cmp-disclaimer{font-family:var(--mono);font-size:.38rem;color:var(--amber);border:1px solid rgba(255,168,0,.2);padding:.35rem .5rem;margin-top:.5rem;letter-spacing:.06em;}
/* sidebar country intel button */
.cl-intel-btn{font-family:var(--mono);font-size:.32rem;letter-spacing:.12em;color:var(--body);border:1px solid var(--b1);padding:1px 5px;margin-left:.3rem;cursor:pointer;transition:all .15s;vertical-align:middle;}
.cl-intel-btn:hover{border-color:var(--cyan);color:var(--cyan);}
/* CONFLICT ITEM STATUS BORDERS */
.cl-item-war:not(.active){border-left-color:rgba(255,16,64,.5);}
.cl-item-monitor:not(.active){border-left-color:rgba(255,168,0,.4);}
.cl-item-latent:not(.active){border-left-color:rgba(0,220,255,.2);}
/* SCORE SEVERITY COLORS */
.cl-n.score-high{color:var(--red2)!important;text-shadow:0 0 5px var(--red-glow);}
.cl-n.score-mid{color:var(--amber2)!important;}
.cl-n.score-low{color:var(--cyan)!important;}
/* LAST UPDATED */
.cl-last-updated{font-family:var(--mono);font-size:.34rem;letter-spacing:.12em;color:rgba(0,200,255,.25);text-transform:uppercase;padding:.38rem .8rem;text-align:center;border-top:1px solid var(--b1);flex-shrink:0;}
/* SECTION LABEL UNDERLINE */
.ph-t{position:relative;}
.ph-t::after{content:'';position:absolute;bottom:-1px;left:0;width:60%;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);}
/* LIVE GREEN DOT */
.dot-live-green{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 5px rgba(0,255,160,.5);animation:pulse-grn 1.8s ease-in-out infinite;flex-shrink:0;display:inline-block;margin-right:.3rem;vertical-align:middle;}
@keyframes pulse-grn{0%,100%{opacity:1;box-shadow:0 0 8px rgba(0,255,160,.6)}50%{opacity:.25;box-shadow:none}}
/* NEWS ITEM SOURCE VARIANTS */
.news-item-live{border-left:2px solid var(--cyan);padding-left:.55rem;}
.news-item-live .news-dt{color:var(--cyan);}
.news-src-bbc{color:var(--red2)!important;}
.news-src-dod{color:var(--cyan)!important;}
.news-src-reuters{color:var(--amber2)!important;}
.news-bbc-border{border-left:2px solid rgba(255,16,64,.5);padding-left:.55rem;}
.news-dod-border{border-left:2px solid rgba(0,220,255,.4);padding-left:.55rem;}
.news-reuters-border{border-left:2px solid rgba(255,168,0,.4);padding-left:.55rem;}
.news-google-border{border-left:2px solid rgba(0,220,255,.1);padding-left:.55rem;}
/* ARCHIVED COLLAPSIBLE */
.archived-header{font-family:var(--mono);font-size:.38rem;color:var(--body);padding:.3rem .8rem;border-bottom:1px solid var(--b1);letter-spacing:.1em;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .15s;}
.archived-header:hover{background:var(--cyan-dim);}
.archived-toggle-btn{font-family:var(--mono);font-size:.38rem;color:var(--cyan);letter-spacing:.08em;}
.archived-extra{display:none;}
.archived-extra.open{display:block;}
/* THEATER CHIPS ENHANCED */
.theater-co.ow{color:var(--green);border-color:rgba(0,255,160,.5);background:rgba(0,255,160,.08);box-shadow:0 0 6px rgba(0,255,160,.15);}
.theater-co.ow:hover{background:rgba(0,255,160,.15);box-shadow:0 0 10px rgba(0,255,160,.3);}
.theater-co.nt{color:var(--cyan);border-color:rgba(0,220,255,.4);background:rgba(0,220,255,.05);}
.theater-co.nt:hover{background:rgba(0,220,255,.12);}
.theater-co.uw{color:var(--red2);border-color:rgba(255,16,64,.4);background:rgba(255,16,64,.05);}
.theater-co.uw:hover{background:rgba(255,16,64,.12);}
.theater-reason{font-family:var(--sans);font-size:.54rem;color:rgba(0,200,255,.4);font-style:italic;padding:.12rem 0 .3rem 96px;line-height:1.35;}
/* CO-PILL ACTIVE — bright fill */
.co-pill.active{border-color:var(--cyan)!important;color:#010810!important;background:var(--cyan)!important;text-shadow:none!important;box-shadow:0 0 12px rgba(0,220,255,.4)!important;font-weight:700;}
/* CONTRACT AMOUNT BAR */
.ctr-row{position:relative;}
.ctr-bar-bg{position:absolute;top:0;bottom:0;left:0;pointer-events:none;background:rgba(255,168,0,.04);transition:width .4s;}
/* MAP SEARCH */
.map-search-wrap{position:absolute;top:.8rem;right:.8rem;z-index:800;width:220px;}
.map-search-input{width:100%;background:rgba(1,8,18,.92);border:1px solid var(--b3);color:var(--cyan);font-family:var(--mono);font-size:.5rem;letter-spacing:.08em;padding:.4rem .6rem;outline:none;text-transform:uppercase;}
.map-search-input::placeholder{color:rgba(0,200,255,.3);}
.map-search-input:focus{border-color:var(--cyan);box-shadow:0 0 8px rgba(0,220,255,.2);}
.map-search-results{position:absolute;top:100%;left:0;right:0;background:rgba(1,8,18,.97);border:1px solid var(--b3);border-top:none;max-height:200px;overflow-y:auto;display:none;}
.map-search-results.open{display:block;}
.map-search-item{padding:.35rem .6rem;font-family:var(--mono);font-size:.46rem;color:var(--text);cursor:pointer;border-bottom:1px solid var(--b1);letter-spacing:.06em;}
.map-search-item:hover{background:var(--cyan-dim);color:var(--cyan);}
.map-search-item .msi-region{font-size:.38rem;color:var(--body);display:block;}
/* SIDEBAR SEARCH */
.lsb-search-wrap{padding:.4rem .8rem;border-bottom:1px solid var(--b1);position:relative;}
.lsb-search-input{width:100%;background:rgba(1,8,18,.8);border:1px solid var(--b2);color:var(--cyan);font-family:var(--mono);font-size:.44rem;letter-spacing:.06em;padding:.32rem .5rem;outline:none;text-transform:uppercase;}
.lsb-search-input::placeholder{color:rgba(0,200,255,.3);}
.lsb-search-input:focus{border-color:var(--cyan);}
.lsb-search-results{position:absolute;left:.8rem;right:.8rem;z-index:900;background:rgba(1,8,18,.98);border:1px solid var(--b3);border-top:none;max-height:180px;overflow-y:auto;display:none;}
.lsb-search-results.open{display:block;}
.lsb-search-item{padding:.32rem .5rem;font-family:var(--mono);font-size:.42rem;color:var(--text);cursor:pointer;border-bottom:1px solid var(--b1);}
.lsb-search-item:hover{background:var(--cyan-dim);color:var(--cyan);}
.lsb-search-item .lsi-region{font-size:.36rem;color:var(--body);}
/* COUNTRY PANEL ENHANCEMENTS */
.ci-thesis-body{font-family:var(--sans);font-size:.65rem;color:var(--amber2);line-height:1.55;padding:.3rem 0;}
.ci-risk-item{font-family:var(--mono);font-size:.44rem;color:var(--red2);padding:.12rem 0;letter-spacing:.04em;}
.ci-precedent-card{background:rgba(0,220,255,.03);border:1px solid var(--b2);padding:.5rem .6rem;margin-bottom:.4rem;}
.ci-prec-head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.46rem;margin-bottom:.2rem;}
.ci-prec-conflict{color:var(--amber2);}
.ci-prec-return{color:var(--green);}
.ci-prec-pattern{font-family:var(--sans);font-size:.6rem;color:var(--text);font-style:italic;}
.cl-item-monitor{opacity:0;transition:opacity .4s;border-left:2px solid rgba(0,220,255,0.3);}
.sim-presets{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem .6rem;border-bottom:1px solid var(--b1);margin-bottom:.4rem;}
.sim-preset-btn{font-family:var(--mono);font-size:.36rem;letter-spacing:.1em;color:var(--body);border:1px solid var(--b2);padding:.25rem .5rem;cursor:pointer;transition:all .15s;background:transparent;}
.sim-preset-btn:hover{border-color:var(--cyan);color:var(--cyan);}
.sim-preset-label{font-family:var(--mono);font-size:.32rem;letter-spacing:.15em;color:var(--body);padding:.3rem .6rem;text-transform:uppercase;}

/* ── NEW: SIGNAL FEED ── */
.signals-wrap{padding:.6rem;display:flex;flex-direction:column;gap:.4rem;overflow-y:auto;height:100%;}
.sig-loading,.sig-empty{font-family:var(--mono);font-size:.48rem;color:var(--body);letter-spacing:.14em;padding:1.5rem;text-align:center;border:1px solid var(--b1);}
.sig-card{background:linear-gradient(135deg,var(--card),rgba(3,12,22,.97));border:1px solid var(--b2);padding:.55rem .7rem;position:relative;overflow:hidden;}
.sig-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent);opacity:.3;}
.sig-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem;}
.sig-type{font-family:var(--mono);font-size:.38rem;letter-spacing:.14em;padding:1px 5px;border:1px solid;text-transform:uppercase;}
.sig-type.pre_award{color:var(--purple2);border-color:rgba(192,64,255,.4);background:var(--purple-dim);}
.sig-type.contract_award{color:var(--green);border-color:rgba(0,255,160,.4);background:var(--green-dim);}
.sig-type.contract_news{color:var(--body);border-color:var(--b2);}
.sig-type.lobbying{color:var(--blue2);border-color:rgba(30,127,255,.4);background:rgba(30,127,255,.07);}
.sig-dir{font-family:var(--mono);font-size:.42rem;margin-left:auto;}
.sig-dir.bullish{color:var(--green);}
.sig-dir.bearish{color:var(--red2);}
.sig-dir.speculative{color:var(--amber2);}
.sig-dir.neutral{color:var(--body);}
.sig-headline{font-size:.66rem;font-weight:600;color:var(--bright);line-height:1.4;margin-bottom:.22rem;}
.sig-chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.2rem;}
.sig-chip{font-family:var(--mono);font-size:.42rem;padding:.1rem .38rem;border:1px solid var(--b2);color:var(--body);cursor:pointer;transition:all .15s;}
.sig-chip:hover{border-color:var(--cyan);color:var(--cyan);}
.sig-tte{font-family:var(--mono);font-size:.38rem;color:var(--amber2);letter-spacing:.08em;margin-top:.15rem;}
.sig-tte-detail{font-family:var(--mono);font-size:.36rem;color:var(--body);font-style:italic;}
.sig-time{font-family:var(--mono);font-size:.38rem;color:var(--body);margin-top:.2rem;letter-spacing:.06em;}
.sig-section-head{font-family:var(--mono);font-size:.42rem;letter-spacing:.2em;color:var(--cyan);text-transform:uppercase;padding:.5rem .2rem .2rem;border-top:1px solid var(--b1);margin-top:.3rem;}
.sig-empty-state{font-family:var(--mono);font-size:.46rem;color:var(--body);letter-spacing:.1em;padding:.8rem;text-align:center;border:1px dashed var(--b1);}
.sig-empty-hint{font-size:.36rem;color:rgba(0,200,255,.3);display:block;margin-top:.3rem;letter-spacing:.08em;}
/* sol section kept as-is */
.sol-section{margin-top:.5rem;}
.sol-header{font-family:var(--mono);font-size:.42rem;letter-spacing:.18em;color:var(--purple2);text-transform:uppercase;padding:.4rem .2rem;border-top:1px solid rgba(192,64,255,.2);}
.sol-card{background:var(--purple-dim);border:1px solid rgba(192,64,255,.2);padding:.5rem .65rem;margin-bottom:.3rem;}
.sol-title{font-size:.65rem;font-weight:600;color:var(--bright);margin-bottom:.18rem;line-height:1.4;}
.sol-deadline{font-family:var(--mono);font-size:.4rem;color:var(--body);margin-bottom:.1rem;letter-spacing:.06em;}
.sol-deadline.urgent{color:var(--red2)!important;}
.sol-deadline.soon{color:var(--amber2)!important;}
.sol-meta{font-family:var(--mono);font-size:.38rem;color:var(--body);margin-bottom:.2rem;}
.sol-link{font-family:var(--mono);font-size:.4rem;color:var(--cyan);text-decoration:none;letter-spacing:.06em;}
.sol-link:hover{text-decoration:underline;}

/* ── NEW: CONGRESSIONAL SIGNALS FEED ── */
.cong-card{background:linear-gradient(135deg,var(--card),rgba(3,12,22,.97));border:1px solid var(--b2);padding:.5rem .65rem;margin-bottom:.4rem;position:relative;overflow:hidden;}
.cong-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.25;}
.cong-bill{font-family:var(--mono);font-size:.44rem;color:var(--cyan2);letter-spacing:.08em;margin-bottom:.12rem;}
.cong-title{font-size:.63rem;font-weight:600;color:var(--bright);line-height:1.38;margin-bottom:.25rem;}
.cong-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
.cong-score-bar{flex:1;max-width:80px;height:3px;background:var(--b1);position:relative;}
.cong-score-fill{position:absolute;top:0;left:0;height:100%;transition:width .4s;}
.cong-score-fill.hi{background:var(--red2);box-shadow:0 0 4px var(--red-glow);}
.cong-score-fill.mid{background:var(--amber2);}
.cong-score-fill.lo{background:var(--cyan);}
.cong-score-val{font-family:var(--mono);font-size:.4rem;color:var(--body);}
.cong-committee{font-family:var(--mono);font-size:.38rem;padding:1px 4px;border:1px solid rgba(0,200,255,.25);color:var(--cyan);letter-spacing:.08em;}
.cong-tickers{display:flex;gap:.25rem;flex-wrap:wrap;}
.cong-ticker{font-family:var(--mono);font-size:.38rem;padding:1px 4px;border:1px solid var(--b2);color:var(--amber2);cursor:pointer;transition:all .15s;}
.cong-ticker:hover{border-color:var(--amber2);background:var(--amber-dim);}
.cong-date{font-family:var(--mono);font-size:.38rem;color:var(--body);margin-top:.2rem;letter-spacing:.06em;}
.cong-link{font-family:var(--mono);font-size:.38rem;color:var(--cyan);text-decoration:none;letter-spacing:.06em;margin-left:auto;}
.cong-link:hover{text-decoration:underline;}

/* ── NEW: ESCALATION BREAKDOWN ── */
.escl-breakdown{padding:.6rem .8rem;}
.escl-row{display:grid;grid-template-columns:110px 1fr 30px 38px;gap:.35rem;align-items:center;padding:.22rem 0;border-bottom:1px solid rgba(0,220,255,.04);}
.escl-row:last-child{border-bottom:none;}
.escl-src-label{font-family:var(--mono);font-size:.38rem;color:var(--body);letter-spacing:.06em;}
.escl-bar-wrap{height:4px;background:var(--b1);position:relative;}
.escl-bar-fill{position:absolute;top:0;left:0;height:100%;transition:width .6s ease;}
.escl-bar-fill.hi{background:var(--red2);box-shadow:0 0 4px var(--red-glow);}
.escl-bar-fill.mid{background:var(--amber2);}
.escl-bar-fill.lo{background:var(--cyan);}
.escl-wt{font-family:var(--mono);font-size:.34rem;color:rgba(0,200,255,.3);text-align:right;}
.escl-val{font-family:var(--mono);font-size:.42rem;color:var(--amber2);text-align:right;}
.escl-total-row{display:grid;grid-template-columns:110px 1fr 30px 38px;gap:.35rem;align-items:center;padding:.3rem 0;margin-top:.15rem;border-top:1px solid var(--b2);}
.escl-total-label{font-family:var(--mono);font-size:.42rem;color:var(--cyan);letter-spacing:.08em;}
.escl-total-val{font-family:var(--disp);font-size:.9rem;color:var(--cyan2);text-align:right;text-shadow:0 0 6px var(--cyan-glow);}

/* ── NEW: COMPANY DRAWER — SEC / FEC / ARMS ── */
.cd-sec-row{display:flex;justify-content:space-between;align-items:baseline;padding:.28rem 0;border-bottom:1px solid var(--b1);font-size:.62rem;}
.cd-sec-row:last-child{border-bottom:none;}
.cd-sec-metric{color:var(--text);}
.cd-sec-val{font-family:var(--mono);font-size:.56rem;color:var(--green);}
.cd-rev-bar-wrap{height:3px;background:var(--b1);margin:.25rem 0;}
.cd-rev-bar-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--cyan));transition:width .5s;}
.cd-pac-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;border-bottom:1px solid var(--b1);font-size:.61rem;}
.cd-pac-row:last-child{border-bottom:none;}
.cd-pac-name{color:var(--text);flex:1;}
.cd-pac-office{font-family:var(--mono);font-size:.38rem;color:var(--body);margin-right:.4rem;}
.cd-pac-amt{font-family:var(--mono);font-size:.5rem;color:var(--amber2);white-space:nowrap;}
.cd-arms-row{padding:.25rem 0;border-bottom:1px solid var(--b1);font-size:.61rem;}
.cd-arms-row:last-child{border-bottom:none;}
.cd-arms-partner{color:var(--bright);}
.cd-arms-val{font-family:var(--mono);font-size:.5rem;color:var(--amber2);float:right;}
.cd-arms-dir{font-family:var(--mono);font-size:.38rem;color:var(--body);}
.cd-influence-score{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.35rem;}
.cd-influence-num{font-family:var(--disp);font-size:1.3rem;color:var(--purple2);text-shadow:0 0 8px var(--purple-glow);}
.cd-influence-label{font-family:var(--mono);font-size:.38rem;color:var(--body);letter-spacing:.1em;text-transform:uppercase;}

/* ── NEW: WORLD BANK in country panel ── */
.ci-wb-row{display:flex;justify-content:space-between;align-items:baseline;padding:.2rem 0;border-bottom:1px solid rgba(0,220,255,.05);font-size:.62rem;}
.ci-wb-row:last-child{border-bottom:none;}
.ci-wb-label{color:rgba(0,200,255,.5);font-family:var(--mono);font-size:.4rem;letter-spacing:.06em;}
.ci-wb-val{font-family:var(--mono);font-size:.52rem;color:var(--amber2);}
/* DAILY BRIEF BANNER */
.daily-brief-bar{width:100%;background:linear-gradient(90deg,rgba(1,6,16,.98),rgba(2,10,24,.98));border-bottom:1px solid var(--b3);display:flex;align-items:center;gap:.8rem;padding:.3rem .9rem;font-family:var(--mono);font-size:.42rem;letter-spacing:.06em;min-height:26px;flex-shrink:0;z-index:100;}
.db-badge{font-size:.38rem;letter-spacing:.14em;padding:.1rem .4rem;border-radius:2px;white-space:nowrap;flex-shrink:0;}
.db-badge.CRITICAL{background:rgba(255,34,68,.18);border:1px solid var(--red2);color:var(--red2);}
.db-badge.ELEVATED{background:rgba(255,168,0,.12);border:1px solid var(--amber2);color:var(--amber2);}
.db-badge.MONITORING{background:rgba(0,220,255,.1);border:1px solid var(--cyan);color:var(--cyan);}
.db-badge.LATENT{background:rgba(0,220,255,.05);border:1px solid var(--b3);color:var(--body);}
.db-signal{font-size:.38rem;padding:.1rem .35rem;border-radius:2px;white-space:nowrap;flex-shrink:0;}
.db-signal.BUY{background:rgba(0,255,128,.1);border:1px solid #00ff80;color:#00ff80;}
.db-signal.HOLD{background:rgba(255,168,0,.1);border:1px solid var(--amber2);color:var(--amber2);}
.db-signal.WATCH{background:rgba(0,220,255,.08);border:1px solid var(--cyan);color:var(--cyan);}
.db-signal.AVOID{background:rgba(255,34,68,.1);border:1px solid var(--red2);color:var(--red2);}
.db-headline{color:var(--fg);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.44rem;}
.db-label{color:var(--body);font-size:.36rem;letter-spacing:.12em;white-space:nowrap;flex-shrink:0;}
.db-refresh{cursor:pointer;color:var(--body);font-size:.38rem;padding:.1rem .3rem;border:1px solid var(--b2);border-radius:2px;transition:all .2s;flex-shrink:0;}
.db-refresh:hover{color:var(--cyan);border-color:var(--cyan);}
/* ── OSINT FEED ─────────────────────────────────────────────────────────── */
.osint-wrap{display:flex;flex-direction:column;height:100%;overflow:hidden;}
.osint-filters{display:flex;flex-wrap:wrap;gap:.3rem;padding:.5rem .6rem;border-bottom:1px solid var(--b1);flex-shrink:0;}
.osint-filter-btn{font-family:var(--mono);font-size:.38rem;letter-spacing:.1em;background:transparent;border:1px solid var(--b2);color:var(--body);padding:.2rem .45rem;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.osint-filter-btn:hover{border-color:var(--cyan);color:var(--cyan);}
.osint-filter-btn.active{border-color:var(--cyan);color:var(--cyan);background:rgba(0,220,255,.07);}
#osint-feed-body{flex:1;overflow-y:auto;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.45rem;}

/* ── LIGHT THEME OVERRIDES — hardcoded color fixes ──────────────────────── */

/* Kill dark-mode animated overlays */
#rain{opacity:0 !important;}
#scanlines{display:none;}
#radar-bg{opacity:0 !important;}

/* TOPBAR — dark forest green command bar */
.topbar{background:#1a2e1a;border-bottom:1px solid rgba(255,255,255,0.08);box-shadow:0 1px 8px rgba(0,0,0,0.18);}
.brand{border-right-color:rgba(255,255,255,0.12);}
.brand-t{color:#ffffff;text-shadow:none;}
.brand-s{color:rgba(255,255,255,0.45);}
.sitenav a{color:rgba(255,255,255,0.42);border-right-color:rgba(255,255,255,0.09);}
.sitenav a:hover{color:#ffffff;text-shadow:none;}
.sitenav a.active{color:#ffffff;background:rgba(255,255,255,0.1);text-shadow:none;}
.topbar-r{border-left-color:rgba(255,255,255,0.1);}
.hst-l{color:rgba(255,255,255,0.42);}
.hst-v.g{color:#6ecb7a;text-shadow:none;}
.hst-v.r{color:#ff8080;text-shadow:none;}
.hst-v.a{color:#fbbf24;}
#ck{color:#ffffff;text-shadow:none;}
#ckd{color:rgba(255,255,255,0.42);}

/* CLASSBAR — hide, it belongs in dark mode */
.classbar{display:none;}
/* Shell grid: classbar hidden removes one row, redefine to 3 rows so .main gets 1fr */
.shell{grid-template-rows:auto auto 1fr;}

/* DAILY BRIEF BAR — dark green strip */
.daily-brief-bar{background:#1a2e1a;border-bottom:1px solid rgba(255,255,255,0.08);}
.db-label{color:rgba(255,255,255,0.45);}
.db-headline{color:rgba(255,255,255,0.82);}
.db-refresh{color:rgba(255,255,255,0.4);border-color:rgba(255,255,255,0.15);}
.db-refresh:hover{color:#6ecb7a;border-color:#6ecb7a;}
.db-badge.MONITORING{background:rgba(110,203,122,0.15);border-color:rgba(110,203,122,0.5);color:#6ecb7a;}

/* LEFT SIDEBAR — white panels */
.lsidebar{background:#ffffff;border-right:1px solid rgba(45,122,58,0.14);box-shadow:none;}
.lsidebar::before{background:var(--cyan);}
.lsb-head{background:#f7f9f7;border-bottom-color:rgba(45,122,58,0.1);}
.lsb-title{color:#1a2e1a;text-shadow:none;}
.dot-live{box-shadow:0 0 4px rgba(192,22,26,0.5);}
.toolnav{border-bottom-color:rgba(45,122,58,0.1);}
.tnav-item{border-bottom-color:rgba(45,122,58,0.08);border-left-color:transparent;}
.tnav-item:hover{background:rgba(45,122,58,0.04);}
.tnav-item.active{background:rgba(45,122,58,0.06);border-left-color:var(--cyan);}
.tnav-item.active::after{display:none;}
.tnav-icon{color:rgba(45,70,45,0.45);}
.tnav-label{color:rgba(45,70,45,0.48);}
.tnav-sub{color:rgba(45,70,45,0.35);}
.tnav-item.active .tnav-label,.tnav-item:hover .tnav-label{color:var(--cyan);text-shadow:none;}
.cl-head{background:#f7f9f7;color:rgba(45,70,45,0.38);}
.cl-item{border-bottom-color:rgba(45,122,58,0.08);border-left-color:transparent;}
.cl-item:hover{background:rgba(45,122,58,0.04);}
.cl-item.active{background:rgba(45,122,58,0.06);border-left-color:var(--red2);box-shadow:none;}
.cl-item.active::after{color:var(--cyan);}
.cl-name{color:#1a2e1a;}
.cl-region{color:rgba(45,70,45,0.4);}
.cl-last-updated{color:rgba(45,70,45,0.38);}
.lsb-search-wrap input{background:#f7f9f7;border-color:rgba(45,122,58,0.15);color:#1a2e1a;}
.lsb-search-wrap input::placeholder{color:rgba(45,70,45,0.35);}

/* CENTER — white */
.center{background:#ffffff;}

/* VIEW TOOLBAR — dark green strip */
.vtoolbar{background:#1a2e1a;border-bottom:1px solid rgba(255,255,255,0.08);box-shadow:none;}
.vbtn{color:rgba(255,255,255,0.38);border-right-color:rgba(255,255,255,0.09);border-bottom-color:transparent;}
.vbtn:first-child{border-left-color:rgba(255,255,255,0.09);}
.vbtn:hover{color:#ffffff;background:rgba(255,255,255,0.08);text-shadow:none;}
.vbtn.active{color:#ffffff;border-bottom-color:#6ecb7a;background:rgba(255,255,255,0.12);text-shadow:none;box-shadow:none;}

/* CONFLICT BANNER */
.conflict-banner{background:#f7f9f7;border-bottom:1px solid rgba(45,122,58,0.12);}
.cb-label{color:rgba(45,70,45,0.38);}
.cb-name{color:#1a2e1a;text-shadow:none;}
.cb-badge{background:rgba(192,22,26,0.07);}
.cb-esc{color:var(--amber);}

/* MAP VIEW — light background */
#view-map{background:#f0f4f0;}
.map-wrap{background:#f0f4f0;}
#globe-sidebar{background:rgba(255,255,255,0.95);border-color:rgba(45,122,58,0.18);border-left-color:var(--cyan);}
.gs-title{color:rgba(45,70,45,0.4);border-bottom-color:rgba(45,122,58,0.1);}
.gs-label{color:rgba(45,70,45,0.68);}
#globe-legend{background:rgba(255,255,255,0.92);border-color:rgba(45,122,58,0.14);}
.gl-lbl{color:rgba(45,70,45,0.45);}
.globe-th-label{background:rgba(255,255,255,0.88);border-left-color:currentColor;}
#globe-hint{color:rgba(45,70,45,0.38);}
.gl-spinner{border-color:rgba(45,122,58,0.14);border-top-color:var(--cyan);}
.gl-msg{color:rgba(45,70,45,0.45);}
.map-search-wrap input{background:#ffffff;border-color:rgba(45,122,58,0.2);color:#1a2e1a;}

/* PANELS — white cards */
.panel{background:#ffffff;border:1px solid rgba(45,122,58,0.16);box-shadow:none;}
.panel::before{background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.ph{background:#f7f9f7;border-bottom-color:rgba(45,122,58,0.1);}
.ph-t{color:var(--cyan);text-shadow:none;}
.ph-m{color:rgba(45,70,45,0.4);}

/* RIGHT PANEL */
.rpanel{background:#ffffff;border-left:1px solid rgba(45,122,58,0.14);box-shadow:none;}
.rpanel::before{background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.rp-tabs{border-bottom-color:rgba(45,122,58,0.12);}
.rp-tab{color:rgba(45,70,45,0.4);border-right-color:rgba(45,122,58,0.08);border-bottom-color:transparent;}
.rp-tab:hover{color:var(--cyan);background:rgba(45,122,58,0.04);}
.rp-tab.active{color:var(--cyan2);border-bottom-color:var(--cyan);background:rgba(45,122,58,0.05);text-shadow:none;}

/* HUD corners — no glow on light theme */
.hud-corner.tl,.hud-corner.tr,.hud-corner.bl,.hud-corner.br{box-shadow:none;}

/* RIBBON — dark green bottom bar */
.ribbon-wrap{background:#1a2e1a;border-top:1px solid rgba(255,255,255,0.08);box-shadow:none;}
.ribbon-tag{background:var(--cyan);color:#ffffff;}
.ri{color:rgba(255,255,255,0.5);}
.ri::before{color:#6ecb7a;text-shadow:none;}

/* REVEAL / DOOR CARDS */
.reveal-card{background:#ffffff;border-color:rgba(45,122,58,0.15);}
.reveal-card::before{background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.rc-head{background:#f7f9f7;border-bottom-color:rgba(45,122,58,0.1);}
.door-card{background:#ffffff;border-color:rgba(45,122,58,0.12);}
.door-from,.door-to{border-bottom-color:rgba(45,122,58,0.08);}
.door-arrow-row{background:#f7f9f7;border-color:rgba(45,122,58,0.08);}
.door-arrow-txt{color:var(--cyan);text-shadow:none;}

/* TIMELINE */
.se-item{background:#ffffff;border-color:rgba(45,122,58,0.1);border-left-color:rgba(45,122,58,0.12);}
.se-item.active-era{border-left-color:var(--cyan);box-shadow:none;}

/* WEB TOOLTIP */
.web-tooltip{background:#ffffff;border-color:rgba(45,122,58,0.3);box-shadow:0 2px 16px rgba(45,122,58,0.12);}
.web-tooltip::before{background:linear-gradient(90deg,var(--cyan),var(--cyan2),var(--cyan));}
.web-legend{background:rgba(255,255,255,0.95);border-color:rgba(45,122,58,0.15);}
.wt-type{color:rgba(45,70,45,0.4);}
.wt-title{color:var(--cyan2);text-shadow:none;}
.wt-body{color:var(--text);}

/* SIMULATOR */
.sim-ctrl{background:#ffffff;border-color:rgba(45,122,58,0.15);}
.sim-ctrl::before{background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.sim-r-card{background:#ffffff;border-color:rgba(45,122,58,0.15);}
.sim-r-card::before{background:linear-gradient(90deg,transparent,var(--cyan),transparent);}
.sim-co-card{background:#ffffff;border-color:rgba(45,122,58,0.12);}
.sim-co-card::before{background:linear-gradient(90deg,transparent,rgba(45,122,58,.3),transparent);}
.sim-co-ticker{color:var(--cyan);text-shadow:none;}

/* COMPARE */
.cmp-table th{background:#f7f9f7;border-bottom-color:rgba(45,122,58,0.12);}
.cmp-table th.col-a{color:var(--cyan);text-shadow:none;}
.cmp-table td{border-bottom-color:rgba(45,122,58,0.07);}
.cmp-table tr:hover td{background:rgba(45,122,58,0.04);}

/* CONN CARDS */
.conn-card{background:#ffffff;border-color:rgba(45,122,58,0.14);}
.conn-card::before{background:linear-gradient(90deg,transparent,var(--cyan),transparent);}

/* FLOW CHAIN */
.flow-chain{border-color:rgba(45,122,58,0.14);}
.fc-node{border-right-color:rgba(45,122,58,0.08);}
.fc-node.lit{background:rgba(45,122,58,0.04);}

/* SCROLLBAR */
::-webkit-scrollbar-track{background:#f0f4f0;}
::-webkit-scrollbar-thumb{background:rgba(45,122,58,0.28);}

/* SCAN LINE — subtle green on light */
.scan-line{background:linear-gradient(90deg,transparent,rgba(45,122,58,0.3),transparent);opacity:0.2;}

/* ARES PANEL — keep dark for contrast */
#ares-panel{background:linear-gradient(180deg,#1a2e1a,#0f1f0f);border-left:1px solid rgba(110,203,122,0.2);}
.ap-head{background:#1a2e1a;border-bottom-color:rgba(110,203,122,0.15);}
.ap-title{color:#ffffff;}
.ap-sub{color:rgba(255,255,255,0.45);}
.ap-close{color:rgba(255,255,255,0.4);}
.ap-close:hover{color:#ffffff;}
.ap-input{background:rgba(255,255,255,0.06);border-color:rgba(110,203,122,0.2);color:#ffffff;}
.ap-input::placeholder{color:rgba(255,255,255,0.3);}
.ap-send{background:var(--cyan);color:#ffffff;border-color:var(--cyan);}
#ares-war-btn{background:#1a2e1a;color:#6ecb7a;border-color:rgba(110,203,122,0.3);}

/* PIPELINE STATUS */
#pipeline-status{border-top-color:rgba(45,122,58,0.1);}

/* ═══════════════════════════════════════════════════
   MOBILE — max 768px
   Only layout/CSS changes. No JS touched.
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── Fix 1: Main 3-col → single column ── */
  .main{
    display: block;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    overflow-y: auto;
  }
  .lsidebar{
    width: 100%;
    max-height: 42vh;
    overflow-y: auto;
    border-right: none;
    border-bottom: 1px solid var(--b2);
  }
  .center{
    width: 100%;
    min-height: 50vh;
  }
  .rpanel{
    width: 100%;
    border-left: none;
    border-top: 1px solid var(--b2);
  }

  /* ── Fix 2: Globe overflow ── */
  #globe-container{
    max-width: 100vw;
    overflow: hidden;
  }
  #globe-container canvas{
    width: 100% !important;
    max-width: 100vw;
  }

  /* ── Fix 3: Nav tabs horizontal scroll ── */
  .vtoolbar{
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
  }

  /* ── Fix 4: Portfolio stack full width ── */
  .ps-block{
    width: 100%;
    display: block;
    box-sizing: border-box;
  }

  /* ── Word wrap all right-panel content ── */
  .rpanel *,
  .rp-content *,
  .conn-card,
  .rp-view{
    word-wrap: break-word;
    overflow-wrap: break-word;
    width: 100%;
    box-sizing: border-box;
    max-width: 100%;
  }

  /* ── ARES floating button → full-width bottom bar ── */
  #ares-war-btn{
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
    justify-content: center;
    padding: 1rem 1.5rem;
    z-index: 1000;
  }

  /* ── ARES panel → full screen on mobile ── */
  #ares-panel{
    position: fixed;
    bottom: 56px;
    left: 0;
    right: 0;
    width: 100%;
    height: calc(100vh - 56px);
    border-radius: 0;
    border-left: none;
    border-right: none;
  }

  /* ── ARES chat history — min height so it's not a void ── */
  .ap-messages{
    min-height: 40vh;
    background: rgba(0,0,0,0.6);
  }
  .ap-msg.user{
    background: rgba(0,220,255,.1);
    color: #e0f7ff;
  }
  .ap-msg.ai{
    background: rgba(192,64,255,.08);
    color: #ffffff;
  }

  /* ── Report type buttons → wrap to two rows ── */
  .ap-report-bar{
    flex-wrap: wrap;
    gap: .4rem;
  }
  .ap-rbtn{
    flex: 1 1 40%;
    text-align: center;
    white-space: normal;
  }
  .ap-rbtn-global{
    margin-left: 0;
    flex: 1 1 100%;
  }

}
