:root{
  --bg:#0b0f17; --panel:#121823; --panel2:#182030; --line:#263142;
  --ink:#e8edf6; --ink2:#9fb0c8; --ink3:#6b7d96;
  --low:#2bb673; --med:#e8a33d; --high:#e8463f;
  --accent:#4a9eff; --accent2:#7c5cff;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --r:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--ink);
  font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Devanagari",sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent)}
.wrap{max-width:1180px;margin:0 auto;padding:16px}

/* ---------- header ---------- */
header.top{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px 16px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#121a28,#0d131d);
  position:sticky;top:0;z-index:50;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.2px}
.shield{width:26px;height:26px;flex:0 0 26px}
.tagline{color:var(--ink2);font-size:13px;font-weight:400}
.hspace{flex:1}
.pill{
  font-size:11.5px;padding:4px 9px;border-radius:999px;border:1px solid var(--line);
  color:var(--ink2);background:#0e141f;white-space:nowrap;font-family:var(--mono)
}
.pill.ok{color:var(--low);border-color:#1d5c40}
.pill.warn{color:var(--med);border-color:#6b4f1d}
.pill.bad{color:var(--high);border-color:#6b2a27}

/* ---------- tabs ---------- */
nav.tabs{display:flex;gap:4px;flex-wrap:wrap;padding:10px 16px 0;border-bottom:1px solid var(--line);background:#0d131d;position:sticky;top:57px;z-index:49}
nav.tabs button{
  background:none;border:1px solid transparent;border-bottom:none;color:var(--ink2);
  padding:9px 14px;border-radius:10px 10px 0 0;cursor:pointer;font-size:14px;font-weight:500
}
nav.tabs button:hover{color:var(--ink);background:#141c2a}
nav.tabs button.on{color:var(--ink);background:var(--panel);border-color:var(--line);font-weight:600}
.tabpane{display:none}
.tabpane.on{display:block}

/* ---------- panels ---------- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:14px 0}
.panel h2{margin:0 0 4px;font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink2)}
.panel h3{margin:14px 0 6px;font-size:14px;color:var(--ink)}
.sub{color:var(--ink3);font-size:12.5px;margin:0 0 12px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ---------- buttons ---------- */
button.btn{
  background:var(--accent);color:#06101f;border:none;border-radius:9px;
  padding:10px 16px;font-weight:650;font-size:14px;cursor:pointer
}
button.btn:hover{filter:brightness(1.1)}
button.btn:disabled{opacity:.45;cursor:not-allowed}
button.ghost{background:#17202e;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:9px 14px;cursor:pointer;font-size:13.5px}
button.ghost:hover{background:#1e283a}
button.ghost:disabled{opacity:.45;cursor:not-allowed}
button.danger{background:#2a1618;color:#ffb4b0;border:1px solid #5c2a27}
input,select,textarea{
  background:#0d131d;border:1px solid var(--line);color:var(--ink);
  border-radius:9px;padding:9px 11px;font:inherit;width:100%
}
textarea{min-height:90px;resize:vertical;font-family:var(--mono);font-size:13px}
label.fl{display:block;font-size:12.5px;color:var(--ink2);margin:10px 0 4px}

/* ---------- risk meter ---------- */
.riskbox{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.gauge{position:relative;width:132px;height:132px;flex:0 0 132px}
.gauge svg{transform:rotate(-90deg)}
.gauge .val{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;font-weight:800;font-size:30px;letter-spacing:-1px
}
.gauge .val small{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-top:2px}
.lvl-low{color:var(--low)} .lvl-medium{color:var(--med)} .lvl-high{color:var(--high)}
.stroke-low{stroke:var(--low)} .stroke-medium{stroke:var(--med)} .stroke-high{stroke:var(--high)}
.riskinfo{flex:1;min-width:260px}
.reason{font-size:14.5px;line-height:1.55;margin:0 0 10px}

/* ---------- chain ---------- */
.chain{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0}
.chain .st{
  font-size:11.5px;padding:4px 10px;border-radius:999px;border:1px dashed var(--line);
  color:var(--ink3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em
}
.chain .st.on{border-style:solid;border-color:var(--high);color:#ffb9b5;background:#2a1517}
.chain .arw{color:var(--ink3);font-size:12px}

/* ---------- indicators ---------- */
.inds{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.ind{
  font-size:12px;padding:5px 10px;border-radius:8px;border:1px solid;
  display:flex;gap:7px;align-items:baseline;max-width:100%
}
.ind .q{font-family:var(--mono);color:var(--ink2);font-size:11px;opacity:.85}
.ind.authority{background:#1a1b2e;border-color:#3a3f6b;color:#b9beff}
.ind.fear{background:#2a1517;border-color:#6b2a27;color:#ffb9b5}
.ind.urgency{background:#2a2114;border-color:#6b5324;color:#ffd79b}
.ind.ask{background:#2a1424;border-color:#6b2458;color:#ffabe6}
.ind.good{background:#132a1f;border-color:#1d5c40;color:#8ce3b4}

/* ---------- guidance ---------- */
.guide{background:#0f1a14;border:1px solid #1d5c40;border-radius:10px;padding:12px 14px;margin-top:12px}
.guide.med{background:#1d1709;border-color:#6b5324}
.guide.high{background:#20100f;border-color:#6b2a27}
.guide h4{margin:0 0 7px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink2)}
.guide ol{margin:0;padding-left:20px}
.guide li{margin:5px 0;font-size:14px}

/* ---------- transcript ---------- */
.tscript{font-size:14.5px;line-height:1.85;max-height:300px;overflow:auto;padding:4px 2px}
.tscript mark{padding:1px 3px;border-radius:4px;color:#fff;font-weight:500}
mark.authority{background:#3a3f6b} mark.fear{background:#7a2b27}
mark.urgency{background:#7a5f24} mark.ask{background:#7a2459}
mark.good{background:#1d5c40}
.seg{border-left:2px solid var(--line);padding:3px 0 3px 10px;margin:7px 0}
.seg .meta{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-bottom:2px}

/* ---------- chart ---------- */
.chart{width:100%;height:170px;display:block}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--ink3);margin-top:6px}
.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}

/* ---------- stats ---------- */
.stat{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px}
.stat .n{font-size:24px;font-weight:750;letter-spacing:-.5px}
.stat .k{font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.stat .d{font-size:11.5px;color:var(--ink3);margin-top:4px}

/* ---------- tables ---------- */
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:7px 9px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--ink3);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600}
td.mono,th.mono{font-family:var(--mono);font-size:12px}
tr.bad td{background:#1d1012}
.scroll{overflow:auto;max-height:420px}

/* ---------- full-screen alert ---------- */
#alert{
  position:fixed;inset:0;z-index:999;display:none;
  background:radial-gradient(ellipse at 50% 30%,#5e1512,#200807 70%);
  align-items:center;justify-content:center;padding:24px;
  animation:pulseBg 1.5s ease-in-out infinite alternate
}
#alert.on{display:flex}
@keyframes pulseBg{from{background-color:#200807}to{background-color:#38100d}}
.alertcard{max-width:640px;width:100%;text-align:center}
.alertcard .big{font-size:clamp(30px,6vw,54px);font-weight:850;letter-spacing:-1.5px;margin:0 0 6px;color:#fff}
.alertcard .sc{font-family:var(--mono);color:#ffb9b5;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.alertcard .why{background:#00000055;border:1px solid #ffffff22;border-radius:12px;padding:14px;margin:16px 0;text-align:left;font-size:14.5px}
.alertcard ol{text-align:left;font-size:16px;line-height:1.6}
.alertcard .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.alertcard button{font-size:15px;padding:12px 20px}
.helpline{font-size:13px;color:#ffd0cd;margin-top:12px}

/* ---------- consent ---------- */
#consent{position:fixed;inset:0;z-index:900;background:#070a10ee;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
#consent.off{display:none}
.ccard{max-width:620px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}
.ccard h1{margin:0 0 4px;font-size:22px;display:flex;align-items:center;gap:10px}
.ccard .pt{display:flex;gap:10px;margin:11px 0;font-size:13.5px;color:var(--ink)}
.ccard .pt b{color:#fff}
.ccard .ic{flex:0 0 20px;text-align:center;color:var(--accent)}
.muted{color:var(--ink3);font-size:12px}

/* ---------- misc ---------- */
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12.5px}
.kv dt{color:var(--ink3);font-family:var(--mono)}
.kv dd{margin:0}
.bar{height:7px;border-radius:4px;background:#0d131d;overflow:hidden;border:1px solid var(--line)}
.bar i{display:block;height:100%}
.note{font-size:12.5px;color:var(--ink2);background:#141c2a;border-left:3px solid var(--accent);padding:9px 12px;border-radius:0 8px 8px 0;margin:10px 0}
.note.warn{border-left-color:var(--med)}
.note.danger{border-left-color:var(--high)}
.spin{display:inline-block;width:13px;height:13px;border:2px solid var(--ink3);border-top-color:transparent;border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
.flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.hide{display:none!important}
code{font-family:var(--mono);font-size:12px;background:#0d131d;padding:1px 5px;border-radius:4px;border:1px solid var(--line)}
.ticker{font-family:var(--mono);font-size:11.5px;color:var(--ink3)}
