


    body {
      background-color: var(--bg);
      color: var(--text);
      font-family: var(--font-main);
      -webkit-font-smoothing: antialiased;
      transition: background-color 0.2s ease, color 0.2s ease;
    }

    .font-clinical {
      font-family: var(--font-serif);
    }

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

    /* Focus ring conformant with WCAG */
    *:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
    }

    .touch-target {
      min-height: 44px;
      min-width: 44px;
    }

    /* Question option states */
    .opt-neutral {
      background-color: var(--surface);
      border: 1.5px solid var(--border);
      color: var(--text);
    }

    .opt-wrong-user {
      background-color: var(--danger-bg);
      border: 2px solid var(--danger);
      color: var(--danger-text);
    }

    .opt-correct-verified {
      background-color: var(--success-bg);
      border: 2px solid var(--success);
      color: var(--success-text);
    }

    .opt-user-unscorable {
      background-color: var(--unknown-bg);
      border: 2px solid var(--unknown);
      color: var(--text);
    }

    .opt-flagged {
      border-left: 4px solid var(--flag-accent);
    }

    /* Discrete scrollbars */
    ::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    ::-webkit-scrollbar-track {
      background: transparent;
    }
    ::-webkit-scrollbar-thumb {
      background: var(--border-strong);
      border-radius: 3px;
    }
  