  :root {
    --ink: #1f1533;
    --heading: #2e1065;
    --accent: #4338ca;
    --accent-soft: #faf5ff;
    --border: #e9d5ff;
    --muted: #5b5468;
    --bg: #fdfcff;
  }

  * { box-sizing: border-box; }

  body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.65;
    font-size: 16px;
  }

  header {
    background: linear-gradient(135deg, #2e1065, #4338ca);
    color: #fff;
    padding: 48px 24px 40px;
  }

  header .wrap {
    max-width: 760px;
    margin: 0 auto;
  }

  header h1 {
    margin: 0 0 8px;
    font-size: 1.9em;
    letter-spacing: -0.01em;
  }

  header p {
    margin: 0;
    color: #e9d5ff;
    font-size: 0.95em;
  }

  main {
    max-width: 760px;
    margin: 0 auto;
    padding: 40px 24px 80px;
  }

  h2 {
    color: var(--heading);
    font-size: 1.25em;
    margin: 2.2em 0 0.6em;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--border);
  }

  h2:first-of-type { margin-top: 0; }

  h3 {
    color: var(--heading);
    font-size: 1.02em;
    margin: 1.4em 0 0.4em;
  }

  p, li { color: var(--ink); }

  ul { padding-left: 1.3em; }
  li { margin-bottom: 0.5em; }

  .callout {
    background: var(--accent-soft);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 16px 20px;
    margin: 1.2em 0;
    font-size: 0.95em;
  }

  .callout strong { color: var(--heading); }

  table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0 1.6em;
    font-size: 0.93em;
  }

  th, td {
    text-align: left;
    padding: 10px 12px;
    border: 1px solid var(--border);
    vertical-align: top;
  }

  th {
    background: var(--accent-soft);
    color: var(--heading);
  }

  a { color: var(--accent); }

  .muted { color: var(--muted); font-size: 0.9em; }

  footer {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 24px 60px;
    color: var(--muted);
    font-size: 0.9em;
  }
