:root{
  --bg:#060d08; --panel:#0b1510; --text:#cfead7; --muted:#79a186;
  --neon:#39ff88; --neon2:#66e6ff; --outline:#1e3a2b; --danger:#ff5c7a; --warning:#ffd166;
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0; font-family:'JetBrains Mono',monospace; color:var(--text);
  background:radial-gradient(1200px 600px at 20% -10%, #0a1d14 0, #060d08 40%) no-repeat; position:relative;}
body::after{content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:linear-gradient(transparent 50%, rgba(0,0,0,.25) 50%); background-size:100% 2px; opacity:.35;}
.topbar{position:sticky; top:0; z-index:5; display:flex; gap:16px; align-items:center;
  padding:14px 18px; background:rgba(6,13,8,.9); border-bottom:1px solid var(--outline); backdrop-filter:blur(4px);}
.brand{font-weight:700; color:var(--neon); letter-spacing:.5px} .brand span{color:var(--neon2)}
.nav{margin-left:auto; display:flex; gap:16px} .nav a{text-decoration:none; color:var(--muted)} .nav a.active,.nav a:hover{color:var(--neon)}
.container{max-width:1200px; margin:22px auto; padding:0 16px}
.panel{background:var(--panel); border:1px solid var(--outline); border-radius:14px; padding:14px; position:relative;}
.controls{display:grid; gap:10px}
.search{width:100%; padding:10px 12px; border-radius:10px; border:1px solid var(--outline); background:#07110c; color:var(--text)}
.filters{display:flex; gap:10px; align-items:center}
.chip{display:flex; gap:6px; align-items:center; font-size:.9rem; color:var(--muted)} .chip input{accent-color:var(--neon)}
.btn{background:linear-gradient(180deg, #20d96a, #16b658); border:none; color:var(--neon);
  padding:8px 12px; border-radius:10px; cursor:pointer; font-weight:700; box-shadow:0 0 0 1px #0d2a1e inset; text-shadow:0 0 6px rgba(57,255,136,.55);}
.btn:hover{filter:brightness(1.1)} .btn-outline{background:transparent; color:var(--neon); border:1px solid var(--neon)}
.tag-chips{display:flex; gap:8px; flex-wrap:wrap; margin:14px 0} .tag{padding:6px 10px; border:1px solid var(--outline); border-radius:999px; color:var(--muted)}
.tag.active{border-color:var(--neon); color:var(--neon)}
.grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px} @media (max-width:900px){ .grid{grid-template-columns:1fr} }
.card{display:grid; grid-template-columns:220px 1fr; gap:14px; background:var(--panel); border:1px solid var(--outline); border-radius:14px; padding:14px; position:relative;}
.card-side{display:flex; flex-direction:column; gap:10px} .status{font-weight:700; color:var(--neon)}
.meta{font-size:.9rem; color:var(--muted)} .tags{display:flex; flex-wrap:wrap; gap:6px}
.badge{display:inline-block; border:1px solid var(--outline); border-radius:999px; padding:3px 8px; font-size:.85rem; color:var(--muted)}
.title{margin:0 0 6px} .summary{margin:0 0 10px; color:#b6d2c2} .actions{display:flex; gap:10px}
.clamp-3{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
dialog{border:none; padding:0; background:transparent}
.modal{width:min(920px, 92vw); max-height:85vh; overflow:auto; background:var(--panel); border:1px solid var(--outline); border-radius:14px; padding:18px; position:relative; color:var(--text);}
.close{position:absolute; top:10px; right:12px; border:none; background:#07110c; color:var(--neon); border:1px solid var(--outline); width:32px; height:32px; border-radius:8px; cursor:pointer;}
.meta-row{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.timeline{border-left:2px solid var(--outline); margin:0; padding:8px 0 8px 16px} .timeline li{margin:6px 0}
.sources li a{color:var(--neon2)} .needs li::marker{color:var(--warning)} .disclaimer{color:var(--muted); font-size:.9rem}
/* Modal text color enforcement */
#modal, #modal * { color: var(--text); }
#modal a { color: var(--neon2); }
#modal .badge { color: var(--muted); }
#modal .timeline li b { color: var(--text); }
