:root { --bg:#0b0e14; --fg:#e6e6e6; --muted:#8a94a6; --accent:#22c55e; --bad:#ef4444; --card:#151a23; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.5 system-ui,sans-serif; background:var(--bg); color:var(--fg); }
header,main,footer { max-width:960px; margin:0 auto; padding:16px; }
.tagline,.muted { color:var(--muted); }
.thesis-form { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; background:var(--card); padding:16px; border-radius:10px; }
.thesis-form .field { display:flex; flex-direction:column; }
.thesis-form button { grid-column:1/-1; padding:10px; background:var(--accent); color:#04120a; border:0; border-radius:8px; font-weight:600; cursor:pointer; }
input,select { padding:8px; background:#0f1420; color:var(--fg); border:1px solid #2a3340; border-radius:6px; }
.thesis-form .field.wide { grid-column:1/-1; }
.card { background:var(--card); border:1px solid #232a36; border-radius:10px; padding:14px; margin:12px 0; }
.card h3 { margin:0 0 6px; text-transform:capitalize; }
.plain { display:flex; flex-wrap:wrap; gap:20px; font-size:15px; margin:2px 0 8px; }
.plain b { color:var(--fg); }
.good { color:var(--accent); }
.bad { color:var(--bad); }
.metrics { display:flex; flex-wrap:wrap; gap:14px; color:var(--muted); font-size:13px; }
.metrics b { color:var(--fg); }
.chart { width:100%; height:220px; }
.quarantine { border-color:var(--bad); }
details summary { cursor:pointer; }
.htmx-indicator { opacity:0; transition:opacity .2s; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity:1; }
.err { color:var(--bad); background:#1a1113; border:1px solid var(--bad); padding:12px; border-radius:8px; }
