:root{
  --nav:#0b1f36;
  --nav2:#07182b;
  --fg:#0b1220;
  --muted:#5b6b7a;
  --line:#e8eef5;
  --bg:#f5f8fc;
  --card:#ffffff;
  --btn:#1f6feb;
  --btn2:#1757b8;
  --chip:#eef4fb;
  --chip2:#f2f6fb;

  --shadow-sm: 0 1px 2px rgba(16,24,40,.06);
  --shadow-md: 0 8px 24px rgba(16,24,40,.10);
  --shadow-lg: 0 18px 45px rgba(16,24,40,.12);
  --radius: 18px;
}
*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--fg);
  background:
    radial-gradient(900px 520px at 20% -10%, rgba(31,111,235,.10), transparent 60%),
    radial-gradient(800px 520px at 90% 0%, rgba(11,31,54,.12), transparent 55%),
    var(--bg);
}
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:none; }


/* Typography system (no external fonts) */
:root{
  --font-sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --text-xs: 12px;
  --text-sm: 13px;
  --text-md: 14px;
  --text-lg: 16px;
  --text-xl: 20px;
  --text-2xl: 28px;
  --text-3xl: 40px;
  --lh-tight: 1.12;
  --lh-body: 1.62;
}
body{ font-family: var(--font-sans); }
h1,h2,h3{ margin:0; letter-spacing:-0.5px; }
h1{ font-size: var(--text-3xl); line-height: var(--lh-tight); }
h2{ font-size: var(--text-xl); line-height: 1.25; }
p{ line-height: var(--lh-body); margin: 10px 0; }

a:focus, button:focus, input:focus{
  outline: 3px solid rgba(31,111,235,.28);
  outline-offset: 2px;
  border-radius: 12px;
}
a:hover{ text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* Rich text emphasis */
.rt{ font-size: var(--text-lg); line-height: var(--lh-body); color: #121a2b; }
.rt strong{ font-weight: 950; }
.rt u{ text-decoration-thickness: 2px; text-underline-offset: 3px; }
.rt em{ font-style: italic; }


/* Rich text lead callout */
.rtLead{
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(31,111,235,.08), rgba(31,111,235,.02));
  box-shadow: var(--shadow-sm);
  margin: 10px 0 14px;
  font-weight: 800;
}
.rt p{ max-width: 72ch; }
