/*
 * Tailwind v4 @theme bridge — maps portal semantic tokens (tokens.css) to utilities.
 * Recipes use text-foreground, bg-panel, border-border, text-faint, bg-canvas-muted, etc.
 */
@custom-variant dark (&:where([data-theme='dark'], [data-theme='dark'] *));

@theme inline {
  --font-sans:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  --color-foreground: var(--text-primary);
  --color-muted: var(--text-secondary);
  --color-faint: var(--text-tertiary);
  --color-canvas: var(--bg-canvas);
  --color-canvas-muted: var(--bg-canvas-soft);
  --color-panel: var(--bg-panel);
  --color-border: var(--border-default);
  --color-border-subtle: var(--border-subtle);
  --color-border-control: var(--border-control);
  --color-glass: var(--bg-glass);
  --color-glass-strong: var(--bg-glass-strong);
  --color-brand: var(--brand);
  --color-brand-deep: var(--brand-deep);
  --color-danger: var(--danger);
  --color-ok: var(--ok);
  --color-accent: var(--accent-text);
  --color-accent-muted: var(--accent-text-muted);
  --color-focus: var(--action-focus-ring);
  --color-status-success: var(--status-success-text);
  --color-status-error: var(--status-error-text);
  --color-status-warn: var(--status-warn-text);

  --text-ui-2xs: var(--text-2xs);
  --text-ui-xs: var(--text-xs);
  --text-ui-sm: var(--text-base-sm);
  --text-ui-base: var(--text-base-ui);
  --text-ui-md: var(--text-md);
  --text-ui-lg: var(--text-lg-plus);
  --text-ui-xl: var(--text-2xl);
  --text-ui-display-sm: var(--text-display-sm);

  --radius-portal-xs: var(--radius-xs);
  --radius-portal-sm: var(--radius-sm);
  --radius-portal-md: var(--radius-md);
  --radius-portal-lg: var(--radius-lg);
  --radius-portal-pill: var(--radius-pill);

  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-topbar: 640px;
  --breakpoint-shell: 1080px;
  --breakpoint-modal: 480px;
}
