:root {
  --bg:#0e1116; --panel:#161b22; --panel2:#12161c; --border:#232a33;
  --text:#e6edf3; --muted:#8b949e;
  --demand:#3fb0a6; --supply:#d08a4e; --magnet:#9aa4af;
  --confluence:#a97fd0; --interest:#6b7682;
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.site-header { max-width:840px; margin:0 auto; padding:24px 20px 8px; }
h1 { margin:0; font-size:22px; letter-spacing:.3px; }
.tagline { margin:2px 0 0; color:var(--muted); font-size:13px; }
main { max-width:840px; margin:0 auto; padding:12px 20px 40px; }
.controls { display:flex; align-items:center; gap:10px; margin:12px 0; }
.controls label { color:var(--muted); font-size:13px; }
select { background:var(--panel); color:var(--text); border:1px solid var(--border);
  border-radius:8px; padding:7px 10px; font-size:14px; }
.status { padding:16px; border:1px solid var(--border); border-radius:10px;
  background:var(--panel); color:var(--muted); }
.status.error { color:#f2b8b5; border-color:#5c2b2b; }
.levels { display:grid; gap:18px; }
.instrument { background:var(--panel); border:1px solid var(--border);
  border-radius:12px; overflow:hidden; }
.instrument h2 { margin:0; padding:12px 16px; font-size:15px;
  border-bottom:1px solid var(--border); background:var(--panel2); }
.rows { display:grid; }
.row { display:flex; justify-content:space-between; align-items:center;
  padding:10px 16px; border-bottom:1px solid var(--border); }
.row:last-child { border-bottom:0; }
.price { font-variant-numeric:tabular-nums; font-weight:600; }
.label { font-size:13px; padding:3px 10px; border-radius:999px;
  border:1px solid var(--border); color:var(--muted); }
.label.k-demand { color:var(--demand); border-color:var(--demand); }
.label.k-supply { color:var(--supply); border-color:var(--supply); }
.label.k-magnet { color:var(--magnet); border-color:var(--magnet); }
.label.k-confluence { color:var(--confluence); border-color:var(--confluence); }
.label.k-interest { color:var(--interest); border-color:var(--interest); }
.site-footer { max-width:840px; margin:0 auto; padding:0 20px 40px;
  color:var(--muted); font-size:12px; }

/* --- gate (Phase 2B) --- */
.gate { max-width:420px; margin:24px auto; background:var(--panel);
  border:1px solid var(--border); border-radius:12px; padding:22px; }
.gate h2 { margin:0 0 6px; font-size:17px; }
.gate-intro { margin:0 0 16px; color:var(--muted); font-size:13px; }
#gate-form { display:flex; gap:8px; }
#license-input { flex:1; background:var(--bg); color:var(--text);
  border:1px solid var(--border); border-radius:8px; padding:9px 11px; font-size:14px; }
#gate-submit { background:var(--demand); color:#04140f; border:0;
  border-radius:8px; padding:9px 16px; font-size:14px; font-weight:600; cursor:pointer; }
#gate-submit:disabled { opacity:.6; cursor:default; }
.gate-msg { margin-top:12px; font-size:13px; color:var(--muted); min-height:1em; }
.gate-msg.error { color:#f2b8b5; }
.gate-link { display:inline-block; margin-top:8px; font-size:13px; color:var(--demand); }
