/* tokens.css — Tribe cabinet design tokens.
   Identical brand ramp to admin-ui/css/tokens.css so the cabinet, the admin
   panel and the landing all share one look. */
:root{
  /* Background ramp (near-black navy) */
  --bg-900:#00040C; --bg-800:#03060E; --bg-700:#070C16;
  --surface-1:#0D1320; --surface-2:#131B2A; --surface-3:#1B2536;
  --glass:rgba(255,255,255,.04); --glass-strong:rgba(255,255,255,.07);
  /* Accent — landing palette (#7ca2d0), so the cabinet matches tribevpn.com.
     --on-acc = dark ink for text ON the accent button (landing --on-acc). */
  --accent:#7ca2d0; --accent-bright:#aac6e6; --accent-deep:#5d87b8;
  --accent-glow:rgba(124,162,208,.35); --on-acc:#0a1626;
  /* Text */
  --text-1:#EEF3F9; --text-2:#97A4B5; --text-3:#576173; --text-disabled:#3A4352;
  /* Borders (white-alpha hairlines) */
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.14); --border-3:rgba(255,255,255,.22);
  /* Semantic (states) */
  --connected:#41C28C; --warning:#E2A53C; --danger:#E2625C;
  /* Radii */
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:20px; --r-pill:999px;
  /* Fonts — Manrope (landing) for UI, JetBrains Mono for technical data */
  --font-display:"Manrope","Segoe UI",system-ui,sans-serif;
  --font-body:"Manrope","Segoe UI",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;

  /* These four are re-pointed at Telegram theme colours when running inside a
     Mini App (see js/telegram.js). In a normal browser they fall back to the
     brand ramp above so nothing changes. */
  --tg-bg:var(--bg-800);
  --tg-surface:var(--surface-1);
  --tg-text:var(--text-1);
  --tg-hint:var(--text-2);
}

*{box-sizing:border-box}

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text-1);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  /* same near-black radial-gradient body background as admin-ui */
  background:
    radial-gradient(900px 600px at 85% -5%, rgba(124,162,208,.10), transparent 60%),
    radial-gradient(700px 500px at -5% 20%, rgba(124,162,208,.05), transparent 55%),
    var(--tg-bg);
  background-attachment:fixed;
  min-height:100vh;
}

.mono{font-family:var(--font-mono)}

.cap{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}

.muted{color:var(--text-2)}
.dim{color:var(--text-3)}

h1{font-family:var(--font-display);font-weight:800;font-size:24px;letter-spacing:-.01em;margin:0}
h2{font-family:var(--font-display);font-weight:700;font-size:18px;margin:0 0 8px}
