@charset "UTF-8";
/* ===================================
   Theme Entry Point

   Architecture:
   1. Base styles — engine-default tokens + component scaffolding.
   2. Generated tokens (`themes/<name>/tokens.scss`) — produced by
      `tools/build-theme.ts` from each theme's `theme.json`. Emit under
      `.theme-scope[data-theme="<name>"]` so multiple themes can coexist
      for runtime switching.
   3. Hand-written overrides (`themes/<name>/overrides.scss`) — visual
      tweaks on engine components. Currently emit under `.theme-scope`
      (active-theme global); will migrate to data-theme-scoped later.
   =================================== */
/* Base styles (always included) */
/* ===================================
   Default Theme - All Components
   This partial imports all component styles
   Use this for themes to inherit all default styles
   =================================== */
/* Import variables FIRST so CSS custom properties are defined before use */
/* Import tokens from the tokens folder */
/* ===================================
   Design Tokens Index
   Imports all token files to define CSS custom properties
   =================================== */
/* ===================================
   Design Token Mixins

   Reusable selector fan-outs for tokens that respond to multiple
   activation conventions. Apps pick whatever idiom feels natural;
   the engine maps them all to the same token redefinitions.
   =================================== */
/**
 * Dark mode trigger fan-out.
 *
 * Emits @content under EVERY supported dark-mode selector so that any of
 * the following activations switch to the dark token values:
 *
 *   <html class="dark">                          ← legacy `.dark` class
 *   <html data-variant="dark">                   ← modern variant attribute
 *   <html data-theme="dark">                     ← "dark" as a named theme
 *   <body class="theme-scope dark">              ← scoped legacy
 *   <body class="theme-scope" data-variant="dark"> ← scoped variant
 *   <body class="theme-scope" data-theme="dark">   ← scoped named theme
 *   <div class="dark"><body class="theme-scope">   ← ancestor legacy
 *   <div data-variant="dark"><body class="theme-scope"> ← ancestor variant
 *   <div data-theme="dark"><body class="theme-scope">   ← ancestor named theme
 *
 * Consumers don't have to pick a convention — the engine accepts all of
 * them. Brand themes (themes/groq/etc.) compose with this on
 * `[data-variant="dark"]` per the build-theme.ts contract; their own
 * dark-mode selector fan-out is handled by `tools/build-theme.ts`.
 */
/* ===================================
   Design Tokens Index
   Imports all token files to define CSS custom properties
   =================================== */
/* ===================================
   Color Token Definitions — shared by `:root` (engine defaults) and
   `.theme-scope` (themed scopes).

   Defining the same token set twice — at `:root` and `.theme-scope` —
   used to be a drift hazard (silent partial-coverage of `:root` meant
   consumers outside `.theme-scope` silently fell back to inlined hex
   defaults). Centralizing them in a mixin makes the two callsites stay
   in lockstep automatically.

   Light values live here; dark values live in `_colors.scss`'s
   `@include dark-mode { ... }` block, which already fans out to
   `:root.dark`/`.dark`/`[data-variant=dark]` selectors (see
   `_mixins.scss`'s `dark-mode` mixin).

   See `.brief/engine-root-token-coverage.md` for the architectural
   rationale (option A).
   =================================== */
/* ===================================
   Engine root defaults — for consumers outside `.theme-scope`.

   `:root` and `.theme-scope` both receive the full token set via the
   shared `color-tokens-light` mixin so they stay in lockstep. Consumers
   can choose to wrap in `.theme-scope` (to opt into a theme override or
   data-variant switching) or stay at `:root` (engine baseline only).

   See `.brief/engine-root-token-coverage.md` for the architectural
   decision (option A: mirror :root from .theme-scope via mixin).
   =================================== */
:root {
  /* ===================================
     Text Colors
     =================================== */
  --color-text-primary: #0f172a;
  --color-text-secondary: oklch(21% 0.034 264.665);
  --color-text-tertiary: #9ca3af; /* Lighter than -muted, for de-emphasized list markers, etc. */
  /* slate-500. Was #94a3b8 (slate-400) but that has ~3:1 contrast on
     white — fails WCAG AA (needs 4.5:1 for normal text). slate-500 has
     ~4.6:1 and reads as "a tad darker" without crossing into
     primary/secondary darkness. */
  --color-text-muted: #64748b;
  --color-text-neutral: #475569;
  --color-text-neutral-dark: #334155;
  --color-text-disabled: #9ca3af; /* Readable disabled text color */
  /* Inverted text — used inside .prose-invert and dark-bg surfaces */
  --color-text-invert: #e5e7eb;
  --color-text-secondary-invert: #9ca3af;
  --color-text-tertiary-invert: #6b7280;
  /* ===================================
     Background Colors
     =================================== */
  --color-bg-page: var(--color-bg-light);
  --color-bg-card: var(--color-bg-primary);
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f8fafc;
  --color-bg-muted: #f1f5f9;
  --color-bg-inverted-content: #374151; /* Dark content panels on inverted surfaces */
  --color-bg-tertiary: var(--color-bg-inverted-content); /* Back-compat alias */
  --color-bg-hover: rgba(0, 0, 0, 0.025); /* Subtle hover wash — works on light surfaces */
  --color-bg-light: #F3F4F6;
  --color-bg-disabled: #f1f5f9; /* Disabled background color */
  /* ===================================
     Border Colors
     =================================== */
  --color-border: #e2e8f0;
  --color-border-light: #cbd5e1;
  --color-border-tab: #e4e4e7;
  /* Inverted borders — paired with --color-text-invert */
  --color-border-invert: #374151;
  --color-border-strong-invert: #4b5563;
  /* Inverted code — paired with .prose-invert */
  --color-code-text-invert: #f9fafb;
  --color-code-bg-invert: #374151;
  /* ===================================
     Primary Colors
     =================================== */
  --color-primary: #3b82f6;
  --color-primary-hover: #2563eb;
  --color-primary-active: #1d4ed8;
  --color-primary-dark: #1e40af;
  --color-primary-light: #eff6ff;
  --color-primary-lighter: #dbeafe;
  --color-primary-lightest: #bfdbfe;
  --color-primary-ring: rgba(59, 130, 246, 0.3);
  --color-primary-text: #ffffff;
  /* ===================================
     Success Colors
     =================================== */
  --color-success: #10b981; /* Brighter, less dark green (emerald-500) */
  --color-success-light: #d1fae5;
  --color-success-dark: #047857;
  --color-success-link: #059669;
  --color-success-link-hover: #047857;
  --color-success-ring: rgba(34, 197, 94, 0.3);
  --color-success-text: #ffffff;
  --color-success-200: #bbf7d0;
  --color-success-300: #86efac;
  /* Full ramp (emerald family, matches Tailwind emerald-N).
     500 matches --color-success; 700 matches --color-success-dark. */
  --color-success-50: #ecfdf5;
  --color-success-100: #d1fae5;
  --color-success-400: #34d399;
  --color-success-500: #10b981;
  --color-success-600: #059669;
  --color-success-700: #047857;
  --color-success-800: #065f46;
  --color-success-900: #064e3b;
  --color-success-950: #022c22;
  /* ===================================
     Warning Colors
     =================================== */
  --color-warning: #f59e0b;
  --color-warning-light: #fef3c7;
  --color-warning-dark: #92400e;
  --color-warning-link: #d97706;
  --color-warning-link-hover: #b45309;
  --color-warning-ring: rgba(245, 158, 11, 0.3);
  --color-warning-text: #ffffff;
  --color-warning-200: #fde68a;
  --color-warning-300: #fcd34d;
  /* Full ramp (amber family, matches Tailwind amber-N). */
  --color-warning-50: #fffbeb;
  --color-warning-100: #fef3c7;
  --color-warning-400: #fbbf24;
  --color-warning-500: #f59e0b;
  --color-warning-600: #d97706;
  --color-warning-700: #b45309;
  --color-warning-800: #92400e;
  --color-warning-900: #78350f;
  --color-warning-950: #451a03;
  /* ===================================
     Danger Colors
     =================================== */
  --color-danger: #ef4444;
  --color-danger-light: #fee2e2;
  --color-danger-dark: #b91c1c;
  --color-danger-link: #dc2626;
  --color-danger-link-hover: #b91c1c;
  --color-danger-ring: rgba(239, 68, 68, 0.3);
  --color-danger-text: #ffffff;
  --color-danger-200: #fecaca;
  --color-danger-300: #fca5a5;
  /* Full ramp (red family, matches Tailwind red-N). */
  --color-danger-50: #fef2f2;
  --color-danger-100: #fee2e2;
  --color-danger-400: #f87171;
  --color-danger-500: #ef4444;
  --color-danger-600: #dc2626;
  --color-danger-700: #b91c1c;
  --color-danger-800: #991b1b;
  --color-danger-900: #7f1d1d;
  --color-danger-950: #450a0a;
  /* ===================================
     Info Colors
     =================================== */
  --color-info: #0ea5e9;
  --color-info-light: #e0f2fe;
  --color-info-dark: #075985;
  --color-info-link: #0284c7;
  --color-info-link-hover: #0369a1;
  --color-info-ring: rgba(14, 165, 233, 0.3);
  --color-info-text: #ffffff;
  --color-info-200: #bae6fd;
  --color-info-300: #7dd3fc;
  /* Full ramp (sky family, matches Tailwind sky-N). */
  --color-info-50: #f0f9ff;
  --color-info-100: #e0f2fe;
  --color-info-400: #38bdf8;
  --color-info-500: #0ea5e9;
  --color-info-600: #0284c7;
  --color-info-700: #0369a1;
  --color-info-800: #075985;
  --color-info-900: #0c4a6e;
  --color-info-950: #082f49;
  /* ===================================
     Neutral Colors
     =================================== */
  --color-neutral: #71717a;
  --color-neutral-light: #f4f4f5;
  --color-neutral-dark: #3f3f46;
  --color-neutral-link: #52525b;
  --color-neutral-link-hover: #3f3f46;
  --color-neutral-ring: rgba(113, 113, 122, 0.3);
  --color-neutral-text: #ffffff;
  /* Neutral Ramp 50..950 (zinc-based) */
  --color-neutral-50: #fafafa;
  --color-neutral-100: #f4f4f5;
  --color-neutral-200: #e4e4e7;
  --color-neutral-300: #d4d4d8;
  --color-neutral-400: #a1a1aa;
  --color-neutral-500: #71717a;
  --color-neutral-600: #52525b;
  --color-neutral-700: #3f3f46;
  --color-neutral-800: #27272a;
  --color-neutral-900: #18181b;
  --color-neutral-950: #09090b;
  /* ===================================
     Code Colors — light mode (light gray bg + strong text contrast)
     =================================== */
  --color-code-bg: #f8fafc;
  --color-code-text: #be185d;
  --color-code-bg-dark: #f1f5f9;
  --color-code-text-dark: #334155;
  --color-code-header-bg: #e2e8f0;
  --color-code-border: #e2e8f0;
  /* ===================================
     Syntax Highlighting — light mode (strong contrast on light bg)
     =================================== */
  --color-syntax-keyword: #7c3aed;
  --color-syntax-string: #059669;
  --color-syntax-number: #0284c7;
  --color-syntax-function: #2563eb;
  --color-syntax-comment: #64748b;
  --color-syntax-property: #c2410c;
  --color-syntax-punctuation: #475569;
  --color-syntax-operator: #475569;
  /* ===================================
     Tab Colors
     =================================== */
  --color-tab: #71717a;
  --color-tab-active: #3b82f6;
  /* ===================================
     Utility Colors
     =================================== */
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-white: #ffffff;
  /* Gray Ring (for ghost buttons, etc.) */
  --color-gray-ring: rgba(161, 161, 170, 0.2);
  --color-gray-ring-dark: rgba(15, 23, 42, 0.1);
  /* Dark/Inverted Section Colors */
  --color-bg-dark: #0f172a;
  --color-text-on-dark: #ffffff;
  --color-text-on-dark-muted: rgba(255, 255, 255, 0.85);
  /* Accent Color (for CTAs, highlights) */
  --color-accent: #f59e0b;
  --color-accent-hover: #d97706;
  /* CTA Color */
  --color-cta: #3b82f6;
  --color-cta-hover: #2563eb;
  /* ===================================
     Form Controls (Checkbox, Radio, Toggle)
     =================================== */
  /* Unchecked state */
  --color-control-border: var(--color-border-light);
  --color-control-border-hover: var(--color-border);
  --color-control-bg: var(--color-bg-primary);
  --color-control-bg-hover: var(--color-bg-secondary);
  /* Checked state */
  --color-control-checked: var(--color-primary);
  --color-control-checked-hover: var(--color-primary-hover);
  --color-control-checked-border: var(--color-primary);
  --color-control-checkmark: #ffffff;
  /* Focus state */
  --color-control-ring: var(--color-primary-ring);
  /* Toggle-specific */
  --color-toggle-bg: var(--color-border);
  --color-toggle-bg-checked: var(--color-primary);
  --color-toggle-knob: #ffffff;
  /* ===================================
     Choice Card Colors
     =================================== */
  --color-choice-border: var(--color-border-light);
  --color-choice-border-hover: var(--color-border);
  --color-choice-border-checked: var(--color-primary);
  --color-choice-bg: transparent;
  --color-choice-bg-hover: var(--color-bg-secondary);
  --color-choice-bg-checked: rgba(59, 130, 246, 0.05);
  --color-choice-ring: var(--color-primary);
}

.theme-scope {
  /* ===================================
     Text Colors
     =================================== */
  --color-text-primary: #0f172a;
  --color-text-secondary: oklch(21% 0.034 264.665);
  --color-text-tertiary: #9ca3af; /* Lighter than -muted, for de-emphasized list markers, etc. */
  /* slate-500. Was #94a3b8 (slate-400) but that has ~3:1 contrast on
     white — fails WCAG AA (needs 4.5:1 for normal text). slate-500 has
     ~4.6:1 and reads as "a tad darker" without crossing into
     primary/secondary darkness. */
  --color-text-muted: #64748b;
  --color-text-neutral: #475569;
  --color-text-neutral-dark: #334155;
  --color-text-disabled: #9ca3af; /* Readable disabled text color */
  /* Inverted text — used inside .prose-invert and dark-bg surfaces */
  --color-text-invert: #e5e7eb;
  --color-text-secondary-invert: #9ca3af;
  --color-text-tertiary-invert: #6b7280;
  /* ===================================
     Background Colors
     =================================== */
  --color-bg-page: var(--color-bg-light);
  --color-bg-card: var(--color-bg-primary);
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f8fafc;
  --color-bg-muted: #f1f5f9;
  --color-bg-inverted-content: #374151; /* Dark content panels on inverted surfaces */
  --color-bg-tertiary: var(--color-bg-inverted-content); /* Back-compat alias */
  --color-bg-hover: rgba(0, 0, 0, 0.025); /* Subtle hover wash — works on light surfaces */
  --color-bg-light: #F3F4F6;
  --color-bg-disabled: #f1f5f9; /* Disabled background color */
  /* ===================================
     Border Colors
     =================================== */
  --color-border: #e2e8f0;
  --color-border-light: #cbd5e1;
  --color-border-tab: #e4e4e7;
  /* Inverted borders — paired with --color-text-invert */
  --color-border-invert: #374151;
  --color-border-strong-invert: #4b5563;
  /* Inverted code — paired with .prose-invert */
  --color-code-text-invert: #f9fafb;
  --color-code-bg-invert: #374151;
  /* ===================================
     Primary Colors
     =================================== */
  --color-primary: #3b82f6;
  --color-primary-hover: #2563eb;
  --color-primary-active: #1d4ed8;
  --color-primary-dark: #1e40af;
  --color-primary-light: #eff6ff;
  --color-primary-lighter: #dbeafe;
  --color-primary-lightest: #bfdbfe;
  --color-primary-ring: rgba(59, 130, 246, 0.3);
  --color-primary-text: #ffffff;
  /* ===================================
     Success Colors
     =================================== */
  --color-success: #10b981; /* Brighter, less dark green (emerald-500) */
  --color-success-light: #d1fae5;
  --color-success-dark: #047857;
  --color-success-link: #059669;
  --color-success-link-hover: #047857;
  --color-success-ring: rgba(34, 197, 94, 0.3);
  --color-success-text: #ffffff;
  --color-success-200: #bbf7d0;
  --color-success-300: #86efac;
  /* Full ramp (emerald family, matches Tailwind emerald-N).
     500 matches --color-success; 700 matches --color-success-dark. */
  --color-success-50: #ecfdf5;
  --color-success-100: #d1fae5;
  --color-success-400: #34d399;
  --color-success-500: #10b981;
  --color-success-600: #059669;
  --color-success-700: #047857;
  --color-success-800: #065f46;
  --color-success-900: #064e3b;
  --color-success-950: #022c22;
  /* ===================================
     Warning Colors
     =================================== */
  --color-warning: #f59e0b;
  --color-warning-light: #fef3c7;
  --color-warning-dark: #92400e;
  --color-warning-link: #d97706;
  --color-warning-link-hover: #b45309;
  --color-warning-ring: rgba(245, 158, 11, 0.3);
  --color-warning-text: #ffffff;
  --color-warning-200: #fde68a;
  --color-warning-300: #fcd34d;
  /* Full ramp (amber family, matches Tailwind amber-N). */
  --color-warning-50: #fffbeb;
  --color-warning-100: #fef3c7;
  --color-warning-400: #fbbf24;
  --color-warning-500: #f59e0b;
  --color-warning-600: #d97706;
  --color-warning-700: #b45309;
  --color-warning-800: #92400e;
  --color-warning-900: #78350f;
  --color-warning-950: #451a03;
  /* ===================================
     Danger Colors
     =================================== */
  --color-danger: #ef4444;
  --color-danger-light: #fee2e2;
  --color-danger-dark: #b91c1c;
  --color-danger-link: #dc2626;
  --color-danger-link-hover: #b91c1c;
  --color-danger-ring: rgba(239, 68, 68, 0.3);
  --color-danger-text: #ffffff;
  --color-danger-200: #fecaca;
  --color-danger-300: #fca5a5;
  /* Full ramp (red family, matches Tailwind red-N). */
  --color-danger-50: #fef2f2;
  --color-danger-100: #fee2e2;
  --color-danger-400: #f87171;
  --color-danger-500: #ef4444;
  --color-danger-600: #dc2626;
  --color-danger-700: #b91c1c;
  --color-danger-800: #991b1b;
  --color-danger-900: #7f1d1d;
  --color-danger-950: #450a0a;
  /* ===================================
     Info Colors
     =================================== */
  --color-info: #0ea5e9;
  --color-info-light: #e0f2fe;
  --color-info-dark: #075985;
  --color-info-link: #0284c7;
  --color-info-link-hover: #0369a1;
  --color-info-ring: rgba(14, 165, 233, 0.3);
  --color-info-text: #ffffff;
  --color-info-200: #bae6fd;
  --color-info-300: #7dd3fc;
  /* Full ramp (sky family, matches Tailwind sky-N). */
  --color-info-50: #f0f9ff;
  --color-info-100: #e0f2fe;
  --color-info-400: #38bdf8;
  --color-info-500: #0ea5e9;
  --color-info-600: #0284c7;
  --color-info-700: #0369a1;
  --color-info-800: #075985;
  --color-info-900: #0c4a6e;
  --color-info-950: #082f49;
  /* ===================================
     Neutral Colors
     =================================== */
  --color-neutral: #71717a;
  --color-neutral-light: #f4f4f5;
  --color-neutral-dark: #3f3f46;
  --color-neutral-link: #52525b;
  --color-neutral-link-hover: #3f3f46;
  --color-neutral-ring: rgba(113, 113, 122, 0.3);
  --color-neutral-text: #ffffff;
  /* Neutral Ramp 50..950 (zinc-based) */
  --color-neutral-50: #fafafa;
  --color-neutral-100: #f4f4f5;
  --color-neutral-200: #e4e4e7;
  --color-neutral-300: #d4d4d8;
  --color-neutral-400: #a1a1aa;
  --color-neutral-500: #71717a;
  --color-neutral-600: #52525b;
  --color-neutral-700: #3f3f46;
  --color-neutral-800: #27272a;
  --color-neutral-900: #18181b;
  --color-neutral-950: #09090b;
  /* ===================================
     Code Colors — light mode (light gray bg + strong text contrast)
     =================================== */
  --color-code-bg: #f8fafc;
  --color-code-text: #be185d;
  --color-code-bg-dark: #f1f5f9;
  --color-code-text-dark: #334155;
  --color-code-header-bg: #e2e8f0;
  --color-code-border: #e2e8f0;
  /* ===================================
     Syntax Highlighting — light mode (strong contrast on light bg)
     =================================== */
  --color-syntax-keyword: #7c3aed;
  --color-syntax-string: #059669;
  --color-syntax-number: #0284c7;
  --color-syntax-function: #2563eb;
  --color-syntax-comment: #64748b;
  --color-syntax-property: #c2410c;
  --color-syntax-punctuation: #475569;
  --color-syntax-operator: #475569;
  /* ===================================
     Tab Colors
     =================================== */
  --color-tab: #71717a;
  --color-tab-active: #3b82f6;
  /* ===================================
     Utility Colors
     =================================== */
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-white: #ffffff;
  /* Gray Ring (for ghost buttons, etc.) */
  --color-gray-ring: rgba(161, 161, 170, 0.2);
  --color-gray-ring-dark: rgba(15, 23, 42, 0.1);
  /* Dark/Inverted Section Colors */
  --color-bg-dark: #0f172a;
  --color-text-on-dark: #ffffff;
  --color-text-on-dark-muted: rgba(255, 255, 255, 0.85);
  /* Accent Color (for CTAs, highlights) */
  --color-accent: #f59e0b;
  --color-accent-hover: #d97706;
  /* CTA Color */
  --color-cta: #3b82f6;
  --color-cta-hover: #2563eb;
  /* ===================================
     Form Controls (Checkbox, Radio, Toggle)
     =================================== */
  /* Unchecked state */
  --color-control-border: var(--color-border-light);
  --color-control-border-hover: var(--color-border);
  --color-control-bg: var(--color-bg-primary);
  --color-control-bg-hover: var(--color-bg-secondary);
  /* Checked state */
  --color-control-checked: var(--color-primary);
  --color-control-checked-hover: var(--color-primary-hover);
  --color-control-checked-border: var(--color-primary);
  --color-control-checkmark: #ffffff;
  /* Focus state */
  --color-control-ring: var(--color-primary-ring);
  /* Toggle-specific */
  --color-toggle-bg: var(--color-border);
  --color-toggle-bg-checked: var(--color-primary);
  --color-toggle-knob: #ffffff;
  /* ===================================
     Choice Card Colors
     =================================== */
  --color-choice-border: var(--color-border-light);
  --color-choice-border-hover: var(--color-border);
  --color-choice-border-checked: var(--color-primary);
  --color-choice-bg: transparent;
  --color-choice-bg-hover: var(--color-bg-secondary);
  --color-choice-bg-checked: rgba(59, 130, 246, 0.05);
  --color-choice-ring: var(--color-primary);
}

/* ===================================
   Dark Mode Colors
   Fan-out via @mixin dark-mode supports `.dark`, `[data-variant="dark"]`,
   and `[data-theme="dark"]` activations at scope/ancestor/:root levels.
   See tokens/_mixins.scss for the selector fan-out.
   =================================== */
/* Scoped — `.theme-scope` is on the activating element */
.theme-scope.dark,
.theme-scope[data-variant=dark],
.theme-scope[data-theme=dark],
.dark .theme-scope,
[data-variant=dark] .theme-scope,
[data-theme=dark] .theme-scope,
:root.dark,
:root[data-variant=dark],
:root[data-theme=dark] {
  /* ===================================
     Text Colors - inverted for dark backgrounds
     =================================== */
  --color-text-primary: #f8fafc;
  --color-text-secondary: #e2e8f0;
  --color-text-muted: #94a3b8;
  --color-text-neutral: #cbd5e1;
  --color-text-neutral-dark: #e2e8f0;
  --color-text-disabled: #64748b;
  /* ===================================
     Background Colors - dark variants
     =================================== */
  --color-bg-page: var(--color-bg-primary);
  --color-bg-card: var(--color-bg-secondary);
  --color-bg-primary: #0f172a;
  --color-bg-secondary: #1e293b;
  --color-bg-muted: #334155;
  --color-bg-light: #1e293b;
  --color-bg-disabled: #1e293b;
  /* Hover wash needs a light overlay on dark surfaces; the light-mode
     rgba(0,0,0,0.025) would be invisible on a near-black background. */
  --color-bg-hover: rgba(255, 255, 255, 0.05);
  /* ===================================
     Border Colors - subtle on dark
     =================================== */
  --color-border: #334155;
  --color-border-light: #475569;
  --color-border-tab: #475569;
  /* ===================================
     Primary Colors - slightly brighter for dark mode visibility
     =================================== */
  --color-primary: #60a5fa;
  --color-primary-hover: #3b82f6;
  --color-primary-active: #2563eb;
  --color-primary-dark: #93c5fd;
  --color-primary-light: rgba(59, 130, 246, 0.15);
  --color-primary-lighter: rgba(59, 130, 246, 0.1);
  --color-primary-lightest: rgba(59, 130, 246, 0.05);
  --color-primary-ring: rgba(96, 165, 250, 0.4);
  --color-primary-text: #0f172a;
  /* ===================================
     Success Colors - brighter for dark mode
     =================================== */
  --color-success: #34d399;
  --color-success-light: rgba(16, 185, 129, 0.15);
  --color-success-dark: #6ee7b7;
  --color-success-link: #34d399;
  --color-success-link-hover: #6ee7b7;
  --color-success-ring: rgba(52, 211, 153, 0.4);
  --color-success-text: #0f172a;
  --color-success-200: rgba(16, 185, 129, 0.2);
  --color-success-300: rgba(16, 185, 129, 0.3);
  /* ===================================
     Warning Colors
     =================================== */
  --color-warning: #fbbf24;
  --color-warning-light: rgba(245, 158, 11, 0.15);
  --color-warning-dark: #fcd34d;
  --color-warning-link: #fbbf24;
  --color-warning-link-hover: #fcd34d;
  --color-warning-ring: rgba(251, 191, 36, 0.4);
  --color-warning-text: #0f172a;
  --color-warning-200: rgba(245, 158, 11, 0.2);
  --color-warning-300: rgba(245, 158, 11, 0.3);
  /* ===================================
     Danger Colors
     =================================== */
  --color-danger: #f87171;
  --color-danger-light: rgba(239, 68, 68, 0.15);
  --color-danger-dark: #fca5a5;
  --color-danger-link: #f87171;
  --color-danger-link-hover: #fca5a5;
  --color-danger-ring: rgba(248, 113, 113, 0.4);
  --color-danger-text: #0f172a;
  --color-danger-200: rgba(239, 68, 68, 0.2);
  --color-danger-300: rgba(239, 68, 68, 0.3);
  /* ===================================
     Info Colors
     =================================== */
  --color-info: #38bdf8;
  --color-info-light: rgba(14, 165, 233, 0.15);
  --color-info-dark: #7dd3fc;
  --color-info-link: #38bdf8;
  --color-info-link-hover: #7dd3fc;
  --color-info-ring: rgba(56, 189, 248, 0.4);
  --color-info-text: #0f172a;
  --color-info-200: rgba(14, 165, 233, 0.2);
  --color-info-300: rgba(14, 165, 233, 0.3);
  /* ===================================
     Neutral Colors
     =================================== */
  --color-neutral: #a1a1aa;
  --color-neutral-light: rgba(113, 113, 122, 0.15);
  --color-neutral-dark: #d4d4d8;
  --color-neutral-link: #a1a1aa;
  --color-neutral-link-hover: #d4d4d8;
  --color-neutral-ring: rgba(161, 161, 170, 0.4);
  --color-neutral-text: #0f172a;
  /* Neutral Ramp 50..950 — inverted for dark mode (zinc-950 → zinc-50) */
  --color-neutral-50: #09090b;
  --color-neutral-100: #18181b;
  --color-neutral-200: #27272a;
  --color-neutral-300: #3f3f46;
  --color-neutral-400: #52525b;
  --color-neutral-500: #71717a;
  --color-neutral-600: #a1a1aa;
  --color-neutral-700: #d4d4d8;
  --color-neutral-800: #e4e4e7;
  --color-neutral-900: #f4f4f5;
  --color-neutral-950: #fafafa;
  /* ===================================
     Code Colors - Dark mode (actual dark background)
     =================================== */
  --color-code-bg: #1e293b;
  --color-code-text: #fb7185;
  --color-code-bg-dark: #1e293b;
  --color-code-text-dark: #e2e8f0;
  --color-code-header-bg: #334155;
  --color-code-border: #475569;
  /* ===================================
     Syntax highlighting - dark mode (Prism Tomorrow-style)
     =================================== */
  --color-syntax-keyword: #cc99cd;
  --color-syntax-string: #7ec699;
  --color-syntax-number: #f08d49;
  --color-syntax-function: #f8c555;
  --color-syntax-comment: #999999;
  --color-syntax-property: #e90;
  --color-syntax-punctuation: #cccccc;
  --color-syntax-operator: #67cdcc;
  /* ===================================
     Tab Colors
     =================================== */
  --color-tab: #94a3b8;
  --color-tab-active: #60a5fa;
  /* ===================================
     Utility Colors
     =================================== */
  --color-gray-300: #475569;
  --color-gray-400: #64748b;
  --color-white: #0f172a;
  /* Gray Ring (for ghost buttons, etc.) */
  --color-gray-ring: rgba(148, 163, 184, 0.25);
  --color-gray-ring-dark: rgba(248, 250, 252, 0.1);
  /* Dark/Inverted Section Colors (swap for dark mode) */
  --color-bg-dark: #f8fafc;
  --color-text-on-dark: #0f172a;
  --color-text-on-dark-muted: rgba(15, 23, 42, 0.85);
  /* Accent Color (for CTAs, highlights) */
  --color-accent: #fbbf24;
  --color-accent-hover: #f59e0b;
  /* CTA Color */
  --color-cta: #60a5fa;
  --color-cta-hover: #3b82f6;
  /* ===================================
     Form Controls - Dark Mode
     =================================== */
  /* Unchecked state */
  --color-control-border: var(--color-border);
  --color-control-border-hover: var(--color-border-light);
  --color-control-bg: var(--color-bg-secondary);
  --color-control-bg-hover: var(--color-bg-muted);
  /* Checked state */
  --color-control-checked: var(--color-primary);
  --color-control-checked-hover: var(--color-primary-hover);
  --color-control-checked-border: var(--color-primary);
  --color-control-checkmark: #0f172a;
  /* Toggle-specific */
  --color-toggle-bg: var(--color-border-light);
  --color-toggle-bg-checked: var(--color-primary);
  --color-toggle-knob: #0f172a;
  /* ===================================
     Choice Card Colors - Dark Mode
     =================================== */
  --color-choice-border: var(--color-border);
  --color-choice-border-hover: var(--color-border-light);
  --color-choice-border-checked: var(--color-primary);
  --color-choice-bg: transparent;
  --color-choice-bg-hover: var(--color-bg-muted);
  --color-choice-bg-checked: rgba(96, 165, 250, 0.1);
  --color-choice-ring: var(--color-primary);
}

.theme-scope {
  /* ===================================
     Spacing Tokens (Semantic)
     =================================== */
  /* Button Spacing */
  --space-btn-x: 0.875rem; /* 14px - horizontal padding */
  --space-btn-y: 0.5rem; /* 8px - vertical padding */
  --space-btn-sm-x: 0.5rem; /* 8px - small button horizontal */
  --space-btn-sm-y: 0.25rem; /* 4px - small button vertical */
  --space-btn-lg-x: 1rem; /* 16px - large button horizontal */
  --space-btn-lg-y: 0.625rem; /* 10px - large button vertical */
  --space-btn-icon: 0.75rem; /* 12px - icon-only button padding */
  /* Input/Form Spacing */
  --space-input-x: 0.75rem; /* 12px - horizontal padding */
  --space-input-y: 0.5rem; /* 8px - vertical padding */
  --space-input-sm-x: 0.5rem; /* 8px - small input horizontal */
  --space-input-sm-y: 0.25rem; /* 4px - small input vertical */
  --input-padding-x: var(--space-input-x);
  --input-padding-y: var(--space-input-y);
  --input-padding-sm-x: var(--space-input-sm-x);
  --input-padding-sm-y: var(--space-input-sm-y);
  /* Card Spacing */
  --space-card-padding: 0.75rem; /* 20px - card body padding */
  /* Tab Spacing */
  --space-tab-x: 1rem; /* 16px - tab horizontal spacing */
  --space-tab-y: 0.5rem; /* 8px - tab vertical spacing */
  --space-tab-modern-x: 1rem; /* 16px - modern tab horizontal */
  --space-tab-modern-y: 0.5rem; /* 8px - modern tab vertical */
  --space-tab-btn-x: 1.25rem; /* 20px - button-style tab horizontal */
  --space-tab-btn-y: 0.625rem; /* 10px - button-style tab vertical */
  /* Badge Spacing */
  --space-badge-x: 0.625rem; /* 10px - badge horizontal */
  --space-badge-y: 0.25rem; /* 4px - badge vertical */
  --space-badge-sm-x: 0.5rem; /* 8px - small badge horizontal */
  --space-badge-sm-y: 0.125rem; /* 2px - small badge vertical */
  /* Dropdown Spacing */
  --space-dropdown-item-x: 0.75rem; /* 12px - dropdown item horizontal */
  --space-dropdown-item-y: 0.5rem; /* 8px - dropdown item vertical */
  /* Toast Spacing */
  --space-toast-x: 1rem; /* 16px - toast horizontal */
  --space-toast-y: 1rem; /* 16px - toast vertical */
  /* Copy Button Spacing */
  --space-copy-btn-x: 0.625rem; /* 10px - copy button horizontal */
  --space-copy-btn-y: 0.25rem; /* 4px - copy button vertical */
  /* Accordion Spacing */
  --space-accordion-x: 1rem; /* 16px - accordion item horizontal */
  --space-accordion-y: 1rem; /* 16px - accordion item vertical */
  /* Table Spacing */
  --space-table-cell-x: 0.75rem; /* 12px - table cell horizontal */
  --space-table-cell-y: 0.75rem; /* 12px - table cell vertical */
  /* List Item Spacing */
  --space-list-item-x: 1rem; /* 16px - list item horizontal */
  --space-list-item-y: 0.75rem; /* 12px - list item vertical */
  /* Pagination Spacing */
  --space-pagination-x: 0.75rem; /* 12px - pagination item horizontal */
  --space-pagination-y: 0.5rem; /* 8px - pagination item vertical */
  /* Toggle Group Spacing */
  --space-toggle-x: 0.75rem; /* 12px - toggle item horizontal */
  --space-toggle-y: 0.5rem; /* 8px - toggle item vertical */
  /* Gap Spacing (for flex/grid layouts) */
  --space-gap-xs: 0.25rem; /* 4px */
  --space-gap-sm: 0.5rem; /* 8px */
  --space-gap-md: 1rem; /* 16px */
  --space-gap-lg: 1.5rem; /* 24px */
  /* ===================================
     Numeric Spacing Scale (Tailwind-aligned)
     For ad-hoc spacing/sizing where no semantic role applies.
     Doubles as a sizing scale (width/height) like Tailwind's `spacing`.
     Prefer the semantic --space-* tokens above for component padding;
     reach for these only when the value has no semantic name.
     =================================== */
  --spacing-0: 0;
  --spacing-px: 1px;
  --spacing-0_5: 0.125rem; /* 2px */
  --spacing-1: 0.25rem; /* 4px */
  --spacing-1_5: 0.375rem; /* 6px */
  --spacing-2: 0.5rem; /* 8px */
  --spacing-3: 0.75rem; /* 12px */
  --spacing-4: 1rem; /* 16px */
  --spacing-5: 1.25rem; /* 20px */
  --spacing-6: 1.5rem; /* 24px */
  --spacing-8: 2rem; /* 32px */
  --spacing-10: 2.5rem; /* 40px */
  --spacing-12: 3rem; /* 48px */
  --spacing-16: 4rem; /* 64px */
  --spacing-20: 5rem; /* 80px */
  --spacing-24: 6rem; /* 96px */
  /* ===================================
     Icon Sizing
     Standard icon dimensions used across components.
     =================================== */
  --icon-xs: 0.75rem; /* 12px */
  --icon-sm: 1rem; /* 16px */
  --icon-base: 1.25rem; /* 20px */
  --icon-lg: 1.5rem; /* 24px */
  --icon-xl: 2rem; /* 32px */
  /* ===================================
     Z-Index Layering
     Stack order for overlapping UI. Higher = on top.
     Components should use the semantic name, not a literal z-index.
     =================================== */
  --z-base: 0;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-fixed: 30;
  --z-overlay: 40;
  --z-modal: 50;
  --z-popover: 60;
  --z-tooltip: 70;
}

/* :root font tokens — make the engine sans-serif stack reachable from
   unscoped chrome (html, body, page background) so any element outside
   `.theme-scope` doesn't fall back to Times-on-Mac. The same tokens are
   redeclared inside `.theme-scope` below so themed scopes can override
   them per theme (`themes/<name>/tokens.scss` emits `.theme-scope[data-theme=X]`
   token blocks that win over both). */
:root {
  --font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  --font-mono: 'Menlo', ui-monospace, SFMono-Regular, 'SF Mono', Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
  --font-display: var(--font-sans);
  --font-marketing: var(--font-sans);
}

.theme-scope {
  /* ===================================
     Typography Tokens
     =================================== */
  /* Font Families */
  --font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  --font-mono: 'Menlo', ui-monospace, SFMono-Regular, 'SF Mono', Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
  /* Marketing/Display Font (for landing pages, hero sections) */
  --font-display: var(--font-sans);
  /* Body Copy Font (for marketing content) */
  --font-marketing: var(--font-sans);
  /* Font Sizes */
  --text-xs: 0.75rem; /* 12px */
  --text-sm: 0.875rem; /* 14px */
  --text-base: 1rem; /* 16px */
  --text-lg: 1.125rem; /* 18px */
  --text-xl: 1.25rem; /* 20px */
  --text-2xl: 1.5rem; /* 24px */
  --text-3xl: 1.875rem; /* 30px */
  --text-4xl: 2.25rem; /* 36px */
  /* Font Weights */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  /* Semantic Weight Roles */
  --font-heading-weight: var(--font-semibold);
  --font-display-weight: var(--font-bold);
  --font-control-weight: var(--font-medium);
  --font-emphasis-weight: var(--font-semibold);
  /* Line Heights */
  --leading-none: 1;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
  /* Letter Spacing */
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  /* Heading Sizes (semantic) */
  --text-h1: 2rem; /* 32px */
  --text-h2: 1.5rem; /* 24px */
  --text-h3: 1.25rem; /* 20px */
  --text-h4: 1.125rem; /* 18px */
  --text-h5: 1rem; /* 16px */
  --text-h6: 0.875rem; /* 14px */
  /* Component-Specific Typography */
  --text-button: var(--text-sm);
  --text-button-sm: var(--text-xs);
  --text-button-lg: var(--text-base);
  --text-badge: var(--text-xs);
  --text-input: var(--text-sm);
  --text-label: var(--text-sm);
  --text-copy-btn: var(--text-xs);
}

.theme-scope {
  /* ===================================
     Border Radius Tokens
     =================================== */
  --radius-none: 0;
  --radius-sm: 0.25rem; /* 4px */
  --radius-md: 0.375rem; /* 6px */
  --radius-lg: 0.5rem; /* 8px */
  --radius-xl: 0.75rem; /* 12px */
  --radius-2xl: 1rem; /* 16px */
  --radius-full: 9999px; /* Fully rounded */
  /* Component-Specific Radii */
  --radius-button: var(--radius-md);
  --radius-input: var(--radius-md);
  --radius-card: var(--radius-lg);
  --radius-badge: var(--radius-md);
  --radius-badge-pill: var(--radius-full);
  --radius-dropdown: var(--radius-md);
  --radius-tab: var(--radius-md);
  --radius-tab-modern: var(--radius-md);
  --radius-toast: var(--radius-lg);
}

.theme-scope {
  /* ===================================
     Shadow Tokens
     =================================== */
  /* Base Shadows */
  --shadow-none: none;
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  /* Component-Specific Shadows */
  --shadow-card: var(--shadow-md);
  --shadow-dropdown: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-toast: 0 5px 15px -3px rgba(0, 0, 0, 0.08);
  /* Toast shadow stops — composed at the call-site so semantic variants
     can swap the inner stop for a colored glow via color-mix. Outer is
     the drop shadow; inner is the soft ambient default. Both override
     in dark mode (see the dark variant block below). */
  --shadow-toast-outer: 0 5px 15px -3px rgba(0, 0, 0, 0.08);
  --shadow-toast-inner: 0 2px 4px -1px rgba(0, 0, 0, 0.04);
  /* Focus Ring Sizes (used with color-*-ring variables) */
  --ring-width: 3px;
  --ring-offset: 0px;
}

/* Dark variant — softer shadows + heavier ambient on near-black surfaces */
.theme-scope.dark,
.theme-scope[data-variant=dark],
.theme-scope[data-theme=dark],
.dark .theme-scope,
[data-variant=dark] .theme-scope,
[data-theme=dark] .theme-scope {
  --shadow-toast-outer: 0 4px 12px -1px rgba(0, 0, 0, 0.4);
  --shadow-toast-inner: 0 2px 6px -1px rgba(0, 0, 0, 0.3);
}

.theme-scope {
  /* ===================================
     Motion Tokens
     Transition durations + easing curves used across components.
     Themes MAY override durations to feel snappier/slower; easings
     should stay consistent across themes for a coherent motion language.
     =================================== */
  /* Durations */
  --transition-instant: 0ms;
  --transition-fast: 150ms;
  --transition-base: 200ms;
  --transition-slow: 300ms;
  --transition-slower: 500ms;
  /* Easings */
  --ease: ease;
  --ease-in: ease-in;
  --ease-out: ease-out;
  --ease-in-out: ease-in-out;
  /* Sharper curves for interactive feedback */
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

/* All CSS custom properties are now defined in ../tokens/ 
   This file exists for backwards compatibility and to allow 
   theme-specific overrides */
/* Import all component partials with underscore prefix */
/* Engine baseline for unscoped chrome (html, body, page wrapper).
   Without this, anything that renders outside `.theme-scope` falls back
   to the browser default — Times on Mac, etc. Apps that wrap content in
   `.theme-scope` still get the scoped overrides; this just guarantees
   the page chrome itself is sans-serif even when nothing is themed. */
html,
body {
  height: 100%;
  font-family: var(--font-role-body, var(--font-sans, ui-sans-serif, system-ui, sans-serif));
}

.theme-scope {
  font-family: var(--font-role-body, var(--font-sans, ui-sans-serif, system-ui, sans-serif));
  color: var(--color-text-primary);
  line-height: 1.5;
  background-color: var(--color-bg-primary);
  padding: 1.25rem;
  border-radius: var(--radius-lg);
  box-sizing: border-box;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}
.theme-scope.app-main-content {
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
.theme-scope *,
.theme-scope *::before,
.theme-scope *::after {
  box-sizing: border-box;
  border-style: none;
  border-width: 0;
}
.theme-scope [hidden]:not([hidden=until-found]) {
  display: none !important;
}

body.theme-scope {
  margin: 0;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Engine baseline font-family on unscoped chrome (html, body). Without
   this, anything that renders outside `.theme-scope` falls back to the
   browser default — Times on Mac, etc. Apps that wrap content in
   `.theme-scope` get the scoped overrides; this just guarantees that
   the page chrome itself is sans-serif even before any theme loads.
   Uses a literal stack (not var()) so it works at :root before token
   blocks are read by the cascade. Themes that want a specific body
   font (e.g. chorus's Geist) still need to set it on body themselves. */
html,
body {
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;
}
.theme-scope h1,
.theme-scope h2,
.theme-scope h3,
.theme-scope h4,
.theme-scope h5,
.theme-scope h6 {
  font-family: var(--font-role-heading, var(--font-sans));
  font-weight: var(--font-heading-weight);
  line-height: var(--leading-tight);
  color: var(--color-text-primary);
  letter-spacing: -0.015em; /* Tighter tracking for headings */
}
.theme-scope h1 {
  font-family: var(--font-role-display, var(--font-display, var(--font-role-heading, var(--font-sans))));
  font-size: var(--text-h1);
  margin-bottom: 0.75rem;
}
.theme-scope h2 {
  font-size: var(--text-2xl);
  margin-bottom: 0.625rem;
}
.theme-scope h3 {
  font-size: var(--text-xl);
  margin-bottom: 0.5rem;
}
.theme-scope h4 {
  font-size: var(--text-lg);
  margin-bottom: 0.5rem;
}
.theme-scope h5 {
  font-size: var(--text-base);
  margin-bottom: 0.375rem;
}
.theme-scope h6 {
  font-size: var(--text-sm);
  margin-bottom: 0.25rem;
}
.theme-scope p {
  margin-bottom: 0.75rem; /* Reduced from 1rem */
  /* color: var(--color-text-secondary); */
  color: var(--color-text-primary); /* looks better I think */
  line-height: 1.6; /* Slightly tighter */
}
.theme-scope strong, .theme-scope b {
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-primary);
}
.theme-scope em, .theme-scope i {
  font-style: italic;
}
.theme-scope .text-display-xl {
  font-family: var(--font-role-display, var(--font-display, var(--font-sans)));
  font-size: 2.25rem; /* text-4xl */
  font-weight: var(--font-display-weight);
  color: var(--color-gray-300);
  letter-spacing: -0.025em; /* tracking-tight */
  line-height: var(--leading-tight);
}
.theme-scope .text-display-lg {
  font-family: var(--font-role-display, var(--font-display, var(--font-sans)));
  font-size: 1.875rem; /* text-3xl */
  font-weight: var(--font-display-weight);
  color: var(--color-gray-300);
  letter-spacing: -0.025em; /* tracking-tight */
  line-height: var(--leading-tight);
}
.theme-scope .text-display-md {
  font-family: var(--font-role-display, var(--font-display, var(--font-sans)));
  font-size: var(--text-2xl); /* text-2xl */
  font-weight: var(--font-display-weight);
  color: var(--color-gray-300);
  letter-spacing: -0.025em; /* tracking-tight */
  line-height: var(--leading-tight);
}
.theme-scope .text-display-sm {
  font-family: var(--font-role-display, var(--font-display, var(--font-sans)));
  font-size: var(--text-xl); /* text-xl */
  font-weight: var(--font-display-weight);
  color: var(--color-gray-300);
  letter-spacing: -0.025em; /* tracking-tight */
  line-height: var(--leading-tight);
}
.theme-scope .link,
.theme-scope :where(a:not([role=button]):not([class*=btn]):not([class*=button])) {
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.15s ease-in-out;
}
.theme-scope .link:hover,
.theme-scope :where(a:not([role=button]):not([class*=btn]):not([class*=button]):hover) {
  color: var(--color-primary-hover);
  text-decoration: underline;
}
.theme-scope code {
  padding: 0.125rem 0.375rem;
  background-color: var(--color-code-bg);
  color: var(--color-code-text);
  border-radius: var(--radius-sm);
  font-family: var(--font-role-code, var(--font-mono, ui-monospace, monospace));
  font-size: 0.875em;
}
.theme-scope pre {
  padding: 1rem;
  background-color: var(--color-code-bg-dark);
  color: var(--color-code-text-dark);
  border: 1px solid var(--color-code-border, var(--color-border));
  border-radius: var(--radius-lg);
  overflow-x: auto;
  margin-bottom: 1rem;
}
.theme-scope pre code {
  padding: 0;
  background-color: transparent;
  color: inherit;
  border-radius: 0;
  font-size: var(--text-sm);
}
.theme-scope blockquote {
  padding-left: 1rem;
  border-left: 4px solid var(--color-border);
  color: var(--color-text-neutral);
  font-style: italic;
  margin-bottom: 1rem;
}
.theme-scope hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 1.5rem 0;
}
.theme-scope .font-serif {
  font-family: var(--font-serif);
}
.theme-scope .font-medium {
  font-weight: var(--font-medium);
}
.theme-scope .font-semibold {
  font-weight: var(--font-semibold);
}
.theme-scope .font-bold {
  font-weight: var(--font-bold);
}
.theme-scope .font-weight-heading {
  font-weight: var(--font-heading-weight);
}
.theme-scope .font-weight-display {
  font-weight: var(--font-display-weight);
}
.theme-scope .font-weight-control {
  font-weight: var(--font-control-weight);
}
.theme-scope .font-weight-emphasis {
  font-weight: var(--font-emphasis-weight);
}
.theme-scope .italic {
  font-style: italic;
}

/**
 * Prose Styles - Typography for Markdown Content
 *
 * Apply .prose to any container with rendered markdown/HTML content
 * to restore proper typography styling stripped by Tailwind's reset.
 *
 * Based on Tailwind Typography plugin patterns.
 *
 * Usage:
 *   <div class="prose">
 *     <!-- rendered markdown content -->
 *   </div>
 *
 * Variants:
 *   .prose-sm  - Smaller text (articles in sidebars)
 *   .prose-lg  - Larger text (featured content)
 *   .prose-invert - Light text on dark background
 */
.prose {
  color: var(--color-text-primary);
  max-width: 65ch;
  font-size: 1rem;
  line-height: 1.75;
}
.prose.prose-full {
  max-width: none;
}
.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 {
  color: var(--color-text-primary);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;
}
.prose h1 {
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
}
.prose h2 {
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid var(--color-border);
}
.prose h3 {
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
}
.prose h4 {
  font-size: 1em;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.prose h5 {
  font-size: 0.875em;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.prose h6 {
  font-size: 0.875em;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  color: var(--color-text-secondary);
}
.prose p {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose > :first-child {
  margin-top: 0;
}
.prose > :last-child {
  margin-bottom: 0;
}
.prose a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
  transition: color 0.15s;
}
.prose a:hover {
  color: var(--color-primary-hover);
}
.prose strong, .prose b {
  color: var(--color-text-primary);
  font-weight: 600;
}
.prose em, .prose i {
  font-style: italic;
}
.prose code {
  color: var(--color-code-text);
  background-color: var(--color-code-bg);
  padding: 0.2em 0.4em;
  border-radius: var(--radius-sm);
  font-size: 0.875em;
  font-family: var(--font-role-code, var(--font-mono));
  font-weight: 500;
}
.prose pre code {
  background-color: transparent;
  padding: 0;
  font-size: inherit;
  font-weight: normal;
  color: inherit;
  border-radius: 0;
}
.prose pre {
  color: var(--color-code-text-dark);
  background-color: var(--color-code-bg-dark);
  overflow-x: auto;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: var(--radius-md);
  padding: 0.8571429em 1.1428571em;
  font-family: var(--font-role-code, var(--font-mono));
}
.prose blockquote {
  font-style: italic;
  color: var(--color-text-secondary);
  border-left: 4px solid var(--color-border);
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-left: 1em;
  quotes: "“" "”" "‘" "’";
}
.prose blockquote p:first-of-type::before {
  content: open-quote;
}
.prose blockquote p:last-of-type::after {
  content: close-quote;
}
.prose hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin-top: 3em;
  margin-bottom: 3em;
}
.prose ul, .prose ol {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.625em;
}
.prose ul {
  list-style-type: disc;
}
.prose ol {
  list-style-type: decimal;
}
.prose li {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.prose ul ul, .prose ul ol, .prose ol ul, .prose ol ol {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.prose li::marker {
  color: var(--color-text-tertiary);
}
.prose ol > li::marker {
  color: var(--color-text-secondary);
  font-weight: 500;
}
.prose ul.contains-task-list {
  list-style-type: none;
  padding-left: 0;
}
.prose li.task-list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
}
.prose li.task-list-item input[type=checkbox] {
  margin-top: 0.35em;
}
.prose img {
  margin-top: 2em;
  margin-bottom: 2em;
  border-radius: var(--radius-md);
}
.prose figure {
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose figcaption {
  color: var(--color-text-secondary);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
  text-align: center;
}
.prose .table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 2em;
  margin-bottom: 2em;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background-color: var(--color-bg-primary, white);
}
.prose .table-wrapper table {
  margin-top: 0;
  margin-bottom: 0;
  border: none;
  border-radius: 0;
}
.prose table {
  width: 100%;
  table-layout: auto;
  text-align: left;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875rem;
  line-height: 1.5;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--color-bg-primary, white);
}
.prose thead {
  background-color: var(--color-bg-muted);
}
.prose thead th {
  color: var(--color-text-muted);
  font-weight: 500;
  vertical-align: middle;
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}
.prose tbody tr {
  transition: background-color 0.15s;
}
.prose tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.prose tbody td {
  vertical-align: middle;
  padding: 1rem;
  border-bottom: 1px solid var(--color-border);
}
.prose tbody tr:last-child td {
  border-bottom: none;
}
.prose tbody td:first-child {
  font-weight: 500;
}
@media (max-width: 640px) {
  .prose .table-wrapper {
    margin-left: -1rem;
    margin-right: -1rem;
    border-radius: 0;
    border-left: none;
    border-right: none;
  }
  .prose table {
    font-size: 0.8125rem;
    border-radius: 0;
  }
  .prose thead th,
  .prose tbody td {
    padding: 0.75rem;
    white-space: nowrap;
  }
}
.prose dl {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose dt {
  color: var(--color-text-primary);
  font-weight: 600;
  margin-top: 1.25em;
}
.prose dd {
  margin-top: 0.5em;
  padding-left: 1.625em;
}
.prose abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
}
.prose kbd {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.875em;
  padding: 0.125em 0.375em;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background-color: var(--color-bg-secondary);
  box-shadow: 0 1px 0 var(--color-border);
}
.prose sub, .prose sup {
  font-size: 0.75em;
}

.prose-sm {
  font-size: 0.875rem;
  line-height: 1.7142857;
}
.prose-sm h1 {
  font-size: 1.75em;
}
.prose-sm h2 {
  font-size: 1.25em;
}
.prose-sm h3 {
  font-size: 1.125em;
}
.prose-sm p, .prose-sm ul, .prose-sm ol, .prose-sm blockquote {
  margin-top: 1em;
  margin-bottom: 1em;
}
.prose-sm pre {
  font-size: 0.8em;
}

.prose-lg {
  font-size: 1.125rem;
  line-height: 1.7777778;
}
.prose-lg h1 {
  font-size: 2.5em;
}
.prose-lg h2 {
  font-size: 1.75em;
}
.prose-lg h3 {
  font-size: 1.375em;
}
.prose-lg p, .prose-lg ul, .prose-lg ol, .prose-lg blockquote {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}

.prose-invert {
  color: var(--color-text-invert);
}
.prose-invert h1, .prose-invert h2, .prose-invert h3, .prose-invert h4, .prose-invert h5, .prose-invert h6, .prose-invert strong, .prose-invert b {
  color: var(--color-text-invert);
}
.prose-invert h2 {
  border-bottom-color: var(--color-border-invert);
}
.prose-invert a {
  color: var(--color-primary-light);
}
.prose-invert a:hover {
  color: var(--color-primary-lighter);
}
.prose-invert code {
  color: var(--color-code-text-invert);
  background-color: var(--color-code-bg-invert);
}
.prose-invert blockquote {
  border-left-color: var(--color-border-invert);
  color: var(--color-text-secondary-invert);
}
.prose-invert hr {
  border-top-color: var(--color-border-invert);
}
.prose-invert thead {
  border-bottom-color: var(--color-border-strong-invert);
}
.prose-invert tbody tr {
  border-bottom-color: var(--color-border-invert);
}
.prose-invert li::marker {
  color: var(--color-text-tertiary-invert);
}

.prose-compact h1 {
  margin-bottom: 0.5em;
}
.prose-compact h2 {
  margin-top: 1.25em;
  margin-bottom: 0.5em;
}
.prose-compact h3 {
  margin-top: 1em;
  margin-bottom: 0.4em;
}
.prose-compact h4, .prose-compact h5, .prose-compact h6 {
  margin-top: 0.75em;
  margin-bottom: 0.25em;
}
.prose-compact p, .prose-compact ul, .prose-compact ol, .prose-compact blockquote {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.prose-compact hr {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.theme-scope ul, .theme-scope ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  color: var(--color-text-neutral);
}
.theme-scope ul {
  list-style-type: disc;
}
.theme-scope ol {
  list-style-type: decimal;
}
.theme-scope li {
  margin-bottom: 0.5rem;
}
.theme-scope ul ul, .theme-scope ol ol {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.theme-scope .list-none {
  list-style-type: none;
  padding-left: 0;
}
.theme-scope dl {
  margin: 0;
}
.theme-scope dt {
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-primary);
}
.theme-scope dd {
  margin: 0;
  color: var(--color-text-secondary);
}
.theme-scope table {
  width: 100%;
  margin-bottom: 1rem;
}
.theme-scope th {
  padding: 0.75rem;
  font-weight: var(--font-emphasis-weight);
  text-align: left;
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-border);
}
.theme-scope td {
  padding: 0.75rem;
  color: var(--color-text-neutral);
  border-bottom: 1px solid var(--color-border);
}
.theme-scope tbody tr:last-child td {
  border-bottom: none;
}
.theme-scope .app-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 1rem;
}
.theme-scope .app-table th, .theme-scope .app-table td {
  border: none;
  border-bottom: 1px solid var(--color-border);
}
.theme-scope .app-table th {
  background-color: var(--color-bg-secondary);
}
.theme-scope .app-table tbody tr:last-child td {
  border-bottom: none;
}
.theme-scope .app-table th:not(:last-child),
.theme-scope .app-table td:not(:last-child) {
  border-right: 1px solid var(--color-border);
}
.theme-scope .data-table td {
  padding: 0.25rem 1rem;
}
.theme-scope .data-table th {
  padding: 0.5rem 1rem;
  height: 1.3rem;
}
.theme-scope tr:hover {
  background-color: var(--color-bg-secondary);
}
.theme-scope .table-compact {
  border-collapse: collapse;
  background-color: var(--color-bg-primary);
}
.theme-scope .table-compact caption {
  caption-side: bottom;
  text-align: left;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  padding: 0.75rem 1rem;
  margin-top: 0;
}
.theme-scope .table-compact thead {
  background-color: transparent;
}
.theme-scope .table-compact thead tr {
  border-bottom: 1px solid var(--color-border);
  transition: none;
}
.theme-scope .table-compact thead tr:hover {
  background-color: transparent;
}
.theme-scope .table-compact thead th {
  height: 3rem;
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: var(--font-control-weight);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  vertical-align: middle;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--color-border);
}
.theme-scope .table-compact thead th.text-right {
  text-align: right;
}
.theme-scope .table-compact tbody tr {
  border-bottom: 1px solid var(--color-border);
  transition: background-color 0.2s ease;
}
.theme-scope .table-compact tbody tr:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .table-compact tbody tr:last-child {
  border-bottom: none;
}
.theme-scope .table-compact tbody td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
  border: none;
  color: var(--color-text-primary);
  font-size: var(--text-sm);
}
.theme-scope .table-compact tfoot {
  background-color: var(--color-bg-secondary);
  border-top: 1px solid var(--color-border);
  font-weight: var(--font-control-weight);
}
.theme-scope .table-compact tfoot tr {
  border: none;
}
.theme-scope .table-compact tfoot tr:hover {
  background-color: var(--color-bg-secondary);
}
.theme-scope .table-compact tfoot td {
  padding: 0.75rem 1rem;
  border: none;
  color: var(--color-text-primary);
  font-size: var(--text-sm);
}
.theme-scope .table-compact .table-caption {
  caption-side: bottom;
  margin-top: 0.5rem;
  padding: 0.75rem 1rem;
  text-align: center;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}
.theme-scope .expandable-table-container {
  font-size: var(--text-sm);
}
.theme-scope .expandable-table-header-row {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  gap: 0.5rem;
}
.theme-scope .expandable-table-header-row .exp-col-name {
  flex: 1;
  min-width: 0;
  /* padding-left: 1.25rem; /* account for native marker */
  padding-left: 0; /* flush left instead */
}
.theme-scope .expandable-table-header-row .exp-col-type {
  width: 100px;
  flex-shrink: 0;
}
.theme-scope .expandable-table-header-row .exp-col-status {
  width: 100px;
  flex-shrink: 0;
}
.theme-scope .expandable-table-header-row .exp-col-date {
  width: 110px;
  flex-shrink: 0;
  text-align: right;
}
.theme-scope .expandable-row {
  border-bottom: none;
  border-bottom-width: 1px; /* Override .divide-y */
  --tw-divide-y-reverse: 0; /* Override Tailwind divide */
  margin-bottom: 0;
  border-radius: 0; /* Reset default details radius */
  padding: 0;
  background: var(--color-bg-primary);
}
.theme-scope .expandable-row:first-child {
  border-top-left-radius: var(--radius-md);
  border-top-right-radius: var(--radius-md);
}
.theme-scope .expandable-row:first-child summary {
  border-top-left-radius: var(--radius-md);
  border-top-right-radius: var(--radius-md);
}
.theme-scope .expandable-row:last-child {
  border-bottom-left-radius: var(--radius-md);
  border-bottom-right-radius: var(--radius-md);
}
.theme-scope .expandable-row:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.theme-scope .expandable-row:not(:first-child):not(:last-child) summary {
  border-radius: 0;
}
.theme-scope .expandable-row summary {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  gap: 0.5rem;
  cursor: pointer;
  transition: background-color 0.15s ease;
  border-radius: 0; /* Reset default */
  margin-bottom: 0 !important;
}
.theme-scope .expandable-row summary:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .expandable-row summary .exp-col-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theme-scope .expandable-row summary .exp-col-type {
  width: 100px;
  flex-shrink: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theme-scope .expandable-row summary .exp-col-status {
  width: 100px;
  flex-shrink: 0;
}
.theme-scope .expandable-row summary .exp-col-date {
  width: 110px;
  flex-shrink: 0;
  text-align: right;
  white-space: nowrap;
  color: var(--color-text-muted);
}
.theme-scope .expandable-row[open] summary {
  background-color: var(--color-bg-muted);
}
.theme-scope .expandable-row-content {
  padding: 1rem 1rem 1rem 2.5rem;
}
.theme-scope input[type=text],
.theme-scope input[type=email],
.theme-scope input[type=password],
.theme-scope input[type=number],
.theme-scope input[type=url],
.theme-scope input[type=search],
.theme-scope input[type=tel],
.theme-scope input[type=date],
.theme-scope input[type=time],
.theme-scope input[type=datetime-local],
.theme-scope input[type=month],
.theme-scope input[type=week],
.theme-scope input[type=file],
.theme-scope textarea:not(.inputarea),
.theme-scope select,
.theme-scope .form-input,
.theme-scope .form-select {
  display: block;
  width: 100%;
  margin: 0;
  padding: var(--input-padding-y) var(--input-padding-x);
  font-size: var(--text-input);
  line-height: var(--leading-normal);
  color: var(--color-text-primary);
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.theme-scope .form-input.pl-10 {
  padding-left: 2.5rem;
}
.theme-scope .form-input.rounded-none,
.theme-scope textarea.form-input.rounded-none,
.theme-scope input.form-input.rounded-none {
  border-radius: 0;
}
.theme-scope .form-input.rounded-t-none,
.theme-scope textarea.form-input.rounded-t-none,
.theme-scope input.form-input.rounded-t-none {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.theme-scope .form-input.rounded-b-none,
.theme-scope textarea.form-input.rounded-b-none,
.theme-scope input.form-input.rounded-b-none {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.theme-scope input[type=text]:focus,
.theme-scope input[type=email]:focus,
.theme-scope input[type=password]:focus,
.theme-scope input[type=number]:focus,
.theme-scope input[type=url]:focus,
.theme-scope input[type=search]:focus,
.theme-scope input[type=tel]:focus,
.theme-scope input[type=date]:focus,
.theme-scope input[type=time]:focus,
.theme-scope input[type=datetime-local]:focus,
.theme-scope input[type=month]:focus,
.theme-scope input[type=week]:focus,
.theme-scope input[type=file]:focus,
.theme-scope textarea:not(.inputarea):focus,
.theme-scope select:focus,
.theme-scope .form-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-ring);
}
.theme-scope input[type=text]:disabled,
.theme-scope input[type=email]:disabled,
.theme-scope input[type=password]:disabled,
.theme-scope input[type=number]:disabled,
.theme-scope input[type=url]:disabled,
.theme-scope input[type=search]:disabled,
.theme-scope input[type=tel]:disabled,
.theme-scope input[type=date]:disabled,
.theme-scope input[type=time]:disabled,
.theme-scope input[type=datetime-local]:disabled,
.theme-scope input[type=month]:disabled,
.theme-scope input[type=week]:disabled,
.theme-scope input[type=file]:disabled,
.theme-scope textarea:not(.inputarea):disabled,
.theme-scope select:disabled,
.theme-scope .form-input:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-muted);
  cursor: not-allowed;
}
.theme-scope input[readonly],
.theme-scope textarea:not(.inputarea)[readonly],
.theme-scope .form-input[readonly] {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-secondary);
}
.theme-scope textarea:not(.inputarea) {
  resize: vertical;
  min-height: 80px;
  overflow: hidden;
}
.theme-scope textarea.no-auto-grow {
  resize: both;
  overflow: auto;
}
.theme-scope select,
.theme-scope .form-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='%236b7280' d='M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 1.25rem 1.25rem;
  padding-right: 2.5rem;
}
.theme-scope select:disabled,
.theme-scope .form-select:disabled {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='%23cbd5e1' d='M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z'/%3E%3C/svg%3E");
}
.theme-scope .form-input-sm,
.theme-scope .form-select-sm {
  font-size: var(--text-xs);
  padding: var(--input-padding-sm-y) var(--input-padding-sm-x);
  line-height: 1.25;
}
.theme-scope .form-select-sm {
  background-size: 1rem 1rem;
  background-position: right 0.375rem center;
  padding-right: 1.75rem;
}
.theme-scope .form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: var(--font-control-weight);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
}
.theme-scope .form-label-inline,
.theme-scope .form-label.inline {
  display: inline;
  margin-bottom: 0;
}
.theme-scope .field-check,
.theme-scope label.field-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  margin-bottom: 0;
}
.theme-scope .field-check.items-start {
  align-items: flex-start;
}
.theme-scope .field-check input[type=checkbox],
.theme-scope .field-check input[type=radio] {
  flex-shrink: 0;
}
.theme-scope .field-check > span,
.theme-scope .field-check > div {
  flex: 1;
}
.theme-scope .field-check .field-check-label {
  font-weight: var(--font-control-weight);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  line-height: 1.25;
}
.theme-scope .field-check .field-check-description {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-top: 0.25rem;
}
.theme-scope input[type=checkbox],
.theme-scope input[type=radio],
.theme-scope .form-checkbox,
.theme-scope .form-radio {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  margin: 0; /* reset user-agent defaults that leak through flex centering */
  flex-shrink: 0;
  background-color: var(--color-control-bg);
  border: 1px solid var(--color-control-border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  accent-color: var(--color-control-checked);
}
.theme-scope input[type=radio] {
  border-radius: 50%;
}
.theme-scope input[type=checkbox]:hover,
.theme-scope input[type=radio]:hover {
  background-color: var(--color-control-bg-hover);
  border-color: var(--color-control-border-hover);
}
.theme-scope input[type=checkbox]:checked,
.theme-scope input[type=radio]:checked {
  background-color: var(--color-control-checked);
  border-color: var(--color-control-checked-border);
}
.theme-scope input[type=checkbox]:checked:hover,
.theme-scope input[type=radio]:checked:hover {
  background-color: var(--color-control-checked-hover);
  border-color: var(--color-control-checked-hover);
}
.theme-scope input[type=checkbox]:focus,
.theme-scope input[type=radio]:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-control-ring);
}
.theme-scope input[type=range],
.theme-scope .form-range {
  width: 100%;
  height: 0.25rem;
  background: var(--color-border-light);
  border-radius: var(--radius-full);
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.theme-scope input[type=range]::-webkit-slider-runnable-track,
.theme-scope .form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.25rem;
  background: var(--color-border-light);
  border-radius: var(--radius-full);
}
.theme-scope input[type=range]::-webkit-slider-thumb,
.theme-scope .form-range::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 1rem;
  height: 1rem;
  background: var(--color-bg-primary);
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  cursor: pointer;
  margin-top: -0.375rem;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.15s ease-in-out;
}
.theme-scope input[type=range]::-webkit-slider-thumb:hover,
.theme-scope .form-range::-webkit-slider-thumb:hover {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope input[type=range]::-webkit-slider-thumb:active,
.theme-scope .form-range::-webkit-slider-thumb:active {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope input[type=range]::-moz-range-track,
.theme-scope .form-range::-moz-range-track {
  width: 100%;
  height: 0.25rem;
  background: var(--color-border-light);
  border-radius: var(--radius-full);
  border: none;
}
.theme-scope input[type=range]::-moz-range-thumb,
.theme-scope .form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background: var(--color-bg-primary);
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.15s ease-in-out;
}
.theme-scope input[type=range]::-moz-range-thumb:hover,
.theme-scope .form-range::-moz-range-thumb:hover {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope input[type=range]::-moz-range-thumb:active,
.theme-scope .form-range::-moz-range-thumb:active {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope input[type=range]:focus,
.theme-scope .form-range:focus {
  outline: none;
}
.theme-scope input[type=range]:focus::-webkit-slider-thumb,
.theme-scope .form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope input[type=range]:focus::-moz-range-thumb,
.theme-scope .form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope input[type=checkbox].form-toggle {
  appearance: none;
  width: 2.75rem;
  height: 1.5rem;
  background-color: var(--color-toggle-bg);
  border-radius: var(--radius-full);
  position: relative;
  cursor: pointer;
  outline: none;
  transition: background-color 0.2s ease-in-out;
  border: none;
  flex-shrink: 0; /* Prevent squashing in flex containers */
  box-sizing: border-box;
  margin: 0;
}
.theme-scope .form-toggle::after {
  content: "";
  position: absolute;
  top: 0.125rem;
  left: 0.125rem;
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--color-toggle-knob);
  border-radius: 50%;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s ease-in-out;
}
.theme-scope input[type=checkbox].form-toggle:checked {
  background-color: var(--color-toggle-bg-checked);
  border-color: transparent;
}
.theme-scope .form-toggle:checked::after {
  transform: translateX(1.25rem);
}
.theme-scope input[type=checkbox].form-toggle:focus {
  box-shadow: 0 0 0 3px var(--color-control-ring);
}
.theme-scope input[type=checkbox].form-toggle:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.theme-scope .input-group {
  display: flex;
  position: relative;
  width: 100%;
  align-items: stretch;
}
.theme-scope .input-group-text {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.625rem;
  font-size: var(--text-sm);
  font-weight: 400;
  line-height: var(--leading-normal);
  color: var(--color-text-secondary);
  text-align: center;
  white-space: nowrap;
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
}
.theme-scope label.input-group-text,
.theme-scope .form-label.input-group-text,
.theme-scope .input-group-text label,
.theme-scope .input-group-text .form-label {
  margin-bottom: 0;
}
.theme-scope .input-group .form-input,
.theme-scope .input-group .form-select {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  border-radius: var(--radius-md);
}
.theme-scope .input-group textarea {
  min-height: auto;
  height: auto;
}
.theme-scope .input-group > :not(:first-child) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.theme-scope .input-group > :not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.theme-scope .input-group .form-input:focus,
.theme-scope .input-group .form-select:focus,
.theme-scope .input-group .btn-primary:focus,
.theme-scope .input-group .btn-secondary:focus,
.theme-scope .input-group .action-btn:focus {
  z-index: 20;
  position: relative;
}
.theme-scope .input-group .btn-primary,
.theme-scope .input-group .btn-secondary,
.theme-scope .input-group .action-btn {
  position: relative;
  z-index: 10;
}
.theme-scope .btn,
.theme-scope [class^=btn-],
.theme-scope [class*=" btn-"],
.theme-scope .action-btn,
.theme-scope .copy-button,
.theme-scope .copy-button-copied {
  font-family: var(--font-role-control, var(--font-sans));
}
.theme-scope .btn-default {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-bg-primary);
  background-color: var(--color-text-primary);
  border: 1px solid var(--color-text-primary);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-default:hover {
  background-color: var(--color-text-neutral-dark);
  border-color: var(--color-text-neutral-dark);
  color: var(--color-bg-primary);
  text-decoration: none;
}
.theme-scope .btn-default:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-gray-ring);
}
.theme-scope .btn-default:active {
  background-color: var(--color-text-neutral);
  border-color: var(--color-text-neutral);
}
.theme-scope .btn-default:disabled {
  background-color: var(--color-bg-disabled);
  border-color: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .btn-primary,
.theme-scope .action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-primary-text);
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-primary:hover,
.theme-scope .action-btn:hover {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: var(--color-primary-text);
  text-decoration: none;
}
.theme-scope .btn-primary:focus,
.theme-scope .action-btn:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-primary-ring);
}
.theme-scope .btn-primary:active,
.theme-scope .action-btn:active {
  background-color: var(--color-primary-active);
  border-color: var(--color-primary-active);
}
.theme-scope .btn-primary:disabled,
.theme-scope .action-btn:disabled {
  background-color: var(--color-bg-disabled);
  border-color: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .btn-primary.btn-icon,
.theme-scope .action-btn.btn-icon {
  padding: var(--space-btn-icon);
  border-radius: var(--radius-2xl);
  min-width: 44px;
  aspect-ratio: 1;
}
.theme-scope .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-primary);
  background-color: var(--color-primary-light);
  border: 1px solid currentColor;
  box-shadow: var(--button-outline-shadow, inset 0 0 0 1px currentColor);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-secondary:hover {
  background-color: var(--color-primary-lighter);
  color: var(--color-primary-hover);
  text-decoration: none;
}
.theme-scope .btn-secondary:focus {
  outline: none;
  box-shadow: var(--button-outline-focus-shadow, inset 0 0 0 1px currentColor, 0 0 0 var(--ring-width) var(--color-primary-ring));
}
.theme-scope .btn-secondary:active {
  background-color: var(--color-primary-lightest);
  color: var(--color-primary-active);
}
.theme-scope .btn-secondary:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .btn-tertiary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x); /* Matches form-input height */
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-primary);
  background-color: transparent;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-tertiary:hover {
  background-color: var(--color-bg-secondary);
  color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  text-decoration: none;
}
.theme-scope .btn-tertiary:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-primary-ring);
}
.theme-scope .btn-tertiary:active {
  background-color: var(--color-bg-muted);
  color: var(--color-primary-active);
  border-color: var(--color-primary-active);
}
.theme-scope .btn-tertiary:disabled {
  background-color: transparent;
  border-color: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .btn-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-gap-xs);
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-primary);
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-link:hover {
  color: var(--color-primary-hover);
  text-decoration: none;
  background-color: var(--color-bg-secondary);
}
.theme-scope .btn-link:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-primary-ring);
}
.theme-scope .btn-link:active {
  color: var(--color-primary-active);
  background-color: var(--color-bg-muted);
}
.theme-scope .btn-link:disabled,
.theme-scope .btn-link:disabled:hover {
  color: var(--color-text-disabled);
  cursor: not-allowed;
  text-decoration: none;
  background-color: transparent;
  border-color: transparent;
  opacity: 0.6;
}
.theme-scope .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-text-primary);
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-ghost:hover {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
  text-decoration: none;
}
.theme-scope .btn-ghost:focus {
  outline: none;
  background-color: var(--color-bg-secondary);
  box-shadow: 0 0 0 var(--ring-width) var(--color-gray-ring); /* Neutral ring instead of blue */
}
.theme-scope .btn-ghost:active {
  background-color: var(--color-bg-muted);
}
.theme-scope .btn-ghost:disabled {
  color: var(--color-text-disabled);
  cursor: not-allowed;
  background-color: transparent;
  opacity: 0.6;
}
.theme-scope .copy-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-gap-sm);
  padding: var(--space-copy-btn-y) var(--space-copy-btn-x);
  font-size: var(--text-copy-btn);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-text-primary);
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .copy-button:hover {
  background-color: var(--color-bg-secondary);
  border-color: var(--color-border-light);
}
.theme-scope .copy-button:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-primary-ring);
}
.theme-scope .copy-button:active {
  background-color: var(--color-bg-muted);
}
.theme-scope .copy-button-copied {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-gap-sm);
  padding: var(--space-copy-btn-y) var(--space-copy-btn-x);
  font-size: var(--text-copy-btn);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-success-text);
  background-color: var(--color-success);
  border: 1px solid var(--color-success);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .copy-button-copied:hover {
  background-color: var(--color-success-link);
  border-color: var(--color-success-link);
}
.theme-scope .btn-group {
  display: inline-flex;
  isolation: isolate;
  vertical-align: middle;
}
.theme-scope .btn-group-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-text-muted);
  background-color: var(--color-bg-muted);
  border: 1px solid currentColor;
  box-shadow: var(--button-group-label-shadow, inset 0 0 0 1px currentColor);
  border-radius: var(--radius-button);
  text-decoration: none;
  white-space: nowrap;
}
.theme-scope .btn-group-sm {
  --btn-group-font-size: var(--text-button-sm);
  --btn-group-padding-x: var(--space-btn-sm-x);
  --btn-group-padding-y: var(--space-btn-sm-y);
  --btn-group-line-height: 1.25;
}
.theme-scope .btn-group-md,
.theme-scope .btn-group-default {
  --btn-group-font-size: var(--text-button);
  --btn-group-padding-x: var(--space-btn-x);
  --btn-group-padding-y: var(--space-btn-y);
  --btn-group-line-height: var(--leading-normal);
}
.theme-scope .btn-group-lg {
  --btn-group-font-size: var(--text-button-lg);
  --btn-group-padding-x: var(--space-btn-lg-x);
  --btn-group-padding-y: var(--space-btn-lg-y);
  --btn-group-line-height: var(--leading-normal);
}
.theme-scope .btn-group-sm > :is([class^=btn-], [class*=" btn-"], .action-btn),
.theme-scope .btn-group-sm > .dropdown > :is([class^=btn-], [class*=" btn-"], .action-btn),
.theme-scope .btn-group-md > :is([class^=btn-], [class*=" btn-"], .action-btn),
.theme-scope .btn-group-md > .dropdown > :is([class^=btn-], [class*=" btn-"], .action-btn),
.theme-scope .btn-group-default > :is([class^=btn-], [class*=" btn-"], .action-btn),
.theme-scope .btn-group-default > .dropdown > :is([class^=btn-], [class*=" btn-"], .action-btn),
.theme-scope .btn-group-lg > :is([class^=btn-], [class*=" btn-"], .action-btn),
.theme-scope .btn-group-lg > .dropdown > :is([class^=btn-], [class*=" btn-"], .action-btn) {
  padding: var(--btn-group-padding-y) var(--btn-group-padding-x) !important;
  font-size: var(--btn-group-font-size) !important;
  line-height: var(--btn-group-line-height) !important;
}
.theme-scope .btn-group > .dropdown {
  display: flex;
}
.theme-scope .btn-group > .btn-primary,
.theme-scope .btn-group > .btn-secondary,
.theme-scope .btn-group > .btn-tertiary,
.theme-scope .btn-group > .btn-danger,
.theme-scope .btn-group > .btn-success,
.theme-scope .btn-group > .btn-warning,
.theme-scope .btn-group > .btn-info,
.theme-scope .btn-group > .btn-neutral,
.theme-scope .btn-group > .btn-gray,
.theme-scope .btn-group > .btn-danger-secondary,
.theme-scope .btn-group > .btn-success-secondary,
.theme-scope .btn-group > .btn-warning-secondary,
.theme-scope .btn-group > .btn-info-secondary,
.theme-scope .btn-group > .btn-neutral-secondary,
.theme-scope .btn-group > .btn-gray-secondary,
.theme-scope .btn-group > .dropdown > .btn-primary,
.theme-scope .btn-group > .dropdown > .btn-secondary,
.theme-scope .btn-group > .dropdown > .btn-tertiary,
.theme-scope .btn-group > .dropdown > .btn-danger,
.theme-scope .btn-group > .dropdown > .btn-success,
.theme-scope .btn-group > .dropdown > .btn-warning,
.theme-scope .btn-group > .dropdown > .btn-info,
.theme-scope .btn-group > .dropdown > .btn-neutral,
.theme-scope .btn-group > .dropdown > .btn-gray,
.theme-scope .btn-group > .dropdown > .btn-danger-secondary,
.theme-scope .btn-group > .dropdown > .btn-success-secondary,
.theme-scope .btn-group > .dropdown > .btn-warning-secondary,
.theme-scope .btn-group > .dropdown > .btn-info-secondary,
.theme-scope .btn-group > .dropdown > .btn-neutral-secondary,
.theme-scope .btn-group > .dropdown > .btn-gray-secondary,
.theme-scope .btn-group > .action-btn {
  position: relative;
  border-width: 1px !important; /* Force 1px border when in group, override any other styles */
}
.theme-scope .btn-group > .btn-secondary:not(:first-child),
.theme-scope .btn-group > .btn-danger-secondary:not(:first-child),
.theme-scope .btn-group > .btn-success-secondary:not(:first-child),
.theme-scope .btn-group > .btn-warning-secondary:not(:first-child),
.theme-scope .btn-group > .btn-info-secondary:not(:first-child),
.theme-scope .btn-group > .btn-neutral-secondary:not(:first-child),
.theme-scope .btn-group > .btn-gray-secondary:not(:first-child),
.theme-scope .btn-group > .dropdown > .btn-secondary,
.theme-scope .btn-group > .dropdown > .btn-danger-secondary,
.theme-scope .btn-group > .dropdown > .btn-success-secondary,
.theme-scope .btn-group > .dropdown > .btn-warning-secondary,
.theme-scope .btn-group > .dropdown > .btn-info-secondary,
.theme-scope .btn-group > .dropdown > .btn-neutral-secondary,
.theme-scope .btn-group > .dropdown > .btn-gray-secondary {
  border-left-width: 1px !important; /* Restore left border for overlap */
}
.theme-scope .btn-group > :is(.btn-secondary, .btn-danger-secondary, .btn-success-secondary, .btn-warning-secondary, .btn-info-secondary, .btn-neutral-secondary, .btn-gray-secondary),
.theme-scope .btn-group > .dropdown > :is(.btn-secondary, .btn-danger-secondary, .btn-success-secondary, .btn-warning-secondary, .btn-info-secondary, .btn-neutral-secondary, .btn-gray-secondary) {
  box-shadow: var(--button-group-outline-shadow, inset 0 0 0 1px currentColor) !important;
}
.theme-scope .btn-group > :is(.btn-secondary, .btn-danger-secondary, .btn-success-secondary, .btn-warning-secondary, .btn-info-secondary, .btn-neutral-secondary, .btn-gray-secondary):first-child:not(:last-child),
.theme-scope .btn-group > .dropdown:first-child:not(:last-child) > :is(.btn-secondary, .btn-danger-secondary, .btn-success-secondary, .btn-warning-secondary, .btn-info-secondary, .btn-neutral-secondary, .btn-gray-secondary) {
  box-shadow: var(--button-group-outline-first-shadow, inset 1px 0 0 currentColor, inset 0 1px 0 currentColor, inset 0 -1px 0 currentColor) !important;
}
.theme-scope .btn-group > :is(.btn-secondary, .btn-danger-secondary, .btn-success-secondary, .btn-warning-secondary, .btn-info-secondary, .btn-neutral-secondary, .btn-gray-secondary):not(:first-child):not(:last-child),
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > :is(.btn-secondary, .btn-danger-secondary, .btn-success-secondary, .btn-warning-secondary, .btn-info-secondary, .btn-neutral-secondary, .btn-gray-secondary) {
  box-shadow: var(--button-group-outline-middle-shadow, inset 0 1px 0 currentColor, inset 0 -1px 0 currentColor) !important;
}
.theme-scope .btn-group > :is(.btn-secondary, .btn-danger-secondary, .btn-success-secondary, .btn-warning-secondary, .btn-info-secondary, .btn-neutral-secondary, .btn-gray-secondary):last-child:not(:first-child),
.theme-scope .btn-group > .dropdown:last-child:not(:first-child) > :is(.btn-secondary, .btn-danger-secondary, .btn-success-secondary, .btn-warning-secondary, .btn-info-secondary, .btn-neutral-secondary, .btn-gray-secondary) {
  box-shadow: var(--button-group-outline-last-shadow, inset -1px 0 0 currentColor, inset 0 1px 0 currentColor, inset 0 -1px 0 currentColor) !important;
}
.theme-scope .btn-group > *:not(:first-child) {
  margin-left: -1px; /* Overlap borders */
}
.theme-scope .btn-group > .btn-primary:first-child,
.theme-scope .btn-group > .btn-secondary:first-child,
.theme-scope .btn-group > .btn-tertiary:first-child,
.theme-scope .btn-group > .btn-danger:first-child,
.theme-scope .btn-group > .btn-success:first-child,
.theme-scope .btn-group > .btn-warning:first-child,
.theme-scope .btn-group > .btn-info:first-child,
.theme-scope .btn-group > .btn-neutral:first-child,
.theme-scope .btn-group > .btn-gray:first-child,
.theme-scope .btn-group > .btn-danger-secondary:first-child,
.theme-scope .btn-group > .btn-success-secondary:first-child,
.theme-scope .btn-group > .btn-warning-secondary:first-child,
.theme-scope .btn-group > .btn-info-secondary:first-child,
.theme-scope .btn-group > .btn-neutral-secondary:first-child,
.theme-scope .btn-group > .btn-gray-secondary:first-child,
.theme-scope .btn-group > .dropdown:first-child > .btn-primary,
.theme-scope .btn-group > .dropdown:first-child > .btn-secondary,
.theme-scope .btn-group > .dropdown:first-child > .btn-tertiary,
.theme-scope .btn-group > .dropdown:first-child > .btn-danger,
.theme-scope .btn-group > .dropdown:first-child > .btn-success,
.theme-scope .btn-group > .dropdown:first-child > .btn-warning,
.theme-scope .btn-group > .dropdown:first-child > .btn-info,
.theme-scope .btn-group > .dropdown:first-child > .btn-neutral,
.theme-scope .btn-group > .dropdown:first-child > .btn-gray,
.theme-scope .btn-group > .dropdown:first-child > .btn-danger-secondary,
.theme-scope .btn-group > .dropdown:first-child > .btn-success-secondary,
.theme-scope .btn-group > .dropdown:first-child > .btn-warning-secondary,
.theme-scope .btn-group > .dropdown:first-child > .btn-info-secondary,
.theme-scope .btn-group > .dropdown:first-child > .btn-neutral-secondary,
.theme-scope .btn-group > .dropdown:first-child > .btn-gray-secondary {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.theme-scope .btn-group > .btn-group-label:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.theme-scope .btn-group > .btn-primary:last-child,
.theme-scope .btn-group > .btn-secondary:last-child,
.theme-scope .btn-group > .btn-tertiary:last-child,
.theme-scope .btn-group > .btn-danger:last-child,
.theme-scope .btn-group > .btn-success:last-child,
.theme-scope .btn-group > .btn-warning:last-child,
.theme-scope .btn-group > .btn-info:last-child,
.theme-scope .btn-group > .btn-neutral:last-child,
.theme-scope .btn-group > .btn-gray:last-child,
.theme-scope .btn-group > .btn-danger-secondary:last-child,
.theme-scope .btn-group > .btn-success-secondary:last-child,
.theme-scope .btn-group > .btn-warning-secondary:last-child,
.theme-scope .btn-group > .btn-info-secondary:last-child,
.theme-scope .btn-group > .btn-neutral-secondary:last-child,
.theme-scope .btn-group > .btn-gray-secondary:last-child,
.theme-scope .btn-group > .dropdown:last-child > .btn-primary,
.theme-scope .btn-group > .dropdown:last-child > .btn-secondary,
.theme-scope .btn-group > .dropdown:last-child > .btn-tertiary,
.theme-scope .btn-group > .dropdown:last-child > .btn-danger,
.theme-scope .btn-group > .dropdown:last-child > .btn-success,
.theme-scope .btn-group > .dropdown:last-child > .btn-warning,
.theme-scope .btn-group > .dropdown:last-child > .btn-info,
.theme-scope .btn-group > .dropdown:last-child > .btn-neutral,
.theme-scope .btn-group > .dropdown:last-child > .btn-gray,
.theme-scope .btn-group > .dropdown:last-child > .btn-danger-secondary,
.theme-scope .btn-group > .dropdown:last-child > .btn-success-secondary,
.theme-scope .btn-group > .dropdown:last-child > .btn-warning-secondary,
.theme-scope .btn-group > .dropdown:last-child > .btn-info-secondary,
.theme-scope .btn-group > .dropdown:last-child > .btn-neutral-secondary,
.theme-scope .btn-group > .dropdown:last-child > .btn-gray-secondary {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.theme-scope .btn-group > .btn-group-label:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.theme-scope .btn-group > .btn-primary:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-secondary:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-tertiary:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-danger:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-success:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-warning:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-info:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-neutral:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-gray:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-danger-secondary:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-success-secondary:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-warning-secondary:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-info-secondary:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-neutral-secondary:not(:first-child):not(:last-child),
.theme-scope .btn-group > .btn-gray-secondary:not(:first-child):not(:last-child),
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-primary,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-secondary,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-tertiary,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-danger,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-success,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-warning,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-info,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-neutral,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-gray,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-danger-secondary,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-success-secondary,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-warning-secondary,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-info-secondary,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-neutral-secondary,
.theme-scope .btn-group > .dropdown:not(:first-child):not(:last-child) > .btn-gray-secondary {
  border-radius: 0;
}
.theme-scope .btn-group > .btn-group-label:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.theme-scope .btn-group > *:hover,
.theme-scope .btn-group > .dropdown:hover {
  z-index: 2;
}
.theme-scope .btn-group > *:focus,
.theme-scope .btn-group > .dropdown:focus-within {
  z-index: 3;
}
.theme-scope .btn-icon-only {
  padding: var(--space-btn-icon);
  aspect-ratio: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem; /* 36px — matches default button height, ensures tap target */
  min-height: 2.25rem;
  font-size: 1.125rem; /* 18px — default icon size for em-based icons */
  line-height: 1; /* no extra leading around a single icon */
}
.theme-scope .btn-icon-only > .iconify,
.theme-scope .btn-icon-only > svg {
  width: 1em;
  height: 1em;
  flex-shrink: 0; /* never get squeezed by surrounding flex contexts */
}
.theme-scope .btn-sm.btn-icon-only,
.theme-scope .btn-short.btn-icon-only,
.theme-scope .btn-group-sm > .btn-icon-only,
.theme-scope .btn-group-sm > .dropdown > .btn-icon-only {
  min-width: 1.75rem;
  min-height: 1.75rem;
  font-size: 0.875rem !important;
}
.theme-scope .btn-lg.btn-icon-only,
.theme-scope .btn-group-lg > .btn-icon-only,
.theme-scope .btn-group-lg > .dropdown > .btn-icon-only {
  min-width: 2.75rem;
  min-height: 2.75rem;
  font-size: 1.25rem !important;
}
.theme-scope .btn-arrow {
  --btn-arrow-gap: 0.5rem;
  --btn-arrow-shift: 0.25rem;
  --btn-arrow-size: 1.05em;
  display: inline-flex;
  align-items: center;
  gap: var(--btn-arrow-gap);
  white-space: nowrap;
}
.theme-scope .btn-arrow::after {
  content: "→";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1em;
  font-size: var(--btn-arrow-size);
  line-height: 1;
  transform: translateX(0);
  transition: transform 0.18s ease;
}
.theme-scope .btn-arrow:has(> .iconify:last-child)::after,
.theme-scope .btn-arrow:has(> svg:last-child)::after,
.theme-scope .btn-arrow:has(> .btn-arrow-icon)::after {
  content: none;
}
.theme-scope .btn-arrow > .iconify:last-child,
.theme-scope .btn-arrow > svg:last-child,
.theme-scope .btn-arrow > .btn-arrow-icon {
  flex: 0 0 auto;
  transform: translateX(0);
  transition: transform 0.18s ease;
}
.theme-scope .btn-arrow:hover:not(:disabled):not([aria-disabled=true])::after,
.theme-scope .btn-arrow:focus-visible::after {
  transform: translateX(var(--btn-arrow-shift));
}
.theme-scope .btn-arrow:hover:not(:disabled):not([aria-disabled=true]) > .iconify:last-child,
.theme-scope .btn-arrow:hover:not(:disabled):not([aria-disabled=true]) > svg:last-child,
.theme-scope .btn-arrow:hover:not(:disabled):not([aria-disabled=true]) > .btn-arrow-icon,
.theme-scope .btn-arrow:focus-visible > .iconify:last-child,
.theme-scope .btn-arrow:focus-visible > svg:last-child,
.theme-scope .btn-arrow:focus-visible > .btn-arrow-icon {
  transform: translateX(var(--btn-arrow-shift));
}
@media (prefers-reduced-motion: reduce) {
  .theme-scope .btn-arrow::after,
  .theme-scope .btn-arrow > .iconify:last-child,
  .theme-scope .btn-arrow > svg:last-child,
  .theme-scope .btn-arrow > .btn-arrow-icon {
    transition: none;
  }
}
.theme-scope .btn-sm,
.theme-scope .btn-short {
  font-size: 0.75rem !important;
  padding: var(--space-btn-sm-y) var(--space-btn-sm-x) !important;
  line-height: 1.25 !important;
}
.theme-scope .btn-md {
  font-size: var(--text-button) !important;
  padding: var(--space-btn-y) var(--space-btn-x) !important;
  line-height: var(--leading-normal) !important;
}
.theme-scope .btn-lg {
  font-size: var(--text-button-lg) !important;
  padding: var(--space-btn-lg-y) var(--space-btn-lg-x) !important;
  line-height: var(--leading-normal) !important;
}
.theme-scope .btn-danger-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-danger-link);
  background-color: var(--color-danger-light);
  border: 1px solid transparent; /* No outline */
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-danger-soft:hover {
  background-color: var(--color-danger-200);
  color: var(--color-danger-link-hover);
}
.theme-scope .btn-danger-soft:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-danger-ring);
}
.theme-scope .btn-danger-soft:active {
  background-color: var(--color-danger-300);
}
.theme-scope .btn-danger-soft:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-success-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-success-link);
  background-color: var(--color-success-light);
  border: 1px solid transparent; /* No outline */
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-success-soft:hover {
  background-color: var(--color-success-200);
  color: var(--color-success-link-hover);
}
.theme-scope .btn-success-soft:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-success-ring);
}
.theme-scope .btn-success-soft:active {
  background-color: var(--color-success-300);
}
.theme-scope .btn-success-soft:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-warning-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-warning-link);
  background-color: var(--color-warning-light);
  border: 1px solid transparent; /* No outline */
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-warning-soft:hover {
  background-color: var(--color-warning-200);
  color: var(--color-warning-link-hover);
}
.theme-scope .btn-warning-soft:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-warning-ring);
}
.theme-scope .btn-warning-soft:active {
  background-color: var(--color-warning-300);
}
.theme-scope .btn-warning-soft:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-info-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-info-link);
  background-color: var(--color-info-light);
  border: 1px solid transparent; /* No outline */
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-info-soft:hover {
  background-color: var(--color-info-200);
  color: var(--color-info-link-hover);
}
.theme-scope .btn-info-soft:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-info-ring);
}
.theme-scope .btn-info-soft:active {
  background-color: var(--color-info-300);
}
.theme-scope .btn-info-soft:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-neutral-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-neutral-link);
  background-color: var(--color-neutral-light);
  border: 1px solid transparent; /* No outline */
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-neutral-soft:hover {
  background-color: var(--color-neutral-200);
  color: var(--color-neutral-link-hover);
}
.theme-scope .btn-neutral-soft:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-neutral-ring);
}
.theme-scope .btn-neutral-soft:active {
  background-color: var(--color-neutral-300);
}
.theme-scope .btn-neutral-soft:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-gray-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-text-primary);
  background-color: var(--color-bg-secondary);
  border: 1px solid transparent; /* No outline */
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-gray-soft:hover {
  background-color: var(--color-border);
}
.theme-scope .btn-gray-soft:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-gray-ring-dark);
}
.theme-scope .btn-gray-soft:active {
  background-color: var(--color-border-light);
}
.theme-scope .btn-gray-soft:disabled {
  background-color: var(--color-bg-muted);
  color: var(--color-text-muted);
  cursor: not-allowed;
}
.theme-scope .btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-danger-text);
  background-color: var(--color-danger);
  border: 1px solid var(--color-danger);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-danger:hover {
  background-color: var(--color-danger-link);
  border-color: var(--color-danger-link);
}
.theme-scope .btn-danger:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-danger-ring);
}
.theme-scope .btn-danger:active {
  background-color: var(--color-danger-link-hover);
  border-color: var(--color-danger-link-hover);
}
.theme-scope .btn-danger:disabled {
  background-color: var(--color-bg-disabled);
  border-color: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-success-text);
  background-color: var(--color-success);
  border: 1px solid var(--color-success);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-success:hover {
  background-color: var(--color-success-link);
  border-color: var(--color-success-link);
}
.theme-scope .btn-success:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-success-ring);
}
.theme-scope .btn-success:active {
  background-color: var(--color-success-link-hover);
  border-color: var(--color-success-link-hover);
}
.theme-scope .btn-success:disabled {
  background-color: var(--color-bg-disabled);
  border-color: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .btn-warning {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-warning-text);
  background-color: var(--color-warning);
  border: 1px solid var(--color-warning);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-warning:hover {
  background-color: var(--color-warning-link);
  border-color: var(--color-warning-link);
}
.theme-scope .btn-warning:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-warning-ring);
}
.theme-scope .btn-warning:active {
  background-color: var(--color-warning-link-hover);
  border-color: var(--color-warning-link-hover);
}
.theme-scope .btn-warning:disabled {
  background-color: var(--color-bg-disabled);
  border-color: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .btn-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-info-text);
  background-color: var(--color-info);
  border: 1px solid var(--color-info);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-info:hover {
  background-color: var(--color-info-link);
  border-color: var(--color-info-link);
}
.theme-scope .btn-info:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-info-ring);
}
.theme-scope .btn-info:active {
  background-color: var(--color-info-link-hover);
  border-color: var(--color-info-link-hover);
}
.theme-scope .btn-info:disabled {
  background-color: var(--color-bg-disabled);
  border-color: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .btn-neutral {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-neutral-text);
  background-color: var(--color-neutral);
  border: 1px solid var(--color-neutral);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-neutral:hover {
  background-color: var(--color-neutral-link);
  border-color: var(--color-neutral-link);
}
.theme-scope .btn-neutral:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-neutral-ring);
}
.theme-scope .btn-neutral:active {
  background-color: var(--color-neutral-link-hover);
  border-color: var(--color-neutral-link-hover);
}
.theme-scope .btn-neutral:disabled {
  background-color: var(--color-bg-disabled);
  border-color: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .btn-gray {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-text-primary);
  background-color: var(--color-bg-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-gray:hover {
  background-color: var(--color-border-light); /* Darker on hover */
  border-color: var(--color-border-light);
}
.theme-scope .btn-gray:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-gray-ring);
}
.theme-scope .btn-gray:active {
  background-color: var(--color-text-muted);
  border-color: var(--color-text-muted);
}
.theme-scope .btn-gray:disabled {
  background-color: var(--color-bg-muted);
  border-color: var(--color-bg-muted);
  color: var(--color-text-muted);
  cursor: not-allowed;
}
.theme-scope .btn-danger-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-danger);
  background-color: var(--color-danger-light);
  border: 1px solid currentColor;
  box-shadow: var(--button-outline-shadow, inset 0 0 0 1px currentColor);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-danger-secondary:hover {
  background-color: var(--color-danger-200);
  color: var(--color-danger-link);
}
.theme-scope .btn-danger-secondary:focus {
  outline: none;
  box-shadow: var(--button-danger-outline-focus-shadow, inset 0 0 0 1px currentColor, 0 0 0 3px var(--color-danger-ring));
}
.theme-scope .btn-danger-secondary:active {
  background-color: var(--color-danger-300);
  color: var(--color-danger-link-hover);
}
.theme-scope .btn-danger-secondary:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-success-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-success-link);
  background-color: var(--color-success-light);
  border: 1px solid currentColor;
  box-shadow: var(--button-outline-shadow, inset 0 0 0 1px currentColor);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-success-secondary:hover {
  background-color: var(--color-success-200);
  color: var(--color-success-link-hover);
}
.theme-scope .btn-success-secondary:focus {
  outline: none;
  box-shadow: var(--button-success-outline-focus-shadow, inset 0 0 0 1px currentColor, 0 0 0 3px var(--color-success-ring));
}
.theme-scope .btn-success-secondary:active {
  background-color: var(--color-success-300);
  color: var(--color-success-dark);
}
.theme-scope .btn-success-secondary:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-warning-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-warning-link);
  background-color: var(--color-warning-light);
  border: 1px solid currentColor;
  box-shadow: var(--button-outline-shadow, inset 0 0 0 1px currentColor);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-warning-secondary:hover {
  background-color: var(--color-warning-200);
  color: var(--color-warning-link-hover);
}
.theme-scope .btn-warning-secondary:focus {
  outline: none;
  box-shadow: var(--button-warning-outline-focus-shadow, inset 0 0 0 1px currentColor, 0 0 0 3px var(--color-warning-ring));
}
.theme-scope .btn-warning-secondary:active {
  background-color: var(--color-warning-300);
  color: var(--color-warning-dark);
}
.theme-scope .btn-warning-secondary:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-info-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-info-link);
  background-color: var(--color-info-light);
  border: 1px solid currentColor;
  box-shadow: var(--button-outline-shadow, inset 0 0 0 1px currentColor);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-info-secondary:hover {
  background-color: var(--color-info-200);
  color: var(--color-info-link-hover);
}
.theme-scope .btn-info-secondary:focus {
  outline: none;
  box-shadow: var(--button-info-outline-focus-shadow, inset 0 0 0 1px currentColor, 0 0 0 3px var(--color-info-ring));
}
.theme-scope .btn-info-secondary:active {
  background-color: var(--color-info-300);
  color: var(--color-info-dark);
}
.theme-scope .btn-info-secondary:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-neutral-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-neutral-link);
  background-color: var(--color-neutral-light);
  border: 1px solid currentColor;
  box-shadow: var(--button-outline-shadow, inset 0 0 0 1px currentColor);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-neutral-secondary:hover {
  background-color: var(--color-neutral-200);
  color: var(--color-neutral-link-hover);
}
.theme-scope .btn-neutral-secondary:focus {
  outline: none;
  box-shadow: var(--button-neutral-outline-focus-shadow, inset 0 0 0 1px currentColor, 0 0 0 3px var(--color-neutral-ring));
}
.theme-scope .btn-neutral-secondary:active {
  background-color: var(--color-neutral-300);
  color: var(--color-neutral-dark);
}
.theme-scope .btn-neutral-secondary:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .btn-gray-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-btn-y) var(--space-btn-x);
  font-size: var(--text-button);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-text-primary);
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}
.theme-scope .btn-gray-secondary:hover {
  background-color: var(--color-bg-secondary);
  border-color: var(--color-border-light);
}
.theme-scope .btn-gray-secondary:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-gray-ring-dark);
}
.theme-scope .btn-gray-secondary:active {
  background-color: var(--color-bg-muted);
}
.theme-scope .btn-gray-secondary:disabled {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.theme-scope .card,
.theme-scope .app-card {
  padding: var(--space-card-padding); /* Reduced from 1.5rem */
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  margin-bottom: var(--space-gap-md);
}
.theme-scope .card-title,
.theme-scope .app-title {
  font-size: var(--text-xl);
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-primary);
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.theme-scope .card > :is(h1, h2, h3, h4, h5, h6):first-child,
.theme-scope .app-card > :is(h1, h2, h3, h4, h5, h6):first-child,
.theme-scope .card-header > :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}
.theme-scope .card-content,
.theme-scope .app-card-content {
  color: var(--color-text-secondary);
}
.theme-scope .demo-card {
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.theme-scope .demo-card p:last-child {
  margin-bottom: 0;
}
.theme-scope .app-card p:last-child,
.theme-scope .app-card-content p:last-child {
  margin-bottom: 0;
}
.theme-scope div[class*=border][class*=rounded] p:last-child,
.theme-scope div[class*=border][class*=p-] p:last-child {
  margin-bottom: 0;
}
.theme-scope .accordion {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  margin-bottom: 1rem;
  overflow: hidden;
}
.theme-scope .accordion-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.theme-scope .accordion-item {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.theme-scope .accordion-item-open {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.theme-scope .accordion-button {
  width: 100%;
  padding: 0.5rem 1rem 0.5rem 1rem;
  background-color: var(--color-bg-secondary);
  border: none;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: var(--font-control-weight);
  color: var(--color-text-primary);
  transition: background-color 0.15s ease-in-out;
}
.theme-scope .accordion-button:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .accordion-icon {
  flex-shrink: 0;
  position: relative;
}
.theme-scope .accordion-icon-line {
  fill: var(--color-text-secondary);
  transition: opacity 0.2s ease-in-out;
}
.theme-scope .accordion-icon-line-vertical {
  transform-origin: center;
  transform: rotate(0deg);
}
.theme-scope .accordion-icon-rotated {
  transform: rotate(90deg);
}
.theme-scope .accordion-button-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}
.theme-scope .accordion-button-open .accordion-button-icon {
  transform: rotate(180deg);
}
.theme-scope .accordion-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease-out;
  overflow: hidden;
  margin: 0;
}
.theme-scope .accordion-content-open {
  grid-template-rows: 1fr;
}
.theme-scope .accordion-content-inner {
  overflow: hidden;
  padding: 0 1rem; /* Removed vertical padding here to fix peeking */
  min-height: 0;
  color: var(--color-text-secondary);
  opacity: 0; /* Fade in effect */
  transition: opacity 0.3s ease-out, padding 0.3s ease-out;
}
.theme-scope .accordion-content-open .accordion-content-inner {
  padding: 1rem 1rem 1rem 1rem; /* Restore padding when open */
  opacity: 1;
}
.theme-scope .accordion-content-inner p:last-child {
  margin-bottom: 0;
}
.theme-scope .accordion-single {
  border: none;
  border-radius: 0;
}
.theme-scope .accordion-single .accordion-item {
  border: none;
  border-radius: 0;
  overflow: visible;
}
.theme-scope .accordion-single .accordion-item:not(:last-child) {
  border-bottom: 1px solid var(--color-border);
}
.theme-scope .accordion-single .accordion-button {
  padding: 1rem 0;
  background-color: transparent;
  justify-content: space-between;
  font-weight: var(--font-control-weight);
  border: none;
}
.theme-scope .accordion-single .accordion-button:hover {
  background-color: transparent;
}
.theme-scope .accordion-single .accordion-button-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 0.2s ease-in-out;
  flex-shrink: 0;
  margin-left: 1rem;
}
.theme-scope .accordion-single .accordion-button[aria-expanded=true] .accordion-button-icon {
  transform: rotate(180deg);
}
.theme-scope .accordion-single .accordion-content-inner {
  padding: 0;
}
.theme-scope .accordion-single .accordion-content-open .accordion-content-inner {
  padding: 0.5rem 0 1rem 0;
}
.theme-scope .accordion-draggable-container {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.theme-scope .accordion-draggable-row {
  display: contents;
}
.theme-scope .accordion-draggable-item {
  position: relative;
  cursor: grab;
}
.theme-scope .accordion-draggable-item:active {
  cursor: grabbing;
}
.theme-scope .accordion-drag-handle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  cursor: grab;
  color: var(--color-text-muted);
  background-color: var(--color-bg-secondary);
  border-right: 1px solid var(--color-border);
  border-radius: var(--radius-lg) 0 0 var(--radius-lg);
  transition: background-color 0.15s ease;
}
.theme-scope .dark .accordion-drag-handle,
.theme-scope [data-theme=dark] .accordion-drag-handle {
  background-color: var(--color-bg-inverted-content);
  color: var(--color-text-muted);
}
.theme-scope .accordion-drag-handle:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .dark .accordion-drag-handle:hover,
.theme-scope [data-theme=dark] .accordion-drag-handle:hover {
  background-color: var(--color-bg-hover);
}
.theme-scope .accordion-drag-handle:active {
  cursor: grabbing;
}
.theme-scope .accordion-draggable-item.is-dragging {
  opacity: 0.5;
  transform: scale(0.98);
}
.theme-scope .accordion-draggable-item.is-dragging .accordion-item {
  box-shadow: var(--shadow-dropdown);
}
.theme-scope .accordion-drop-zone {
  position: relative;
  height: 0;
  transition: height 0.15s ease;
}
.theme-scope .accordion-drop-zone.is-active {
  height: 12px;
}
.theme-scope .accordion-drop-zone.is-target {
  height: 12px;
}
.theme-scope .accordion-drop-zone .accordion-drop-indicator {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 2px;
  background-color: var(--color-primary);
  pointer-events: none;
  z-index: 10;
}
.theme-scope .accordion-drop-zone .accordion-drop-indicator::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-primary);
}
.theme-scope .tab-nav {
  padding: var(--space-tab-y) 0;
  border-bottom: 1px solid var(--color-border-tab);
  margin-bottom: var(--space-gap-lg);
  position: relative;
}
.theme-scope .tab-list {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: var(--text-sm);
}
.theme-scope .tab-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0;
  position: relative;
  color: var(--color-tab);
  text-decoration: none;
  transition: color 0.15s ease-in-out;
}
.theme-scope .tab-button:hover {
  color: var(--color-tab-active);
}
.theme-scope .tab-button-active {
  color: var(--color-tab-active);
  font-weight: var(--font-emphasis-weight);
}
.theme-scope .tab-indicator {
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--color-tab-active);
}
.theme-scope .tab-container {
  border: 1px solid var(--color-border-tab);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-white);
}
.theme-scope .tab-container-header {
  background: var(--color-bg-light);
  border-bottom: 1px solid var(--color-border-tab);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1rem;
}
.theme-scope .tab-container-nav {
  display: flex;
  gap: 1.5rem;
  font-size: var(--text-sm);
  height: 100%;
}
.theme-scope .tab-container-button {
  height: 3rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--space-tab-y) 0;
  position: relative;
  color: var(--color-tab);
  transition: color 0.15s ease-in-out;
}
.theme-scope .tab-container-button:hover {
  color: var(--color-tab-active);
}
.theme-scope .tab-container-button-active {
  color: var(--color-tab-active);
  font-weight: var(--font-emphasis-weight);
}
.theme-scope .tab-container-indicator {
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--color-tab-active);
  z-index: 1;
}
.theme-scope .tab-container-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.theme-scope .tab-action-button {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-tab);
  padding: 0.25rem;
  display: flex;
  align-items: center;
  transition: color 0.15s ease-in-out;
}
.theme-scope .tab-action-button:hover {
  color: var(--color-tab-active);
}
.theme-scope .tab-content {
  padding: 1rem 0;
}
.theme-scope .tab-container-content {
  padding: 0;
}
.theme-scope .tab-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-gap-sm);
  margin-bottom: var(--space-gap-lg);
}
.theme-scope .tab-buttons-sm {
  gap: 0.375rem;
  margin-bottom: var(--space-gap-md);
}
.theme-scope .tab-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.25rem;
  font-size: 0.9375rem;
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  color: var(--color-text-secondary);
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
  white-space: nowrap;
}
.theme-scope .tab-btn:hover:not(:disabled) {
  color: var(--color-text-primary);
  background-color: var(--color-bg-muted);
  border-color: var(--color-border-light);
}
.theme-scope .tab-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-primary-ring);
}
.theme-scope .tab-btn-active {
  color: var(--color-primary);
  background-color: var(--color-primary-light);
  border-color: var(--color-primary);
  font-weight: var(--font-emphasis-weight);
}
.theme-scope .tab-btn-active:hover:not(:disabled) {
  color: var(--color-primary-hover);
  background-color: var(--color-primary-lighter);
  border-color: var(--color-primary-hover);
}
.theme-scope .tab-btn-disabled,
.theme-scope .tab-btn:disabled {
  color: var(--color-text-muted);
  background-color: var(--color-bg-secondary);
  border-color: var(--color-border);
  cursor: not-allowed;
  opacity: 0.6;
}
.theme-scope .tab-btn-sm {
  padding: 0.375rem 0.875rem;
  font-size: 0.8125rem;
  border-radius: var(--radius-md);
}
.theme-scope .tab-btn-content {
  padding: 1rem 0;
}
.theme-scope .tab-modern-group {
  display: inline-flex;
  background-color: var(--color-bg-muted);
  padding: 0.25rem;
  border-radius: var(--radius-lg);
  gap: 0.25rem;
  margin-bottom: 0.25rem;
}
.theme-scope .tab-modern {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  line-height: 1.25rem;
  color: var(--color-text-secondary);
  background-color: transparent;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  white-space: nowrap;
}
.theme-scope .tab-modern:hover:not(.tab-modern-active) {
  color: var(--color-text-primary);
  background-color: var(--color-bg-hover);
}
.theme-scope .tab-modern-active {
  color: var(--color-text-primary);
  background-color: var(--color-white);
  box-shadow: var(--shadow-sm);
  font-weight: var(--font-control-weight);
}
.theme-scope .tab-modern:focus {
  outline: none;
  box-shadow: none;
}
.theme-scope .tab-pill-group {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 0;
  border-radius: var(--radius-full);
  background: var(--tab-pill-bg, var(--color-accent-pill-bg, var(--color-bg-muted)));
  overflow: hidden;
}
.theme-scope .tab-pill {
  min-height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  border: 0;
  border-radius: var(--radius-full);
  background: transparent;
  color: var(--tab-pill-color, var(--color-text-primary));
  font: inherit;
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.16s ease, color 0.16s ease;
}
.theme-scope .tab-pill:hover:not(.tab-pill-active) {
  color: var(--tab-pill-hover-color, var(--color-primary));
}
.theme-scope .tab-pill-active,
.theme-scope .tab-pill[aria-selected=true] {
  background: var(--tab-pill-active-bg, var(--color-primary));
  color: var(--tab-pill-active-color, var(--color-primary-foreground, var(--color-white)));
}
.theme-scope .tab-pill-sm .tab-pill {
  min-height: 1.75rem;
  padding-inline: 0.875rem;
  font-size: var(--text-xs);
}
.theme-scope .tab-modern-content {
  padding: 0;
}
.theme-scope .tab-modern-content .text-muted {
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}
.theme-scope .tab-modern-content .card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background-color: var(--color-white);
  max-width: 24rem;
}
.theme-scope .tab-modern-content .card-body {
  padding: 0rem;
}
.theme-scope .callout {
  margin-top: 1rem;
  padding: 1rem 1.5rem;
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  margin-bottom: 1.5rem;
}
.theme-scope .callout-title {
  margin-top: 0;
  font-size: var(--text-base);
  font-weight: var(--font-emphasis-weight);
  color: inherit;
  margin-bottom: 0.5rem;
}
.theme-scope .callout p:last-child {
  margin-bottom: 0;
}
.theme-scope .callout pre {
  background: var(--color-white);
  padding: 1rem;
  border-radius: var(--radius-md);
  overflow-x: auto;
  margin-top: 1rem;
}
.theme-scope .callout-note {
  background-color: var(--color-bg-secondary);
  border-color: var(--color-border);
  color: var(--color-text-neutral);
}
.theme-scope .callout-action {
  background-color: var(--color-info-light);
  border-color: var(--color-info);
  color: var(--color-info-dark);
}
.theme-scope .callout-warning {
  background-color: var(--color-warning-light);
  border-color: var(--color-warning);
  color: var(--color-warning-dark);
}
.theme-scope .callout-error {
  background-color: var(--color-danger-light);
  border-color: var(--color-danger);
  color: var(--color-danger-dark);
}
.theme-scope .alert {
  position: relative;
  width: 100%;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-border);
  padding: 1rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  margin-bottom: 1rem;
  /* Icon styling */
}
.theme-scope .alert > svg,
.theme-scope .alert > .iconify {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin-top: 0.25rem; /* Align with title line-height */
  color: var(--color-text-primary);
}
.theme-scope .alert > div {
  flex: 1;
}
.theme-scope .alert-title {
  margin-top: 0;
  margin-bottom: 0.25rem;
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal); /* slightly relaxed to align with icon if needed, or 1 for tight */
  color: inherit;
}
.theme-scope .alert-description {
  color: var(--color-text-secondary);
  line-height: var(--leading-normal);
}
.theme-scope .alert-description p {
  margin-bottom: 0.5rem;
}
.theme-scope .alert-description p:last-child {
  margin-bottom: 0;
}
.theme-scope .alert-default {
  background-color: var(--color-bg-primary);
  border-color: var(--color-border);
}
.theme-scope .alert-destructive {
  border-color: var(--color-danger);
  background-color: var(--color-danger-light); /* Added light background */
  color: var(--color-danger-dark); /* Changed from danger to danger-dark for contrast on light bg */
}
.theme-scope .alert-destructive > svg,
.theme-scope .alert-destructive > .iconify {
  color: var(--color-danger);
}
.theme-scope .alert-destructive .alert-description {
  color: var(--color-danger-dark); /* Changed from danger to danger-dark */
}
.theme-scope .alert-success {
  border-color: var(--color-success);
  background-color: var(--color-success-light); /* Added light background */
  color: var(--color-success-dark);
}
.theme-scope .alert-success > svg,
.theme-scope .alert-success > .iconify {
  color: var(--color-success);
}
.theme-scope .alert-success .alert-title {
  color: var(--color-success-dark);
}
.theme-scope .alert-success .alert-description {
  color: var(--color-success-dark);
}
.theme-scope .alert-warning {
  border-color: var(--color-warning);
  background-color: var(--color-warning-light); /* Added light background */
  color: var(--color-warning-dark);
}
.theme-scope .alert-warning > svg,
.theme-scope .alert-warning > .iconify {
  color: var(--color-warning);
}
.theme-scope .alert-warning .alert-title {
  color: var(--color-warning-dark);
}
.theme-scope .alert-warning .alert-description {
  color: var(--color-warning-dark);
}
.theme-scope .alert-info {
  border-color: var(--color-info);
  background-color: var(--color-info-light); /* Added light background */
  color: var(--color-info-dark);
}
.theme-scope .alert-info > svg,
.theme-scope .alert-info > .iconify {
  color: var(--color-info);
}
.theme-scope .alert-info .alert-title {
  color: var(--color-info-dark);
}
.theme-scope .alert-info .alert-description {
  color: var(--color-info-dark);
}
.theme-scope .accent-rail,
.theme-scope .rail-card {
  position: relative;
  overflow: hidden;
  --accent-rail-color: var(--color-primary);
  --accent-rail-width: 4px;
  --accent-rail-inset-block: 0;
  --accent-rail-left: 0;
  --accent-rail-z: 1;
}
.theme-scope .accent-rail::before,
.theme-scope .rail-card::before {
  content: "";
  position: absolute;
  top: var(--accent-rail-inset-block);
  bottom: var(--accent-rail-inset-block);
  left: var(--accent-rail-left);
  z-index: var(--accent-rail-z);
  width: var(--accent-rail-width);
  border-radius: var(--accent-rail-radius, 0);
  background: var(--accent-rail-color);
  box-shadow: var(--accent-rail-shadow, none);
  pointer-events: none;
}
.theme-scope .accent-rail > *,
.theme-scope .rail-card > * {
  position: relative;
  z-index: var(--accent-rail-content-z, 2);
}
.theme-scope .rail-card {
  display: grid;
  gap: 0.75rem;
  padding: 1rem 1rem 1rem calc(1rem + var(--accent-rail-width));
  border: var(--rail-card-accent-border-width, 1px) solid var(--accent-rail-color);
  border-radius: var(--radius-lg);
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
}
.theme-scope .rail-card-sm {
  gap: 0.5rem;
  padding: 0.75rem 0.875rem 0.75rem calc(0.875rem + var(--accent-rail-width));
}
.theme-scope .rail-card-lg {
  gap: 1rem;
  padding: 1.25rem 1.5rem 1.25rem calc(1.5rem + var(--accent-rail-width));
}
.theme-scope .rail-card-header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}
.theme-scope .rail-card-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.125rem;
  color: var(--accent-rail-color);
}
.theme-scope .rail-card-icon > svg,
.theme-scope .rail-card-icon.iconify {
  width: 1.125rem;
  height: 1.125rem;
}
.theme-scope .rail-card-heading,
.theme-scope .rail-card-content {
  min-width: 0;
}
.theme-scope .rail-card-heading {
  display: grid;
  gap: 0.25rem;
}
.theme-scope .rail-card-eyebrow {
  color: var(--color-text-muted);
  font-family: var(--font-role-code, var(--font-mono));
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.1;
  text-transform: uppercase;
}
.theme-scope .rail-card-title {
  margin: 0;
  color: inherit;
  font-size: var(--text-base);
  font-weight: var(--font-emphasis-weight);
  line-height: var(--leading-tight);
  letter-spacing: 0;
}
.theme-scope .rail-card-description,
.theme-scope .rail-card-content {
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}
.theme-scope .rail-card-description,
.theme-scope .rail-card-content p {
  margin: 0;
}
.theme-scope .rail-card-content p + p {
  margin-top: 0.5rem;
}
.theme-scope .rail-card-default,
.theme-scope .rail-card-neutral {
  --accent-rail-color: var(--color-border-strong, var(--color-border));
}
.theme-scope .rail-card-primary {
  --accent-rail-color: var(--color-primary);
}
.theme-scope .rail-card-info {
  --accent-rail-color: var(--color-info);
}
.theme-scope .rail-card-success {
  --accent-rail-color: var(--color-success);
}
.theme-scope .rail-card-warning {
  --accent-rail-color: var(--color-warning);
}
.theme-scope .rail-card-danger {
  --accent-rail-color: var(--color-danger);
}
.theme-scope .rail-card-muted {
  background: var(--color-bg-secondary);
}
.theme-scope .rail-card-tinted {
  background: linear-gradient(90deg, color-mix(in oklab, var(--accent-rail-color) 10%, transparent), transparent 42%), var(--color-bg-primary);
}
.theme-scope .rail-card-ghost {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.theme-scope summary {
  list-style: none;
  cursor: pointer;
  font-weight: 500;
  color: var(--color-text-primary);
  user-select: none;
  font-size: 0.875rem;
}
.theme-scope summary::-webkit-details-marker {
  display: none;
}
.theme-scope summary:hover {
  color: var(--color-primary);
}
.theme-scope details {
  border-radius: var(--radius-md);
  padding: 0;
  margin-bottom: 0;
}
.theme-scope .details-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  font-size: 0.85rem;
  color: var(--color-text-secondary);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.theme-scope details[open] > summary .details-icon {
  transform: rotate(90deg);
}
.theme-scope .details-toggle {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background-color: var(--color-bg-primary);
  transition: border-color 0.15s ease-in-out;
}
.theme-scope .details-toggle:hover {
  border-color: var(--color-border-light);
}
.theme-scope .details-summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  font-weight: 500;
  color: var(--color-text-primary);
  user-select: none;
  font-size: 0.875rem;
  background: var(--color-bg-primary);
  transition: background-color 0.2s;
}
.theme-scope .details-summary:hover {
  color: var(--color-primary);
  background: var(--color-bg-muted);
}
.theme-scope .details-toggle[open] .details-summary {
  margin-bottom: 0;
}
.theme-scope .details-content {
  padding: 0.5rem 0.75rem;
  color: var(--color-text-secondary);
  background: var(--color-bg-primary);
}
.theme-scope .details-summary-card {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.875rem;
  transition: background-color 0.2s;
}
.theme-scope .details-summary-card:hover {
  background: var(--color-bg-muted);
}
.theme-scope .details-summary-minimal {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.875rem;
  transition: color 0.2s;
}
.theme-scope .details-summary-minimal:hover {
  color: var(--color-primary);
}
.theme-scope details.details-minimal {
  border: none;
  background: none;
  padding: 0;
  margin-bottom: 0;
  border-radius: 0;
}
.theme-scope .details-summary-nested {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.875rem;
  transition: color 0.2s;
}
.theme-scope .details-summary-nested:hover {
  color: var(--color-primary);
}
.theme-scope .color-success {
  color: var(--color-success);
}
.theme-scope .color-warning {
  color: var(--color-warning);
}
.theme-scope .color-danger {
  color: var(--color-danger);
}
.theme-scope .color-info {
  color: var(--color-primary);
}
.theme-scope .color-text-primary {
  color: var(--color-text-primary);
}
.theme-scope .color-text-secondary {
  color: var(--color-text-secondary);
}
.theme-scope .color-text-muted {
  color: var(--color-text-muted);
}
.theme-scope .color-bg-primary {
  background-color: var(--color-bg-primary);
}
.theme-scope .color-bg-secondary {
  background-color: var(--color-bg-secondary);
}
.theme-scope .color-bg-muted {
  background-color: var(--color-bg-muted);
}
.theme-scope .color-success {
  color: var(--color-success);
}
.theme-scope .color-success-bg {
  background-color: var(--color-success-light);
  color: var(--color-success-dark);
}
.theme-scope .color-success-border {
  border-color: var(--color-success);
}
.theme-scope .color-success-text {
  color: var(--color-success-dark);
}
.theme-scope .color-success-link {
  color: var(--color-success-link);
}
.theme-scope .color-success-link:hover {
  color: var(--color-success-link-hover);
}
.theme-scope .color-warning {
  color: var(--color-warning);
}
.theme-scope .color-warning-bg {
  background-color: var(--color-warning-light);
  color: var(--color-warning-dark);
}
.theme-scope .color-warning-border {
  border-color: var(--color-warning);
}
.theme-scope .color-warning-text {
  color: var(--color-warning-dark);
}
.theme-scope .color-warning-link {
  color: var(--color-warning-link);
}
.theme-scope .color-warning-link:hover {
  color: var(--color-warning-link-hover);
}
.theme-scope .color-danger {
  color: var(--color-danger);
}
.theme-scope .color-danger-bg {
  background-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}
.theme-scope .color-danger-border {
  border-color: var(--color-danger);
}
.theme-scope .color-danger-text {
  color: var(--color-danger-dark);
}
.theme-scope .color-danger-link {
  color: var(--color-danger-link);
}
.theme-scope .color-danger-link:hover {
  color: var(--color-danger-link-hover);
}
.theme-scope .color-info {
  color: var(--color-primary);
}
.theme-scope .color-info-bg {
  background-color: var(--color-primary-lighter);
  color: var(--color-primary-dark);
}
.theme-scope .color-info-border {
  border-color: var(--color-primary);
}
.theme-scope .color-info-text {
  color: var(--color-primary-dark);
}
.theme-scope .color-info-link {
  color: var(--color-primary-hover);
}
.theme-scope .color-info-link:hover {
  color: var(--color-primary-active);
}
.theme-scope .color-neutral {
  color: var(--color-text-secondary);
}
.theme-scope .color-neutral-bg {
  background-color: var(--color-bg-muted);
  color: var(--color-text-neutral-dark);
}
.theme-scope .color-neutral-border {
  border-color: var(--color-border-light);
}
.theme-scope .color-neutral-text {
  color: var(--color-text-neutral);
}
.theme-scope .color-neutral-link {
  color: var(--color-neutral-link);
}
.theme-scope .color-neutral-link:hover {
  color: var(--color-neutral-link-hover);
}
.theme-scope .no-underline {
  text-decoration: none !important;
}
.theme-scope .hover-no-underline:hover {
  text-decoration: none !important;
}
.theme-scope .hidden {
  display: none !important;
}
.theme-scope .mb-0 {
  margin-bottom: 0 !important;
}
.theme-scope .stack-gap-normalize > * {
  margin-top: 0;
  margin-bottom: 0;
}
.theme-scope .stack-gap-normalize > .app-card,
.theme-scope .stack-gap-normalize > .card {
  margin-bottom: 0;
}
.theme-scope [class*=gap-] > .app-card,
.theme-scope [class*=gap-] > .card {
  margin-bottom: 0;
}
.theme-scope [class*=gap-] > p,
.theme-scope [class*=gap-] > h1,
.theme-scope [class*=gap-] > h2,
.theme-scope [class*=gap-] > h3,
.theme-scope [class*=gap-] > h4,
.theme-scope [class*=gap-] > h5,
.theme-scope [class*=gap-] > h6 {
  margin-top: 0;
  margin-bottom: 0;
}
.theme-scope .stack-gap-normalize > .field,
.theme-scope [class*=gap-] > .field {
  margin-bottom: 0;
}
.theme-scope .stack-fill > * {
  flex: 1 1 0%;
  min-width: 0; /* Prevent overflow from flex children */
}
.theme-scope .stack-fill.flex-wrap > * {
  flex: 1 1 auto;
  min-width: 200px; /* Minimum width before wrapping */
}
.theme-scope .flex.flex-row > .app-card,
.theme-scope .flex.flex-row > .card {
  flex: 1 1 0%;
  min-width: 0;
}
.theme-scope .flex.flex-row.flex-wrap > .app-card,
.theme-scope .flex.flex-row.flex-wrap > .card {
  flex: 1 1 200px; /* Grow, shrink, min 200px basis before wrap */
  min-width: 200px;
}
.theme-scope .badge {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-md);
  padding: 0.125rem 0.5rem;
  font-size: var(--text-xs);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-tight);
  white-space: nowrap;
  gap: 0.25rem;
}
.theme-scope .badge-default {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.theme-scope .badge-secondary {
  background-color: var(--color-bg-muted);
  color: var(--color-text-neutral);
}
.theme-scope .badge-success {
  background-color: var(--color-success-light);
  color: var(--color-success-link-hover);
}
.theme-scope .badge-error,
.theme-scope .badge-danger,
.theme-scope .badge-destructive {
  background-color: var(--color-danger-light);
  color: var(--color-danger-link-hover);
}
.theme-scope .badge-info {
  background-color: var(--color-primary-lighter);
  color: var(--color-primary-dark);
}
.theme-scope .badge-warning {
  background-color: var(--color-warning-light);
  color: var(--color-warning-link-hover);
}
.theme-scope .badge-neutral {
  background-color: var(--color-bg-muted);
  color: var(--color-text-neutral);
}
.theme-scope .badge-outline {
  background-color: transparent;
  border: 1px solid var(--color-border-light);
  color: var(--color-text-secondary);
}
.theme-scope .badge-outline-default {
  background-color: transparent;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
}
.theme-scope .badge-outline-secondary {
  background-color: transparent;
  border: 1px solid var(--color-border-light);
  color: var(--color-text-secondary);
}
.theme-scope .badge-outline-success {
  background-color: transparent;
  border: 1px solid var(--color-success);
  color: var(--color-success-link-hover);
}
.theme-scope .badge-outline-error,
.theme-scope .badge-outline-danger,
.theme-scope .badge-outline-destructive {
  background-color: transparent;
  border: 1px solid var(--color-danger);
  color: var(--color-danger-link-hover);
}
.theme-scope .badge-outline-info {
  background-color: transparent;
  border: 1px solid var(--color-primary);
  color: var(--color-primary-dark);
}
.theme-scope .badge-outline-warning {
  background-color: transparent;
  border: 1px solid var(--color-warning);
  color: var(--color-warning-link-hover);
}
.theme-scope .badge-pill {
  border-radius: var(--radius-full);
}
.theme-scope .badge-number {
  border-radius: var(--radius-full);
  padding: 0.125rem 0.375rem;
  font-size: 0.6875rem;
  min-width: 1.25rem;
  justify-content: center;
  background-color: var(--color-text-neutral-dark);
  color: var(--color-white);
}
.theme-scope .badge-number-secondary {
  background-color: var(--color-bg-muted);
  color: var(--color-text-neutral);
}
.theme-scope .badge-sm {
  font-size: 0.625rem;
  padding: 0.125rem 0.375rem;
}
.theme-scope .badge-md {
  font-size: var(--text-sm);
  padding: 0.25rem 0.75rem;
  max-height: 25px;
}
.theme-scope .badge-lg {
  font-size: var(--text-base);
  padding: 0.375rem 1rem;
}
.theme-scope .badge .iconify {
  display: inline-flex;
  align-items: center;
  font-size: var(--text-sm);
  width: 0.875rem;
  height: 0.875rem;
}
.theme-scope .badge-md .iconify {
  font-size: var(--text-base);
  width: 1rem;
  height: 1rem;
}
.theme-scope .badge-lg .iconify {
  font-size: var(--text-lg);
  width: 1.125rem;
  height: 1.125rem;
}
.theme-scope .data-list {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--color-bg-primary);
}
.theme-scope .data-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--color-border);
  background-color: var(--color-bg-primary);
  transition: background-color 0.15s ease;
}
.theme-scope .data-list-row:last-child {
  border-bottom: none;
}
.theme-scope .data-list-row:hover {
  background-color: var(--color-bg-secondary);
}
.theme-scope .data-list-row-content {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}
.theme-scope .data-list-row-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.theme-scope .data-list-item-title {
  font-weight: 500;
  color: var(--color-text-primary);
}
.theme-scope .data-list-item-subtitle {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
}
.theme-scope .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  text-align: center;
  background-color: var(--color-bg-secondary);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-lg);
  color: var(--color-text-secondary);
}
.theme-scope .empty-state-icon {
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  color: var(--color-text-muted);
}
.theme-scope .empty-state-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 0.5rem;
}
.theme-scope .empty-state-description {
  font-size: 0.875rem;
  max-width: 20rem;
}
.theme-scope .breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 20px;
  color: var(--color-text-secondary);
  margin-bottom: 1.5rem;
}
.theme-scope .breadcrumb-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.theme-scope .breadcrumb-separator,
.theme-scope .crumb-divider {
  color: var(--color-border-light);
  display: inline-flex;
  align-items: center;
}
.theme-scope .breadcrumb-link {
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 0.15s ease;
}
.theme-scope .breadcrumb-link:hover {
  color: var(--color-text-primary);
  text-decoration: underline;
}
.theme-scope .breadcrumb-current {
  color: var(--color-text-primary);
  font-weight: 500;
}
.theme-scope .breadcrumbs-chevron .crumb-divider {
  color: var(--color-border-light);
}
.theme-scope .breadcrumbs .crumb-divider svg {
  width: 16px;
  height: 16px;
  color: var(--color-border-light);
}
.theme-scope .back-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 20px;
  margin-bottom: 1.5rem;
}
.theme-scope .back-link svg {
  width: 16px;
  height: 16px;
  color: var(--color-text-secondary);
}
.theme-scope .back-link .breadcrumb-link {
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 0.15s ease;
}
.theme-scope .back-link .breadcrumb-link:hover {
  color: var(--color-text-primary);
  text-decoration: underline;
}
.theme-scope .crumb-ellipsis {
  color: var(--color-text-muted);
}
.theme-scope .breadcrumbs-small {
  font-size: 0.75rem;
  line-height: 18px;
}
.theme-scope .breadcrumbs-small .crumb-divider svg {
  width: 14px;
  height: 14px;
}
.theme-scope .breadcrumbs-large {
  font-size: 1rem;
  line-height: 24px;
}
.theme-scope .breadcrumbs-large .crumb-divider svg {
  width: 18px;
  height: 18px;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.theme-scope .animate-spin {
  animation: spin 1s linear infinite;
}
.theme-scope .loading-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
  backdrop-filter: blur(2px);
  border-radius: inherit;
}
.theme-scope .loading-skeleton {
  background-color: var(--color-bg-muted);
  border-radius: var(--radius-sm);
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.theme-scope .avatar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  /* Intentionally NOT overflow: hidden — that would clip the
     .avatar-indicator where it crosses the circle boundary. Image and
     fallback each clip themselves via border-radius: inherit. */
  user-select: none;
  width: 2.5rem; /* 40px - Default md */
  height: 2.5rem;
  border-radius: var(--radius-full); /* Circle default */
  background-color: var(--color-bg-secondary);
}
.theme-scope .avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.theme-scope .avatar-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-bg-muted);
  color: var(--color-text-secondary);
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  border-radius: inherit; /* clip background to the avatar's shape */
  overflow: hidden; /* keep initials inside on small sizes */
}
.theme-scope .avatar-sm {
  width: 2rem; /* 32px */
  height: 2rem;
}
.theme-scope .avatar-sm .avatar-fallback {
  font-size: 0.75rem;
}
.theme-scope .avatar-lg {
  width: 3rem; /* 48px */
  height: 3rem;
}
.theme-scope .avatar-lg .avatar-fallback {
  font-size: 1rem;
}
.theme-scope .avatar-xl {
  width: 4rem; /* 64px */
  height: 4rem;
}
.theme-scope .avatar-xl .avatar-fallback {
  font-size: 1.25rem;
}
.theme-scope .avatar-square {
  border-radius: 0;
}
.theme-scope .avatar-rounded {
  border-radius: var(--radius-lg);
}
.theme-scope .avatar-indicator {
  position: absolute;
  /* Sit at the ~4:30 position. With a bigger indicator we pull it
     slightly further toward the corner so it doesn't crowd the
     avatar's content. */
  bottom: 2%;
  right: 2%;
  display: block;
  width: 40%; /* Relative to avatar size */
  height: 40%;
  min-width: 14px;
  min-height: 14px;
  border-radius: var(--radius-full);
  border: 2px solid var(--color-bg-primary); /* Cutout effect */
  background-color: var(--color-bg-muted);
  box-sizing: border-box;
}
.theme-scope .status-online {
  background-color: var(--color-success);
}
.theme-scope .status-busy {
  background-color: var(--color-danger);
}
.theme-scope .status-offline {
  background-color: var(--color-text-muted);
}
.theme-scope .avatar-group {
  display: flex;
  align-items: center;
  flex-direction: row;
}
.theme-scope .avatar-group .avatar {
  border: 2px solid var(--color-bg-primary);
  margin-right: -1rem; /* Tighter overlap */
  transition: margin 0.2s ease, transform 0.2s ease, z-index 0.2s;
}
.theme-scope .avatar-group .avatar:hover {
  z-index: 10;
  transform: translateY(-2px);
  margin-right: 0;
}
.theme-scope .avatar-group .avatar:last-child {
  margin-right: 0;
}
.theme-scope .avatar-placeholder {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
  font-size: 0.75rem;
}
.theme-scope .item {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.theme-scope .item:hover {
  background-color: var(--color-bg-secondary);
}
.theme-scope .item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color-border);
}
.theme-scope .item-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.theme-scope .item-title {
  font-weight: var(--font-control-weight);
  font-size: var(--text-base);
  color: var(--color-text-primary);
  margin-bottom: 0.25rem;
}
.theme-scope .item-description {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: var(--leading-normal);
}
.theme-scope .item-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.theme-scope .item-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-border);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}
.theme-scope .item > .flex {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.theme-scope .item > .flex > .item-content {
  margin-top: 0;
}
.theme-scope .dropdown {
  position: relative;
  display: inline-block;
}
.theme-scope .dropdown-mega {
  position: static;
}
.theme-scope .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 50; /* Base z-index */
  min-width: 12rem;
  padding: 0.25rem 0; /* Tighter padding */
  margin-top: 0.25rem;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-dropdown);
  /* Flyout Animation Defaults */
  opacity: 0;
  transform: scale(0.95) translateY(-5px);
  transform-origin: top left;
  transition: opacity 0.15s ease-out, transform 0.15s ease-out, visibility 0s linear 0.15s;
  pointer-events: none;
  visibility: hidden;
}
.theme-scope .dropdown-menu.open {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
  display: block; /* Force display */
  z-index: 999; /* Ensure open state maintains high index */
}
.theme-scope .dropdown-menu-right {
  left: auto;
  right: 0;
  transform-origin: top right;
}
.theme-scope .dropdown-menu-center {
  left: 50%;
  transform: translateX(-50%) scale(0.95) translateY(-5px);
  transform-origin: top center;
}
.theme-scope .dropdown-menu-center.open {
  transform: translateX(-50%) scale(1) translateY(0);
}
.theme-scope .dropdown-menu-w-sm {
  min-width: 10rem;
}
.theme-scope .dropdown-menu-w-md {
  min-width: 16rem;
}
.theme-scope .dropdown-menu-w-lg {
  min-width: 20rem;
}
.theme-scope .dropdown-menu-w-xl {
  min-width: 24rem;
}
.theme-scope .dropdown-mega-container {
  position: relative; /* Parent container for mega menu */
}
.theme-scope .dropdown-menu-mega {
  position: absolute;
  left: 2rem;
  right: 2rem;
  width: auto;
  padding: 1.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  /* Override the transform animation - no scale to prevent width squishing */
  transform: translateY(-5px);
  transform-origin: top center;
}
.theme-scope .dropdown-menu-mega.open {
  display: grid !important; /* Override .dropdown-menu.open display: block */
  transform: translateY(0);
  overflow: hidden; /* Clip content to dropdown boundaries */
}
.theme-scope .dropdown-menu-up,
.theme-scope .dropdown-menu-top {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.25rem;
  transform: scale(0.95) translateY(5px);
  transform-origin: bottom left;
}
.theme-scope .dropdown-menu-up.open,
.theme-scope .dropdown-menu-top.open {
  transform: scale(1) translateY(0);
}
.theme-scope .dropdown-menu-up.dropdown-menu-right,
.theme-scope .dropdown-menu-top.dropdown-menu-right {
  transform-origin: bottom right;
}
.theme-scope .dropdown-menu-up.dropdown-menu-center,
.theme-scope .dropdown-menu-top.dropdown-menu-center {
  transform: translateX(-50%) scale(0.95) translateY(5px);
  transform-origin: bottom center;
}
.theme-scope .dropdown-menu-up.dropdown-menu-center.open,
.theme-scope .dropdown-menu-top.dropdown-menu-center.open {
  transform: translateX(-50%) scale(1) translateY(0);
}
.theme-scope .dropdown-header {
  display: block;
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: var(--text-xs);
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-secondary);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.theme-scope .dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.5rem 1rem;
  clear: both;
  font-weight: 400;
  color: var(--color-text-primary);
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.15s ease-in-out;
  font-size: var(--text-sm);
}
.theme-scope .dropdown-item:hover,
.theme-scope .dropdown-item:focus {
  background-color: var(--color-bg-secondary);
  color: var(--color-primary);
  text-decoration: none;
  outline: none;
}
.theme-scope .dropdown-item.active {
  background-color: var(--color-primary-light);
  color: var(--color-primary);
}
.theme-scope .dropdown-item-description {
  display: block;
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  margin-top: 0.125rem;
  white-space: normal;
}
.theme-scope .dropdown-item-text {
  display: block;
  padding: 0.5rem 1rem;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
}
.theme-scope .dropdown-item:hover .dropdown-item-description {
  color: var(--color-text-neutral-dark);
}
.theme-scope .dropdown-divider {
  height: 0;
  margin: 0.375rem 0;
  overflow: hidden;
  border-top: 1px solid var(--color-border-light);
}
.theme-scope .dropdown-item-icon {
  width: 1rem;
  height: 1rem;
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.theme-scope .dropdown-item:hover .dropdown-item-icon {
  color: var(--color-primary);
}
.theme-scope .popover-content {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 50;
  padding: 1rem;
  margin-top: 0.5rem;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-dropdown);
  /* Flyout Animation Defaults */
  opacity: 0;
  transform: scale(0.95) translateY(-5px);
  transform-origin: top left;
  transition: opacity 0.15s ease-out, transform 0.15s ease-out, visibility 0s linear 0.15s;
  pointer-events: none;
  visibility: hidden;
}
.theme-scope .popover-content.open {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}
.theme-scope .popover-content-right {
  left: auto;
  right: 0;
  transform-origin: top right;
}
.theme-scope .popover-content-center {
  left: 50%;
  transform: translateX(-50%) scale(0.95) translateY(-5px);
  transform-origin: top center;
}
.theme-scope .popover-content-center.open {
  transform: translateX(-50%) scale(1) translateY(0);
}
.theme-scope .popover-content-up,
.theme-scope .popover-content-top {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.5rem;
  transform: scale(0.95) translateY(5px);
  transform-origin: bottom left;
}
.theme-scope .popover-content-up.open,
.theme-scope .popover-content-top.open {
  transform: scale(1) translateY(0);
}
.theme-scope .popover-content-up.popover-content-right,
.theme-scope .popover-content-top.popover-content-right {
  transform-origin: bottom right;
}
.theme-scope .popover-content-up.popover-content-center,
.theme-scope .popover-content-top.popover-content-center {
  transform: translateX(-50%) scale(0.95) translateY(5px);
  transform-origin: bottom center;
}
.theme-scope .popover-content-up.popover-content-center.open,
.theme-scope .popover-content-top.popover-content-center.open {
  transform: translateX(-50%) scale(1) translateY(0);
}
.theme-scope .field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.theme-scope .field:last-child {
  margin-bottom: 0;
}
.theme-scope .field-horizontal {
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
}
.theme-scope .field-horizontal.items-start,
.theme-scope .field-horizontal:has(.field-content) {
  align-items: flex-start;
}
.theme-scope .field-responsive {
  flex-direction: column;
}
@media (min-width: 640px) {
  .theme-scope .field-responsive {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
  }
}
.theme-scope .field-label {
  display: block;
  margin-bottom: 0;
  font-weight: var(--font-control-weight);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}
.theme-scope .field-horizontal .field-label {
  margin-bottom: 0;
  margin-top: 0;
  line-height: var(--leading-normal);
}
.theme-scope .field-title {
  font-weight: var(--font-control-weight);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  margin-bottom: 0;
}
.theme-scope .field-description {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: var(--leading-normal);
  margin: 0;
}
.theme-scope .field-horizontal .field-description {
  font-size: var(--text-sm);
  margin-bottom: 0;
}
.theme-scope .fieldset > .field-description {
  margin-bottom: 0.75rem;
}
.theme-scope .field-description + .form-input,
.theme-scope .field-description + .form-select,
.theme-scope .field-description + .form-textarea,
.theme-scope .field-description + input,
.theme-scope .field-description + select,
.theme-scope .field-description + textarea,
.theme-scope .field-description + .range-slider {
  margin-top: 0;
}
.theme-scope .fieldset .field-description + .field-group {
  margin-top: 0;
}
.theme-scope .field-content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1;
}
.theme-scope .field-horizontal .field-content {
  flex: 1;
}
.theme-scope .field-responsive .field-content {
  flex: 0 0 auto;
  min-width: 8rem;
}
@media (min-width: 640px) {
  .theme-scope .field-responsive .field-content {
    min-width: 10rem;
    max-width: 12rem;
  }
}
.theme-scope .fieldset {
  border: none;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.theme-scope .field-legend {
  font-size: var(--text-lg);
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-primary);
  margin-bottom: 0.375rem;
  line-height: var(--leading-normal);
}
.theme-scope .field-legend-label {
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  margin-bottom: 0.375rem;
}
.theme-scope .field-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.theme-scope .field-group > .field-separator {
  margin: 0.5rem 0 !important;
  flex-shrink: 0;
}
.theme-scope .field-group.gap-3 {
  gap: 0.5rem;
}
.theme-scope .fieldset .field-group .field-horizontal {
  margin-bottom: 0;
}
.theme-scope .space-y-2 > .field-horizontal {
  margin-bottom: 0;
}
.theme-scope .space-y-2 > .field-horizontal + .field-horizontal {
  margin-top: 0.5rem;
}
@container field-group (min-width: 640px) {
  .theme-scope .field-responsive {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
  }
}
.theme-scope .field-separator {
  display: block !important;
  height: 1px;
  background-color: var(--color-border);
  margin: 0;
  border: none;
  width: 100%;
}
.theme-scope .field-separator-with-label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: var(--leading-normal);
  text-align: center;
}
.theme-scope .field-separator-with-label::before,
.theme-scope .field-separator-with-label::after {
  height: 1px;
  background: var(--color-border);
  content: "";
}
.theme-scope .field-invalid input,
.theme-scope .field-invalid textarea,
.theme-scope .field-invalid select,
.theme-scope .field-invalid .form-input,
.theme-scope .field-invalid .form-select {
  border-color: var(--color-danger);
}
.theme-scope .field-invalid input:focus,
.theme-scope .field-invalid textarea:focus,
.theme-scope .field-invalid select:focus,
.theme-scope .field-invalid .form-input:focus,
.theme-scope .field-invalid .form-select:focus {
  border-color: var(--color-danger);
  box-shadow: 0 0 0 3px var(--color-danger-ring);
}
.theme-scope .field-error {
  font-size: var(--text-sm);
  color: var(--color-danger);
  margin: 0;
  line-height: var(--leading-normal);
}
.theme-scope .native-select-field {
  min-width: 0;
}
.theme-scope .native-select-wrapper {
  position: relative;
  display: grid;
  min-width: 0;
}
.theme-scope .native-select-wrapper::after {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid var(--color-text-muted);
  border-bottom: 1.5px solid var(--color-text-muted);
  content: "";
  pointer-events: none;
  transform: translateY(-65%) rotate(45deg);
}
.theme-scope .native-select {
  width: 100%;
  padding-right: 2.25rem;
  appearance: none;
}
.theme-scope .native-select:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.theme-scope .field-choice-card {
  display: block;
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-choice-border);
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  background-color: var(--color-choice-bg);
}
.theme-scope .field-choice-card:hover {
  background-color: var(--color-choice-bg-hover);
  border-color: var(--color-choice-border-hover);
}
.theme-scope .field-choice-card:has(input:checked) {
  border-color: var(--color-choice-border-checked);
  background-color: var(--color-choice-bg-checked);
}
.theme-scope .field-choice-card:has(input:focus) {
  outline: 2px solid var(--color-choice-ring);
  outline-offset: 2px;
}
.theme-scope .field-responsive input,
.theme-scope .field-responsive textarea,
.theme-scope .field-responsive select,
.theme-scope .field-responsive .form-input,
.theme-scope .field-responsive .form-select {
  width: 100%;
  max-width: 100%;
}
@media (min-width: 640px) {
  .theme-scope .field-responsive input,
  .theme-scope .field-responsive textarea,
  .theme-scope .field-responsive select,
  .theme-scope .field-responsive .form-input,
  .theme-scope .field-responsive .form-select {
    width: 100%;
    max-width: 24rem;
    flex: 0 1 auto;
  }
}
.theme-scope .field-horizontal input[type=checkbox],
.theme-scope .field-horizontal input[type=radio],
.theme-scope .field-horizontal .form-toggle {
  flex-shrink: 0;
}
.theme-scope .field-group .field-horizontal.field,
.theme-scope .space-y-2 .field-horizontal.field {
  margin-bottom: 0;
  gap: 0.625rem;
}
.theme-scope .field-horizontal button {
  margin-right: 0.5rem;
}
.theme-scope .field-horizontal button:last-child {
  margin-right: 0;
}
.theme-scope .field input[aria-invalid=true],
.theme-scope .field textarea[aria-invalid=true],
.theme-scope .field select[aria-invalid=true] {
  border-color: var(--color-danger);
}
.theme-scope .field:has(.field-description) .field-label,
.theme-scope .field:has(.field-description) .field-title {
  margin-bottom: 0;
}
.theme-scope .field:has(input:focus) .field-label,
.theme-scope .field:has(textarea:focus) .field-label,
.theme-scope .field:has(select:focus) .field-label {
  color: var(--color-primary);
}
.theme-scope .range-slider {
  position: relative;
  width: 100%;
  height: 1.25rem;
  margin-top: 0.5rem;
}
.theme-scope .range-slider-track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 0.25rem;
  background: var(--color-border-light);
  border-radius: var(--radius-full);
  transform: translateY(-50%);
}
.theme-scope .range-slider-range {
  position: absolute;
  height: 100%;
  background: var(--color-primary);
  border-radius: var(--radius-full);
}
.theme-scope .range-slider-input {
  position: absolute;
  width: 100%;
  height: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  pointer-events: none;
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
}
.theme-scope .range-slider-input::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  pointer-events: all;
  width: 1rem;
  height: 1rem;
  background: var(--color-bg-primary);
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.15s ease-in-out;
}
.theme-scope .range-slider-input::-webkit-slider-thumb:hover {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope .range-slider-input::-webkit-slider-thumb:active {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope .range-slider-input::-moz-range-thumb {
  pointer-events: all;
  width: 1rem;
  height: 1rem;
  background: var(--color-bg-primary);
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.15s ease-in-out;
}
.theme-scope .range-slider-input::-moz-range-thumb:hover {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope .range-slider-input::-moz-range-thumb:active {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope .range-slider-input:focus {
  outline: none;
}
.theme-scope .range-slider-input:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope .range-slider-input:focus::-moz-range-thumb {
  box-shadow: 0 0 0 4px var(--color-primary-ring);
}
.theme-scope .range-slider-input-min {
  z-index: 4;
}
.theme-scope .range-slider-input-max {
  z-index: 3;
}
.theme-scope .code-block {
  position: relative;
  border: 1px solid var(--color-code-border, var(--color-border));
  border-radius: var(--radius-lg);
  background-color: var(--color-code-bg-dark);
  color: var(--color-code-text-dark);
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.theme-scope .code-block-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background-color: var(--color-code-header-bg);
  border-bottom: 1px solid var(--color-code-border, var(--color-border));
}
.theme-scope .code-block-header:has(.tab-nav) {
  padding-bottom: 0;
  border-bottom: 0;
  align-items: flex-end;
}
.theme-scope .code-block-header .tab-nav {
  /* nav already has padding: var(--space-tab-y) 0 + border-bottom;
     just kill its standalone bottom-margin so it sits flush. */
  margin-bottom: 0;
  flex: 1;
}
.theme-scope .code-block-header .tab-list {
  gap: 1.25rem;
}
.theme-scope .code-block-title {
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  color: var(--color-text-secondary);
}
.theme-scope .code-block-tabs {
  display: flex;
  gap: 1rem;
}
.theme-scope .code-block-tab {
  background: none;
  border: none;
  color: var(--color-text-muted);
  cursor: pointer;
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  padding: 0.25rem 0;
  position: relative;
  transition: color 0.2s;
}
.theme-scope .code-block-tab:hover {
  color: var(--color-text-primary);
}
.theme-scope .code-block-tab.active {
  color: var(--color-text-primary);
}
.theme-scope .code-block-tab.active::after {
  content: "";
  position: absolute;
  bottom: -0.75rem; /* align with header bottom padding */
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-primary);
}
.theme-scope .code-block-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.theme-scope .code-copy-btn {
  background: none;
  border: none;
  color: var(--color-text-muted);
  cursor: pointer;
  padding: 0.25rem;
  border-radius: var(--radius-sm);
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.theme-scope .code-copy-btn:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .code-block-content {
  position: relative;
  padding: 1rem;
  overflow-x: auto;
  font-family: var(--font-role-code, var(--font-mono, ui-monospace, monospace));
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}
.theme-scope .code-block-content pre {
  margin: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  border: 0;
  border-radius: 0;
}
.theme-scope .code-block-content code {
  font-family: inherit;
  color: inherit;
}
.theme-scope .code-block.collapsed .code-block-content {
  max-height: 150px; /* Adjust as needed */
  overflow-y: hidden;
}
.theme-scope .code-block-expand-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to bottom, transparent, var(--color-code-bg-dark) 90%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 2rem;
  pointer-events: none;
}
.theme-scope .code-block-expand-btn {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-bg-primary);
  color: var(--color-primary);
  border: 1px solid currentColor;
  padding: var(--space-btn-sm-y) var(--space-btn-x);
  border-radius: var(--radius-button);
  font-size: var(--text-xs);
  font-weight: var(--font-control-weight);
  line-height: var(--leading-normal);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
}
.theme-scope .code-block-expand-btn:hover {
  background-color: var(--color-primary-light);
  color: var(--color-primary-hover);
}
.theme-scope .code-block-expand-btn:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-primary-ring);
}
.theme-scope .code-header-expand-btn {
  background: none;
  border: none;
  color: var(--color-text-muted);
  cursor: pointer;
  font-size: var(--text-xs);
  font-weight: var(--font-control-weight);
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-sm);
  transition: color 0.2s;
}
.theme-scope .code-header-expand-btn:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-muted);
}
.theme-scope .code-command {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background-color: var(--color-code-bg-dark);
  color: var(--color-code-text-dark);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  font-family: var(--font-role-code, var(--font-mono, ui-monospace, monospace));
  font-size: var(--text-sm);
}
.theme-scope .code-command-text {
  margin-right: 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theme-scope .code-command-prefix {
  color: var(--color-text-muted);
  margin-right: 0.5rem;
  user-select: none;
}
.theme-scope .code-block.simple .code-copy-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 10;
}
.theme-scope code[class*=language-],
.theme-scope pre[class*=language-] {
  color: var(--color-code-text-dark);
  text-shadow: none;
}
.theme-scope .token.comment,
.theme-scope .token.prolog,
.theme-scope .token.doctype,
.theme-scope .token.cdata {
  color: var(--color-syntax-comment);
}
.theme-scope .token.punctuation {
  color: var(--color-syntax-punctuation);
}
.theme-scope .token.property,
.theme-scope .token.tag,
.theme-scope .token.boolean,
.theme-scope .token.number,
.theme-scope .token.constant,
.theme-scope .token.symbol,
.theme-scope .token.deleted {
  color: var(--color-syntax-number);
}
.theme-scope .token.selector,
.theme-scope .token.attr-name,
.theme-scope .token.string,
.theme-scope .token.char,
.theme-scope .token.builtin,
.theme-scope .token.inserted {
  color: var(--color-syntax-string);
}
.theme-scope .token.operator,
.theme-scope .token.entity,
.theme-scope .token.url,
.theme-scope .language-css .token.string,
.theme-scope .style .token.string {
  color: var(--color-syntax-operator);
}
.theme-scope .token.atrule,
.theme-scope .token.attr-value,
.theme-scope .token.keyword {
  color: var(--color-syntax-keyword);
}
.theme-scope .token.function,
.theme-scope .token.class-name {
  color: var(--color-syntax-function);
}
.theme-scope .token.regex,
.theme-scope .token.important,
.theme-scope .token.variable {
  color: var(--color-syntax-property);
}
.theme-scope .token.important,
.theme-scope .token.bold {
  font-weight: bold;
}
.theme-scope .token.italic {
  font-style: italic;
}
.theme-scope .token.entity {
  cursor: help;
}
.theme-scope .toast-container {
  position: fixed;
  bottom: var(--space-gap-lg);
  right: var(--space-gap-lg);
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 24rem;
  width: 100%;
  pointer-events: none; /* Allow clicking through the container */
}
.theme-scope .toast {
  pointer-events: auto; /* Re-enable pointer events for toasts */
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-gap-md);
  box-shadow: var(--shadow-toast);
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  transition: all 0.3s ease;
  transform-origin: bottom right;
  /* Animation classes will be handled by Alpine x-transition */
}
.dark .theme-scope .toast, .theme-scope.dark .toast {
  background-color: var(--color-bg-secondary); /* Slightly lighter than page bg for contrast */
  box-shadow: var(--shadow-toast-outer), var(--shadow-toast-inner);
}
.dark .theme-scope .toast-success, .theme-scope.dark .toast-success {
  box-shadow: var(--shadow-toast-outer), 0 0 20px -5px color-mix(in srgb, var(--color-success) 20%, transparent);
}
.dark .theme-scope .toast-error, .theme-scope.dark .toast-error {
  box-shadow: var(--shadow-toast-outer), 0 0 20px -5px color-mix(in srgb, var(--color-danger) 20%, transparent);
}
.dark .theme-scope .toast-warning, .theme-scope.dark .toast-warning {
  box-shadow: var(--shadow-toast-outer), 0 0 20px -5px color-mix(in srgb, var(--color-warning) 20%, transparent);
}
.dark .theme-scope .toast-info, .theme-scope.dark .toast-info {
  box-shadow: var(--shadow-toast-outer), 0 0 20px -5px color-mix(in srgb, var(--color-info) 20%, transparent);
}
.theme-scope .toast-content {
  flex: 1;
}
.theme-scope .toast-title {
  font-weight: var(--font-emphasis-weight);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  margin-bottom: 0.25rem;
}
.theme-scope .toast-description {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}
.theme-scope .toast-close {
  color: var(--color-text-secondary);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.theme-scope .toast-close:hover {
  opacity: 1;
}
.theme-scope .toast-default {
  border-left: 4px solid var(--color-border);
}
.theme-scope .toast-success {
  border-left: 4px solid var(--color-success);
}
.theme-scope .toast-success .toast-icon {
  color: var(--color-success);
}
.theme-scope .toast-error {
  border-left: 4px solid var(--color-danger);
}
.theme-scope .toast-error .toast-icon {
  color: var(--color-danger);
}
.theme-scope .toast-warning {
  border-left: 4px solid var(--color-warning);
}
.theme-scope .toast-warning .toast-icon {
  color: var(--color-warning);
}
.theme-scope .toast-info {
  border-left: 4px solid var(--color-primary);
}
.theme-scope .toast-info .toast-icon {
  color: var(--color-primary);
}
.theme-scope .pagination {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* Or center depending on pref, usually start or based on container */
}
.theme-scope .pagination-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.theme-scope .pagination-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.75rem;
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  color: var(--color-text-primary);
  background-color: transparent;
  border-radius: var(--radius-md);
  text-decoration: none;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
}
.theme-scope .pagination-item:hover {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
}
.theme-scope .pagination-item.active {
  background-color: var(--color-white);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  font-weight: var(--font-emphasis-weight);
  /* Box shadow similar to buttons if needed, or flat */
  box-shadow: var(--shadow-sm);
}
.theme-scope .pagination-item.icon-only {
  padding: 0;
  width: 2.25rem;
}
.theme-scope .pagination-previous,
.theme-scope .pagination-next {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  width: auto;
}
.theme-scope .pagination-previous svg,
.theme-scope .pagination-next svg {
  width: 1rem;
  height: 1rem;
}
.theme-scope .pagination-ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: var(--color-text-muted);
}
.theme-scope .toggle-group {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background-color: transparent;
  border-radius: var(--radius-sm);
  padding: 0;
  border: 1px solid var(--color-border);
}
.theme-scope .toggle-group-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  padding: 0.375rem 0.5rem;
  min-width: 2rem;
  min-height: 2rem;
  font-size: var(--text-sm);
  font-weight: 400;
  line-height: 1.25rem;
  color: var(--color-text-secondary);
  background-color: var(--color-bg-primary);
  border: none;
  border-right: 1px solid var(--color-border);
  cursor: pointer;
  transition: background-color 0.1s ease, color 0.1s ease;
  white-space: nowrap;
  position: relative;
}
.theme-scope .toggle-group-item:first-child {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.theme-scope .toggle-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  border-right: none;
}
.theme-scope .toggle-group-item:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
  z-index: 10;
}
.theme-scope .toggle-group-item:hover:not(:disabled):not([data-state=on]) {
  background-color: var(--color-bg-muted);
}
.theme-scope .toggle-group-item[data-state=on], .theme-scope .toggle-group-item.selected {
  background-color: var(--color-primary-light);
  color: var(--color-primary);
  z-index: 1;
}
.theme-scope .toggle-group-item:disabled, .theme-scope .toggle-group-item[disabled] {
  pointer-events: none;
  opacity: 0.38;
  color: var(--color-text-muted);
}
.theme-scope .toggle-group-item svg,
.theme-scope .toggle-group-item .iconify {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}
.theme-scope .toggle-group-item svg + span,
.theme-scope .toggle-group-item .iconify + span {
  margin-left: 0.375rem;
}
.theme-scope .toggle-group.toggle-group-outline {
  background-color: transparent;
  border: none;
  padding: 0;
  gap: 2px; /* Small gap between buttons */
}
.theme-scope .toggle-group.toggle-group-outline .toggle-group-item {
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  border-right: none;
}
.theme-scope .toggle-group.toggle-group-outline .toggle-group-item:first-child {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.theme-scope .toggle-group.toggle-group-outline .toggle-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
.theme-scope .toggle-group.toggle-group-outline .toggle-group-item:hover:not(:disabled):not([data-state=on]) {
  background-color: var(--color-bg-muted);
}
.theme-scope .toggle-group.toggle-group-outline .toggle-group-item[data-state=on], .theme-scope .toggle-group.toggle-group-outline .toggle-group-item.selected {
  background-color: var(--color-primary-light);
  color: var(--color-primary);
  border-color: transparent;
}
.theme-scope .toggle-group-sm .toggle-group-item {
  padding: 0.25rem 0.375rem;
  min-width: 1.75rem;
  min-height: 1.75rem;
  font-size: 0.8125rem;
}
.theme-scope .toggle-group-sm .toggle-group-item svg,
.theme-scope .toggle-group-sm .toggle-group-item .iconify {
  width: 1rem;
  height: 1rem;
}
.theme-scope .toggle-group-lg .toggle-group-item {
  padding: var(--space-input-y) var(--space-input-x);
  min-width: 2.5rem;
  min-height: 2.5rem;
  font-size: 0.9375rem;
}
.theme-scope .toggle-group-lg .toggle-group-item svg,
.theme-scope .toggle-group-lg .toggle-group-item .iconify {
  width: 1.25rem;
  height: 1.25rem;
}
.theme-scope .toggle-group-vertical {
  flex-direction: column;
}
.theme-scope .toggle-group-vertical.toggle-group-outline .toggle-group-item {
  width: 100%;
  margin-left: 0;
  margin-top: -1px;
  border-left: none;
  border-top: 1px solid transparent;
}
.theme-scope .toggle-group-vertical.toggle-group-outline .toggle-group-item:first-child {
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  margin-top: 0;
}
.theme-scope .toggle-group-vertical.toggle-group-outline .toggle-group-item:last-child {
  border-radius: 0 0 var(--radius-md) var(--radius-md);
}
.theme-scope .toggle-group-vertical.toggle-group-outline .toggle-group-item + .toggle-group-item {
  border-top: 1px solid var(--color-border);
  border-left: none;
}
.theme-scope .section-heading {
  font-size: var(--text-lg);
  font-weight: var(--font-heading-weight);
  color: var(--color-text-primary);
  margin-bottom: 1rem;
  line-height: var(--leading-tight);
}
.theme-scope .section-description {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-bottom: 1rem;
}
.theme-scope .subsection-heading {
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  color: var(--color-text-secondary);
  margin-bottom: 0.5rem;
}
.theme-scope .caption {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}
.theme-scope .fine-print {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.theme-scope .brand-text {
  font-size: var(--text-xl);
  font-weight: var(--font-display-weight);
  letter-spacing: -0.025em;
  color: var(--color-text-primary);
}
.theme-scope .hero-title {
  font-size: var(--text-4xl);
  font-weight: var(--font-display-weight);
  letter-spacing: -0.025em;
  color: var(--color-text-primary);
  line-height: 1.1;
}
@media (min-width: 768px) {
  .theme-scope .hero-title {
    font-size: var(--text-5xl);
  }
}
.theme-scope .hero-accent {
  color: var(--color-primary);
}
.theme-scope .hero-description {
  font-size: var(--text-lg);
  color: var(--color-text-secondary);
}
.theme-scope .nav-link {
  display: inline-flex;
  align-items: center;
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 0.15s ease;
}
.theme-scope .nav-link:hover {
  color: var(--color-text-primary);
}
.theme-scope .footer-link {
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 0.15s ease;
}
.theme-scope .footer-link:hover {
  color: var(--color-primary);
}
.theme-scope .social-link {
  color: var(--color-text-muted);
  transition: color 0.15s ease;
}
.theme-scope .social-link:hover {
  color: var(--color-text-secondary);
}
.theme-scope .badge-dark {
  background-color: var(--color-text-primary);
  color: var(--color-white);
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-lg);
  font-size: var(--text-xs);
  font-weight: var(--font-control-weight);
  display: inline-block;
}
.theme-scope .icon-placeholder {
  color: var(--color-border-default);
  opacity: 0.6;
}
.theme-scope .text-accent {
  color: var(--color-primary);
}
.theme-scope .bg-accent {
  background-color: var(--color-primary);
}
.theme-scope .bg-accent-light {
  background-color: var(--color-primary-ring);
}
.theme-scope .border-accent {
  border-color: var(--color-primary);
}
.theme-scope .loading-spinner {
  color: var(--color-primary);
  animation: spin 1s linear infinite;
}
.theme-scope .status-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
}
.theme-scope .status-success {
  background-color: var(--color-success);
}
.theme-scope .status-danger {
  background-color: var(--color-danger);
}
.theme-scope .status-warning {
  background-color: var(--color-warning);
}
.theme-scope .interactive-danger:hover {
  background-color: var(--color-danger-bg);
}
.theme-scope .btn-ghost-danger {
  color: var(--color-danger);
}
.theme-scope .btn-ghost-danger:hover {
  color: var(--color-danger);
  background-color: var(--color-danger-bg);
}
.theme-scope .text-success {
  color: var(--color-success);
}
.theme-scope .text-warning {
  color: var(--color-warning);
}
.theme-scope .text-danger {
  color: var(--color-danger);
}
.theme-scope .text-inverse {
  color: var(--color-white);
}
.theme-scope .text-muted {
  color: var(--color-text-muted);
}
.theme-scope .help-text {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin-top: 0.25rem;
}
.theme-scope .demo-container {
  padding: var(--space-gap-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background-color: var(--color-bg-muted);
}
.theme-scope .demo-container-tall {
  padding: var(--space-gap-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background-color: var(--color-bg-muted);
  min-height: 16rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  overflow: visible;
  z-index: 10;
}
.theme-scope .demo-container-sm {
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background-color: var(--color-bg-muted);
}
.theme-scope .surface {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.theme-scope .surface-muted {
  background-color: var(--color-bg-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.theme-scope .text-primary {
  color: var(--color-text-primary);
}
.theme-scope .text-secondary {
  color: var(--color-text-secondary);
}
.theme-scope .text-muted {
  color: var(--color-text-muted);
}
.theme-scope .text-accent {
  color: var(--color-primary);
}
.theme-scope .text-success {
  color: var(--color-success);
}
.theme-scope .text-danger {
  color: var(--color-danger);
}
.theme-scope .text-warning {
  color: var(--color-warning);
}
.theme-scope .bg-primary {
  background-color: var(--color-bg-primary);
}
.theme-scope .bg-muted {
  background-color: var(--color-bg-muted);
}
.theme-scope .bg-secondary {
  background-color: var(--color-bg-secondary);
}
.theme-scope .interactive {
  transition: background-color 0.15s ease, color 0.15s ease;
}
.theme-scope .interactive:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .interactive-link {
  color: var(--color-text-secondary);
  transition: color 0.15s ease;
}
.theme-scope .interactive-link:hover {
  color: var(--color-text-primary);
}
.theme-scope .accent-link {
  color: var(--color-text-secondary);
  transition: color 0.15s ease;
}
.theme-scope .accent-link:hover {
  color: var(--color-primary);
}
.theme-scope .iconify {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  line-height: 1;
}
.theme-scope .icon-muted {
  color: var(--color-text-muted);
}
.theme-scope .icon-interactive {
  color: var(--color-text-muted);
  transition: color 0.15s ease;
}
.theme-scope .icon-interactive:hover {
  color: var(--color-text-secondary);
}
.theme-scope .icon-success {
  color: var(--color-success);
}
.theme-scope .icon-danger {
  color: var(--color-danger);
}
.theme-scope .icon-warning {
  color: var(--color-warning);
}
.theme-scope .icon-accent {
  color: var(--color-primary);
}
.theme-scope .border-light {
  border: 1px solid var(--color-border-light);
}
.theme-scope .divider {
  border-top: 1px solid var(--color-border);
}
.theme-scope .divider-b {
  border-bottom: 1px solid var(--color-border);
}
.theme-scope .stat-box {
  padding: 0.75rem;
  background-color: var(--color-bg-muted);
  border-radius: var(--radius-lg);
}
.theme-scope .stat-label {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}
.theme-scope .stat-value {
  font-size: var(--text-2xl);
  font-weight: var(--font-display-weight);
  color: var(--color-text-primary);
}
.theme-scope .stat-change-positive {
  font-size: var(--text-xs);
  color: var(--color-success);
}
.theme-scope .stat-change-negative {
  font-size: var(--text-xs);
  color: var(--color-danger);
}
.theme-scope .nav-link {
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  color: var(--color-text-secondary);
  transition: color 0.15s ease;
  text-decoration: none;
}
.theme-scope .nav-link:hover {
  color: var(--color-text-primary);
}
.theme-scope .brand-text {
  font-size: var(--text-xl);
  font-weight: var(--font-display-weight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text-primary);
}
.theme-scope .footer-link {
  color: var(--color-text-secondary);
  transition: color 0.15s ease;
  text-decoration: none;
}
.theme-scope .footer-link:hover {
  color: var(--color-primary);
}
.theme-scope .social-link {
  color: var(--color-text-muted);
  transition: color 0.15s ease;
}
.theme-scope .social-link:hover {
  color: var(--color-text-secondary);
}
.theme-scope .hero-title {
  font-size: var(--text-4xl);
  font-weight: var(--font-display-weight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text-primary);
  line-height: var(--leading-tight);
}
.theme-scope .hero-accent {
  color: var(--color-primary);
}
.theme-scope .hero-description {
  font-size: var(--text-lg);
  color: var(--color-text-secondary);
}
.theme-scope .fine-print {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.theme-scope .panel-header {
  width: 100%;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--color-bg-primary);
  border-radius: var(--radius-lg);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  transition: background-color 0.15s ease;
  cursor: pointer;
}
.theme-scope .panel-header:has(+ *:not([style*="display: none"])):not(:has(+ [x-show]:not([style]))) {
  border-bottom: 1px solid var(--color-border);
}
.theme-scope .panel-header[aria-expanded=true] {
  border-bottom: 1px solid var(--color-border);
}
.theme-scope .panel-header:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .accordion-borderless .panel-header {
  border-radius: 0;
  background-color: transparent;
  border-bottom: none;
}
.theme-scope .accordion-borderless .panel-header[aria-expanded=true] {
  border-bottom: none;
}
.theme-scope .accordion-borderless .panel-header:has(+ *:not([style*="display: none"])):not(:has(+ [x-show]:not([style]))) {
  border-bottom: none;
}
.theme-scope .accordion-borderless .panel-header:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .panel-content {
  padding: 1rem;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}
.theme-scope .grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.theme-scope .grid-2-responsive {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  .theme-scope .grid-2-responsive {
    grid-template-columns: repeat(2, 1fr);
  }
}
.theme-scope .focus-ring:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-primary-ring);
  border-color: var(--color-primary);
}
.theme-scope .focus-ring:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-primary-ring);
  border-color: var(--color-primary);
}
.theme-scope .tooltip {
  position: absolute;
  bottom: 100%;
  right: 0;
  margin-bottom: 0.5rem;
  padding: 0.375rem 0.75rem;
  font-size: var(--text-xs);
  color: var(--color-white);
  background-color: var(--color-text-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-dropdown);
  white-space: nowrap;
  z-index: 50;
  pointer-events: none;
}
.theme-scope .tooltip-arrow {
  position: absolute;
  top: 100%;
  right: 0.375rem;
  margin-top: -0.25rem;
  border-width: 0.25rem;
  border-style: solid;
  border-color: var(--color-text-primary) transparent transparent transparent;
}
.theme-scope .calendar-widget {
  --calendar-cell-size: 36px;
  --calendar-gap: 2px;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: 1rem;
  box-shadow: var(--shadow-card);
}
.theme-scope .calendar-widget-xs {
  --calendar-cell-size: 24px;
  padding: 0.75rem;
  font-size: 0.75rem;
}
.theme-scope .calendar-widget-xs .calendar-nav-title {
  font-size: 0.75rem;
}
.theme-scope .calendar-widget-xs .calendar-weekday {
  font-size: 0.625rem;
}
.theme-scope .calendar-widget-sm {
  --calendar-cell-size: 32px;
  padding: 0.875rem;
}
.theme-scope .calendar-widget-sm .calendar-nav-title {
  font-size: 0.8125rem;
}
.theme-scope .calendar-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  gap: 0.5rem;
}
.theme-scope .calendar-nav-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-scope .calendar-nav-btn:hover {
  background-color: var(--color-bg-secondary);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}
.theme-scope .calendar-nav-btn .iconify {
  font-size: 1.125rem;
}
.theme-scope .calendar-nav-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-text-primary);
  text-align: center;
  flex: 1;
}
.theme-scope .calendar-dropdowns {
  display: flex;
  gap: 0.375rem;
  flex: 1;
  justify-content: center;
}
.theme-scope .calendar-dropdown {
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
  font-family: inherit;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text-primary);
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%2371717a' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 4px center;
  padding-right: 20px;
}
.theme-scope .calendar-dropdown:hover {
  border-color: var(--color-primary);
}
.theme-scope .calendar-dropdown:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-ring);
}
.theme-scope .calendar-grid {
  display: flex;
  flex-direction: column;
  gap: var(--calendar-gap);
}
.theme-scope .calendar-weekdays {
  display: flex;
  gap: var(--calendar-gap);
}
.theme-scope .calendar-weekday {
  width: var(--calendar-cell-size);
  height: calc(var(--calendar-cell-size) * 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.theme-scope .calendar-week {
  display: flex;
  gap: var(--calendar-gap);
}
.theme-scope .calendar-day {
  width: var(--calendar-cell-size);
  height: var(--calendar-cell-size);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-family: inherit;
  background: transparent;
  border: none;
  border-radius: var(--radius-md);
  color: var(--color-text-primary);
  cursor: pointer;
  position: relative;
  transition: all 0.1s ease;
}
.theme-scope .calendar-day:hover:not(:disabled) {
  background-color: var(--color-bg-secondary);
}
.theme-scope .calendar-day:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-ring);
  z-index: 1;
}
.theme-scope .calendar-day-outside {
  color: var(--color-text-muted);
  opacity: 0.5;
}
.theme-scope .calendar-day-today {
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  font-weight: 600;
}
.theme-scope .calendar-day-selected {
  background-color: var(--color-primary) !important;
  color: var(--color-text-on-dark) !important;
  font-weight: 600;
}
.theme-scope .calendar-day-selected:hover {
  background-color: var(--color-primary-hover) !important;
  color: var(--color-text-on-dark) !important;
}
.theme-scope .calendar-day-in-range {
  background-color: var(--color-primary-light);
  border-radius: 0;
}
.theme-scope .calendar-day-range-start {
  background-color: var(--color-primary) !important;
  color: var(--color-text-on-dark) !important;
  border-top-left-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.theme-scope .calendar-day-range-end {
  background-color: var(--color-primary) !important;
  color: var(--color-text-on-dark) !important;
  border-top-right-radius: 0.375rem !important;
  border-bottom-right-radius: 0.375rem !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
.theme-scope .calendar-day-range-start.calendar-day-range-end {
  border-radius: var(--radius-md) !important;
}
.theme-scope .calendar-day-disabled {
  color: var(--color-text-muted) !important;
  opacity: 0.3;
  cursor: not-allowed;
}
.theme-scope .date-picker-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-family: inherit;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  cursor: pointer;
  transition: all 0.15s ease;
  min-width: 240px;
  justify-content: flex-start;
}
.theme-scope .date-picker-trigger:hover {
  border-color: var(--color-primary);
  background-color: var(--color-bg-secondary);
}
.theme-scope .date-picker-trigger:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-ring);
}
.theme-scope .date-picker-trigger .date-picker-icon {
  color: var(--color-text-muted);
  font-size: 1.125rem;
  flex-shrink: 0;
}
.theme-scope .calendar-footer {
  display: flex;
  justify-content: center;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-border);
}
.theme-scope .calendar-today-btn {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  font-family: inherit;
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-scope .calendar-today-btn:hover {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
  border-color: var(--color-primary);
}
.theme-scope .calendar-today-btn .iconify {
  font-size: 1rem;
}
.theme-scope .calendar-range-container {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
}
.theme-scope .calendar-range-container .calendar-widget {
  border: none;
  box-shadow: none;
  padding: 0;
  background: transparent;
}
.theme-scope .calendar-view-toggle {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
  padding: 0.25rem;
  background-color: var(--color-bg-muted);
  border-radius: var(--radius-lg);
}
.theme-scope .calendar-view-btn {
  flex: 1;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  background-color: transparent;
  border: none;
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-scope .calendar-view-btn:hover {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
}
.theme-scope .calendar-view-btn.active {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  box-shadow: var(--shadow-sm);
}
.theme-scope .calendar-range-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
}
.theme-scope .calendar-range-label {
  font-size: 0.875rem;
  color: var(--color-text-secondary);
}
.theme-scope .datetime-picker-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}
.theme-scope .datetime-picker-row {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.theme-scope .datetime-field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  position: relative;
}
.theme-scope .datetime-picker-container .date-picker-trigger {
  min-width: 180px;
  height: 38px;
  padding: 0.5rem 0.75rem;
  justify-content: space-between;
}
.theme-scope .datetime-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-text-primary);
}
.theme-scope .time-picker-single-input {
  width: 140px;
  height: 38px;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-family: inherit;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  cursor: text;
  transition: all 0.15s ease;
  /* Style the clock icon */
}
.theme-scope .time-picker-single-input::-webkit-calendar-picker-indicator {
  filter: invert(0);
  opacity: 0.6;
  cursor: pointer;
}
.theme-scope .time-picker-single-input::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}
.theme-scope .time-picker-single-input:hover {
  border-color: var(--color-primary);
}
.theme-scope .time-picker-single-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-ring);
}
.theme-scope .time-picker-single-input::placeholder {
  color: var(--color-text-muted);
}
.dark .theme-scope .time-picker-single-input, .dark .theme-scope input[type=time], .dark .theme-scope input[type=date], .theme-scope.dark .time-picker-single-input, .theme-scope.dark input[type=time], .theme-scope.dark input[type=date] {
  color-scheme: dark;
}
.dark .theme-scope .time-picker-single-input::-webkit-calendar-picker-indicator, .dark .theme-scope input[type=time]::-webkit-calendar-picker-indicator, .dark .theme-scope input[type=date]::-webkit-calendar-picker-indicator, .theme-scope.dark .time-picker-single-input::-webkit-calendar-picker-indicator, .theme-scope.dark input[type=time]::-webkit-calendar-picker-indicator, .theme-scope.dark input[type=date]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  opacity: 0.7;
}
.dark .theme-scope .time-picker-single-input::-webkit-calendar-picker-indicator:hover, .dark .theme-scope input[type=time]::-webkit-calendar-picker-indicator:hover, .dark .theme-scope input[type=date]::-webkit-calendar-picker-indicator:hover, .theme-scope.dark .time-picker-single-input::-webkit-calendar-picker-indicator:hover, .theme-scope.dark input[type=time]::-webkit-calendar-picker-indicator:hover, .theme-scope.dark input[type=date]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}
.theme-scope .time-picker-input {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0.5rem 0.5rem;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  font-family: inherit;
  height: 38px;
}
.theme-scope .time-picker-input:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-ring);
}
.theme-scope .time-segment {
  width: 1.25rem;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 0.875rem;
  font-family: inherit;
  text-align: center;
  color: var(--color-text-primary);
}
.theme-scope .time-segment:focus {
  outline: none;
  background-color: var(--color-primary-light);
  border-radius: var(--radius-sm);
}
.theme-scope .time-separator {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  user-select: none;
}
.theme-scope .time-period-btn {
  margin-left: 0.25rem;
  padding: 0.125rem 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  font-family: inherit;
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-scope .time-period-btn:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .datetime-result {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 0.875rem;
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  font-size: 0.875rem;
  color: var(--color-text-secondary);
}
.theme-scope .datetime-result .iconify {
  color: var(--color-primary);
  font-size: 1.125rem;
}
.theme-scope .nlp-picker-container {
  width: 100%;
  max-width: 500px;
}
.theme-scope .nlp-picker-content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.theme-scope .nlp-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.theme-scope .nlp-input {
  width: 100%;
  padding: 0.625rem 2.5rem 0.625rem 0.875rem;
  font-size: 0.875rem;
  font-family: inherit;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  transition: all 0.15s ease;
}
.theme-scope .nlp-input::placeholder {
  color: var(--color-text-muted);
}
.theme-scope .nlp-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-ring);
}
.theme-scope .nlp-calendar-btn {
  position: absolute;
  right: 0.5rem;
  padding: 0.375rem;
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  cursor: pointer;
  border-radius: var(--radius-sm);
  transition: all 0.15s ease;
}
.theme-scope .nlp-calendar-btn:hover {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
}
.theme-scope .nlp-calendar-btn .iconify {
  font-size: 1.125rem;
  display: block;
}
.theme-scope .nlp-result {
  padding: 0.75rem 1rem;
  background-color: var(--color-success-light);
  border: 1px solid var(--color-success);
  border-radius: var(--radius-lg);
  font-size: 0.875rem;
  color: var(--color-text-primary);
  line-height: 1.5;
}
.theme-scope .nlp-result strong {
  color: var(--color-success-dark);
  font-weight: 600;
}
.theme-scope .nlp-error {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background-color: var(--color-danger-light);
  border: 1px solid var(--color-danger);
  border-radius: var(--radius-lg);
  font-size: 0.875rem;
  color: var(--color-danger-dark);
}
.theme-scope .nlp-error .iconify {
  font-size: 1.125rem;
  flex-shrink: 0;
}
.theme-scope .nlp-examples {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--color-border);
}
.theme-scope .nlp-examples-label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.theme-scope .nlp-example-btn {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-family: inherit;
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-scope .nlp-example-btn:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  border-color: var(--color-primary);
}
.theme-scope .drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-out, visibility 0s linear 0.3s;
}
.theme-scope .drawer-overlay.open {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
.theme-scope .drawer {
  position: fixed;
  z-index: 1101;
  background-color: var(--color-bg-primary);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
  pointer-events: none;
}
.theme-scope .drawer.open {
  pointer-events: auto;
}
.theme-scope .drawer-bottom {
  inset-inline: 0;
  bottom: 0;
  max-height: 96vh;
  border-radius: 0;
  transform: translateY(100%);
  /* Extra padding at bottom to prevent gap when dragging up */
  padding-bottom: env(safe-area-inset-bottom, 0);
  /* Pseudo-element extends the background below the drawer for drag-up effect */
}
.theme-scope .drawer-bottom::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -50px;
  height: 50px;
  background-color: inherit;
  pointer-events: none;
}
.theme-scope .drawer-bottom.open {
  transform: translateY(0);
}
.theme-scope .drawer-right {
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 24rem; /* 384px */
  transform: translateX(100%);
}
.theme-scope .drawer-right.open {
  transform: translateX(0);
}
.theme-scope .drawer-left {
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  max-width: 24rem;
  transform: translateX(-100%);
}
.theme-scope .drawer-left.open {
  transform: translateX(0);
}
.theme-scope .drawer-top {
  inset-inline: 0;
  top: 0;
  max-height: 96vh;
  transform: translateY(-100%);
}
.theme-scope .drawer-top.open {
  transform: translateY(0);
}
.theme-scope .drawer-sm {
  max-width: 20rem; /* 320px */
}
.theme-scope .drawer-md {
  max-width: 28rem; /* 448px */
}
.theme-scope .drawer-lg {
  max-width: 36rem; /* 576px */
}
.theme-scope .drawer-xl {
  max-width: 48rem; /* 768px */
}
.theme-scope .drawer-full {
  max-width: 100%;
  border-radius: 0;
}
.theme-scope .drawer-h-sm {
  max-height: 40vh;
}
.theme-scope .drawer-h-md {
  max-height: 60vh;
}
.theme-scope .drawer-h-lg {
  max-height: 80vh;
}
.theme-scope .drawer-handle {
  display: flex;
  justify-content: center;
  padding: 0.75rem;
  flex-shrink: 0;
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  transition: background-color 0.15s ease;
}
.theme-scope .drawer-handle:hover {
  background-color: var(--color-bg-secondary);
}
.theme-scope .drawer-handle:active {
  cursor: grabbing;
}
.theme-scope .drawer-handle-bar {
  width: 2.5rem;
  height: 0.25rem;
  background-color: var(--color-border-light);
  border-radius: var(--radius-full);
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.theme-scope .drawer-handle:hover .drawer-handle-bar {
  background-color: var(--color-border);
  transform: scaleX(1.1);
}
.theme-scope .drawer-handle:active .drawer-handle-bar {
  background-color: var(--color-text-muted);
}
.theme-scope .drawer-header {
  padding: 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  text-align: center;
}
.theme-scope .drawer-header-left {
  text-align: left;
}
.theme-scope .drawer-title {
  font-size: var(--text-lg);
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-primary);
  line-height: 1.375;
  margin: 0;
}
.theme-scope .drawer-description {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  margin: 0;
}
.theme-scope .drawer-content {
  flex: 1;
  overflow-y: auto;
  padding: 0.75rem 1rem;
}
.theme-scope .drawer-content-centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.theme-scope .drawer-footer {
  padding: 0.75rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.theme-scope .drawer-footer-row {
  flex-direction: row;
  justify-content: flex-end;
  gap: 0.75rem;
}
.theme-scope .drawer-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  color: var(--color-text-muted);
  background-color: transparent;
  border: none;
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}
.theme-scope .drawer-close:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-secondary);
}
.theme-scope .drawer-close:focus {
  outline: none;
  box-shadow: 0 0 0 var(--ring-width) var(--color-gray-ring);
}
@media (min-width: 640px) {
  .theme-scope .drawer-bottom-centered {
    max-width: 32rem;
    margin-inline: auto;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
  }
  .theme-scope .drawer-bottom-centered.open {
    transform: translateX(-50%) translateY(0);
  }
}
.theme-scope .drawer-inner-card {
  width: 100%;
  max-width: 24rem;
  margin-inline: auto;
}
.theme-scope .drawer-snap-indicator {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background-color: var(--color-border);
  opacity: 0.5;
}
.theme-scope .toolbar {
  display: flex;
  align-items: center;
  /* Tight gap between top-level items — groups still read as distinct
     because each group/button has its own padding, and the snug rhythm
     reads as a single chrome strip rather than a row of disconnected
     chips. The shorthand sets row-gap and column-gap to the same value —
     both matter when flex-wrap kicks in on narrow viewports. */
  gap: var(--space-gap-sm); /* 0.5rem */
  flex-wrap: wrap;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}
.theme-scope .toolbar-sm {
  gap: var(--space-gap-sm); /* 0.5rem */
  font-size: var(--text-xs);
}
.theme-scope .toolbar-lg {
  gap: var(--space-gap-lg); /* 1.5rem */
  font-size: var(--text-base);
}
.theme-scope .toolbar-group {
  display: flex;
  align-items: center;
  /* Label and control need breathing room so the label reads as a
      prefix, not as part of the control. 0.75rem matches the form-elements
      demo's horizontal label-to-input rhythm. */
  gap: 0.75rem;
  flex-shrink: 0;
}
.theme-scope .toolbar-group-label {
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  color: var(--color-text-primary);
  white-space: nowrap;
}
.theme-scope .toolbar-sm .toolbar-group {
  gap: var(--space-gap-sm);
}
.theme-scope .toolbar-sm .toolbar-group-label {
  font-size: var(--text-xs);
}
.theme-scope .toolbar-lg .toolbar-group {
  gap: 1rem;
}
.theme-scope .toolbar-lg .toolbar-group-label {
  font-size: var(--text-base);
}
.theme-scope .toolbar-separator {
  width: 1px;
  height: 1.25rem;
  background-color: var(--color-border);
  flex-shrink: 0;
  margin: 0 var(--space-gap-xs);
}
.theme-scope .toolbar-spacer {
  flex: 1;
  min-width: 0;
}
.theme-scope .toolbar-label {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  white-space: nowrap;
  flex-shrink: 0;
}
.theme-scope .toolbar-bordered {
  padding: var(--space-gap-md) 0;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: var(--space-gap-md);
}
.theme-scope .toolbar-elevated {
  padding: var(--space-gap-sm) var(--space-gap-md);
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}
.theme-scope .toolbar-elevated .btn-ghost:hover,
.theme-scope .toolbar-elevated .btn-ghost:focus {
  background-color: var(--color-bg-muted);
}

/* ===================================
   Keyboard hint badge — shadcn-like

   Promoted out of `playground/templates/sidebar-layout/styles.css`
   (minimal version) and `packages/components/typography/kbd/demo.html`
   (richer inline `<style>`) — both were duplicating roughly the same
   shape. Engine ships the richer demo version since it supports
   icons-inside-kbd (⌘, ⇧, etc.), variable content widths, and matches
   shadcn's reference style.

   .kbd-group joins multiple chips visually (e.g. "Ctrl + K").
   =================================== */
.theme-scope .kbd {
  pointer-events: none;
  display: inline-flex;
  min-height: 1.5rem;
  min-width: 1.5rem;
  user-select: none;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background-color: var(--color-bg-muted);
  padding: 0.125rem 0.375rem;
  font-family: var(--font-role-code, var(--font-mono, ui-monospace, monospace));
  font-size: var(--text-xs);
  font-weight: var(--font-control-weight);
  line-height: 1;
  color: var(--color-text-neutral);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.theme-scope .kbd .iconify {
  font-size: 0.875rem;
  width: 0.875rem;
  height: 0.875rem;
}
.theme-scope .kbd-group {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.theme-scope .spinner {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--color-border);
  border-top-color: var(--color-text-primary);
  border-radius: 9999px;
  animation: spin 0.6s linear infinite;
  vertical-align: middle;
}
.theme-scope .spinner-sm {
  width: 0.875rem;
  height: 0.875rem;
  border-width: 2px;
}
.theme-scope .spinner-md {
  width: 1.25rem;
  height: 1.25rem;
}
.theme-scope .spinner-lg {
  width: 2rem;
  height: 2rem;
  border-width: 3px;
}
.theme-scope .spinner-xl {
  width: 3rem;
  height: 3rem;
  border-width: 4px;
}
.theme-scope .spinner-primary {
  border-top-color: var(--color-primary, var(--color-text-primary));
}
.theme-scope .spinner-success {
  border-top-color: var(--color-success);
}
.theme-scope .spinner-warning {
  border-top-color: var(--color-warning);
}
.theme-scope .spinner-danger {
  border-top-color: var(--color-danger);
}
.theme-scope .spinner-info {
  border-top-color: var(--color-info);
}
.theme-scope .spinner-muted {
  border-top-color: var(--color-text-muted);
}
.theme-scope .loading-dots {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  vertical-align: middle;
}
.theme-scope .loading-dots > span {
  display: inline-block;
  width: 0.375rem;
  height: 0.375rem;
  background-color: currentColor;
  border-radius: 9999px;
  animation: loading-dots-pulse 1.4s ease-in-out infinite both;
}
.theme-scope .loading-dots > span:nth-child(1) {
  animation-delay: -0.32s;
}
.theme-scope .loading-dots > span:nth-child(2) {
  animation-delay: -0.16s;
}
.theme-scope .loading-dots > span:nth-child(3) {
  animation-delay: 0s;
}
.theme-scope .loading-dots-sm > span {
  width: 0.25rem;
  height: 0.25rem;
}
.theme-scope .loading-dots-md > span {
  width: 0.375rem;
  height: 0.375rem;
}
.theme-scope .loading-dots-lg > span {
  width: 0.5rem;
  height: 0.5rem;
  gap: 0.375rem;
}
@keyframes loading-dots-pulse {
  0%, 80%, 100% {
    transform: scale(0.6);
    opacity: 0.4;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
.theme-scope .status-dot {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background-color: var(--color-text-muted);
  vertical-align: middle;
  flex-shrink: 0;
}
.theme-scope .status-dot-sm {
  width: 0.375rem;
  height: 0.375rem;
}
.theme-scope .status-dot-md {
  width: 0.5rem;
  height: 0.5rem;
}
.theme-scope .status-dot-lg {
  width: 0.625rem;
  height: 0.625rem;
}
.theme-scope .status-dot-success {
  background-color: var(--color-success);
}
.theme-scope .status-dot-warning {
  background-color: var(--color-warning);
}
.theme-scope .status-dot-danger {
  background-color: var(--color-danger);
}
.theme-scope .status-dot-info {
  background-color: var(--color-info);
}
.theme-scope .status-dot-neutral {
  background-color: var(--color-text-muted);
}
.theme-scope .status-dot-pulse {
  position: relative;
}
.theme-scope .status-dot-pulse::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 9999px;
  background-color: inherit;
  opacity: 0.4;
  animation: status-dot-ping 1.4s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes status-dot-ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.theme-scope .gauge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 9999px;
  background: conic-gradient(var(--gauge-color, var(--color-primary, var(--color-text-primary))) calc(var(--gauge-value, 0) * 1%), var(--color-bg-muted, var(--color-border)) 0);
}
.theme-scope .gauge::before {
  content: "";
  position: absolute;
  inset: 0.5rem;
  background-color: var(--color-bg-primary);
  border-radius: 9999px;
}
.theme-scope .gauge-sm {
  width: 3rem;
  height: 3rem;
}
.theme-scope .gauge-md {
  width: 5rem;
  height: 5rem;
}
.theme-scope .gauge-lg {
  width: 7rem;
  height: 7rem;
}
.theme-scope .gauge-xl {
  width: 10rem;
  height: 10rem;
}
.theme-scope .gauge-sm::before {
  inset: 0.3125rem;
}
.theme-scope .gauge-md::before {
  inset: 0.5rem;
}
.theme-scope .gauge-lg::before {
  inset: 0.625rem;
}
.theme-scope .gauge-xl::before {
  inset: 0.875rem;
}
.theme-scope .gauge-value {
  position: relative;
  z-index: 1;
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
}
.theme-scope .gauge-lg .gauge-value {
  font-size: var(--text-base);
}
.theme-scope .gauge-xl .gauge-value {
  font-size: var(--text-lg);
}
.theme-scope .gauge-success {
  --gauge-color: var(--color-success);
}
.theme-scope .gauge-warning {
  --gauge-color: var(--color-warning);
}
.theme-scope .gauge-danger {
  --gauge-color: var(--color-danger);
}
.theme-scope .gauge-info {
  --gauge-color: var(--color-info);
}

.theme-scope {
  /* ===================================
     Data primitives
     Shared styles for heatmaps, marquees, scroll fades, route badges, and
     compact composition/status indicators.
     =================================== */
  --heatmap-empty: var(--color-bg-muted);
  --heatmap-1: color-mix(in oklab, var(--color-success) 24%, var(--color-bg-primary));
  --heatmap-2: color-mix(in oklab, var(--color-success) 46%, var(--color-bg-primary));
  --heatmap-3: color-mix(in oklab, var(--color-success) 72%, var(--color-bg-primary));
  --heatmap-4: var(--color-success);
}
.theme-scope .heatmap-demo {
  display: grid;
  gap: 1rem;
}
.theme-scope .heatmap-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-bg-secondary);
}
.theme-scope .heatmap-control-group,
.theme-scope .heatmap-control-field,
.theme-scope .heatmap-toggle {
  display: grid;
  gap: 0.375rem;
}
.theme-scope .heatmap-control-group {
  margin: 0;
  padding: 0;
  border: 0;
}
.theme-scope .heatmap-control-group legend,
.theme-scope .heatmap-control-field span,
.theme-scope .heatmap-toggle span {
  color: var(--color-text-muted);
  font-family: var(--font-role-ui, var(--font-sans));
  font-size: var(--text-xs);
  font-weight: var(--font-emphasis-weight, 600);
}
.theme-scope .heatmap-segmented {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-bg-primary);
}
.theme-scope .heatmap-segmented button {
  min-height: 2rem;
  padding: 0 0.625rem;
  border: 0;
  border-right: 1px solid var(--color-border);
  background: transparent;
  color: var(--color-text-secondary);
  font: inherit;
  font-size: var(--text-xs);
  cursor: pointer;
}
.theme-scope .heatmap-segmented button:last-child {
  border-right: 0;
}
.theme-scope .heatmap-segmented button[aria-pressed=true] {
  background: var(--color-primary);
  color: var(--color-primary-foreground, var(--color-bg-primary));
}
.theme-scope .heatmap-control-field select {
  min-height: 2rem;
  padding: 0 1.75rem 0 0.625rem;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  font: inherit;
  font-size: var(--text-xs);
}
.theme-scope .heatmap-toggle {
  grid-template-columns: auto 1fr;
  align-items: center;
  min-height: 2rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-bg-primary);
}
.theme-scope .heatmap-toggle input {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--color-primary);
}
.theme-scope .heatmap-shell {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: visible;
  color: var(--color-text-secondary);
  font-family: var(--font-role-ui, var(--font-sans));
  font-size: var(--text-xs);
  line-height: 1;
}
.theme-scope .heatmap-scroll {
  max-width: 100%;
  overflow-x: auto;
  margin-top: -1.5rem;
  padding: 4.25rem 0.125rem 0.875rem;
}
.theme-scope .heatmap {
  display: grid;
  gap: var(--heatmap-gap, 0.25rem);
  align-items: center;
  width: max-content;
  overflow: visible;
}
.theme-scope .heatmap-month-label,
.theme-scope .heatmap-day-label {
  color: var(--color-text-muted);
  white-space: nowrap;
  user-select: none;
}
.theme-scope .heatmap-day-label {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 2rem;
  height: var(--heatmap-cell-size, 0.875rem);
  padding-right: 0.375rem;
  text-align: right;
}
.theme-scope .heatmap-month-label {
  align-self: end;
  padding-bottom: 0.125rem;
}
.theme-scope .heatmap-cell-item {
  position: relative;
  display: block;
  width: var(--heatmap-cell-size, 0.875rem);
  height: var(--heatmap-cell-size, 0.875rem);
}
.theme-scope .heatmap-cell {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 1px solid color-mix(in oklab, var(--color-bg-primary) 70%, transparent);
  border-radius: 0;
  background: var(--heatmap-cell-color, var(--heatmap-empty));
  cursor: default;
  outline: none;
  transition: border-color 120ms ease, box-shadow 120ms ease, filter 120ms ease, transform 120ms ease;
}
.theme-scope .heatmap-cell-empty {
  background: transparent;
  border-color: transparent;
}
.theme-scope .heatmap-cell-item:hover,
.theme-scope .heatmap-cell-item:focus-within {
  z-index: 4;
}
.theme-scope .heatmap-cell-item:hover .heatmap-cell,
.theme-scope .heatmap-cell:focus-visible {
  border-color: var(--color-ring, var(--color-primary));
  filter: saturate(1.12);
  transform: scale(1.18);
}
.theme-scope .heatmap-cell:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--color-ring, var(--color-primary)) 24%, transparent);
}
.theme-scope .heatmap-bubbles .heatmap-cell:not(.heatmap-cell-empty) {
  border-radius: 9999px;
  transform: scale(var(--heatmap-bubble-scale, 1));
}
.theme-scope .heatmap-bubbles .heatmap-cell-item:hover .heatmap-cell,
.theme-scope .heatmap-bubbles .heatmap-cell:focus-visible {
  transform: scale(calc(var(--heatmap-bubble-scale, 1) * 1.18));
}
.theme-scope .heatmap-tooltip {
  position: absolute;
  bottom: calc(100% + 0.55rem);
  left: 50%;
  z-index: 5;
  display: grid;
  gap: 0.25rem;
  width: max-content;
  min-width: 11.5rem;
  max-width: 15rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--color-border-strong, var(--color-border));
  border-radius: 0;
  background: var(--color-bg-primary);
  box-shadow: var(--shadow-lg, 0 16px 40px rgba(15, 23, 42, 0.18));
  color: var(--color-text-primary);
  font-size: var(--text-xs);
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 0.25rem) scale(0.98);
  transform-origin: bottom center;
  transition: opacity 120ms ease, transform 120ms ease;
}
.theme-scope .heatmap-tooltip::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0.625rem;
  height: 0.625rem;
  border-right: 1px solid var(--color-border-strong, var(--color-border));
  border-bottom: 1px solid var(--color-border-strong, var(--color-border));
  background: var(--color-bg-primary);
  content: "";
  transform: translate(-50%, -50%) rotate(45deg);
}
.theme-scope .heatmap-edge-start .heatmap-tooltip {
  left: 0;
  transform: translate(0, 0.25rem) scale(0.98);
  transform-origin: bottom left;
}
.theme-scope .heatmap-edge-start .heatmap-tooltip::after {
  left: 0.8rem;
}
.theme-scope .heatmap-edge-end .heatmap-tooltip {
  right: 0;
  left: auto;
  transform: translate(0, 0.25rem) scale(0.98);
  transform-origin: bottom right;
}
.theme-scope .heatmap-edge-end .heatmap-tooltip::after {
  right: 0.8rem;
  left: auto;
}
.theme-scope .heatmap-tooltip-below .heatmap-tooltip {
  top: calc(100% + 0.55rem);
  bottom: auto;
  transform: translate(-50%, -0.25rem) scale(0.98);
  transform-origin: top center;
}
.theme-scope .heatmap-tooltip-below .heatmap-tooltip::after {
  top: auto;
  bottom: 100%;
  border: 0;
  border-top: 1px solid var(--color-border-strong, var(--color-border));
  border-left: 1px solid var(--color-border-strong, var(--color-border));
  transform: translate(-50%, 50%) rotate(45deg);
}
.theme-scope .heatmap-tooltip-below.heatmap-edge-start .heatmap-tooltip,
.theme-scope .heatmap-tooltip-below.heatmap-edge-end .heatmap-tooltip {
  transform: translate(0, -0.25rem) scale(0.98);
}
.theme-scope .heatmap-cell-item:hover .heatmap-tooltip,
.theme-scope .heatmap-cell:focus-visible + .heatmap-tooltip {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}
.theme-scope .heatmap-edge-start:hover .heatmap-tooltip,
.theme-scope .heatmap-edge-start .heatmap-cell:focus-visible + .heatmap-tooltip,
.theme-scope .heatmap-edge-end:hover .heatmap-tooltip,
.theme-scope .heatmap-edge-end .heatmap-cell:focus-visible + .heatmap-tooltip {
  transform: translate(0, 0) scale(1);
}
.theme-scope .heatmap-tooltip-below:hover .heatmap-tooltip,
.theme-scope .heatmap-tooltip-below .heatmap-cell:focus-visible + .heatmap-tooltip {
  transform: translate(-50%, 0) scale(1);
}
.theme-scope .heatmap-tooltip-below.heatmap-edge-start:hover .heatmap-tooltip,
.theme-scope .heatmap-tooltip-below.heatmap-edge-start .heatmap-cell:focus-visible + .heatmap-tooltip,
.theme-scope .heatmap-tooltip-below.heatmap-edge-end:hover .heatmap-tooltip,
.theme-scope .heatmap-tooltip-below.heatmap-edge-end .heatmap-cell:focus-visible + .heatmap-tooltip {
  transform: translate(0, 0) scale(1);
}
.theme-scope .heatmap-tooltip strong,
.theme-scope .heatmap-floating-tooltip strong,
.theme-scope .heatmap-tooltip-date,
.theme-scope .heatmap-tooltip-copy {
  display: block;
}
.theme-scope .heatmap-tooltip strong,
.theme-scope .heatmap-floating-tooltip strong {
  font-size: var(--text-sm);
  font-weight: var(--font-emphasis-weight, 650);
}
.theme-scope .heatmap-tooltip-date {
  color: var(--color-text-secondary);
}
.theme-scope .heatmap-tooltip-copy {
  color: var(--color-text-muted);
}
.theme-scope .heatmap-shell-floating-tooltips .heatmap-tooltip {
  display: none;
}
.theme-scope .heatmap-floating-tooltip {
  position: absolute;
  z-index: var(--z-tooltip, 1000);
  display: grid;
  gap: 0.25rem;
  width: max-content;
  min-width: 11.5rem;
  max-width: 15rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--color-border-strong, var(--color-border));
  border-radius: 0;
  background: var(--color-bg-primary);
  box-shadow: var(--shadow-lg, 0 16px 40px rgba(15, 23, 42, 0.18));
  color: var(--color-text-primary);
  font-family: var(--font-role-ui, var(--font-sans));
  font-size: var(--text-xs);
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.25rem) scale(0.98);
  transform-origin: bottom center;
  transition: opacity 120ms ease, transform 120ms ease;
}
.theme-scope .heatmap-floating-tooltip[data-placement=bottom] {
  transform: translateY(-0.25rem) scale(0.98);
  transform-origin: top center;
}
.theme-scope .heatmap-floating-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.theme-scope .heatmap-floating-tooltip::after {
  position: absolute;
  top: 100%;
  left: var(--heatmap-tooltip-arrow-left, 50%);
  width: 0.625rem;
  height: 0.625rem;
  border-right: 1px solid var(--color-border-strong, var(--color-border));
  border-bottom: 1px solid var(--color-border-strong, var(--color-border));
  background: var(--color-bg-primary);
  content: "";
  transform: translate(-50%, -50%) rotate(45deg);
}
.theme-scope .heatmap-floating-tooltip[data-placement=bottom]::after {
  top: auto;
  bottom: 100%;
  border: 0;
  border-top: 1px solid var(--color-border-strong, var(--color-border));
  border-left: 1px solid var(--color-border-strong, var(--color-border));
  transform: translate(-50%, 50%) rotate(45deg);
}
.theme-scope .heatmap-legend {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.375rem;
  margin-top: 0.125rem;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}
.theme-scope .heatmap-legend[hidden] {
  display: none;
}
.theme-scope .heatmap-legend-swatch {
  display: block;
  width: var(--heatmap-cell-size, 0.875rem);
  height: var(--heatmap-cell-size, 0.875rem);
  border: 1px solid color-mix(in oklab, var(--color-bg-primary) 70%, transparent);
  border-radius: 0;
  background: var(--heatmap-cell-color, var(--heatmap-empty));
}
.theme-scope .marquee {
  --marquee-gap: 3rem;
  --marquee-duration: 24s;
  --marquee-shift: -50%;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.theme-scope .marquee-fade {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.theme-scope .marquee-track {
  display: flex;
  width: max-content;
  animation: marquee-left var(--marquee-duration) linear infinite;
  will-change: transform;
}
.theme-scope .marquee-right .marquee-track {
  animation-name: marquee-right;
}
.theme-scope .marquee-pause-hover:hover .marquee-track {
  animation-play-state: paused;
}
.theme-scope .marquee-lane {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--marquee-gap);
  padding-right: var(--marquee-gap);
}
.theme-scope .marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: max-content;
  color: var(--color-text-primary);
  font-family: var(--font-role-ui, var(--font-sans));
  font-size: var(--text-sm);
  font-weight: var(--font-emphasis-weight, 600);
  white-space: nowrap;
}
.theme-scope .marquee-logo-image {
  display: block;
  width: auto;
  max-width: 9rem;
  height: 2rem;
  object-fit: contain;
}
.theme-scope .marquee-grayscale .marquee-item,
.theme-scope .marquee-grayscale .marquee-logo-image {
  filter: grayscale(1);
  opacity: 0.72;
}
@keyframes marquee-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(var(--marquee-shift));
  }
}
@keyframes marquee-right {
  from {
    transform: translateX(var(--marquee-shift));
  }
  to {
    transform: translateX(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .theme-scope .marquee-track {
    animation: none;
    transform: none;
  }
}
.theme-scope .status-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-primary);
  font-family: var(--font-role-ui, var(--font-sans));
  font-size: var(--text-sm);
  line-height: 1.4;
  vertical-align: middle;
}
.theme-scope .status-indicator-label {
  color: inherit;
}
.theme-scope .scroll-fade {
  --scroll-fade-size: 2rem;
  position: relative;
  width: 100%;
}
.theme-scope .scroll-fade-viewport {
  width: 100%;
  overflow: auto;
  overscroll-behavior: contain;
}
.theme-scope .scroll-fade-hide-scrollbar {
  scrollbar-width: none;
}
.theme-scope .scroll-fade-hide-scrollbar::-webkit-scrollbar {
  display: none;
}
.theme-scope .scroll-fade-content {
  min-width: 100%;
}
.theme-scope .scroll-fade[data-axis=horizontal] .scroll-fade-content {
  display: flex;
  width: max-content;
  min-width: 100%;
  align-items: center;
  gap: 0.5rem;
}
.theme-scope .scroll-fade[data-axis=both] .scroll-fade-content {
  width: max-content;
  min-width: 100%;
}
.theme-scope .scroll-fade-item {
  display: inline-flex;
  align-items: center;
  min-width: max-content;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
}
.theme-scope .scroll-fade-edge {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  transition: opacity 120ms ease;
}
.theme-scope .scroll-fade-edge-left,
.theme-scope .scroll-fade-edge-right {
  top: 0;
  bottom: 0;
  width: var(--scroll-fade-size);
}
.theme-scope .scroll-fade-edge-left {
  left: 0;
  background: linear-gradient(90deg, var(--color-bg-primary), transparent);
}
.theme-scope .scroll-fade-edge-right {
  right: 0;
  background: linear-gradient(270deg, var(--color-bg-primary), transparent);
}
.theme-scope .scroll-fade-edge-top,
.theme-scope .scroll-fade-edge-bottom {
  right: 0;
  left: 0;
  height: var(--scroll-fade-size);
}
.theme-scope .scroll-fade-edge-top {
  top: 0;
  background: linear-gradient(180deg, var(--color-bg-primary), transparent);
}
.theme-scope .scroll-fade-edge-bottom {
  bottom: 0;
  background: linear-gradient(0deg, var(--color-bg-primary), transparent);
}
.theme-scope .scroll-fade.is-at-left .scroll-fade-edge-left,
.theme-scope .scroll-fade.is-at-right .scroll-fade-edge-right,
.theme-scope .scroll-fade.is-at-top .scroll-fade-edge-top,
.theme-scope .scroll-fade.is-at-bottom .scroll-fade-edge-bottom {
  opacity: 0;
}
.theme-scope .partition-bar {
  display: flex;
  flex-direction: row;
  width: 100%;
  min-width: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  color: var(--color-text-primary);
  font-family: var(--font-role-ui, var(--font-sans));
}
.theme-scope .partition-bar-segment {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  min-width: 0;
}
.theme-scope .partition-bar-line {
  width: 100%;
  flex-shrink: 0;
  border-radius: 9999px;
  background: var(--partition-line-color, var(--partition-segment-color, var(--color-primary)));
}
.theme-scope .partition-bar-sm .partition-bar-line {
  height: 0.5rem;
}
.theme-scope .partition-bar-md .partition-bar-line {
  height: 0.75rem;
}
.theme-scope .partition-bar-lg .partition-bar-line {
  height: 1rem;
}
.theme-scope .partition-bar-content {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  white-space: normal;
  color: var(--partition-title-color, var(--color-primary));
}
.theme-scope .partition-bar-sm .partition-bar-content {
  margin-top: 0.5rem;
  font-size: var(--text-xs);
}
.theme-scope .partition-bar-md .partition-bar-content {
  margin-top: 0.75rem;
  font-size: var(--text-sm);
}
.theme-scope .partition-bar-lg .partition-bar-content {
  margin-top: 1rem;
  font-size: var(--text-base);
}
.theme-scope .partition-bar-align-left .partition-bar-content {
  align-items: flex-start;
  text-align: left;
}
.theme-scope .partition-bar-align-center .partition-bar-content {
  align-items: center;
  text-align: center;
}
.theme-scope .partition-bar-align-right .partition-bar-content {
  align-items: flex-end;
  text-align: right;
}
.theme-scope .partition-bar-segment-default {
  --partition-line-color: var(--partition-segment-color, var(--color-primary));
  --partition-title-color: var(--partition-segment-color, var(--color-primary));
}
.theme-scope .partition-bar-segment-secondary {
  --partition-line-color: var(--partition-segment-color, color-mix(in srgb, var(--color-primary) 60%, transparent));
  --partition-title-color: var(--partition-segment-color, color-mix(in srgb, var(--color-primary) 60%, var(--color-text-secondary)));
}
.theme-scope .partition-bar-segment-destructive,
.theme-scope .partition-bar-segment-danger {
  --partition-line-color: var(--partition-segment-color, var(--color-danger));
  --partition-title-color: var(--partition-segment-color, var(--color-danger));
}
.theme-scope .partition-bar-segment-outline {
  --partition-title-color: var(--color-text-primary);
}
.theme-scope .partition-bar-segment-outline .partition-bar-line {
  border: 1px solid var(--color-border);
  background: var(--partition-segment-color, var(--color-bg-primary));
}
.theme-scope .partition-bar-segment-muted {
  --partition-line-color: var(--partition-segment-color, color-mix(in srgb, var(--color-primary) 40%, transparent));
  --partition-title-color: var(--partition-segment-color, color-mix(in srgb, var(--color-primary) 40%, var(--color-text-muted)));
}
.theme-scope .partition-bar-segment-success {
  --partition-line-color: var(--partition-segment-color, var(--color-success));
  --partition-title-color: var(--partition-segment-color, var(--color-success));
}
.theme-scope .partition-bar-segment-warning {
  --partition-line-color: var(--partition-segment-color, var(--color-warning));
  --partition-title-color: var(--partition-segment-color, var(--color-warning));
}
.theme-scope .partition-bar-segment-info {
  --partition-line-color: var(--partition-segment-color, var(--color-info));
  --partition-title-color: var(--partition-segment-color, var(--color-info));
}
.theme-scope .partition-bar-title {
  width: fit-content;
  color: var(--partition-title-color, var(--color-primary));
  font-weight: var(--font-emphasis-weight, 600);
}
.theme-scope .partition-bar-value {
  width: fit-content;
  color: var(--color-text-muted);
  font-size: 80%;
}
.theme-scope .item-group {
  display: grid;
  gap: 0.5rem;
}
.theme-scope .item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
  padding: 0.875rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md, 0.5rem);
  background: transparent;
  color: var(--color-text-primary);
  font: inherit;
  text-align: left;
  text-decoration: none;
  transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}
.theme-scope .item-outline {
  border-color: var(--color-border);
  background: var(--color-bg-primary);
}
.theme-scope .item-muted {
  background: var(--color-bg-secondary);
}
.theme-scope .item-sm {
  gap: 0.625rem;
  padding: 0.675rem;
}
.theme-scope .item-xs {
  gap: 0.5rem;
  padding: 0.5rem;
}
.theme-scope .item-clickable {
  cursor: pointer;
}
.theme-scope .item-clickable:hover {
  border-color: var(--color-border-strong, var(--color-border));
  background: var(--color-bg-hover);
}
.theme-scope .item:focus-visible {
  outline: 2px solid var(--color-ring, var(--color-primary));
  outline-offset: 2px;
}
.theme-scope .item-disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.theme-scope .item-media {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--color-bg-secondary);
  color: var(--color-text-secondary);
  font-size: var(--text-xs);
  font-weight: var(--font-emphasis-weight, 650);
}
.theme-scope .item-media-avatar,
.theme-scope .item-media-initials {
  border-radius: 9999px;
}
.theme-scope .item-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.theme-scope .item-content {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
  gap: 0.125rem;
}
.theme-scope .item-eyebrow,
.theme-scope .item-meta,
.theme-scope .item-footer {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: 1.35;
}
.theme-scope .item-eyebrow {
  font-family: var(--font-role-code, var(--font-mono));
  font-weight: var(--font-emphasis-weight, 650);
  text-transform: uppercase;
}
.theme-scope .item-title {
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  font-weight: var(--font-emphasis-weight, 650);
  line-height: 1.35;
}
.theme-scope .item-description {
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  line-height: 1.45;
}
.theme-scope .item-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.375rem;
  margin-left: auto;
}
.theme-scope .item-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  padding: 0 0.5rem;
  border-radius: 9999px;
  background: var(--color-bg-secondary);
  color: var(--color-text-secondary);
  font-size: var(--text-xs);
  font-weight: var(--font-emphasis-weight, 650);
}
.theme-scope .item-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  min-height: 1.75rem;
  padding: 0 0.5rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md, 0.5rem);
  background: transparent;
  color: var(--color-text-secondary);
  font: inherit;
  font-size: var(--text-xs);
  font-weight: var(--font-emphasis-weight, 650);
  text-decoration: none;
  cursor: pointer;
}
.theme-scope .item-action:hover {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
}
.theme-scope .item-action-default {
  background: var(--color-primary);
  color: var(--color-primary-foreground, var(--color-bg-primary));
}
.theme-scope .item-action-secondary {
  border-color: var(--color-border);
  background: var(--color-bg-secondary);
}
.theme-scope .direction-provider {
  direction: inherit;
}
.theme-scope .direction-isolate {
  unicode-bidi: isolate;
}
.theme-scope .route-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-primary);
  font-family: var(--font-role-ui, var(--font-sans));
  line-height: 1;
  vertical-align: middle;
}
.theme-scope .route-badge-codes {
  display: inline-flex;
  align-items: center;
}
.theme-scope .route-badge-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25em;
  min-height: 1.6em;
  padding: 0.25em 0.5em;
  border-radius: 0.25rem;
  font-family: var(--font-role-code, var(--font-mono));
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0;
}
.theme-scope .route-badge-code + .route-badge-code {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.theme-scope .route-badge-xs {
  font-size: 0.75rem;
}
.theme-scope .route-badge-sm {
  font-size: 0.875rem;
}
.theme-scope .route-badge-md {
  font-size: 1rem;
}
.theme-scope .route-badge-lg {
  font-size: 1.125rem;
}
.theme-scope .route-badge-name {
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
}
.theme-scope .note {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  margin-bottom: 1rem;
  /* Icon styling — slightly smaller than alert; aligned to first line */
}
.theme-scope .note > svg,
.theme-scope .note > .iconify {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin-top: 0.125rem;
  color: var(--color-text-secondary);
}
.theme-scope .note > .note-content,
.theme-scope .note > div {
  flex: 1;
  min-width: 0;
}
.theme-scope .note p {
  margin: 0;
}
.theme-scope .note p + p {
  margin-top: 0.375rem;
}
.theme-scope .note-label {
  font-weight: var(--font-emphasis-weight);
  color: inherit;
  margin-right: 0.375rem;
}
.theme-scope .note-info {
  background-color: var(--color-info-light);
  border-color: var(--color-info-light);
  color: var(--color-info-dark);
}
.theme-scope .note-info > svg, .theme-scope .note-info > .iconify {
  color: var(--color-info);
}
.theme-scope .note-success {
  background-color: var(--color-success-light);
  border-color: var(--color-success-light);
  color: var(--color-success-dark);
}
.theme-scope .note-success > svg, .theme-scope .note-success > .iconify {
  color: var(--color-success);
}
.theme-scope .note-warning {
  background-color: var(--color-warning-light);
  border-color: var(--color-warning-light);
  color: var(--color-warning-dark);
}
.theme-scope .note-warning > svg, .theme-scope .note-warning > .iconify {
  color: var(--color-warning);
}
.theme-scope .note-danger {
  background-color: var(--color-danger-light);
  border-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}
.theme-scope .note-danger > svg, .theme-scope .note-danger > .iconify {
  color: var(--color-danger);
}
.theme-scope .note-outline {
  background-color: var(--color-bg-primary);
}
.theme-scope .note-outline.note-info {
  border-color: var(--color-info);
}
.theme-scope .note-outline.note-success {
  border-color: var(--color-success);
}
.theme-scope .note-outline.note-warning {
  border-color: var(--color-warning);
}
.theme-scope .note-outline.note-danger {
  border-color: var(--color-danger);
}
.theme-scope .snippet {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.5rem 0.375rem 0.75rem;
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-family: var(--font-role-code, var(--font-mono));
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  max-width: 100%;
}
.theme-scope .snippet-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  user-select: text;
}
.theme-scope .snippet-prompt {
  color: var(--color-text-muted);
  user-select: none;
  flex-shrink: 0;
}
.theme-scope .snippet-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin: -0.25rem 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
  flex-shrink: 0;
}
.theme-scope .snippet-copy:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .snippet-copy:focus-visible {
  outline: 2px solid var(--color-primary, var(--color-text-primary));
  outline-offset: 1px;
}
.theme-scope .snippet-sm {
  padding: 0.25rem 0.375rem 0.25rem 0.5rem;
  font-size: var(--text-xs);
}
.theme-scope .snippet-lg {
  padding: 0.5rem 0.625rem 0.5rem 1rem;
  font-size: var(--text-base);
}
.theme-scope .snippet-block {
  display: flex;
  width: 100%;
  padding: 0.75rem 1rem;
}
.theme-scope .snippet-block .snippet-text {
  white-space: pre;
  overflow-x: auto;
}
.theme-scope .description-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
}
.theme-scope .description-list dt,
.theme-scope .description-list .dt {
  margin: 0;
  font-size: var(--text-xs);
  font-weight: var(--font-control-weight);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.theme-scope .description-list dd,
.theme-scope .description-list .dd {
  margin: 0;
  margin-top: 0.125rem;
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  line-height: var(--leading-normal);
}
.theme-scope .description-list-inline {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.theme-scope .description-list-inline > div {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.theme-scope .description-list-grid {
  display: grid;
  grid-template-columns: minmax(8rem, max-content) 1fr;
  gap: 0.5rem 1.5rem;
  align-items: baseline;
}
.theme-scope .description-list-grid dt,
.theme-scope .description-list-grid .dt {
  text-transform: none;
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  color: var(--color-text-secondary);
  letter-spacing: 0;
}
.theme-scope .description-list-grid dd,
.theme-scope .description-list-grid .dd {
  margin-top: 0;
}
.theme-scope .description-list-bordered {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.theme-scope .description-list-bordered > div,
.theme-scope .description-list-bordered > dl,
.theme-scope .description-list-bordered.description-list-grid {
  padding: 0;
}
.theme-scope .description-list-bordered.description-list-grid {
  grid-template-columns: minmax(8rem, max-content) 1fr;
  gap: 0;
}
.theme-scope .description-list-bordered.description-list-grid > dt,
.theme-scope .description-list-bordered.description-list-grid > .dt,
.theme-scope .description-list-bordered.description-list-grid > dd,
.theme-scope .description-list-bordered.description-list-grid > .dd {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--color-border);
}
.theme-scope .description-list-bordered.description-list-grid > dt,
.theme-scope .description-list-bordered.description-list-grid > .dt {
  background-color: var(--color-bg-secondary);
  border-right: 1px solid var(--color-border);
}
.theme-scope .description-list-bordered.description-list-grid > :nth-last-child(-n+2) {
  border-bottom: none;
}
.theme-scope .choicebox-group {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.theme-scope .choicebox-group-horizontal {
  flex-direction: row;
  flex-wrap: wrap;
}
.theme-scope .choicebox-group-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.75rem;
}
.theme-scope .choicebox {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background-color: var(--color-bg-primary);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  flex: 1;
  min-width: 0;
}
.theme-scope .choicebox:hover {
  border-color: var(--color-border-strong, var(--color-text-muted));
}
.theme-scope .choicebox input[type=radio],
.theme-scope .choicebox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}
.theme-scope .choicebox:has(input:checked) {
  border-color: var(--color-primary, var(--color-text-primary));
  box-shadow: 0 0 0 1px var(--color-primary, var(--color-text-primary)) inset;
  background-color: var(--color-bg-primary);
}
.theme-scope .choicebox:has(input:focus-visible) {
  outline: 2px solid var(--color-primary, var(--color-text-primary));
  outline-offset: 2px;
}
.theme-scope .choicebox:has(input:disabled) {
  opacity: 0.5;
  cursor: not-allowed;
}
.theme-scope .choicebox-indicator {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  border: 1.5px solid var(--color-border-strong, var(--color-text-muted));
  border-radius: 9999px;
  margin-top: 0.125rem;
  background-color: var(--color-bg-primary);
  transition: border-color 0.15s ease, background-color 0.15s ease;
  position: relative;
}
.theme-scope .choicebox:has(input:checked) .choicebox-indicator {
  border-color: var(--color-primary, var(--color-text-primary));
  border-width: 5px;
}
.theme-scope .choicebox-indicator-square {
  border-radius: var(--radius-sm);
}
.theme-scope .choicebox:has(input[type=checkbox]:checked) .choicebox-indicator-square {
  background-color: var(--color-primary, var(--color-text-primary));
  border-color: var(--color-primary, var(--color-text-primary));
  border-width: 1.5px;
}
.theme-scope .choicebox:has(input[type=checkbox]:checked) .choicebox-indicator-square::after {
  content: "";
  position: absolute;
  inset: 2px 4px 4px 2px;
  border-right: 2px solid var(--color-bg-primary);
  border-bottom: 2px solid var(--color-bg-primary);
  transform: rotate(45deg) translate(-1px, -1px);
}
.theme-scope .choicebox-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.theme-scope .choicebox-title {
  font-weight: var(--font-control-weight);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.theme-scope .choicebox-description {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  line-height: var(--leading-normal);
}
.theme-scope .choicebox-meta {
  flex-shrink: 0;
  font-weight: var(--font-control-weight);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
}
.theme-scope .choicebox-sm {
  padding: 0.625rem 0.75rem;
}
.theme-scope .choicebox-lg {
  padding: 1.125rem 1.25rem;
}
.theme-scope .choicebox-lg .choicebox-title {
  font-size: var(--text-base);
}
.theme-scope .choicebox-lg .choicebox-description {
  font-size: var(--text-sm);
}
.theme-scope .multi-select {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  min-height: 2.25rem;
  padding: 0.25rem 0.5rem 0.25rem 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: var(--color-bg-primary);
  font-size: var(--text-sm);
  cursor: text;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.theme-scope .multi-select:hover {
  border-color: var(--color-border-strong, var(--color-text-muted));
}
.theme-scope .multi-select:focus-within {
  border-color: var(--color-primary, var(--color-text-primary));
  box-shadow: 0 0 0 3px var(--color-primary-light, transparent);
}
.theme-scope .multi-select-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.25rem 0.125rem 0.5rem;
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: 9999px;
  font-size: var(--text-xs);
  color: var(--color-text-primary);
  line-height: 1.4;
  max-width: 100%;
}
.theme-scope .multi-select-chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theme-scope .multi-select-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 9999px;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
  flex-shrink: 0;
}
.theme-scope .multi-select-chip-remove:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .multi-select-input {
  flex: 1;
  min-width: 4rem;
  border: none;
  outline: none;
  background: transparent;
  color: var(--color-text-primary);
  font-size: inherit;
  padding: 0.125rem 0.25rem;
}
.theme-scope .multi-select-input::placeholder {
  color: var(--color-text-muted);
}
.theme-scope .multi-select-menu {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  right: 0;
  max-height: 16rem;
  overflow-y: auto;
  z-index: 50;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
  padding: 0.25rem;
  display: none;
}
.theme-scope .multi-select-menu.open {
  display: block;
}
.theme-scope .multi-select-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.5rem;
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  cursor: pointer;
  user-select: none;
}
.theme-scope .multi-select-option:hover,
.theme-scope .multi-select-option[aria-selected=true] {
  background-color: var(--color-bg-secondary);
}
.theme-scope .multi-select-option-selected {
  color: var(--color-text-muted);
}
.theme-scope .multi-select-option-selected::after {
  content: "✓";
  margin-left: auto;
  color: var(--color-primary, var(--color-text-primary));
}
.theme-scope .multi-select-empty {
  padding: 0.625rem 0.75rem;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  text-align: center;
}
.theme-scope .multi-select-disabled {
  background-color: var(--color-bg-muted);
  opacity: 0.6;
  cursor: not-allowed;
}
.theme-scope .multi-select-disabled .multi-select-input {
  pointer-events: none;
}
.theme-scope .sidebar-provider {
  --sidebar-width: 16rem;
  --sidebar-transition: var(--transition-base) var(--ease);
  --sidebar-item-height: var(--spacing-8);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] {
  --sidebar-width: 15rem;
  --sidebar-item-height: var(--spacing-8);
  --sidebar-transition: var(--transition-fast) var(--ease);
  background: transparent;
}
.theme-scope .sidebar-provider[data-sidebar-variant=version] {
  --sidebar-width: clamp(15.5rem, 18vw, 17.5rem);
  --sidebar-version-row-min-height: calc(var(--spacing-10) + var(--spacing-1_5));
}
.theme-scope .sidebar-provider {
  display: flex;
  height: 100%;
  background-color: var(--color-bg-primary);
  overflow: visible;
  position: relative;
}
.theme-scope .sidebar-wrapper {
  position: relative;
  width: var(--sidebar-width);
  height: 100%;
  flex-shrink: 0;
  transition: width var(--sidebar-transition);
  overflow: visible;
}
.theme-scope .sidebar-wrapper[data-resizable-panel=left] {
  width: var(--rp-left, var(--sidebar-width));
  transition: none;
}
.theme-scope .sidebar-provider[data-state=closed] .sidebar-wrapper {
  width: 0;
  transition: width var(--sidebar-transition);
}
.theme-scope .sidebar {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: var(--sidebar-width);
  height: 100%;
  background-color: var(--color-bg-secondary);
  border-right: 1px solid var(--color-border);
  overflow-x: visible;
  overflow-y: hidden;
  transform: translateX(0);
  transition: transform var(--sidebar-transition);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar {
  background-color: transparent;
}
.theme-scope .sidebar-wrapper[data-resizable-panel] .sidebar {
  width: 100%;
}
.theme-scope .sidebar-provider[data-state=closed] .sidebar {
  transform: translateX(-100%);
}
.theme-scope .sidebar-provider > .sidebar:not(.sidebar-wrapper .sidebar) {
  position: relative;
  flex-shrink: 0;
}
.theme-scope .sidebar-header {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: var(--spacing-2);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-header {
  min-height: 44px;
  padding: var(--spacing-2) var(--spacing-2) 0 var(--spacing-4);
}
.theme-scope .sidebar-provider[data-sidebar-variant=version] .sidebar-header {
  justify-content: space-between;
  gap: var(--spacing-3);
  min-height: calc(var(--spacing-8) * 2);
  padding: var(--spacing-2);
  border-bottom: 1px solid var(--color-border);
  background-color: var(--color-bg-primary);
}
.theme-scope .sidebar-header-content {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: 0 var(--spacing-2);
  min-height: var(--sidebar-item-height);
}
.theme-scope .sidebar-provider[data-sidebar-variant=version] .sidebar-header-content {
  flex: 1;
  min-width: 0;
  padding-inline: var(--spacing-3);
}
.theme-scope .sidebar-logo {
  flex-shrink: 0;
  width: var(--icon-lg);
  height: var(--icon-lg);
  color: var(--color-text-primary);
}
.theme-scope .sidebar-title {
  font-size: var(--text-sm);
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.theme-scope .sidebar-content {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: visible;
  padding: var(--spacing-2);
  scrollbar-gutter: stable;
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-content {
  padding: var(--spacing-2);
  scrollbar-gutter: auto;
}
.theme-scope .sidebar-provider[data-sidebar-variant=version] .sidebar-content {
  padding: var(--spacing-2);
  scrollbar-gutter: auto;
}
.theme-scope .sidebar-content::-webkit-scrollbar {
  width: var(--spacing-1_5);
}
.theme-scope .sidebar-content::-webkit-scrollbar-track {
  background: transparent;
}
.theme-scope .sidebar-content::-webkit-scrollbar-thumb {
  background: var(--color-border-light);
  border-radius: var(--radius-md);
}
.theme-scope .sidebar-content::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-muted);
}
.theme-scope .sidebar-resize-handle {
  position: relative;
  width: var(--spacing-2);
  margin-left: calc(var(--spacing-1) * -1);
  margin-right: calc(var(--spacing-1) * -1);
  background-color: transparent;
  cursor: col-resize;
  flex-shrink: 0;
  z-index: var(--z-dropdown);
  touch-action: none;
  align-self: stretch;
  height: 100%;
}
.theme-scope .sidebar-resize-handle::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  bottom: 0;
  width: var(--spacing-px);
  background-color: transparent;
  transition: background-color var(--transition-fast) var(--ease);
}
.theme-scope .sidebar-resize-handle:hover::before,
.theme-scope .sidebar-resize-handle:active::before,
.theme-scope .sidebar-resize-handle.is-dragging::before {
  background-color: var(--color-text-muted);
}
.theme-scope .sidebar-provider[data-state=closed] .sidebar-resize-handle {
  display: none;
}
.theme-scope .sidebar-search {
  position: relative;
  padding: var(--spacing-2);
}
.theme-scope .sidebar-search .input-group {
  position: relative;
}
.theme-scope .sidebar-search .input-group:has(.sidebar-search-kbd) .form-input {
  padding-right: 2.25rem;
}
.theme-scope .sidebar-search-kbd {
  position: absolute;
  right: var(--spacing-2);
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
  border-top-left-radius: var(--radius-sm);
  border-bottom-left-radius: var(--radius-sm);
}
.theme-scope .sidebar-search .input-group .form-input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: var(--radius-md);
  border-bottom-right-radius: var(--radius-md);
}
.theme-scope .sidebar-empty-state {
  padding: var(--spacing-4);
  text-align: center;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}
.theme-scope .sidebar-group + .sidebar-group {
  margin-top: var(--spacing-4);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-group + .sidebar-group {
  margin-top: var(--spacing-3);
}
.theme-scope .sidebar-group-label {
  display: flex;
  align-items: center;
  height: var(--sidebar-item-height);
  padding: 0;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  letter-spacing: 0.021em;
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-group-label {
  height: var(--sidebar-item-height);
  padding: 0 var(--spacing-3);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  letter-spacing: 0;
}
.theme-scope .sidebar-group:not(.sidebar-group-collapsible) .sidebar-group-label {
  padding: 0 var(--spacing-3);
}
.theme-scope .sidebar-group-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: var(--sidebar-item-height);
  padding: 0 var(--spacing-3);
  border: none;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  cursor: pointer;
  transition: background-color var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
}
.theme-scope .sidebar-group-trigger:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-group-trigger {
  justify-content: flex-start;
  gap: var(--spacing-1);
  width: fit-content;
  height: var(--spacing-6);
  margin-bottom: var(--spacing-1);
  padding: 0 var(--spacing-2);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--font-normal);
  letter-spacing: 0;
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-group-trigger:hover,
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-group-trigger:focus-visible {
  background-color: transparent;
  border-color: var(--color-text-secondary);
  color: var(--color-text-primary);
  box-shadow: none;
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-group-trigger[aria-expanded=true] {
  background-color: var(--color-bg-muted);
  border-color: transparent;
  color: var(--color-text-secondary);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-group-trigger .sidebar-group-label {
  height: auto;
  padding: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.theme-scope .sidebar-group-trigger:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-text-muted);
}
.theme-scope .sidebar-group-chevron {
  flex-shrink: 0;
  width: var(--icon-sm);
  height: var(--icon-sm);
  color: currentColor;
  transition: transform var(--transition-fast) var(--ease);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-group-chevron {
  width: var(--icon-xs);
  height: var(--icon-xs);
  transition: none;
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-group-trigger[aria-expanded=true] .sidebar-group-chevron {
  transform: rotate(90deg);
}
.theme-scope .sidebar-group-chevron.rotated {
  transform: rotate(180deg);
}
.theme-scope .sidebar-group-content {
  overflow: visible;
}
.theme-scope .sidebar-menu {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-0_5);
  list-style: none;
  padding: 0;
  margin: 0;
}
.theme-scope .sidebar-menu-item {
  position: relative;
}
.theme-scope .sidebar a,
.theme-scope .sidebar .sidebar-menu-button {
  text-decoration: none;
}
.theme-scope .sidebar a:hover,
.theme-scope .sidebar .sidebar-menu-button:hover {
  text-decoration: none;
}
.theme-scope .sidebar-menu-button {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  width: 100%;
  height: var(--sidebar-item-height);
  padding: 0 var(--spacing-3);
  border: none;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--font-normal);
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
  white-space: nowrap;
  overflow: hidden;
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-menu-button {
  gap: var(--spacing-2);
  height: var(--sidebar-item-height);
  padding: 0 var(--spacing-2);
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--font-normal);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-menu-button:hover,
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-menu-button.active {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-menu-button:focus-visible {
  box-shadow: 0 0 0 1px color-mix(in oklch, var(--color-accent) 72%, var(--color-border));
}
.theme-scope .sidebar-menu-button:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  text-decoration: none;
}
.theme-scope .sidebar-menu-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-text-muted);
}
.theme-scope .sidebar-menu-button.active {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  font-weight: var(--font-control-weight);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-menu-button.active {
  font-weight: var(--font-normal);
}
.theme-scope .sidebar-version-heading {
  display: grid;
  gap: var(--spacing-0_5);
  min-width: 0;
}
.theme-scope .sidebar-version-count {
  font-family: var(--font-role-label);
  font-size: var(--text-xs);
  line-height: var(--leading-tight);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}
.theme-scope .sidebar-version-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-0_5);
  list-style: none;
  margin: 0;
  padding: 0;
}
.theme-scope .sidebar-version-list > li {
  list-style: none;
}
.theme-scope .sidebar-version-item {
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  height: auto;
  min-height: var(--sidebar-version-row-min-height);
  padding: var(--spacing-1_5) var(--spacing-3);
  border: none;
  border-radius: var(--radius-md);
  background-color: transparent;
  color: var(--color-text-secondary);
  font-weight: var(--font-normal);
  text-align: left;
  white-space: normal;
}
.theme-scope .sidebar-version-item:hover,
.theme-scope .sidebar-version-item.active {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  font-weight: var(--font-normal);
  box-shadow: none;
}
.theme-scope .sidebar-version-item-main {
  display: grid;
  gap: var(--spacing-0_5);
  min-width: 0;
  width: 100%;
  justify-items: start;
}
.theme-scope .sidebar-version-name {
  overflow: hidden;
  color: currentColor;
  font-size: var(--text-sm);
  font-weight: var(--font-emphasis-weight);
  line-height: var(--leading-tight);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theme-scope .sidebar-version-meta {
  color: var(--color-text-muted);
  font-family: var(--font-role-body);
  font-size: var(--text-xs);
  line-height: var(--leading-tight);
}
.theme-scope .sidebar-menu-button.keyboard-selected {
  background-color: var(--color-primary-light, var(--color-bg-muted));
  color: var(--color-primary, var(--color-text-primary));
}
.theme-scope .sidebar-icon {
  flex-shrink: 0;
  width: var(--icon-base);
  height: var(--icon-base);
  color: var(--color-text-muted);
}
.theme-scope .sidebar-menu-button:hover .sidebar-icon,
.theme-scope .sidebar-menu-button.active .sidebar-icon {
  color: var(--color-text-primary);
}
.theme-scope .sidebar-header .sidebar-icon {
  width: 1rem;
  height: 1rem;
  color: var(--color-text-primary);
}
.theme-scope .sidebar-icon-text {
  flex-shrink: 0;
  width: var(--icon-base);
  height: var(--icon-base);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-base);
}
.theme-scope .sidebar-menu-label {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}
.theme-scope .sidebar-menu-badge {
  flex-shrink: 0;
  padding: var(--spacing-0_5) var(--spacing-2);
  font-size: var(--text-xs);
  font-weight: var(--font-control-weight);
  background-color: var(--color-text-muted);
  color: var(--color-white);
  border-radius: var(--radius-full);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-menu-badge {
  padding: 0;
  background-color: transparent;
  color: var(--color-text-secondary);
  border-radius: 0;
  font-size: var(--text-xs);
  font-weight: var(--font-normal);
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-menu-shortcut {
  flex-shrink: 0;
  min-width: 26px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--spacing-1) var(--spacing-2);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  line-height: 1;
  text-align: center;
}
.theme-scope .sidebar-menu-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--spacing-6);
  height: var(--spacing-6);
  padding: 0;
  margin-left: auto;
  border: none;
  border-radius: var(--radius-md);
  background-color: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: background-color var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
  flex-shrink: 0;
}
.theme-scope .sidebar-menu-action:hover,
.theme-scope .sidebar-menu-action[aria-expanded=true] {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .sidebar-menu-action .iconify {
  width: var(--icon-base);
  height: var(--icon-base);
}
.theme-scope .sidebar-footer {
  flex-shrink: 0;
  padding: var(--spacing-2);
  overflow: visible;
}
.theme-scope .sidebar-provider[data-sidebar-variant=shiori] .sidebar-footer {
  padding: var(--spacing-2) var(--spacing-2) var(--spacing-3);
}
.theme-scope .sidebar-user {
  text-align: left;
}
.theme-scope .sidebar-footer-dropdown .sidebar-menu-button.sidebar-user,
.theme-scope .sidebar-footer .sidebar-menu-button.sidebar-user {
  height: auto;
  min-height: var(--sidebar-item-height);
  padding: 0 var(--spacing-3);
}
.theme-scope .sidebar-avatar {
  flex-shrink: 0;
  width: var(--spacing-8);
  height: var(--spacing-8);
  border-radius: var(--radius-md);
  background-color: var(--color-bg-muted);
  display: flex;
  align-items: center;
  justify-content: center;
}
.theme-scope .sidebar-avatar svg {
  color: var(--color-text-muted);
}
.theme-scope .sidebar-user-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.theme-scope .sidebar-user-name {
  font-size: var(--text-sm);
  font-weight: var(--font-control-weight);
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
}
.theme-scope .sidebar-user-email {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
}
.theme-scope .sidebar-chevron {
  flex-shrink: 0;
  color: var(--color-text-muted);
}
.theme-scope .sidebar-header-dropdown,
.theme-scope .sidebar-footer-dropdown {
  position: relative;
  width: 100%;
}
.theme-scope .sidebar-header-dropdown .sidebar-menu-button,
.theme-scope .sidebar-footer-dropdown .sidebar-menu-button {
  width: 100%;
  border: 1px solid transparent;
}
.theme-scope .sidebar-header-dropdown .sidebar-menu-button:hover,
.theme-scope .sidebar-footer-dropdown .sidebar-menu-button:hover {
  border-color: var(--color-border);
}
.theme-scope .sidebar-footer-dropdown .dropdown-menu-up {
  position: absolute;
  top: 0;
  bottom: auto;
  left: var(--spacing-2);
  right: var(--spacing-2);
  z-index: var(--z-popover);
  width: calc(100% - var(--spacing-4));
  padding: var(--spacing-1) 0;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  transform: translateY(calc(-100% - var(--spacing-1) - 6px)) scale(0.95);
  transform-origin: bottom right;
  transition: opacity var(--transition-fast) var(--ease-out), transform var(--transition-fast) var(--ease-out), visibility 0s linear var(--transition-fast);
  pointer-events: none;
  visibility: hidden;
}
.theme-scope .sidebar-footer-dropdown .dropdown-menu-up.open {
  opacity: 1;
  transform: translateY(calc(-100% - var(--spacing-1) - 6px)) scale(1);
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}
.theme-scope .sidebar-header-dropdown .dropdown-menu-down {
  position: absolute;
  top: 100%;
  left: var(--spacing-2);
  right: var(--spacing-2);
  z-index: var(--z-modal);
  width: calc(100% - var(--spacing-4));
  padding: var(--spacing-1) 0;
  margin-top: var(--spacing-1);
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  transform: scale(0.95) translateY(calc(var(--spacing-1) * -1));
  transform-origin: top right;
  transition: opacity var(--transition-fast) var(--ease-out), transform var(--transition-fast) var(--ease-out), visibility 0s linear var(--transition-fast);
  pointer-events: none;
  visibility: hidden;
}
.theme-scope .sidebar-header-dropdown .dropdown-menu-down.open {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}
.theme-scope .sidebar-header-dropdown .dropdown-item,
.theme-scope .sidebar-footer-dropdown .dropdown-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-2) var(--spacing-3);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
}
.theme-scope .sidebar-header-dropdown .dropdown-item:hover,
.theme-scope .sidebar-footer-dropdown .dropdown-item:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .sidebar-header-dropdown .dropdown-item-icon,
.theme-scope .sidebar-footer-dropdown .dropdown-item-icon {
  flex-shrink: 0;
  width: var(--icon-sm);
  height: var(--icon-sm);
  color: currentColor;
}
.theme-scope .sidebar-header-dropdown .dropdown-divider,
.theme-scope .sidebar-footer-dropdown .dropdown-divider {
  height: var(--spacing-px);
  margin: var(--spacing-1) 0;
  background-color: var(--color-border);
}
.theme-scope .sidebar-header-dropdown .color-danger-text,
.theme-scope .sidebar-footer-dropdown .color-danger-text {
  color: var(--color-danger);
}
.theme-scope .sidebar-header-dropdown .color-danger-text:hover,
.theme-scope .sidebar-footer-dropdown .color-danger-text:hover {
  background-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}
.theme-scope .sidebar-menu-item .dropdown-menu {
  position: absolute;
  top: var(--sidebar-item-height);
  right: 0;
  left: auto;
  z-index: var(--z-popover);
  min-width: 12rem;
  padding: var(--spacing-1) 0;
  margin-top: var(--spacing-1);
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  transform: scale(0.95) translateY(calc(var(--spacing-2) * -1));
  transform-origin: top right;
  transition: opacity var(--transition-fast) var(--ease-out), transform var(--transition-fast) var(--ease-out), visibility 0s linear var(--transition-fast);
  pointer-events: none;
  visibility: hidden;
}
.theme-scope .sidebar-menu-item .dropdown-menu.open {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}
.theme-scope .sidebar-menu-item .dropdown-menu.dropdown-menu-top {
  top: auto;
  bottom: var(--sidebar-item-height);
  margin-top: 0;
  margin-bottom: var(--spacing-1);
  transform: scale(0.95) translateY(var(--spacing-2));
  transform-origin: bottom right;
}
.theme-scope .sidebar-menu-item .dropdown-menu.dropdown-menu-top.open {
  transform: scale(1) translateY(0);
}
.theme-scope .sidebar-menu-item .dropdown-menu .dropdown-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-2) var(--spacing-3);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
}
.theme-scope .sidebar-menu-item .dropdown-menu .dropdown-item:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .sidebar-menu-item .dropdown-menu .dropdown-item-icon {
  flex-shrink: 0;
  width: var(--icon-sm);
  height: var(--icon-sm);
  color: currentColor;
}
.theme-scope .sidebar-menu-item .dropdown-menu .dropdown-divider {
  height: var(--spacing-px);
  margin: var(--spacing-1) 0;
  background-color: var(--color-border);
}
.theme-scope .sidebar-menu-item .dropdown-menu .color-danger-text {
  color: var(--color-danger);
}
.theme-scope .sidebar-menu-item .dropdown-menu .color-danger-text:hover {
  background-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}
.theme-scope .sidebar-menu-sub {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-0_5);
  list-style: none;
  padding: 0;
  margin: 0;
  margin-left: var(--spacing-4);
  padding-left: var(--spacing-3);
  border-left: 1px solid var(--color-border);
}
.theme-scope .sidebar-menu-sub-item {
  position: relative;
}
.theme-scope .sidebar-menu-sub-button {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  width: 100%;
  height: calc(var(--sidebar-item-height) - var(--spacing-1));
  padding: 0 var(--spacing-2);
  border: none;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  font-weight: var(--font-normal);
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
  white-space: nowrap;
  overflow: hidden;
}
.theme-scope .sidebar-menu-sub-button:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  text-decoration: none;
}
.theme-scope .sidebar-menu-sub-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-text-muted);
}
.theme-scope .sidebar-menu-sub-button.active {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  font-weight: var(--font-control-weight);
}
.theme-scope .sidebar-menu-collapsible {
  position: relative;
}
.theme-scope .sidebar-menu-collapsible-trigger {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  width: 100%;
  height: var(--sidebar-item-height);
  padding: 0 var(--spacing-3);
  border: none;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--font-normal);
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
  white-space: nowrap;
  overflow: hidden;
}
.theme-scope .sidebar-menu-collapsible-trigger:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .sidebar-menu-collapsible-trigger:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-text-muted);
}
.theme-scope .sidebar-menu-collapsible-trigger.active {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  font-weight: var(--font-control-weight);
}
.theme-scope .sidebar-menu-collapsible-trigger .sidebar-icon {
  flex-shrink: 0;
  width: var(--icon-base);
  height: var(--icon-base);
  color: var(--color-text-muted);
}
.theme-scope .sidebar-menu-collapsible-trigger:hover .sidebar-icon,
.theme-scope .sidebar-menu-collapsible-trigger.active .sidebar-icon {
  color: var(--color-text-primary);
}
.theme-scope .sidebar-menu-collapsible-chevron {
  flex-shrink: 0;
  width: var(--icon-sm);
  height: var(--icon-sm);
  margin-left: auto;
  color: var(--color-text-muted);
  transition: transform var(--transition-fast) var(--ease);
}
.theme-scope .sidebar-menu-collapsible-chevron.rotated {
  transform: rotate(90deg);
}
.theme-scope .sidebar-menu-collapsible-content {
  overflow: hidden;
}
.theme-scope .sidebar-menu-collapsible-content[x-cloak] {
  display: none;
}
.theme-scope .sidebar-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--spacing-8);
  height: var(--spacing-8);
  border-radius: var(--radius-md);
  background: transparent;
  border: 1px solid var(--color-border);
  cursor: pointer;
  color: var(--color-text-secondary);
  transition: background-color var(--transition-fast) var(--ease), border-color var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
}
.theme-scope .sidebar-trigger:hover {
  background-color: var(--color-bg-muted);
  border-color: var(--color-border-light);
  color: var(--color-text-primary);
}
.theme-scope .sidebar-trigger:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-text-muted);
}
.theme-scope .sidebar-trigger-lg {
  width: var(--spacing-10);
  height: var(--spacing-10);
  border-radius: var(--radius-lg);
}
.theme-scope .sidebar-trigger-icon {
  color: var(--color-text-muted);
  transition: transform var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
}
.theme-scope .sidebar-trigger:hover .sidebar-trigger-icon {
  color: var(--color-text-primary);
}
.theme-scope .sidebar-trigger-icon.rotated {
  transform: rotate(180deg);
}
.theme-scope .sidebar-inset {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  width: 100%;
  background-color: var(--color-bg-primary);
  overflow: hidden;
}
.theme-scope .sidebar-inset-header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-2) var(--spacing-4);
  border-bottom: 1px solid var(--color-border);
}
.theme-scope .sidebar-inset-title,
.theme-scope .sidebar-inset-header h1,
.theme-scope .sidebar-inset-header .sidebar-inset-title {
  font-size: var(--text-base);
  font-weight: var(--font-heading-weight);
  color: var(--color-text-primary);
  margin: 0 !important;
  margin-bottom: 0 !important;
  line-height: var(--leading-none);
}
.theme-scope .sidebar-inset-content {
  flex: 1;
  padding: var(--spacing-6);
  overflow-y: auto;
}
.theme-scope.sidebar-collapsed-variation,
.theme-scope .sidebar-collapsed-variation {
  --sidebar-collapsed-width: 56px;
}
.theme-scope.sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-wrapper,
.theme-scope .sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-wrapper {
  width: var(--sidebar-collapsed-width);
  transition: width var(--sidebar-transition);
}
.theme-scope.sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar,
.theme-scope .sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar {
  width: var(--sidebar-collapsed-width);
  transform: translateX(0);
}
.theme-scope.sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-header, .theme-scope.sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-search, .theme-scope.sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-content, .theme-scope.sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-footer,
.theme-scope .sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-header,
.theme-scope .sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-search,
.theme-scope .sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-content,
.theme-scope .sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-footer {
  display: none;
}
.theme-scope .sidebar-collapsed-toggle {
  display: none;
  position: sticky;
  top: 0;
  height: 100%;
  padding: var(--spacing-3);
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.theme-scope.sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-collapsed-toggle,
.theme-scope .sidebar-collapsed-variation .sidebar-provider[data-state=closed] .sidebar-collapsed-toggle {
  display: flex;
}

/* Mobile styles — outside .theme-scope on purpose since they're
   structural, but still gated by sidebar selectors. */
@media (max-width: 767px) {
  .theme-scope .sidebar-provider {
    position: relative;
  }
  .theme-scope .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-modal);
    height: 100vh;
    transform: translateX(-100%);
    transition: transform var(--sidebar-transition);
    box-shadow: var(--shadow-xl);
  }
  .theme-scope .sidebar-provider[data-state=open] .sidebar {
    transform: translateX(0);
  }
  .theme-scope .sidebar-provider[data-state=closed] .sidebar {
    width: var(--sidebar-width);
    transform: translateX(-100%);
    border-right: 1px solid var(--color-border);
  }
  .theme-scope .sidebar-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: var(--z-overlay);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-base) var(--ease), visibility var(--transition-base) var(--ease);
  }
  .theme-scope .sidebar-provider[data-state=open] .sidebar-overlay {
    opacity: 1;
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .theme-scope .sidebar-overlay {
    display: none;
  }
}
/* ===================================
   Chrome — structural meta-UI that doesn't theme-flip
   ===================================

   `data-chrome="neutral"` is the engine's first-class way to say
   "this region is structural chrome, not themed content."

   When set on a wrapper element, color tokens (text, border) are
   pinned to neutral grays — they don't shift when the active theme
   changes. Useful for:
     - Playground / docs chrome surrounding themed previews
     - App shells (sidebar, toolbar, header) that should stay
       visually stable while the user evaluates themes inside them
     - Any meta-UI where theme-flipping the chrome would be
       distracting from the themed content

   Background-surface tokens are intentionally NOT remapped here —
   the engine's `--color-bg-primary/-secondary/-muted` baseline
   already resolves to neutral slate/zinc grays. Remapping them
   would invert the "surface is white, page is gray" semantics
   that form components (input-group, form-input, etc.) depend on.

   Light chrome reads zinc/slate grays; dark chrome reads slate-800+.
   Both light + dark variants ship together — `.dark` or
   `[data-variant="dark"]` ancestor flips the chrome's variant
   independently of the surrounding content's variant.
   =================================== */
[data-chrome=neutral] {
  /* Neutral grays — same source palette the playground was using
     locally as `--playground-*`. Promoted to engine so consumers
     get a documented, reusable neutral-chrome mode. */
  --color-text-primary: #09090b; /* zinc-950 */
  --color-text-secondary: #52525b; /* zinc-600 */
  --color-text-muted: #71717a; /* zinc-500 */
  --color-border: #e4e4e7; /* zinc-200 */
  --color-border-light: #f4f4f5; /* zinc-100 */
  /* Surface tokens — we remap ONLY `--color-bg-secondary` and
     `--color-bg-muted` because those drive chrome surfaces (sidebar
     bg + hover states). We deliberately leave `--color-bg-primary`
     alone so form components (input, textarea, modal) keep their
     "this is an editable surface" white background — even when
     they appear inside chrome. Without this exception, the chrome's
     "surface is white, page is gray" mapping would invert form
     component semantics. */
  --color-bg-secondary: #ffffff; /* sidebar surface — neutral white */
  --color-bg-muted: #f4f4f5; /* zinc-100 — hover/active row */
}

/* Dark variant — activated by any of:
   - `.dark` ancestor (body-level dark mode toggle)
   - `[data-variant="dark"]` ancestor or on the chrome element itself
   - `[data-variant="dark"]` on the chrome wrapper
   Matches the engine's `@mixin dark-mode` fan-out so chrome dark
   mode tracks the user-facing dark toggle regardless of which
   activation path is in use. */
.dark [data-chrome=neutral],
[data-variant=dark] [data-chrome=neutral],
[data-chrome=neutral][data-variant=dark],
[data-chrome=neutral].dark {
  --color-text-primary: #f8fafc; /* slate-50 */
  --color-text-secondary: #cbd5e1; /* slate-300 */
  --color-text-muted: #94a3b8; /* slate-400 */
  --color-border: #334155; /* slate-700 */
  --color-border-light: #475569; /* slate-600 */
  --color-bg-secondary: #1e293b; /* slate-800 — sidebar surface */
  --color-bg-muted: #334155; /* slate-700 — hover */
}
.theme-scope .folder-tree {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-0_5);
}
.theme-scope .folder-tree-root {
  min-height: var(--spacing-8);
  padding: var(--spacing-1);
  border-radius: var(--radius-md);
  transition: background-color var(--transition-fast) var(--ease), outline var(--transition-fast) var(--ease);
}
.theme-scope .folder-tree-root.drag-over {
  background-color: var(--color-primary-light);
  outline: 2px dashed var(--color-primary);
  outline-offset: -2px;
}
.theme-scope .folder-tree-root:empty::before {
  content: "Drop here";
  display: block;
  padding: var(--spacing-3) var(--spacing-2);
  text-align: center;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  opacity: 0;
  transition: opacity var(--transition-fast) var(--ease);
}
.theme-scope .folder-tree-root.drag-over:empty::before {
  opacity: 1;
  color: var(--color-primary);
}
.theme-scope .folder-tree-root-hint {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  padding: var(--spacing-2) var(--spacing-3);
  margin-bottom: var(--spacing-1);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  background-color: var(--color-bg-secondary);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast) var(--ease);
}
.theme-scope .folder-tree-root-hint.drag-over {
  background-color: var(--color-primary-light);
  border-color: var(--color-primary);
  border-style: solid;
  color: var(--color-primary);
}
.theme-scope .sidebar-header .folder-tree-actions {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  margin-left: auto;
}
.theme-scope .folder-tree-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--spacing-6);
  height: var(--spacing-6);
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg-primary);
  color: var(--color-text-muted);
  cursor: pointer;
  transition: all var(--transition-fast) var(--ease);
}
.theme-scope .folder-tree-action-btn:hover {
  background: var(--color-bg-muted);
  color: var(--color-text-primary);
  border-color: var(--color-text-muted);
}
.theme-scope .folder-tree-action-btn .iconify {
  width: var(--icon-sm);
  height: var(--icon-sm);
}
.theme-scope .folder-tree-folder {
  position: relative;
}
.theme-scope .folder-tree-folder-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  height: var(--sidebar-item-height);
  padding: 0 var(--spacing-2);
  border-radius: var(--radius-md);
  cursor: grab;
  transition: background-color var(--transition-fast) var(--ease);
  position: relative;
}
.theme-scope .folder-tree-folder-row:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .folder-tree-folder-row.drag-over {
  background-color: var(--color-primary-light);
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}
.theme-scope .folder-tree-folder-row.is-dragging {
  opacity: 0.5;
  cursor: grabbing;
}
.theme-scope .folder-tree-nested {
  margin-left: var(--spacing-4);
  padding-left: var(--spacing-2);
  border-left: 1px solid var(--color-border);
}
.theme-scope .folder-tree-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--spacing-4);
  height: var(--spacing-4);
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  flex-shrink: 0;
}
.theme-scope .folder-tree-toggle:hover {
  color: var(--color-text-primary);
}
.theme-scope .folder-tree-chevron {
  width: var(--icon-xs);
  height: var(--icon-xs);
}
.theme-scope .folder-tree-icon {
  width: var(--icon-sm);
  height: var(--icon-sm);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.theme-scope .folder-tree-icon-item {
  color: var(--color-text-muted);
}
.theme-scope .folder-tree-name {
  flex: 1;
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theme-scope .folder-tree-count {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}
.theme-scope .folder-tree-edit-input {
  flex: 1;
  height: calc(var(--sidebar-item-height) - var(--spacing-2));
  padding: 0 var(--spacing-2);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-sm);
  background: var(--color-bg-primary);
  font-size: var(--text-sm);
  color: var(--color-text-primary);
  outline: none;
}
.theme-scope .folder-tree-edit-input:focus {
  box-shadow: 0 0 0 2px var(--color-primary-light);
}
.theme-scope .folder-tree-actions-hover {
  display: flex;
  align-items: center;
  gap: var(--spacing-0_5);
  opacity: 0;
  transition: opacity var(--transition-fast) var(--ease);
  margin-left: auto;
}
.theme-scope .folder-tree-folder-row:hover .folder-tree-actions-hover,
.theme-scope .folder-tree-item:hover .folder-tree-actions-hover {
  opacity: 1;
}
.theme-scope .folder-tree-action-btn-sm {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--spacing-5);
  height: var(--spacing-5);
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: all var(--transition-fast) var(--ease);
}
.theme-scope .folder-tree-action-btn-sm:hover {
  background: var(--color-bg-secondary);
  color: var(--color-text-primary);
}
.theme-scope .folder-tree-action-btn-sm .iconify {
  width: var(--icon-xs);
  height: var(--icon-xs);
}
.theme-scope .folder-tree-dropdown {
  position: absolute;
  top: 100%;
  right: var(--spacing-2);
  z-index: var(--z-popover);
  min-width: 10rem;
  padding: var(--spacing-1) 0;
  margin-top: var(--spacing-1);
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  transform: scale(0.95) translateY(calc(var(--spacing-1) * -1));
  transform-origin: top right;
  transition: opacity var(--transition-fast) var(--ease-out), transform var(--transition-fast) var(--ease-out), visibility 0s linear var(--transition-fast);
  pointer-events: none;
  visibility: hidden;
}
.theme-scope .folder-tree-dropdown.open {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}
.theme-scope .folder-tree-dropdown .dropdown-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  width: 100%;
  padding: var(--spacing-1_5) var(--spacing-3);
  border: none;
  background: transparent;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  text-align: left;
  cursor: pointer;
  transition: background-color var(--transition-fast) var(--ease), color var(--transition-fast) var(--ease);
}
.theme-scope .folder-tree-dropdown .dropdown-item:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope .folder-tree-dropdown .dropdown-item-icon {
  width: var(--icon-sm);
  height: var(--icon-sm);
  color: currentColor;
}
.theme-scope .folder-tree-dropdown .dropdown-divider {
  height: 1px;
  margin: var(--spacing-1) 0;
  background-color: var(--color-border);
}
.theme-scope .folder-tree-dropdown .color-danger-text {
  color: var(--color-danger);
}
.theme-scope .folder-tree-dropdown .color-danger-text:hover {
  background-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}
.theme-scope .folder-tree-contents {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-0_5);
  margin-left: var(--spacing-4);
  padding-left: var(--spacing-3);
  border-left: 1px solid var(--color-border);
}
.theme-scope .folder-tree-contents > .folder-tree-folder.folder-tree-nested {
  margin-left: 0;
  padding-left: 0;
  border-left: none;
}
.theme-scope .folder-tree-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  height: var(--sidebar-item-height);
  padding: 0 var(--spacing-2);
  border-radius: var(--radius-md);
  cursor: grab;
  transition: background-color var(--transition-fast) var(--ease);
  position: relative;
}
.theme-scope .folder-tree-item:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .folder-tree-item.active {
  background-color: var(--color-bg-muted);
  font-weight: var(--font-control-weight);
}
.theme-scope .folder-tree-item.is-dragging {
  opacity: 0.5;
  cursor: grabbing;
}
.theme-scope .folder-tree-item-btn {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 0;
  border: none;
  background: transparent;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theme-scope .folder-tree-item-btn:hover {
  color: var(--color-text-primary);
}
.theme-scope .folder-tree-item.active .folder-tree-item-btn {
  color: var(--color-text-primary);
}
.theme-scope .folder-tree-empty {
  padding: var(--spacing-4);
  text-align: center;
}
.theme-scope .folder-tree-empty p {
  margin: 0;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}
.theme-scope .folder-tree-footer-info {
  display: flex;
  align-items: center;
  padding: var(--spacing-1) var(--spacing-2);
}
.theme-scope .folder-tree-demo-info {
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
}
.theme-scope .folder-tree-demo-info h3 {
  margin: 0 0 var(--spacing-3) 0;
  font-size: var(--text-base);
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-primary);
}
.theme-scope .folder-tree-demo-info ul {
  margin: 0;
  padding-left: var(--spacing-5);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
}
.theme-scope .folder-tree-demo-info li {
  margin-bottom: var(--spacing-1);
}
.theme-scope .folder-tree-demo-info strong {
  color: var(--color-text-primary);
}
.theme-scope .folder-tree-selected-info {
  margin-top: var(--spacing-4);
  padding: var(--spacing-3);
  background: var(--color-bg-primary);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}
.theme-scope .folder-tree-selected-info p {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}
.theme-scope .folder-tree-drop-indicator {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background-color: var(--color-primary);
  pointer-events: none;
  z-index: 10;
  border-radius: 1px;
}
.theme-scope .folder-tree-drop-indicator::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: var(--color-primary);
  border-radius: 50%;
}
.theme-scope .folder-tree-drop-before .folder-tree-drop-indicator {
  top: -1px;
}
.theme-scope .folder-tree-drop-after .folder-tree-drop-indicator {
  bottom: -1px;
}
.theme-scope .folder-tree-drop-inside > .folder-tree-folder-row,
.theme-scope .folder-tree-drop-inside.folder-tree-folder-row {
  background-color: var(--color-primary-light);
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}
.theme-scope .folder-tree-drag-wrapper {
  position: relative;
}
.theme-scope .folder-tree-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-1_5);
  padding: var(--spacing-1) var(--spacing-2);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background-color var(--transition-fast) var(--ease);
}
.theme-scope .folder-tree-row:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope .folder-tree-row.is-active {
  background-color: var(--color-primary-light);
  color: var(--color-primary);
}
.theme-scope .folder-tree-row.is-active .folder-tree-name {
  color: var(--color-primary);
}
.theme-scope .folder-tree-chev {
  width: 0.75rem;
  height: 0.75rem;
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.theme-scope .folder-tree-chev-spacer {
  width: 0.75rem;
  flex-shrink: 0;
}
.theme-scope .folder-tree-icon-folder {
  color: var(--color-warning);
}
.theme-scope .folder-tree-icon-file {
  color: var(--color-text-muted);
}
.theme-scope .folder-tree-icon-info {
  color: var(--color-info);
}
.theme-scope .folder-tree-icon-danger {
  color: var(--color-danger);
}
.theme-scope .folder-tree-children {
  margin-left: var(--spacing-4);
}
.theme-scope .folder-tree-split {
  display: flex;
  gap: var(--spacing-6);
  align-items: flex-start;
}
.theme-scope .folder-tree-split-tree {
  width: 16rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--spacing-2);
  background-color: var(--color-bg-primary);
  flex-shrink: 0;
}
.theme-scope .folder-tree-split-detail {
  flex: 1;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  background-color: var(--color-bg-muted);
  min-height: 8rem;
}
.theme-scope .folder-tree-detail-body {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
}
.theme-scope .folder-tree-detail-title {
  font-weight: var(--font-emphasis-weight);
  color: var(--color-text-primary);
  margin: 0;
}
.theme-scope .folder-tree-detail-meta {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.theme-scope .folder-tree-detail-meta p {
  margin: 0;
}
.theme-scope .folder-tree-detail-value {
  color: var(--color-primary);
}
.theme-scope .folder-tree-detail-actions {
  display: flex;
  gap: var(--spacing-2);
  padding-top: var(--spacing-2);
}
.theme-scope .folder-tree-detail-empty {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}
.theme-scope .pr-ref-track {
  display: flex;
  gap: var(--pr-ref-track-gap, 1rem);
  margin-block: 0;
  padding: 0 0 var(--pr-ref-track-end-padding, 0);
  padding-left: 0;
  overflow-x: auto;
  overflow-y: hidden;
  list-style: none;
  list-style-type: none;
  scroll-snap-type: x var(--pr-ref-snap-strictness, proximity);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.theme-scope .pr-ref-track::-webkit-scrollbar {
  display: none;
}
.theme-scope .pr-ref-track > * {
  flex: 0 0 var(--pr-ref-item-size, auto);
  min-width: 0;
  margin: 0;
  list-style: none;
  list-style-type: none;
  scroll-snap-align: var(--pr-ref-snap-align, start);
}
.theme-scope .pr-ref-track > li::marker {
  content: "";
}
.theme-scope .pr-ref-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--pr-ref-icon-button-size, 2.5rem);
  height: var(--pr-ref-icon-button-size, 2.5rem);
  border: 0;
  border-radius: var(--pr-ref-icon-button-radius, var(--radius-md));
  background: var(--pr-ref-icon-button-bg, var(--color-primary));
  color: var(--pr-ref-icon-button-color, var(--color-bg-page));
  line-height: 1;
  text-decoration: none;
}
.theme-scope .pr-ref-icon {
  width: var(--pr-ref-icon-size, 1.25rem);
  height: var(--pr-ref-icon-size, 1.25rem);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: var(--pr-ref-icon-stroke-width, 2);
}
.theme-scope .pr-ref-left-rail {
  position: relative;
  border-left-width: 0;
  overflow: var(--pr-ref-left-rail-overflow, visible);
}
.theme-scope .pr-ref-left-rail::before {
  content: "";
  position: absolute;
  top: var(--pr-ref-left-rail-top, 0);
  bottom: var(--pr-ref-left-rail-bottom, 0);
  left: var(--pr-ref-left-rail-left, 0);
  z-index: var(--pr-ref-left-rail-z, 1);
  width: var(--pr-ref-left-rail-width, 4px);
  border-radius: var(--pr-ref-left-rail-radius, 0);
  background: var(--pr-ref-left-rail-color, var(--color-primary));
  box-shadow: var(--pr-ref-left-rail-shadow, none);
  pointer-events: none;
}
.theme-scope .pr-ref-left-rail > * {
  position: relative;
  z-index: var(--pr-ref-left-rail-content-z, 2);
}

/* Generated token blocks — all themes coexist under
   `.theme-scope[data-theme="<name>"]` so any can be activated at runtime
   by setting `data-theme` on the scope element. Compile-time consumers
   that only need one theme can comment out the others. Each gets a
   distinct namespace because sass requires unique `@use` names — the
   namespace is unused (these modules only emit CSS rules). */
/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (4) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Anthropic Sans";
  src: url("themes/anthropic/fonts/Anthropic_Sans-300_800-normal.woff2") format("woff2");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Anthropic Sans";
  src: url("themes/anthropic/fonts/Anthropic_Sans-300_800-italic.woff2") format("woff2");
  font-weight: 300 800;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Anthropic Serif";
  src: url("themes/anthropic/fonts/Anthropic_Serif-300_800-normal.woff2") format("woff2");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Anthropic Serif";
  src: url("themes/anthropic/fonts/Anthropic_Serif-300_800-italic.woff2") format("woff2");
  font-weight: 300 800;
  font-style: italic;
  font-display: swap;
}
.theme-scope[data-theme=anthropic] {
  --font-sans: 'Anthropic Sans', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-serif: 'Anthropic Serif', ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
  --font-display: 'Anthropic Sans', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-role-body: var(--font-serif);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-display);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #141413;
  --color-primary-hover: #2b2a27;
  --color-primary-active: #0a0a0a;
  --color-primary-text: #faf9f5;
  --color-brand-50: #f7f5eb;
  --color-brand-100: #e8e6dc;
  --color-brand-200: #d3d1c7;
  --color-brand-300: #b9b8ae;
  --color-brand-400: #a09f95;
  --color-brand-500: #88867d;
  --color-brand-600: #716f66;
  --color-brand-700: #5a5850;
  --color-brand-800: #44433a;
  --color-brand-900: #302e26;
  --color-brand-950: #1c1b14;
  --color-brand: #e8e6dc;
  --radius-none: 0;
  --radius-sm: 1px;
  --radius-md: 2px;
  --radius-lg: 4px;
  --radius-full: 9999px;
  --space-0: 0;
  --space-4: 0.5rem;
  --space-6: 0.75rem;
  --space-8: 1rem;
  --space-12: 1.5rem;
  --space-16: 2rem;
  --text-base: 16px;
  --text-lg: 20px;
  --text-xl: 61px;
  --color-bg-page: #faf9f5;
  --color-bg-primary: #faf9f5;
  --color-bg-secondary: #e8e2d6;
  --color-bg-muted: #f1ece2;
  --color-bg-hover: rgba(20, 20, 19, 0.04);
  --color-bg-card: #e8e2d6;
  --color-bg-accent-panel: #141413;
  --color-text-primary: #141413;
  --color-text-secondary: #3f3e38;
  --color-text-muted: #6f6d64;
  --color-border: rgba(20, 20, 19, 0.1);
  --color-border-light: rgba(20, 20, 19, 0.06);
  --color-primary-dark: #141413;
  --color-primary-light: #eee9dc;
  --color-primary-lighter: #f3efe6;
  --color-primary-lightest: #f7f5eb;
  --color-primary-ring: rgba(20, 20, 19, 0.18);
  --color-info: #5a5850;
  --color-info-light: #eee9dc;
  --color-info-dark: #302e26;
  --color-info-link: #44433a;
  --color-info-link-hover: #141413;
  --color-info-ring: rgba(20, 20, 19, 0.16);
  --color-info-200: #d3d1c7;
  --color-info-300: #b9b8ae;
  --color-tab-active: #141413;
  --color-cta: #141413;
  --color-cta-hover: #2b2a27;
  --color-choice-bg-checked: rgba(20, 20, 19, 0.05);
  --radius-button: 0.5rem;
  --button-outline-shadow: none;
  --button-outline-focus-shadow: 0 0 0 var(--ring-width) var(--color-primary-ring);
  --button-danger-outline-focus-shadow: 0 0 0 3px var(--color-danger-ring);
  --button-success-outline-focus-shadow: 0 0 0 3px var(--color-success-ring);
  --button-warning-outline-focus-shadow: 0 0 0 3px var(--color-warning-ring);
  --button-info-outline-focus-shadow: 0 0 0 3px var(--color-info-ring);
  --button-neutral-outline-focus-shadow: 0 0 0 3px var(--color-neutral-ring);
  --button-group-label-shadow: none;
  --button-group-outline-shadow: none;
  --button-group-outline-first-shadow: none;
  --button-group-outline-middle-shadow: none;
  --button-group-outline-last-shadow: none;
}

.theme-scope[data-theme=anthropic].dark,
.theme-scope[data-theme=anthropic][data-variant=dark],
.dark .theme-scope[data-theme=anthropic],
[data-variant=dark] .theme-scope[data-theme=anthropic] {
  --color-primary: #141413;
  --color-primary-hover: #2b2a27;
  --color-primary-active: #0a0a0a;
  --color-primary-text: #faf9f5;
  --color-bg-page: #141413;
  --color-bg-primary: #141413;
  --color-bg-secondary: #24231f;
  --color-bg-muted: #302e26;
  --color-bg-hover: rgba(250, 249, 245, 0.06);
  --color-bg-card: #24231f;
  --color-bg-accent-panel: #faf9f5;
  --color-text-primary: #faf9f5;
  --color-text-secondary: #e8e2d6;
  --color-text-muted: #b8b1a5;
  --color-border: rgba(250, 249, 245, 0.16);
  --color-border-light: rgba(250, 249, 245, 0.1);
  --color-primary: #faf9f5;
  --color-primary-hover: #e8e2d6;
  --color-primary-active: #d3d1c7;
  --color-primary-text: #141413;
  --color-primary-light: rgba(250, 249, 245, 0.12);
  --color-primary-lighter: rgba(250, 249, 245, 0.16);
  --color-primary-lightest: rgba(250, 249, 245, 0.2);
  --color-primary-ring: rgba(250, 249, 245, 0.24);
  --color-info: #e8e2d6;
  --color-info-light: rgba(250, 249, 245, 0.12);
  --color-info-dark: #faf9f5;
  --color-info-link: #e8e2d6;
  --color-info-link-hover: #faf9f5;
  --color-info-ring: rgba(250, 249, 245, 0.2);
  --color-info-200: rgba(250, 249, 245, 0.16);
  --color-info-300: rgba(250, 249, 245, 0.2);
  --color-tab-active: #faf9f5;
  --color-cta: #faf9f5;
  --color-cta-hover: #e8e2d6;
  --color-choice-bg-checked: rgba(250, 249, 245, 0.08);
  --button-outline-shadow: none;
  --button-outline-focus-shadow: 0 0 0 var(--ring-width) var(--color-primary-ring);
  --button-danger-outline-focus-shadow: 0 0 0 3px var(--color-danger-ring);
  --button-success-outline-focus-shadow: 0 0 0 3px var(--color-success-ring);
  --button-warning-outline-focus-shadow: 0 0 0 3px var(--color-warning-ring);
  --button-info-outline-focus-shadow: 0 0 0 3px var(--color-info-ring);
  --button-neutral-outline-focus-shadow: 0 0 0 3px var(--color-neutral-ring);
  --button-group-label-shadow: none;
  --button-group-outline-shadow: none;
  --button-group-outline-first-shadow: none;
  --button-group-outline-middle-shadow: none;
  --button-group-outline-last-shadow: none;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (8) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "fontPlain";
  src: url("themes/browse/fonts/fontPlain-300-normal.woff2") format("woff2");
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "fontPlain";
  src: url("themes/browse/fonts/fontPlain-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "fontPlain";
  src: url("themes/browse/fonts/fontPlain-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "fontGTStandardMono";
  src: url("themes/browse/fonts/fontGTStandardMono-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "fontGTStandardMono";
  src: url("themes/browse/fonts/fontGTStandardMono-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "fontGTStandardMono";
  src: url("themes/browse/fonts/fontGTStandardMono-500-oblique.woff2") format("woff2");
  font-weight: 500;
  font-style: oblique;
  font-display: swap;
}
@font-face {
  font-family: "fontHWCigars";
  src: url("themes/browse/fonts/fontHWCigars-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "fontHWCigars";
  src: url("themes/browse/fonts/fontHWCigars-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=browse] {
  --font-sans: 'fontPlain', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: 'fontGTStandardMono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-serif: 'fontHWCigars', Garamond, Georgia, serif;
  --font-display: 'fontHWCigars', Garamond, Georgia, serif;
  --font-marketing: 'fontPlain', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-display);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #ff4500;
  --color-primary-hover: #df481d;
  --color-primary-active: #c24625;
  --color-primary-text: #ffffff;
  --color-brand-50: #f5f5f5;
  --color-brand-100: #fde1d9;
  --color-brand-200: #fdc1b0;
  --color-brand-300: #fa9b82;
  --color-brand-400: #ff4500;
  --color-brand-500: #e34b22;
  --color-brand-600: #bb3f1e;
  --color-brand-700: #963116;
  --color-brand-800: #75220c;
  --color-brand-900: #561201;
  --color-brand-950: #350901;
  --color-brand: #ff4500;
  --radius-none: 0;
  --radius-sm: 1px;
  --radius-md: 2px;
  --radius-lg: 4px;
  --radius-full: 9999px;
  --space-0: 0;
  --space-3: 0.375rem;
  --space-4: 0.5rem;
  --space-12: 1.5rem;
  --text-base: 14px;
  --color-bg-page: #f4f1ee;
  --color-bg-bedrock: #edebeb;
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #fafafa;
  --color-bg-card: #ffffff;
  --color-bg-muted: rgba(38, 15, 23, 0.035);
  --color-bg-hover: rgba(38, 15, 23, 0.05);
  --color-border: rgba(38, 15, 23, 0.10);
  --color-border-light: rgba(38, 15, 23, 0.07);
  --color-border-tab: rgba(38, 15, 23, 0.16);
  --color-text-primary: #260f17;
  --color-text-secondary: #514f4f;
  --color-text-muted: #6f6d6d;
  --color-text-tertiary: #969493;
  --color-focus-ring: #260f17;
  --color-accent-pill-bg: oklab(0.872708 0.00588757 0.124154 / 0.18);
  --color-accent-pill-text: rgb(117, 69, 12);
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=chorus] {
  --font-sans: Geist, 'Geist Placeholder', -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: Geist, 'Geist Placeholder', -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #1c1917;
  --color-primary-hover: #292524;
  --color-primary-active: #44403c;
  --color-primary-text: #ffffff;
  --color-secondary: #f5f5f4;
  --color-secondary-hover: #e7e5e4;
  --color-secondary-active: #d6d3d1;
  --color-secondary-text: #1c1917;
  --color-secondary-border: #e7e5e4;
  --color-tertiary: transparent;
  --color-tertiary-hover: #f5f5f4;
  --color-tertiary-active: #e7e5e4;
  --color-tertiary-text: #57534e;
  --color-tertiary-border: #e7e5e4;
  --color-chorus-ink-50: #fafaf9;
  --color-chorus-ink-100: #f5f5f4;
  --color-chorus-ink-200: #e7e5e4;
  --color-chorus-ink-300: #d6d3d1;
  --color-chorus-ink-400: #a8a29e;
  --color-chorus-ink-500: #78716c;
  --color-chorus-ink-600: #57534e;
  --color-chorus-ink-700: #44403c;
  --color-chorus-ink-800: #292524;
  --color-chorus-ink-900: #1c1917;
  --color-chorus-ink-950: #0c0a09;
  --color-chorus-ink: #1c1917;
  --color-chorus-green-200: #bbf7d0;
  --color-chorus-green-300: #86efac;
  --color-chorus-green-500: #22c55e;
  --color-chorus-green-700: #15803d;
  --color-chorus-green: #22c55e;
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-button: 2px;
  --radius-input: 4px;
  --radius-card: 4px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 0 rgba(28, 25, 23, 0.04);
  --shadow-md: 0 8px 24px rgba(28, 25, 23, 0.08);
  --shadow-lg: 0 30px 60px -30px rgba(28, 25, 23, 0.24);
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --text-xs: 11px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 20px;
  --text-xl: 24px;
  --text-2xl: 35px;
  --text-3xl: 36px;
  --text-4xl: 48px;
  --color-bg-page: #ffffff;
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #fafaf9;
  --color-bg-card: #ffffff;
  --color-bg-muted: #f5f5f4;
  --color-bg-light: #fafaf9;
  --color-bg-hover: #f5f5f4;
  --color-bg-disabled: #f5f5f4;
  --color-border: #dddad7;
  --color-border-light: #e7e5e4;
  --color-border-tab: #dddad7;
  --color-text-primary: #1c1917;
  --color-text-secondary: #6d6660;
  --color-text-muted: #938c86;
  --color-text-tertiary: #beb8b4;
  --color-text-neutral: #6d6660;
  --color-primary-dark: #1c1917;
  --color-primary-light: #fafaf9;
  --color-primary-lighter: #f5f5f4;
  --color-primary-lightest: #e7e5e4;
  --color-primary-ring: rgba(28, 25, 23, 0.18);
  --color-gray-ring: rgba(28, 25, 23, 0.12);
  --color-accent: #22c55e;
  --color-accent-hover: #15803d;
  --color-cta: #1c1917;
  --color-cta-hover: #292524;
  --font-semibold: 500;
  --text-h1: 48px;
  --text-h2: 36px;
  --text-h3: 24px;
  --text-h4: 20px;
  --text-h5: 16px;
  --text-h6: 14px;
  --text-button: 16px;
  --text-label: 11px;
  --leading-tight: 1.2;
  --leading-normal: 1.5;
  --space-btn-x: 1rem;
  --space-btn-y: 0.6875rem;
  --space-input-x: 0.875rem;
  --space-input-y: 0.625rem;
}

.theme-scope[data-theme=chorus].dark,
.theme-scope[data-theme=chorus][data-variant=dark],
.dark .theme-scope[data-theme=chorus],
[data-variant=dark] .theme-scope[data-theme=chorus] {
  --color-primary: #fafaf9;
  --color-primary-hover: #f5f5f4;
  --color-primary-active: #e7e5e4;
  --color-primary-text: #0c0a09;
  --color-secondary: #292524;
  --color-secondary-hover: #44403c;
  --color-secondary-active: #57534e;
  --color-secondary-text: #fafaf9;
  --color-secondary-border: #44403c;
  --color-tertiary: transparent;
  --color-tertiary-hover: #292524;
  --color-tertiary-active: #44403c;
  --color-tertiary-text: #d6d3d1;
  --color-tertiary-border: #44403c;
  --color-bg-page: #1c1917;
  --color-bg-primary: #1c1917;
  --color-bg-secondary: #292524;
  --color-bg-card: #1c1917;
  --color-bg-muted: #292524;
  --color-bg-light: #292524;
  --color-bg-hover: #292524;
  --color-bg-disabled: #292524;
  --color-border: #44403c;
  --color-border-light: #57534e;
  --color-border-tab: #44403c;
  --color-text-primary: #fafaf9;
  --color-text-secondary: #d6d3d1;
  --color-text-muted: #a8a29e;
  --color-text-tertiary: #78716c;
  --color-text-neutral: #d6d3d1;
  --color-primary-dark: #fafaf9;
  --color-primary-light: rgba(250, 250, 249, 0.10);
  --color-primary-lighter: rgba(250, 250, 249, 0.16);
  --color-primary-lightest: rgba(250, 250, 249, 0.22);
  --color-primary-ring: rgba(250, 250, 249, 0.24);
  --color-gray-ring: rgba(250, 250, 249, 0.16);
  --color-accent: #86efac;
  --color-accent-hover: #bbf7d0;
  --color-cta: #fafaf9;
  --color-cta-hover: #f5f5f4;
  --font-semibold: 500;
  --text-h1: 48px;
  --text-h2: 36px;
  --text-h3: 24px;
  --text-h4: 20px;
  --text-h5: 16px;
  --text-h6: 14px;
  --text-button: 16px;
  --text-label: 11px;
  --leading-tight: 1.2;
  --leading-normal: 1.5;
  --space-btn-x: 1rem;
  --space-btn-y: 0.6875rem;
  --space-input-x: 0.875rem;
  --space-input-y: 0.625rem;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=corporate] {
  --font-sans: Verdana, Geneva, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #ff6600;
  --color-primary-hover: #e65c00;
  --color-primary-active: #cc5200;
  --color-primary-text: #ffffff;
  --color-success: #008000;
  --color-warning: #ffcc00;
  --color-danger: #cc0000;
  --color-info: #0000ff;
  --radius-sm: 0;
  --radius: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --radius-full: 0;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (6) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "CursorGothic";
  src: url("https://cursor.com/media/CursorGothic_Regular-s.p.05-84umc_47y9.woff2?dpl=dpl_EmSrjo3rJZ5kLtMPJUtZ2cNmZhgf") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "CursorGothic";
  src: url("https://cursor.com/media/CursorGothic_Italic-s.p.0klm.ze1la4ej.woff2?dpl=dpl_EmSrjo3rJZ5kLtMPJUtZ2cNmZhgf") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "CursorGothic";
  src: url("https://cursor.com/media/CursorGothic_Bold-s.p.15hkw~ebmtjvr.woff2?dpl=dpl_EmSrjo3rJZ5kLtMPJUtZ2cNmZhgf") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "CursorGothic";
  src: url("https://cursor.com/media/CursorGothic_BoldItalic-s.p.0cqzqaem~_s9y.woff2?dpl=dpl_EmSrjo3rJZ5kLtMPJUtZ2cNmZhgf") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "berkeleyMono";
  src: url("https://cursor.com/media/BerkeleyMono_Regular.p.0x~g-6.~uijej.woff2?dpl=dpl_EmSrjo3rJZ5kLtMPJUtZ2cNmZhgf") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "berkeleyMono";
  src: url("https://cursor.com/media/BerkeleyMono_Oblique.p.0ljxuk9ar7~k_.woff2?dpl=dpl_EmSrjo3rJZ5kLtMPJUtZ2cNmZhgf") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
.theme-scope[data-theme=cursor] {
  --font-sans: 'CursorGothic', 'CursorGothic Fallback', system-ui, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-mono: 'berkeleyMono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #26251E;
  --color-primary-hover: #3a3930;
  --color-primary-active: #1a1914;
  --color-primary-text: #F7F7F4;
  --color-secondary: #E6E5E0;
  --color-secondary-hover: #dcdbd5;
  --color-secondary-active: #cfcdc6;
  --color-secondary-text: #26251E;
  --color-secondary-border: rgba(38, 37, 30, 0.025);
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-danger: #ef4444;
  --color-info: #3b82f6;
}

.theme-scope[data-theme=cursor].dark,
.theme-scope[data-theme=cursor][data-variant=dark],
.dark .theme-scope[data-theme=cursor],
[data-variant=dark] .theme-scope[data-theme=cursor] {
  --color-primary: #EDECEC;
  --color-primary-hover: #dcdada;
  --color-primary-active: #c8c6c6;
  --color-primary-text: #14120B;
  --color-secondary: #26241E;
  --color-secondary-hover: #322f28;
  --color-secondary-active: #3a3730;
  --color-secondary-text: #EDECEC;
  --color-secondary-border: rgba(237, 236, 236, 0.06);
  --color-bg-primary: #14120B;
  --color-bg-secondary: #1B1913;
  --color-bg-card: #1B1913;
  --color-bg-muted: #26241E;
  --color-text-primary: #EDECEC;
  --color-text-secondary: rgba(237, 236, 236, 0.72);
  --color-text-muted: rgba(237, 236, 236, 0.6);
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=dark] {
  --font-sans: -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #60a5fa;
  --color-primary-hover: #3b82f6;
  --color-primary-active: #2563eb;
  --color-primary-text: #0f172a;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (3) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Martina Plantijn Regular";
  src: url("themes/elicit/fonts/Martina_Plantijn_Regular-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DM Mono";
  src: url("themes/elicit/fonts/DM_Mono-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Special Gothic Variable";
  src: url("themes/elicit/fonts/Special_Gothic_Variable-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=elicit] {
  --font-sans: 'Martina Plantijn Regular', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: 'DM Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: 'Martina Plantijn Regular', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-marketing: 'Special Gothic Variable', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #026370;
  --color-primary-hover: #083d44;
  --color-primary-active: #052f35;
  --color-primary-text: #ffffff;
  --color-secondary: #f4f4ec;
  --color-secondary-hover: #e8eee9;
  --color-secondary-active: #dbe7e3;
  --color-secondary-text: #083d44;
  --color-secondary-border: #d8e2dd;
  --color-tertiary: transparent;
  --color-tertiary-hover: #eef4f1;
  --color-tertiary-active: #dbe7e3;
  --color-tertiary-text: #083d44;
  --color-tertiary-border: transparent;
  --color-info: #026370;
  --color-info-hover: #074f59;
  --color-info-active: #083d44;
  --color-info-text: #ffffff;
  --color-brand-50: #e4fafe;
  --color-brand-100: #c0f2fb;
  --color-brand-200: #a9dbe3;
  --color-brand-300: #90c1c9;
  --color-brand-400: #77a8b0;
  --color-brand-500: #5f8f97;
  --color-brand-600: #48777f;
  --color-brand-700: #316068;
  --color-brand-800: #194a51;
  --color-brand-900: #083d44;
  --color-brand-950: #051f23;
  --color-brand: #083d44;
  --color-elicit-lime-100: #f3ffd1;
  --color-elicit-lime-200: #e5ff97;
  --color-elicit-lime-300: #d8f36c;
  --color-elicit-lime-500: #bad94e;
  --color-elicit-lime-700: #799918;
  --color-elicit-lime: #e5ff97;
  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;
  --space-0: 0;
  --space-3: 0.375rem;
  --space-4: 0.5rem;
  --space-8: 1rem;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 27px;
  --text-2xl: 32px;
  --text-3xl: 48px;
  --color-bg-page: #fcfcf8;
  --color-bg-primary: #fcfcf8;
  --color-bg-secondary: #f4f4ec;
  --color-bg-card: #ffffff;
  --color-bg-muted: #eef4f1;
  --color-bg-light: #f7f7f1;
  --color-bg-hover: #eef4f1;
  --color-bg-disabled: #eeeeea;
  --color-border: #d8e2dd;
  --color-border-light: #e8eee9;
  --color-border-tab: #d8e2dd;
  --color-text-primary: #083d44;
  --color-text-secondary: #40585d;
  --color-text-muted: #6b7f82;
  --color-text-neutral: #083d44;
  --color-primary-dark: #083d44;
  --color-primary-light: #e4fafe;
  --color-primary-lighter: #c0f2fb;
  --color-primary-lightest: #eef4f1;
  --color-primary-ring: rgba(8, 61, 68, 0.20);
  --color-gray-ring: rgba(8, 61, 68, 0.10);
  --color-accent: #026370;
  --color-accent-hover: #083d44;
  --color-accent-pill-bg: #e5ff97;
  --color-accent-pill-border: #cfe86e;
  --color-accent-pill-text: #265f73;
  --color-bg-accent-panel: #f3f6e4;
  --color-bg-accent-panel-border: #e1e8c8;
  --font-semibold: 500;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=fresh] {
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-display);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #d9f99d;
  --color-primary-hover: #bef264;
  --color-primary-active: #a3e635;
  --color-primary-text: #3f6212;
  --color-primary-border: #84cc16;
  --color-secondary: #fffef7;
  --color-secondary-hover: #f7fee7;
  --color-secondary-active: #ecfccb;
  --color-secondary-text: #365314;
  --color-secondary-border: #d9f99d;
  --color-tertiary: color-mix(in oklch, #ecfccb 38%, transparent);
  --color-tertiary-hover: color-mix(in oklch, #d9f99d 58%, transparent);
  --color-tertiary-active: color-mix(in oklch, #bef264 60%, transparent);
  --color-tertiary-text: #3f6212;
  --color-tertiary-border: color-mix(in oklch, #84cc16 28%, transparent);
  --color-success: #10b981;
  --color-success-hover: #059669;
  --color-success-active: #047857;
  --color-success-text: #ffffff;
  --color-warning: #f7932a;
  --color-warning-hover: #fb923c;
  --color-warning-active: #ea580c;
  --color-warning-text: #3b1900;
  --color-fresh-lime-50: #f7fee7;
  --color-fresh-lime-100: #ecfccb;
  --color-fresh-lime-200: #d9f99d;
  --color-fresh-lime-300: #bef264;
  --color-fresh-lime-400: #a3e635;
  --color-fresh-lime-500: #84cc16;
  --color-fresh-lime-600: #65a30d;
  --color-fresh-lime-700: #4d7c0f;
  --color-fresh-lime-800: #3f6212;
  --color-fresh-lime-900: #365314;
  --color-fresh-lime-950: #1a2e05;
  --color-fresh-lime: #84cc16;
  --color-fresh-lemon-50: #fffbea;
  --color-fresh-lemon-100: #fff5c2;
  --color-fresh-lemon-200: #ffed86;
  --color-fresh-lemon-300: #fde047;
  --color-fresh-lemon-400: #fcc219;
  --color-fresh-lemon-500: #eab308;
  --color-fresh-lemon-600: #ca8a04;
  --color-fresh-lemon-700: #a16207;
  --color-fresh-lemon-800: #854d0e;
  --color-fresh-lemon-900: #713f12;
  --color-fresh-lemon: #fcc219;
  --color-fresh-orange-50: #fff7ed;
  --color-fresh-orange-100: #ffedd5;
  --color-fresh-orange-200: #fed7aa;
  --color-fresh-orange-300: #fdba74;
  --color-fresh-orange-400: #fb923c;
  --color-fresh-orange-500: #f7932a;
  --color-fresh-orange-600: #ea580c;
  --color-fresh-orange-700: #c2410c;
  --color-fresh-orange-800: #9a3412;
  --color-fresh-orange-900: #7c2d12;
  --color-fresh-orange: #f7932a;
  --color-fresh-leaf-50: #f6f9e8;
  --color-fresh-leaf-100: #e6edbd;
  --color-fresh-leaf-200: #cfdc7a;
  --color-fresh-leaf-300: #b7c946;
  --color-fresh-leaf-400: #94a61d;
  --color-fresh-leaf-500: #757f3e;
  --color-fresh-leaf-600: #5b6630;
  --color-fresh-leaf-700: #445025;
  --color-fresh-leaf-800: #30391a;
  --color-fresh-leaf-900: #1d2410;
  --color-fresh-leaf: #94a61d;
  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 18px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px color-mix(in oklch, #84cc16 12%, transparent);
  --shadow-md: 0 8px 20px color-mix(in oklch, #84cc16 14%, transparent);
  --shadow-lg: 0 24px 60px color-mix(in oklch, #f7932a 12%, transparent), 0 8px 24px color-mix(in oklch, #84cc16 12%, transparent);
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --text-4xl: 36px;
  --color-bg-page: #f7fee7;
  --color-bg-primary: #fffef7;
  --color-bg-secondary: #f7fee7;
  --color-bg-card: color-mix(in oklch, #ffffff 82%, #ecfccb);
  --color-bg-muted: #ecfccb;
  --color-bg-hover: #f7fee7;
  --color-bg-disabled: #eef3dd;
  --color-border: #d9f99d;
  --color-border-light: #ecfccb;
  --color-border-strong: #84cc16;
  --color-text-primary: #1f2f13;
  --color-text-secondary: #3f6212;
  --color-text-muted: #6b7d37;
  --color-text-neutral: #30401f;
  --color-text-inverse: #fffef7;
  --color-accent: #84cc16;
  --color-accent-hover: #65a30d;
  --color-accent-pill-bg: color-mix(in oklch, #d9f99d 34%, transparent);
  --color-accent-pill-border: color-mix(in oklch, #84cc16 30%, transparent);
  --color-accent-pill-text: #3f6212;
  --color-fresh-paper: #fffef7;
  --color-fresh-paper-warm: #fff7ed;
  --color-fresh-workspace: #f7fee7;
  --color-fresh-shell-from: #d1fae5;
  --color-fresh-shell-via: #d9f99d;
  --color-fresh-shell-to: #fef08a;
  --color-fresh-lemon: #fcc219;
  --color-fresh-orange: #f7932a;
  --color-fresh-leaf: #94a61d;
  --color-fresh-leaf-dark: #757f3e;
  --font-semibold: 600;
}

.theme-scope[data-theme=fresh].dark,
.theme-scope[data-theme=fresh][data-variant=dark],
.dark .theme-scope[data-theme=fresh],
[data-variant=dark] .theme-scope[data-theme=fresh] {
  --color-primary: #bef264;
  --color-primary-hover: #d9f99d;
  --color-primary-active: #a3e635;
  --color-primary-text: #14220a;
  --color-primary-border: #d9f99d;
  --color-secondary: #162314;
  --color-secondary-hover: #1f3318;
  --color-secondary-active: #29451c;
  --color-secondary-text: #f7fee7;
  --color-secondary-border: #3f6212;
  --color-tertiary: color-mix(in oklch, #3f6212 34%, transparent);
  --color-tertiary-hover: color-mix(in oklch, #4d7c0f 46%, transparent);
  --color-tertiary-active: color-mix(in oklch, #65a30d 44%, transparent);
  --color-tertiary-text: #ecfccb;
  --color-tertiary-border: color-mix(in oklch, #84cc16 35%, transparent);
  --color-success: #34d399;
  --color-success-hover: #6ee7b7;
  --color-success-active: #10b981;
  --color-success-text: #092316;
  --color-warning: #fb923c;
  --color-warning-hover: #fdba74;
  --color-warning-active: #f7932a;
  --color-warning-text: #2c1201;
  --color-bg-page: #09120b;
  --color-bg-primary: #101a0e;
  --color-bg-secondary: #142310;
  --color-bg-card: #162314;
  --color-bg-muted: #1f3318;
  --color-bg-hover: #213a17;
  --color-bg-disabled: #1a2716;
  --color-border: #304a1c;
  --color-border-light: #1f3318;
  --color-border-strong: #84cc16;
  --color-text-primary: #f7fee7;
  --color-text-secondary: #d9f99d;
  --color-text-muted: #a5b879;
  --color-text-neutral: #ecfccb;
  --color-text-inverse: #0e170b;
  --color-accent: #bef264;
  --color-accent-hover: #d9f99d;
  --color-accent-pill-bg: color-mix(in oklch, #84cc16 18%, transparent);
  --color-accent-pill-border: color-mix(in oklch, #bef264 35%, transparent);
  --color-accent-pill-text: #ecfccb;
  --color-fresh-paper: #101a0e;
  --color-fresh-paper-warm: #1f1b0f;
  --color-fresh-workspace: #142310;
  --color-fresh-shell-from: #064e3b;
  --color-fresh-shell-via: #4d7c0f;
  --color-fresh-shell-to: #a16207;
  --color-fresh-lemon: #fde047;
  --color-fresh-orange: #fb923c;
  --color-fresh-leaf: #bef264;
  --color-fresh-leaf-dark: #94a61d;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=groq] {
  --font-sans: -apple-system, system-ui, Inter, Roboto, 'Segoe UI', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco, Consolas, monospace;
  --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
  --font-display: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  --font-marketing: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #f43e01;
  --color-primary-hover: #c23101;
  --color-primary-active: #9a2701;
  --color-primary-text: #ffffff;
  --color-secondary: #f3f3ee;
  --color-secondary-hover: #e5e5dc;
  --color-secondary-active: #cecebf;
  --color-secondary-text: #26292e;
  --color-secondary-border: #cecebf;
  --color-tertiary: transparent;
  --color-tertiary-hover: #f3f3ee;
  --color-tertiary-active: #e5e5dc;
  --color-tertiary-text: #69695d;
  --color-tertiary-border: #cecebf;
  --color-groq-orange-50: #fff5e5;
  --color-groq-orange-100: #ffe8cc;
  --color-groq-orange-200: #ffd1a3;
  --color-groq-orange-300: #ffb973;
  --color-groq-orange-400: #fe9e20;
  --color-groq-orange-500: #f48b0a;
  --color-groq-orange-600: #f43e01;
  --color-groq-orange-700: #c23101;
  --color-groq-orange-800: #9a2701;
  --color-groq-orange-900: #731d00;
  --color-groq-orange-950: #5a1500;
  --color-groq-orange: #f43e01;
  --color-groq-gray-50: #fefefe;
  --color-groq-gray-100: #fafafa;
  --color-groq-gray-200: #f3f3ee;
  --color-groq-gray-300: #edede5;
  --color-groq-gray-400: #e8e8de;
  --color-groq-gray-500: #cecebf;
  --color-groq-gray-600: #766f6b;
  --color-groq-gray-700: #655852;
  --color-groq-gray-800: #2d2f33;
  --color-groq-gray-900: #272b2c;
  --color-groq-gray-950: #1e1e1e;
  --color-groq-gray: #26292e;
  --color-groq-yellow-200: #f4fd90;
  --color-groq-yellow-300: #fdeb20;
  --color-groq-yellow-500: #e6d000;
  --color-groq-yellow-700: #c6b802;
  --color-groq-yellow: #fdeb20;
  --color-groq-green-200: #a9ffdb;
  --color-groq-green-300: #10e68d;
  --color-groq-green-500: #0dcc7a;
  --color-groq-green-700: #018b01;
  --color-groq-green: #10e68d;
  --color-groq-blue-200: #bfe4fc;
  --color-groq-blue-300: #5fc0ff;
  --color-groq-blue-500: #0082a0;
  --color-groq-blue: #5fc0ff;
  --color-groq-purple-200: #e3dcf8;
  --color-groq-purple-300: #d377fd;
  --color-groq-purple-500: #683d7f;
  --color-groq-purple: #d377fd;
  --color-groq-pink-200: #fad8ff;
  --color-groq-pink-300: #f392dd;
  --color-groq-pink-500: #ee66ce;
  --color-groq-pink: #f392dd;
}

.theme-scope[data-theme=groq].dark,
.theme-scope[data-theme=groq][data-variant=dark],
.dark .theme-scope[data-theme=groq],
[data-variant=dark] .theme-scope[data-theme=groq] {
  --color-primary: #fe9e20;
  --color-primary-hover: #f48b0a;
  --color-primary-active: #e6d000;
  --color-primary-text: #1e1e1e;
  --color-bg-page: #1e1e1e;
  --color-bg-card: #272b2c;
  --color-text-primary: #fafafa;
  --color-text-muted: #cecebf;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (2) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Geist";
  src: url("themes/helix-db/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/helix-db/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/helix-db/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/helix-db/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/helix-db/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/helix-db/fonts/Geist-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GeistPixelGrid";
  src: url("themes/helix-db/fonts/GeistPixelGrid-500-normal.woff2") format("woff2"), url("themes/helix-db/fonts/GeistPixelGrid-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}
.theme-scope[data-theme=helix-db] {
  --font-sans: 'Geist', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: 'SFMono-Regular', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: 'GeistPixelGrid', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-mono);
  --font-role-label: var(--font-mono);
  --font-role-control: var(--font-mono);
  --font-role-code: var(--font-mono);
  --color-primary: #ff5c01;
  --color-primary-hover: #e05a21;
  --color-primary-active: #ce4903;
  --color-primary-text: #0a0a0a;
  --color-secondary: #fff0cf;
  --color-secondary-hover: #ffe2a3;
  --color-secondary-active: #f5ca74;
  --color-secondary-text: #2a1a0d;
  --color-secondary-border: #d8bd82;
  --color-tertiary: transparent;
  --color-tertiary-hover: #f0dfba;
  --color-tertiary-active: #e4c990;
  --color-tertiary-text: #3f2a14;
  --color-tertiary-border: transparent;
  --color-info: #fbaf2f;
  --color-info-hover: #ea9f0e;
  --color-info-active: #d1932d;
  --color-info-text: #0a0a0a;
  --color-brand-50: #f5f5f5;
  --color-brand-100: #fee1d6;
  --color-brand-200: #f9c3af;
  --color-brand-300: #fd9975;
  --color-brand-400: #ff5c01;
  --color-brand-500: #db551a;
  --color-brand-600: #b54719;
  --color-brand-700: #913812;
  --color-brand-800: #712808;
  --color-brand-900: #4e1d09;
  --color-brand-950: #330c00;
  --color-brand: #ff5c01;
  --radius-none: 0;
  --radius-sm: 1px;
  --radius-md: 2px;
  --radius-lg: 4px;
  --radius-full: 9999px;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-8: 2rem;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --color-bg-page: #f7f0df;
  --color-bg-primary: #fffaf0;
  --color-bg-secondary: #efe3c5;
  --color-bg-card: #fff7e6;
  --color-bg-muted: #eadbb8;
  --color-bg-light: #fbf5e8;
  --color-bg-hover: rgba(255, 92, 1, 0.10);
  --color-bg-disabled: #efe3c5;
  --color-bg-inverted-content: #060404;
  --color-border: #d6c49b;
  --color-border-light: #eadcb9;
  --color-border-tab: #d6c49b;
  --color-text-primary: #1f130b;
  --color-text-secondary: #5c4c34;
  --color-text-muted: #837459;
  --color-text-neutral: #3a2818;
  --color-text-invert: #ebd9af;
  --color-text-secondary-invert: rgba(235, 217, 175, 0.72);
  --color-primary-ring: rgba(255, 92, 1, 0.26);
}

.theme-scope[data-theme=helix-db].dark,
.theme-scope[data-theme=helix-db][data-variant=dark],
.dark .theme-scope[data-theme=helix-db],
[data-variant=dark] .theme-scope[data-theme=helix-db] {
  --color-primary: #ff5c01;
  --color-primary-hover: #e05a21;
  --color-primary-active: #ce4903;
  --color-primary-text: #0a0a0a;
  --color-secondary: #140d0c;
  --color-secondary-hover: #221715;
  --color-secondary-active: #2e1d18;
  --color-secondary-text: #ebd9af;
  --color-secondary-border: rgba(235, 217, 175, 0.22);
  --color-tertiary: transparent;
  --color-tertiary-hover: rgba(235, 217, 175, 0.08);
  --color-tertiary-active: rgba(235, 217, 175, 0.14);
  --color-tertiary-text: #ebd9af;
  --color-tertiary-border: transparent;
  --color-info: #fbaf2f;
  --color-info-hover: #ea9f0e;
  --color-info-active: #d1932d;
  --color-info-text: #0a0a0a;
  --color-bg-page: #060404;
  --color-bg-primary: #060404;
  --color-bg-secondary: #0e0908;
  --color-bg-card: #140d0c;
  --color-bg-muted: #221715;
  --color-bg-light: #140d0c;
  --color-bg-hover: rgba(255, 92, 1, 0.14);
  --color-bg-disabled: #140d0c;
  --color-bg-inverted-content: #ebd9af;
  --color-border: rgba(235, 217, 175, 0.22);
  --color-border-light: rgba(235, 217, 175, 0.42);
  --color-border-tab: rgba(235, 217, 175, 0.22);
  --color-text-primary: #ebd9af;
  --color-text-secondary: rgba(235, 217, 175, 0.72);
  --color-text-muted: rgba(235, 217, 175, 0.48);
  --color-text-neutral: #ebd9af;
  --color-text-invert: #060404;
  --color-text-secondary-invert: rgba(6, 4, 4, 0.72);
  --color-primary-ring: rgba(255, 92, 1, 0.42);
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (9) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "PP Formula SemiExtended";
  src: url("themes/hex/fonts/PP_Formula_SemiExtended-600-normal.woff2") format("woff2"), url("themes/hex/fonts/PP_Formula_SemiExtended-600-normal.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PP Formula";
  src: url("themes/hex/fonts/PP_Formula-800-normal.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PP Editorial New";
  src: url("themes/hex/fonts/PP_Editorial_New-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PP Editorial New";
  src: url("themes/hex/fonts/PP_Editorial_New-200-italic.woff2") format("woff2");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PP Editorial New";
  src: url("themes/hex/fonts/PP_Editorial_New-400-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Cinetype Mono";
  src: url("themes/hex/fonts/Cinetype_Mono-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cinetype";
  src: url("themes/hex/fonts/Cinetype-300-normal.woff2") format("woff2"), url("themes/hex/fonts/Cinetype-300-normal.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cinetype";
  src: url("themes/hex/fonts/Cinetype-400-normal.woff2") format("woff2"), url("themes/hex/fonts/Cinetype-400-normal.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cinetype";
  src: url("themes/hex/fonts/Cinetype-600-normal.woff2") format("woff2"), url("themes/hex/fonts/Cinetype-600-normal.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=hex] {
  --font-sans: 'Cinetype', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: 'Cinetype Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-serif: 'PP Editorial New', Georgia, serif;
  --font-display: 'PP Formula SemiExtended', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-marketing: 'PP Formula', 'PP Formula SemiExtended', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-display);
  --font-role-label: var(--font-mono);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #14141c;
  --color-primary-hover: #31263b;
  --color-primary-active: #43394c;
  --color-primary-text: #fffcfc;
  --color-secondary: #fffafa;
  --color-secondary-hover: #fcf8f8;
  --color-secondary-active: #f5eeee;
  --color-secondary-text: #14141c;
  --color-secondary-border: #f5c0c0;
  --color-tertiary: transparent;
  --color-tertiary-hover: #fcf8f8;
  --color-tertiary-active: #f5eeee;
  --color-tertiary-text: #43394c;
  --color-tertiary-border: #d7d1d4;
  --color-brand-50: #fbf7ff;
  --color-brand-100: #eee6f6;
  --color-brand-200: #d4c3de;
  --color-brand-300: #b8a0c6;
  --color-brand-400: #947da4;
  --color-brand-500: #725c82;
  --color-brand-600: #584764;
  --color-brand-700: #43394c;
  --color-brand-800: #31263b;
  --color-brand-900: #211829;
  --color-brand-950: #14141c;
  --color-brand: #31263b;
  --radius-none: 0;
  --radius-sm: 1px;
  --radius-md: 2px;
  --radius-lg: 4px;
  --radius-full: 9999px;
  --space-0: 0;
  --space-2: 0.25rem;
  --space-4: 0.5rem;
  --space-6: 0.75rem;
  --space-8: 1rem;
  --text-sm: 12px;
  --text-base: 14px;
  --color-bg-page: #fffcfc;
  --color-bg-primary: #fffcfc;
  --color-bg-secondary: #fcf8f8;
  --color-bg-card: #fffcfc;
  --color-bg-muted: #f7f1f2;
  --color-bg-grid: #f3eeee;
  --color-bg-hover: #fcf8f8;
  --color-border: #dbd7da;
  --color-border-light: #eee7e8;
  --color-border-strong: #bdb5bf;
  --color-border-accent: #f5c0c0;
  --color-text-primary: #31263b;
  --color-text-heading: #14141c;
  --color-text-secondary: #43394c;
  --color-text-muted: #746c7d;
  --color-text-inverse: #fffcfc;
  --color-accent: #f5c0c0;
  --color-accent-hover: #e4b0b0;
  --color-accent-active: #d4a0a1;
  --color-accent-pill-bg: #f0f0f0;
  --color-accent-pill-text: #1c1b1c;
  --color-reticle: #f5c0c0;
  --color-product-purple: #6d57c7;
  --color-product-green: #65be8f;
  --color-product-yellow: #f6d943;
}

.theme-scope[data-theme=hex].dark,
.theme-scope[data-theme=hex][data-variant=dark],
.dark .theme-scope[data-theme=hex],
[data-variant=dark] .theme-scope[data-theme=hex] {
  --color-primary: #14141c;
  --color-primary-hover: #31263b;
  --color-primary-active: #43394c;
  --color-primary-text: #fffcfc;
  --color-secondary: #fffafa;
  --color-secondary-hover: #fcf8f8;
  --color-secondary-active: #f5eeee;
  --color-secondary-text: #14141c;
  --color-secondary-border: #f5c0c0;
  --color-tertiary: transparent;
  --color-tertiary-hover: #fcf8f8;
  --color-tertiary-active: #f5eeee;
  --color-tertiary-text: #43394c;
  --color-tertiary-border: #d7d1d4;
  --color-bg-page: #14141c;
  --color-bg-primary: #14141c;
  --color-bg-secondary: #211829;
  --color-bg-card: #1d1825;
  --color-bg-muted: #211829;
  --color-bg-grid: #31263b;
  --color-bg-hover: #211829;
  --color-border: #43394c;
  --color-border-light: #584764;
  --color-border-strong: #725c82;
  --color-border-accent: #f5c0c0;
  --color-text-primary: #fffcfc;
  --color-text-heading: #fffcfc;
  --color-text-secondary: #f5c0c0;
  --color-text-muted: #d4c3de;
  --color-text-inverse: #14141c;
  --color-accent: #f5c0c0;
  --color-accent-hover: #e4b0b0;
  --color-accent-active: #d4a0a1;
  --color-accent-pill-bg: #31263b;
  --color-accent-pill-text: #f5c0c0;
  --color-reticle: #f5c0c0;
  --color-product-purple: #b8a0c6;
  --color-product-green: #65be8f;
  --color-product-yellow: #f6d943;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (5) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Geist";
  src: url("themes/instill-ai/fonts/Geist-300-normal.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("themes/instill-ai/fonts/Geist-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("themes/instill-ai/fonts/Geist-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("themes/instill-ai/fonts/Geist-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("themes/instill-ai/fonts/Geist-700-normal.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=instill-ai] {
  --font-sans: 'Geist', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #030712;
  --color-primary-hover: #111827;
  --color-primary-active: #000000;
  --color-primary-text: #fafafa;
  --color-brand-50: #f5fbff;
  --color-brand-100: #e5f2ff;
  --color-brand-200: #c7e7ff;
  --color-brand-300: #a6d7fb;
  --color-brand-400: #7bbff0;
  --color-brand-500: #3d99de;
  --color-brand-600: #1475bd;
  --color-brand-700: #075a99;
  --color-brand-800: #06406f;
  --color-brand-900: #001933;
  --color-brand-950: #030712;
  --color-brand: #030712;
  --radius-none: 0;
  --radius-sm: 1px;
  --radius-md: 2px;
  --radius-lg: 4px;
  --radius-full: 9999px;
  --shadow-sm: 0px 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0px 0px 6px rgba(0, 0, 0, 0.09);
  --space-0: 0;
  --space-1: 0.125rem;
  --space-2: 0.25rem;
  --space-3: 0.375rem;
  --space-4: 0.5rem;
  --space-8: 1rem;
  --space-12: 1.5rem;
  --text-sm: 9px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --color-page: #ffffff;
  --color-paper: #faf9f6;
  --color-line: #ecedee;
  --color-ink: #000000;
  --color-muted: #525252;
  --color-faint: #838791;
  --color-sky: #b3dcfb;
  --color-sky-soft: #e5f2ff;
  --color-deep-blue: #001933;
  --color-button: #030712;
  --color-button-text: #fafafa;
  --color-accent-pill-bg: rgb(249, 250, 251);
  --color-accent-pill-text: rgb(75, 85, 99);
  --color-bg-accent-panel: rgb(250, 249, 246);
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=luma] {
  --font-sans: -apple-system, system-ui, Inter, Roboto, 'Segoe UI', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #131517;
  --color-primary-hover: #2a2d30;
  --color-primary-active: #0a0b0c;
  --color-primary-text: #ffffff;
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-danger: #ef4444;
  --color-info: #0ea5e9;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=mistral] {
  --font-sans: Arial, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: Arial, ui-sans-serif, system-ui, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #fa520f;
  --color-primary-hover: #e00400;
  --color-primary-active: #9f521a;
  --color-primary-text: #ffffff;
  --color-secondary: #fff0c2;
  --color-secondary-hover: #ffe68a;
  --color-secondary-active: #ffd900;
  --color-secondary-text: #1f1f1f;
  --color-secondary-border: rgba(31, 31, 31, 0.14);
  --color-tertiary: transparent;
  --color-tertiary-hover: #fff0c2;
  --color-tertiary-active: #ffe68a;
  --color-tertiary-text: #1f1f1f;
  --color-tertiary-border: transparent;
  --color-warning: #ffd900;
  --color-warning-hover: #ffae00;
  --color-warning-active: #ff8205;
  --color-warning-text: #1f1f1f;
  --color-brand-50: #fff0c2;
  --color-brand-100: #ffe68a;
  --color-brand-200: #ffd900;
  --color-brand-300: #ffae00;
  --color-brand-400: #ff8205;
  --color-brand-500: #fa520f;
  --color-brand-600: #e00400;
  --color-brand-700: #9f521a;
  --color-brand-800: #5b280c;
  --color-brand-900: #1f1f1f;
  --color-brand-950: #0b0b0b;
  --color-brand: #fa520f;
  --color-mistral-cream-50: #fffaeb;
  --color-mistral-cream-100: #fff7df;
  --color-mistral-cream-200: #fff0c2;
  --color-mistral-cream-300: #ffe68a;
  --color-mistral-cream-400: #ffd900;
  --color-mistral-cream: #fffaeb;
  --color-mistral-stripe-yellow: #ffd900;
  --color-mistral-stripe-amber: #ffae00;
  --color-mistral-stripe-orange: #ff8205;
  --color-mistral-stripe-red-orange: #fa520f;
  --color-mistral-stripe-red: #e00400;
  --color-mistral-stripe: #ff8205;
  --color-mistral-ink-50: #faf7ee;
  --color-mistral-ink-100: #ebe4d1;
  --color-mistral-ink-200: #cfc4aa;
  --color-mistral-ink-300: #a99f8a;
  --color-mistral-ink-400: #827765;
  --color-mistral-ink-500: #6f6759;
  --color-mistral-ink-600: #4f4a42;
  --color-mistral-ink-700: #38352f;
  --color-mistral-ink-800: #1f1f1f;
  --color-mistral-ink-900: #101010;
  --color-mistral-ink-950: #050505;
  --color-mistral-ink: #1f1f1f;
  --radius-none: 0;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --radius-xl: 0;
  --radius-button: 0;
  --radius-input: 0;
  --radius-card: 0;
  --radius-full: 9999px;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-14: 3.5rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --space-30: 7.5rem;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 20px;
  --text-xl: 24px;
  --text-2xl: 32px;
  --text-3xl: 48px;
  --text-4xl: 64px;
  --text-5xl: 82px;
  --color-bg-page: #fffaeb;
  --color-bg-primary: #fffaeb;
  --color-bg-secondary: #fff0c2;
  --color-bg-card: #fff7df;
  --color-bg-muted: #fff0c2;
  --color-bg-light: #fff7df;
  --color-bg-hover: #fff0c2;
  --color-bg-disabled: #ebe4d1;
  --color-border: #ecdaa2;
  --color-border-light: rgba(236, 218, 162, 0.72);
  --color-border-tab: #ecdaa2;
  --color-text-primary: #1f1f1f;
  --color-text-secondary: #4f4a42;
  --color-text-muted: #6f6759;
  --color-text-tertiary: #827765;
  --color-text-neutral: #4f4a42;
  --color-primary-dark: #e00400;
  --color-primary-light: #fff0c2;
  --color-primary-lighter: #ffe68a;
  --color-primary-lightest: #fffaeb;
  --color-primary-ring: rgba(250, 82, 15, 0.28);
  --color-gray-ring: rgba(31, 31, 31, 0.14);
  --color-accent: #fa520f;
  --color-accent-hover: #e00400;
  --color-cta: #1f1f1f;
  --color-cta-hover: #38352f;
  --font-heading-weight: 400;
  --font-display-weight: 400;
  --font-control-weight: 400;
  --font-emphasis-weight: 400;
  --text-h1: 82px;
  --text-h2: 48px;
  --text-h3: 32px;
  --text-h4: 22px;
  --text-h5: 16px;
  --text-h6: 14px;
  --text-button: 14px;
  --text-label: 14px;
  --leading-tight: 1;
  --leading-normal: 1.5;
  --space-btn-x: 1rem;
  --space-btn-y: 0.5rem;
  --space-input-x: 1rem;
  --space-input-y: 0.5rem;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (2) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Mithrl Geist";
  src: url("themes/mithrl/fonts/Geist-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mithrl Geist Mono";
  src: url("themes/mithrl/fonts/Geist_Mono-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=mithrl] {
  --font-sans: 'Mithrl Geist', 'Geist', 'Geist Fallback', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: 'Mithrl Geist Mono', 'Geist Mono', 'Geist Mono Fallback', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: 'Mithrl Geist', 'Geist', 'Geist Fallback', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-display);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-mono);
  --font-role-code: var(--font-mono);
  --color-primary: #181818;
  --color-primary-hover: #2f2e2b;
  --color-primary-active: #0f0f0f;
  --color-primary-text: #ffffff;
  --color-secondary: #ffffff;
  --color-secondary-hover: #f1efec;
  --color-secondary-active: #e9e7e4;
  --color-secondary-text: #181818;
  --color-secondary-border: #ffffff;
  --color-info: #609fff;
  --color-info-hover: #518fee;
  --color-info-active: #427fdd;
  --color-info-text: #0a0a0a;
  --color-brand-50: #f7f6f4;
  --color-brand-100: #f1efec;
  --color-brand-200: #e9e7e4;
  --color-brand-300: #d2d1ce;
  --color-brand-400: #b9b7b4;
  --color-brand-500: #888683;
  --color-brand-600: #706e6c;
  --color-brand-700: #595855;
  --color-brand-800: #444240;
  --color-brand-900: #2f2e2b;
  --color-brand-950: #181818;
  --color-brand: #f1efec;
  --radius-none: 0;
  --radius-sm: 5px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 32px;
  --radius-2xl: 64px;
  --radius-full: 9999px;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 21px;
  --text-2xl: 32px;
  --text-3xl: 64px;
  --text-4xl: 88px;
  --color-bg-page: oklch(0.9528 0.0046 78.34);
  --color-bg-primary: oklch(0.9528 0.0046 78.34);
  --color-bg-secondary: #f1efec;
  --color-bg-card: oklch(0.209 0 0);
  --color-bg-light-card: #ffffff;
  --color-bg-muted: #e9e7e4;
  --color-bg-hover: #f1efec;
  --color-bg-dark: oklch(0.209 0 0);
  --color-bg-accent-panel: oklch(0.3052 0 0);
  --color-border: color-mix(in oklch, oklch(0.209 0 0) 20%, transparent);
  --color-border-light: color-mix(in oklch, oklch(0.209 0 0) 10%, transparent);
  --color-text-primary: oklch(0.209 0 0);
  --color-text-secondary: oklch(0.37 0 0);
  --color-text-muted: oklch(0.51 0 0);
  --color-text-inverse: #ffffff;
  --color-focus-ring: #609fff;
  --color-mithrl-paper: oklch(0.9528 0.0046 78.34);
  --color-mithrl-dark: oklch(0.209 0 0);
  --color-mithrl-panel: oklch(0.3052 0 0);
  --font-semibold: 600;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (2) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Mixedbread Geist";
  src: url("themes/mixedbread/fonts/Geist-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mixedbread Geist Mono";
  src: url("themes/mixedbread/fonts/Geist_Mono-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=mixedbread] {
  --font-sans: 'Mixedbread Geist', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: 'Mixedbread Geist Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #09090b;
  --color-primary-hover: #18181b;
  --color-primary-active: #27272a;
  --color-primary-text: #ffffff;
  --color-secondary: #ffffff;
  --color-secondary-hover: #fafafa;
  --color-secondary-active: #f4f4f5;
  --color-secondary-text: #111111;
  --color-secondary-border: #dedede;
  --color-tertiary: transparent;
  --color-tertiary-hover: #f7f7f7;
  --color-tertiary-active: #eeeeee;
  --color-tertiary-text: #4b4b55;
  --color-tertiary-border: transparent;
  --color-info: #eb520e;
  --color-info-hover: #cd4f20;
  --color-info-active: #bc3f06;
  --color-info-text: #ffffff;
  --color-brand-50: #f5f5f5;
  --color-brand-100: #fde1d8;
  --color-brand-200: #fdc1ad;
  --color-brand-300: #fa9b7b;
  --color-brand-400: #f47246;
  --color-brand-500: #eb520e;
  --color-brand-600: #bc3f06;
  --color-brand-700: #973104;
  --color-brand-800: #6f2a11;
  --color-brand-900: #511905;
  --color-brand-950: #320d02;
  --color-brand: #eb520e;
  --color-neutral-50: #ffffff;
  --color-neutral-100: #fafafa;
  --color-neutral-200: #f4f4f5;
  --color-neutral-300: #e4e4e7;
  --color-neutral-400: #d4d4d8;
  --color-neutral-500: #a1a1aa;
  --color-neutral-600: #71717a;
  --color-neutral-700: #3f3f46;
  --color-neutral-800: #27272a;
  --color-neutral-900: #18181b;
  --color-neutral-950: #09090b;
  --color-neutral: #111111;
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
  --radius-xl: 8px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 0 rgba(17, 17, 17, 0.04);
  --shadow-md: 0 8px 24px rgba(17, 17, 17, 0.08);
  --shadow-lg: 0 24px 80px rgba(17, 17, 17, 0.12);
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --text-xs: 11px;
  --text-sm: 13px;
  --text-base: 16px;
  --text-lg: 20px;
  --text-xl: 24px;
  --text-2xl: 32px;
  --text-3xl: 40px;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (6) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "NVIDIA-NALA";
  src: url("themes/nvidia/fonts/NVIDIA-NALA-300-normal.woff") format("woff"), url("themes/nvidia/fonts/NVIDIA-NALA-300-normal.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NVIDIA-NALA";
  src: url("themes/nvidia/fonts/NVIDIA-NALA-400-normal.woff") format("woff"), url("themes/nvidia/fonts/NVIDIA-NALA-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NVIDIA-NALA";
  src: url("themes/nvidia/fonts/NVIDIA-NALA-500-normal.woff") format("woff"), url("themes/nvidia/fonts/NVIDIA-NALA-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NVIDIA-NALA";
  src: url("themes/nvidia/fonts/NVIDIA-NALA-700-normal.woff") format("woff"), url("themes/nvidia/fonts/NVIDIA-NALA-700-normal.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NVIDIA-NALA";
  src: url("themes/nvidia/fonts/NVIDIA-NALA-100_1000-normal.woff2") format("woff2-variations");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NVIDIA-NALA";
  src: url("themes/nvidia/fonts/NVIDIA-NALA-100_1000-italic.woff2") format("woff2-variations");
  font-weight: 100 1000;
  font-style: italic;
  font-display: swap;
}
.theme-scope[data-theme=nvidia] {
  --font-sans: 'NVIDIA-NALA', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #76b900;
  --color-primary-hover: #6ea625;
  --color-primary-active: #609706;
  --color-primary-text: #0a0a0a;
  --color-brand-50: #e7fed3;
  --color-brand-100: #c1fe84;
  --color-brand-200: #a3ea52;
  --color-brand-300: #8acf31;
  --color-brand-400: #76b900;
  --color-brand-500: #62990d;
  --color-brand-600: #517e10;
  --color-brand-700: #40650b;
  --color-brand-800: #2f4c03;
  --color-brand-900: #203507;
  --color-brand-950: #121f03;
  --color-brand: #76b900;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (8) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "OpenAI Sans";
  src: url("themes/openai/fonts/OpenAI_Sans-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenAI Sans";
  src: url("themes/openai/fonts/OpenAI_Sans-400-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "OpenAI Sans";
  src: url("themes/openai/fonts/OpenAI_Sans-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenAI Sans";
  src: url("themes/openai/fonts/OpenAI_Sans-500-italic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "OpenAI Sans";
  src: url("themes/openai/fonts/OpenAI_Sans-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenAI Sans";
  src: url("themes/openai/fonts/OpenAI_Sans-600-italic.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "OpenAI Sans";
  src: url("themes/openai/fonts/OpenAI_Sans-700-normal.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenAI Sans";
  src: url("themes/openai/fonts/OpenAI_Sans-700-italic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
.theme-scope[data-theme=openai] {
  --font-sans: 'OpenAI Sans', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: 'OpenAI Sans', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-marketing: 'OpenAI Sans', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #000000;
  --color-primary-hover: #1f1f1f;
  --color-primary-active: #333333;
  --color-primary-text: #ffffff;
  --color-secondary: rgba(0, 0, 0, 0.04);
  --color-secondary-hover: rgba(0, 0, 0, 0.08);
  --color-secondary-active: rgba(0, 0, 0, 0.12);
  --color-secondary-text: #000000;
  --color-secondary-border: rgba(0, 0, 0, 0.08);
  --color-tertiary: transparent;
  --color-tertiary-hover: rgba(0, 0, 0, 0.04);
  --color-tertiary-active: rgba(0, 0, 0, 0.08);
  --color-tertiary-text: #000000;
  --color-tertiary-border: transparent;
  --color-info: #3b82f6;
  --color-info-hover: #2068d9;
  --color-info-active: #1852af;
  --color-info-text: #ffffff;
  --color-openai-ink-50: #ffffff;
  --color-openai-ink-100: #f7f7f7;
  --color-openai-ink-200: #eeeeee;
  --color-openai-ink-300: #d9d9d9;
  --color-openai-ink-400: #a6a6a6;
  --color-openai-ink-500: #666666;
  --color-openai-ink-600: #4d4d4d;
  --color-openai-ink-700: #333333;
  --color-openai-ink-800: #1f1f1f;
  --color-openai-ink-900: #0d0d0d;
  --color-openai-ink-950: #000000;
  --color-openai-ink: #000000;
  --color-openai-focus-100: #dce9fe;
  --color-openai-focus-200: #bad2f9;
  --color-openai-focus-300: #92b9f6;
  --color-openai-focus-400: #6b9ef2;
  --color-openai-focus-500: #3b82f6;
  --color-openai-focus-600: #2068d9;
  --color-openai-focus-700: #1852af;
  --color-openai-focus: #3b82f6;
  --radius-none: 0;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --radius-button: 9999px;
  --radius-input: 0;
  --radius-card: 8px;
  --radius-full: 9999px;
  --space-0: 0;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-8: 2rem;
  --text-xs: 0.625rem;
  --text-sm: 13px;
  --text-base: 17px;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: 3rem;
  --text-4xl: 4rem;
  --color-bg-page: #ffffff;
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f7f7f7;
  --color-bg-card: #ffffff;
  --color-bg-muted: rgba(0, 0, 0, 0.04);
  --color-bg-light: #f7f7f7;
  --color-bg-hover: rgba(0, 0, 0, 0.04);
  --color-bg-disabled: rgba(0, 0, 0, 0.04);
  --color-border: rgba(0, 0, 0, 0.12);
  --color-border-light: rgba(0, 0, 0, 0.08);
  --color-border-tab: rgba(0, 0, 0, 0.08);
  --color-text-primary: #000000;
  --color-text-secondary: rgba(0, 0, 0, 0.72);
  --color-text-muted: rgba(0, 0, 0, 0.60);
  --color-text-tertiary: rgba(0, 0, 0, 0.44);
  --color-text-neutral: rgba(0, 0, 0, 0.72);
  --color-primary-dark: #000000;
  --color-primary-light: rgba(0, 0, 0, 0.04);
  --color-primary-lighter: rgba(0, 0, 0, 0.08);
  --color-primary-lightest: rgba(0, 0, 0, 0.12);
  --color-primary-ring: rgba(59, 130, 246, 0.32);
  --color-gray-ring: rgba(0, 0, 0, 0.12);
  --color-accent: #000000;
  --color-accent-hover: #1f1f1f;
  --color-cta: #000000;
  --color-cta-hover: #1f1f1f;
  --font-semibold: 500;
  --text-h1: 4rem;
  --text-h2: 3rem;
  --text-h3: 1.875rem;
  --text-h4: 1.375rem;
  --text-h5: 1.125rem;
  --text-h6: 1rem;
  --text-button: 0.875rem;
  --text-label: 0.875rem;
  --leading-tight: 1.05;
  --leading-normal: 1.64;
  --space-btn-x: 1.25rem;
  --space-btn-y: 0.625rem;
  --space-input-x: 0;
  --space-input-y: 0;
}

.theme-scope[data-theme=openai].dark,
.theme-scope[data-theme=openai][data-variant=dark],
.dark .theme-scope[data-theme=openai],
[data-variant=dark] .theme-scope[data-theme=openai] {
  --color-primary: #ffffff;
  --color-primary-hover: #eeeeee;
  --color-primary-active: #d9d9d9;
  --color-primary-text: #000000;
  --color-secondary: rgba(255, 255, 255, 0.10);
  --color-secondary-hover: rgba(255, 255, 255, 0.16);
  --color-secondary-active: rgba(255, 255, 255, 0.22);
  --color-secondary-text: #ffffff;
  --color-secondary-border: rgba(255, 255, 255, 0.12);
  --color-tertiary: transparent;
  --color-tertiary-hover: rgba(255, 255, 255, 0.10);
  --color-tertiary-active: rgba(255, 255, 255, 0.16);
  --color-tertiary-text: #ffffff;
  --color-tertiary-border: transparent;
  --color-bg-page: #000000;
  --color-bg-primary: #000000;
  --color-bg-secondary: #0d0d0d;
  --color-bg-card: #0d0d0d;
  --color-bg-muted: rgba(255, 255, 255, 0.10);
  --color-bg-light: #1f1f1f;
  --color-bg-hover: rgba(255, 255, 255, 0.10);
  --color-border: rgba(255, 255, 255, 0.16);
  --color-border-light: rgba(255, 255, 255, 0.10);
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.72);
  --color-text-muted: rgba(255, 255, 255, 0.60);
  --color-text-tertiary: rgba(255, 255, 255, 0.44);
  --color-primary-light: rgba(255, 255, 255, 0.10);
  --color-primary-lighter: rgba(255, 255, 255, 0.16);
  --color-primary-lightest: rgba(255, 255, 255, 0.22);
  --color-primary-ring: rgba(59, 130, 246, 0.42);
  --color-gray-ring: rgba(255, 255, 255, 0.16);
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=phage] {
  --font-sans: -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', 'Encode Sans', 'Open Sans', Oxygen-Sans, Helvetica, Arial, sans-serif;
  --font-mono: Courier, Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Monaco, 'Courier New', monospace;
  --font-display: 'Metropolis', -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-marketing: 'Montserrat', -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-marketing);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #71EFF5;
  --color-primary-hover: #50CDE0;
  --color-primary-active: #3AA7C8;
  --color-primary-text: #172640;
  --color-primary-border: #9EF3FD;
  --color-secondary: #374F6A;
  --color-secondary-hover: #204065;
  --color-secondary-active: #172640;
  --color-secondary-text: #FAFAFA;
  --color-secondary-border: #374F6A;
  --color-tertiary: #FA5486;
  --color-tertiary-hover: #DF2C5F;
  --color-tertiary-active: #B90236;
  --color-tertiary-text: #172640;
  --color-tertiary-border: #BD053A;
  --color-success: #54A95D;
  --color-success-hover: #54A95D;
  --color-success-active: #54A95D;
  --color-success-text: #172640;
  --color-success-border: #54A95D;
  --color-warning: #FCCB4C;
  --color-warning-hover: #CEA033;
  --color-warning-active: #A06F19;
  --color-warning-text: #451400;
  --color-warning-border: #CEA033;
  --color-danger: #D43615;
  --color-danger-hover: #D43615;
  --color-danger-active: #D43615;
  --color-danger-text: #FAFAFA;
  --color-danger-border: #D43615;
  --color-info: #0085FF;
  --color-info-hover: #2E81AA;
  --color-info-active: #204065;
  --color-info-text: #FAFAFA;
  --color-info-border: #0085FF;
  --color-phage-50: #FAFEFF;
  --color-phage-75: #FBFDFF;
  --color-phage-100: #F1FBFF;
  --color-phage-150: #E7FBFF;
  --color-phage-200: #D6F9FF;
  --color-phage-300: #BEF6FF;
  --color-phage-400: #9EF3FD;
  --color-phage-500: #71EFF5;
  --color-phage-600: #50CDE0;
  --color-phage-700: #3AA7C8;
  --color-phage-800: #2E81AA;
  --color-phage-850: #275F89;
  --color-phage-900: #204065;
  --color-phage-950: #172640;
  --color-phage: #71EFF5;
  --color-phage-gray-25: #E8F0F5;
  --color-phage-gray-50: #F2F8FD;
  --color-phage-gray-100: #DBE5EC;
  --color-phage-gray-200: #D1DEE4;
  --color-phage-gray-300: #B0C3D8;
  --color-phage-gray-400: #8FA3B7;
  --color-phage-gray-500: #374F6A;
  --color-phage-gray-600: #204065;
  --color-phage-gray-700: #21304B;
  --color-phage-gray-800: #172640;
  --color-phage-gray-900: #0F1629;
  --color-phage-gray: #374F6A;
  --color-phage-light-gray-50: #FFFFFF;
  --color-phage-light-gray-100: #F4FAFF;
  --color-phage-light-gray-200: #F0F7FC;
  --color-phage-light-gray-300: #DBE5EC;
  --color-phage-light-gray-400: #C8D4DF;
  --color-phage-light-gray-500: #8FA3B7;
  --color-phage-light-gray-600: #586678;
  --color-phage-light-gray-700: #3B4451;
  --color-phage-light-gray-800: #1E2229;
  --color-phage-light-gray-900: #0F1629;
  --color-phage-light-gray: #F0F7FC;
  --color-phage-pink-50: #FFF1F3;
  --color-phage-pink-100: #FFE3E8;
  --color-phage-pink-200: #FFCFDC;
  --color-phage-pink-300: #FF89AB;
  --color-phage-pink-400: #FA5486;
  --color-phage-pink-500: #DF2C5F;
  --color-phage-pink-600: #BD053A;
  --color-phage-pink-700: #B90236;
  --color-phage-pink-800: #950031;
  --color-phage-pink-900: #6B0027;
  --color-phage-pink: #FA5486;
  --color-phage-yellow-50: #FCFAEF;
  --color-phage-yellow-100: #FFFBDE;
  --color-phage-yellow-200: #FFEFA7;
  --color-phage-yellow-300: #FFDF7D;
  --color-phage-yellow-400: #FCCB4C;
  --color-phage-yellow-500: #CEA033;
  --color-phage-yellow-600: #A06F19;
  --color-phage-yellow-700: #733705;
  --color-phage-yellow-800: #451400;
  --color-phage-yellow-900: #451400;
  --color-phage-yellow: #FCCB4C;
  --color-phage-green-500: #54A95D;
  --color-phage-green: #54A95D;
  --color-pdv3-white: #FAFAFA;
  --color-pdv3-phdir: #71EFF5;
  --color-pdv3-green: #54A95D;
  --color-pdv3-red: #D43615;
  --color-pdv3-teal: #71EFF5;
  --color-pdv3-teal_dull: #90D9DD;
  --color-pdv3-yellow: #FCCB4C;
  --color-pdv3-pink: #FA5486;
  --color-pdv3-blue-dark: #374F6A;
  --color-pdv3-purple: #980B7E;
  --color-pdv3-researchgate: #00CCBA;
  --color-pdv3-orcid: #A6CE39;
  --color-pdv3-linkedin: #0077B5;
  --color-pdv3-brand-dark: #374F6A;
  --color-pdv3-brand-light: #B0C3D8;
  --color-pdv3-brand: #71EFF5;
  --color-pdv3-brand--1: #FAFEFF;
  --color-pdv3-brand-0: #FBFDFF;
  --color-pdv3-brand-5: #F1FBFF;
  --color-pdv3-brand-10: #E7FBFF;
  --color-pdv3-brand-20: #D6F9FF;
  --color-pdv3-brand-30: #BEF6FF;
  --color-pdv3-brand-40: #9EF3FD;
  --color-pdv3-brand-50: #71EFF5;
  --color-pdv3-brand-60: #50CDE0;
  --color-pdv3-brand-70: #3AA7C8;
  --color-pdv3-brand-80: #2E81AA;
  --color-pdv3-brand-90: #275F89;
  --color-pdv3-brand-100: #204065;
  --color-pdv3-brand-110: #172640;
  --color-pdv3-brand-250: #0085FF;
  --color-pdv3-brand-copy: #172640;
  --color-pdv3-brand-active: #FA5486;
  --color-pdv3-brand-alert: #71EFF5;
  --color-pdv3-brand-background: #F1FBFF;
  --color-pdv3-brand-border: #9EF3FD;
  --color-pdv3-brand-bright: #0085FF;
  --color-pdv3-brand-disabled: #E7FBFF;
  --color-pdv3-secondary-0: #EAFAFF;
  --color-pdv3-secondary-5: #E6F3F8;
  --color-pdv3-secondary-10: #E2EDF1;
  --color-pdv3-secondary-20: #D1DEE4;
  --color-pdv3-secondary-30: #B2C7D1;
  --color-pdv3-secondary-40: #83A4B7;
  --color-pdv3-secondary-50: #567A95;
  --color-pdv3-secondary-60: #374F6A;
  --color-pdv3-secondary-70: #21304B;
  --color-pdv3-secondary-80: #0F1629;
  --color-pdv3-secondary: #374F6A;
  --color-pdv3-secondary-copy: #0F1629;
  --color-pdv3-pink--1: #FFF1F3;
  --color-pdv3-pink-0: #FFE3E8;
  --color-pdv3-pink-5: #FFD9E2;
  --color-pdv3-pink-10: #FFCFDC;
  --color-pdv3-pink-20: #FFB3C8;
  --color-pdv3-pink-30: #FF89AB;
  --color-pdv3-pink-40: #FA5486;
  --color-pdv3-pink-50: #DF2C5F;
  --color-pdv3-pink-60: #BD053A;
  --color-pdv3-pink-70: #950031;
  --color-pdv3-pink-80: #6B0027;
  --color-pdv3-pink-copy: #6B0027;
  --color-pdv3-pink-active: #B90236;
  --color-pdv3-pink-disabled: #FFCFDC;
  --color-pdv3-pink-background: #FFE3E8;
  --color-pdv3-pink-border: #BD053A;
  --color-pdv3-yellow-0: #FCFAEF;
  --color-pdv3-yellow-5: #FFFBDE;
  --color-pdv3-yellow-10: #FFFCCB;
  --color-pdv3-yellow-20: #FFEFA7;
  --color-pdv3-yellow-30: #FFDF7D;
  --color-pdv3-yellow-40: #FCCB4C;
  --color-pdv3-yellow-50: #CEA033;
  --color-pdv3-yellow-60: #A06F19;
  --color-pdv3-yellow-70: #733705;
  --color-pdv3-yellow-80: #451400;
  --color-pdv3-yellow-copy: #451400;
  --color-pdv3-mono-0: #F4FAFF;
  --color-pdv3-mono-5: #F2F8FD;
  --color-pdv3-mono-10: #F0F7FC;
  --color-pdv3-mono-20: #E8F0F5;
  --color-pdv3-mono-30: #DBE5EC;
  --color-pdv3-mono-40: #C8D4DF;
  --color-pdv3-mono-50: #ADBECE;
  --color-pdv3-mono-60: #8FA3B7;
  --color-pdv3-mono-70: #74869B;
  --color-pdv3-mono-80: #586678;
  --color-pdv3-mono-90: #3B4451;
  --color-pdv3-mono-100: #1E2229;
  --color-pdv3-mono: #8FA3B7;
  --color-pdv3-mono-disabled: #F2F8FD;
  --color-pdv3-purewhite: #FFFFFF;
  --color-pdv3-code-bg: #EAF2F7;
  --color-pdv3: #71EFF5;
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
  --radius-xl: 8px;
  --radius-full: 9999px;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-xl: none;
  --shadow-2xl: none;
  --shadow-inner: none;
  --space-0: 0;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 2.5rem;
  --space-6: 3rem;
  --space-8: 4rem;
  --space-10: 5rem;
  --space-12: 6rem;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 21px;
  --text-xl: 24px;
  --text-2xl: 32px;
  --color-bg-page: #FAFAFA;
  --color-bg-bedrock: #374F6A;
  --color-bg-main: #FAFAFA;
  --color-bg-primary: #FFFFFF;
  --color-bg-light-gray: #F0F7FC;
  --color-bg-secondary: #F1FBFF;
  --color-bg-card: #FFFFFF;
  --color-bg-muted: #F0F7FC;
  --color-bg-hover: #E8F0F5;
  --color-bg-accent-panel: #F1FBFF;
  --color-bg-footer: #374F6A;
  --color-bg-search: #F1FBFF;
  --color-bg-code: #EAF2F7;
  --color-border: #C8D4DF;
  --color-border-light: #E8F0F5;
  --color-border-brand: #9EF3FD;
  --color-text-primary: #172640;
  --color-text-secondary: #204065;
  --color-text-heading: #204065;
  --color-text-muted: #586678;
  --color-text-faint: #8FA3B7;
  --color-text-inverted: #FAFAFA;
  --color-link: #374F6A;
  --color-link-hover: #B90236;
  --color-link-underline: #FA5486;
  --color-focus-ring: #0085FF;
  --color-cookie-bg: #D6F9FF;
  --color-teal-dull: #90D9DD;
  --color-footer-text: #FAFAFA;
  --color-footer-link: #FAFAFA;
  --color-footer-hover: #71EFF5;
  --color-footer-heading: #B0C3D8;
  --color-footer-muted: #B0C3D8;
  --color-footer-icon: #E7FBFF;
  --color-footer-border: #567A95;
  --color-control-active-text: #172640;
  --color-control-active-bg: #D6F9FF;
  --color-primary-light: #F1FBFF;
  --color-primary-dark: #204065;
  --color-secondary-light: #E6F3F8;
  --color-secondary-dark: #0F1629;
  --color-tertiary-light: #FFE3E8;
  --color-tertiary-dark: #6B0027;
  --color-info-light: #F1FBFF;
  --color-info-dark: #204065;
  --color-warning-light: #FFFBDE;
  --color-warning-dark: #451400;
  --color-danger-light: #FFF1F3;
  --color-danger-dark: #D43615;
  --color-success-light: #F2F8FD;
  --color-success-dark: #54A95D;
  --shadow-card: none;
  --shadow-dropdown: none;
  --shadow-toast: none;
  --shadow-toast-outer: none;
  --shadow-toast-inner: none;
  --color-text-neutral-dark: #172640;
}

.theme-scope[data-theme=phage].dark,
.theme-scope[data-theme=phage][data-variant=dark],
.dark .theme-scope[data-theme=phage],
[data-variant=dark] .theme-scope[data-theme=phage] {
  --color-primary: #71EFF5;
  --color-primary-hover: #50CDE0;
  --color-primary-active: #3AA7C8;
  --color-primary-text: #172640;
  --color-primary-border: #9EF3FD;
  --color-secondary: #374F6A;
  --color-secondary-hover: #204065;
  --color-secondary-active: #172640;
  --color-secondary-text: #FAFAFA;
  --color-secondary-border: #374F6A;
  --color-tertiary: #FA5486;
  --color-tertiary-hover: #DF2C5F;
  --color-tertiary-active: #B90236;
  --color-tertiary-text: #172640;
  --color-tertiary-border: #BD053A;
  --color-success: #54A95D;
  --color-success-hover: #54A95D;
  --color-success-active: #54A95D;
  --color-success-text: #172640;
  --color-success-border: #54A95D;
  --color-warning: #FCCB4C;
  --color-warning-hover: #CEA033;
  --color-warning-active: #A06F19;
  --color-warning-text: #451400;
  --color-warning-border: #CEA033;
  --color-danger: #D43615;
  --color-danger-hover: #D43615;
  --color-danger-active: #D43615;
  --color-danger-text: #FAFAFA;
  --color-danger-border: #D43615;
  --color-info: #0085FF;
  --color-info-hover: #2E81AA;
  --color-info-active: #204065;
  --color-info-text: #FAFAFA;
  --color-info-border: #0085FF;
  --color-bg-page: #0F1629;
  --color-bg-main: #0F1629;
  --color-bg-bedrock: #0F1629;
  --color-bg-primary: #21304B;
  --color-bg-card: #21304B;
  --color-bg-secondary: #172640;
  --color-bg-muted: #172640;
  --color-bg-hover: #374F6A;
  --color-bg-accent-panel: #172640;
  --color-bg-light-gray: #172640;
  --color-bg-search: #172640;
  --color-bg-code: #21304B;
  --color-border: #567A95;
  --color-border-light: #21304B;
  --color-border-brand: #2E81AA;
  --color-text-primary: #F4FAFF;
  --color-text-secondary: #C8D4DF;
  --color-text-heading: #F4FAFF;
  --color-text-muted: #ADBECE;
  --color-text-faint: #8FA3B7;
  --color-link: #9EF3FD;
  --color-link-hover: #FF89AB;
  --color-link-underline: #FA5486;
  --color-focus-ring: #71EFF5;
  --color-cookie-bg: #204065;
  --color-primary-hover: #9EF3FD;
  --color-primary-active: #BEF6FF;
  --color-primary-light: #204065;
  --color-primary-dark: #E7FBFF;
  --color-secondary: #C8D4DF;
  --color-secondary-hover: #DBE5EC;
  --color-secondary-active: #E8F0F5;
  --color-secondary-text: #0F1629;
  --color-secondary-light: #21304B;
  --color-secondary-dark: #F4FAFF;
  --color-tertiary-hover: #FF89AB;
  --color-tertiary-active: #FFB3C8;
  --color-tertiary-light: #6B0027;
  --color-tertiary-dark: #FFE3E8;
  --color-info: #50CDE0;
  --color-info-hover: #9EF3FD;
  --color-info-active: #BEF6FF;
  --color-info-text: #172640;
  --color-info-light: #204065;
  --color-info-dark: #E7FBFF;
  --color-warning-light: #451400;
  --color-warning-dark: #FFFCCB;
  --color-danger-light: #6B0027;
  --color-danger-dark: #FFCFDC;
  --color-success-light: #21304B;
  --color-success-dark: #54A95D;
  --color-control-active-bg: #204065;
  --color-control-active-text: #E7FBFF;
  --color-text-neutral-dark: #F4FAFF;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (3) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Signifier";
  src: url("themes/phylo/fonts/Signifier-400-normal.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Signifier";
  src: url("themes/phylo/fonts/Signifier-400-italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "DieGrotesk";
  src: url("themes/phylo/fonts/TestDieGroteskVF-Roman.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=phylo] {
  --font-sans: 'DieGrotesk', Arial, Helvetica, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: 'Signifier', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-display);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #62631e;
  --color-primary-hover: #54550b;
  --color-primary-active: #46470c;
  --color-primary-text: #ffffff;
  --color-brand-50: #f8fbb4;
  --color-brand-100: #ebeea8;
  --color-brand-200: #d4d791;
  --color-brand-300: #babd78;
  --color-brand-400: #a1a460;
  --color-brand-500: #898b48;
  --color-brand-600: #727330;
  --color-brand-700: #62631e;
  --color-brand-800: #45460b;
  --color-brand-900: #303001;
  --color-brand-950: #1c1c01;
  --color-brand: #62631e;
  --radius-none: 0;
  --radius-sm: 1px;
  --radius-md: 2px;
  --radius-lg: 4px;
  --radius-full: 9999px;
  --space-0: 0;
  --space-2: 0.25rem;
  --space-3: 0.375rem;
  --space-4: 0.5rem;
  --space-6: 0.75rem;
  --space-8: 1rem;
  --space-16: 2rem;
  --text-base: 20px;
  --text-lg: 26px;
  --text-xl: 30px;
  --text-2xl: 76px;
  --color-bg-page: #faf9f3;
  --color-text-primary: #171717;
  --color-bg-accent-panel: rgb(242, 241, 235);
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (5) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Rubik";
  src: url("themes/plasmidsaurus/fonts/Rubik-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Rubik";
  src: url("themes/plasmidsaurus/fonts/Rubik-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Rubik";
  src: url("themes/plasmidsaurus/fonts/Rubik-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inconsolata";
  src: url("themes/plasmidsaurus/fonts/Inconsolata-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inconsolata";
  src: url("themes/plasmidsaurus/fonts/Inconsolata-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=plasmidsaurus] {
  --font-sans: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'Inconsolata', 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-mono);
  --font-role-control: var(--font-mono);
  --font-role-code: var(--font-mono);
  --color-primary: #9EDA1D;
  --color-primary-hover: #7FC915;
  --color-primary-active: #62A811;
  --color-primary-text: #103714;
  --color-secondary: #103714;
  --color-secondary-hover: #485C11;
  --color-secondary-active: #09240D;
  --color-secondary-text: #FFFDF8;
  --color-warning: #FFE8A3;
  --color-warning-hover: #FEDB6B;
  --color-warning-active: #FEBE10;
  --color-warning-text: #103714;
  --color-info: #2083FC;
  --color-info-hover: #0E6EE6;
  --color-info-active: #0E5FC4;
  --color-info-text: #ffffff;
  --color-brand-50: #F5FAEA;
  --color-brand-100: #E8F3DA;
  --color-brand-200: #DFECC6;
  --color-brand-300: #C5DEA0;
  --color-brand-400: #9EDA1D;
  --color-brand-500: #62A811;
  --color-brand-600: #506E36;
  --color-brand-700: #485C11;
  --color-brand-800: #103714;
  --color-brand-900: #09240D;
  --color-brand: #103714;
  --color-oat-50: #FFFDF8;
  --color-oat-100: #F9F6F0;
  --color-oat-200: #F1E6D1;
  --color-oat-300: #E2DCD0;
  --color-oat-400: #D6D3D1;
  --color-oat-500: #A4A4A4;
  --color-oat-600: #6F6F6F;
  --color-oat-700: #57534E;
  --color-oat-800: #2E2A25;
  --color-oat-900: #11100E;
  --color-oat: #FFFDF8;
  --color-yellow-100: #FFF4A6;
  --color-yellow-200: #FFE8A3;
  --color-yellow-400: #FEBE10;
  --color-yellow-700: #8A5B00;
  --color-yellow: #FFE8A3;
  --color-blue-300: #A9D4D1;
  --color-blue-500: #2083FC;
  --color-blue-700: #0E5FC4;
  --color-blue: #2083FC;
  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-2xl: 30px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px rgba(16, 55, 20, 0.08);
  --shadow-md: 0 12px 30px rgba(16, 55, 20, 0.12);
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --text-xs: 12px;
  --text-sm: 15px;
  --text-base: 18px;
  --text-lg: 20px;
  --text-xl: 32px;
  --text-2xl: 40px;
  --text-3xl: 60px;
  --text-display: 110px;
  --color-bg-page: #FFFDF8;
  --color-bg-main: #FFFDF8;
  --color-bg-bedrock: #103714;
  --color-bg-primary: #FFFDF8;
  --color-bg-secondary: #F9F6F0;
  --color-bg-card: #F9F6F0;
  --color-bg-muted: #F2F2ED;
  --color-bg-accent-panel: #DFECC6;
  --color-bg-accent-soft: #E8F3DA;
  --color-bg-yellow: #FFE8A3;
  --color-bg-footer: #103714;
  --color-border: #E9E9E9;
  --color-border-strong: #CECECE;
  --color-text-primary: #103714;
  --color-text-body: #555555;
  --color-text-secondary: #485C11;
  --color-text-muted: #6F6F6F;
  --color-text-inverted: #FFFDF8;
  --color-link: #485C11;
  --color-focus-ring: #2083FC;
  --color-button-bg: #9EDA1D;
  --color-button-text: #103714;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=prague] {
  --font-sans: -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #2563eb;
  --color-primary-hover: #1d4ed8;
  --color-primary-active: #1e40af;
  --color-primary-text: #ffffff;
  --color-text-muted: #475569;
}

.theme-scope[data-theme=prague].dark,
.theme-scope[data-theme=prague][data-variant=dark],
.dark .theme-scope[data-theme=prague],
[data-variant=dark] .theme-scope[data-theme=prague] {
  --color-primary: #60a5fa;
  --color-primary-hover: #3b82f6;
  --color-primary-active: #2563eb;
  --color-primary-text: #0f172a;
  --color-text-muted: #94a3b8;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=retro] {
  --font-sans: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', cursive, sans-serif;
  --font-mono: 'Courier New', Courier, monospace;
  --font-display: Impact, 'Arial Black', Gadget, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #00ff00;
  --color-primary-hover: #00cc00;
  --color-primary-active: #009900;
  --color-primary-text: #000000;
  --color-success: #00ff00;
  --color-warning: #ffff00;
  --color-danger: #ff0000;
  --color-info: #00ffff;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (1) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Inter Variable";
  src: url("themes/shiori/fonts/Inter_Variable-latin-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=shiori] {
  --font-sans: 'Inter Variable', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: 'Inter Variable', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-display);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: oklch(27% .024 48);
  --color-primary-hover: oklch(36% .032 50);
  --color-primary-active: oklch(20% .018 46);
  --color-primary-text: oklch(98.5% .008 75);
  --color-secondary: oklch(92% .018 68);
  --color-secondary-hover: oklch(87% .025 63);
  --color-secondary-active: oklch(71% .038 58);
  --color-secondary-text: oklch(14.5% .012 44);
  --color-secondary-border: oklch(92% .018 68);
  --color-tertiary: oklch(98.5% .008 75);
  --color-tertiary-hover: oklch(96% .016 72);
  --color-tertiary-active: oklch(92% .018 68);
  --color-tertiary-text: oklch(20% .018 46);
  --color-tertiary-border: oklch(92% .018 68);
  --color-warning: #ff8c26;
  --color-warning-hover: #ff6600;
  --color-warning-active: #db4b00;
  --color-warning-text: #1a0d05;
  --color-oatmeal-50: oklch(98.5% .008 75);
  --color-oatmeal-100: oklch(96% .016 72);
  --color-oatmeal-200: oklch(92% .018 68);
  --color-oatmeal-300: oklch(87% .025 63);
  --color-oatmeal-400: oklch(71% .038 58);
  --color-oatmeal-500: oklch(55% .042 55);
  --color-oatmeal-600: oklch(44% .038 52);
  --color-oatmeal-700: oklch(36% .032 50);
  --color-oatmeal-800: oklch(27% .024 48);
  --color-oatmeal-900: oklch(20% .018 46);
  --color-oatmeal-950: oklch(14.5% .012 44);
  --color-oatmeal: oklch(55% .042 55);
  --color-brand-50: #fff4e9;
  --color-brand-100: #ffe4c7;
  --color-brand-200: #ffc789;
  --color-brand-300: #ffab55;
  --color-brand-400: #ff8c26;
  --color-brand-500: #ff6600;
  --color-brand-600: #db4b00;
  --color-brand-700: #a63a08;
  --color-brand-800: #742d12;
  --color-brand-900: #432015;
  --color-brand: #ff8c26;
  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px color-mix(in oklch, var(--color-oatmeal-400) 16%, transparent);
  --shadow-md: 0 2px 8px color-mix(in oklch, var(--color-oatmeal-300) 40%, transparent);
  --shadow-lg: 0 10px 15px -3px color-mix(in oklch, var(--color-oatmeal-400) 25%, transparent), 0 4px 6px -4px color-mix(in oklch, var(--color-oatmeal-400) 25%, transparent);
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --text-4xl: 36px;
  --color-bg-page: oklch(98.5% .008 75);
  --color-bg-primary: oklch(98.5% .008 75);
  --color-bg-secondary: oklch(96% .016 72);
  --color-bg-card: color-mix(in oklch, oklch(98.5% .008 75) 50%, white);
  --color-bg-muted: oklch(92% .018 68);
  --color-bg-hover: oklch(96% .016 72);
  --color-bg-disabled: oklch(92% .018 68);
  --color-border: oklch(92% .018 68);
  --color-border-light: oklch(96% .016 72);
  --color-border-strong: oklch(87% .025 63);
  --color-text-primary: oklch(14.5% .012 44);
  --color-text-secondary: oklch(44% .038 52);
  --color-text-muted: oklch(55% .042 55);
  --color-text-neutral: oklch(20% .018 46);
  --color-text-inverse: oklch(98.5% .008 75);
  --color-accent: #d27d32;
  --color-accent-hover: #ff8c26;
  --color-accent-pill-bg: oklch(96% .016 72);
  --color-accent-pill-border: oklch(92% .018 68);
  --color-accent-pill-text: oklch(36% .032 50);
  --color-shiori-tint: #d27d32;
  --color-shiori-brand: #ff8c42;
  --font-semibold: 500;
}

.theme-scope[data-theme=shiori].dark,
.theme-scope[data-theme=shiori][data-variant=dark],
.dark .theme-scope[data-theme=shiori],
[data-variant=dark] .theme-scope[data-theme=shiori] {
  --color-primary: oklch(92% .018 68);
  --color-primary-hover: oklch(87% .025 63);
  --color-primary-active: oklch(96% .016 72);
  --color-primary-text: oklch(20% .018 46);
  --color-secondary: color-mix(in oklch, oklch(36% .032 50) 50%, transparent);
  --color-secondary-hover: color-mix(in oklch, oklch(36% .032 50) 70%, transparent);
  --color-secondary-active: oklch(36% .032 50);
  --color-secondary-text: oklch(96% .016 72);
  --color-secondary-border: oklch(27% .024 48);
  --color-tertiary: oklch(20% .018 46);
  --color-tertiary-hover: oklch(27% .024 48);
  --color-tertiary-active: oklch(36% .032 50);
  --color-tertiary-text: oklch(96% .016 72);
  --color-tertiary-border: oklch(27% .024 48);
  --color-warning: #ff8c26;
  --color-warning-hover: #ffa24f;
  --color-warning-active: #ff6600;
  --color-warning-text: #1a0d05;
  --color-bg-page: oklch(14.5% .012 44);
  --color-bg-primary: oklch(14.5% .012 44);
  --color-bg-secondary: oklch(20% .018 46);
  --color-bg-card: oklch(20% .018 46);
  --color-bg-muted: oklch(27% .024 48);
  --color-bg-hover: oklch(27% .024 48);
  --color-bg-disabled: oklch(36% .032 50);
  --color-border: oklch(27% .024 48);
  --color-border-light: oklch(20% .018 46);
  --color-border-strong: oklch(36% .032 50);
  --color-text-primary: oklch(96% .016 72);
  --color-text-secondary: oklch(71% .038 58);
  --color-text-muted: oklch(55% .042 55);
  --color-text-neutral: oklch(92% .018 68);
  --color-text-inverse: oklch(14.5% .012 44);
  --color-accent: #ff8c26;
  --color-accent-hover: #ffa24f;
  --color-accent-pill-bg: color-mix(in oklch, oklch(36% .032 50) 50%, transparent);
  --color-accent-pill-border: oklch(36% .032 50);
  --color-accent-pill-text: oklch(92% .018 68);
  --color-shiori-tint: #ff8c26;
  --color-shiori-brand: #ff8c42;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (4) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Manrope Variable";
  src: url("themes/slashtable/fonts/Manrope_Variable-200_800-normal.woff2") format("woff2-variations");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "JetBrains Mono Variable";
  src: url("themes/slashtable/fonts/JetBrains_Mono_Variable-100_800-normal.woff2") format("woff2-variations");
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Playfair Display Variable";
  src: url("themes/slashtable/fonts/Playfair_Display_Variable-400_900-normal.woff2") format("woff2-variations");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Playfair Display Variable";
  src: url("themes/slashtable/fonts/Playfair_Display_Variable-400_900-italic.woff2") format("woff2-variations");
  font-weight: 400 900;
  font-style: italic;
  font-display: swap;
}
.theme-scope[data-theme=slashtable] {
  --font-sans: 'Manrope Variable', 'Manrope', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono Variable', 'JetBrains Mono', 'Fira Code', 'SF Mono', Menlo, monospace;
  --font-serif: 'Playfair Display Variable', 'Playfair Display', Georgia, serif;
  --font-display: 'Playfair Display Variable', 'Playfair Display', Georgia, serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-display);
  --font-role-label: var(--font-mono);
  --font-role-control: var(--font-mono);
  --font-role-code: var(--font-mono);
  --color-primary: #c94a00;
  --color-primary-hover: #d85a12;
  --color-primary-active: #a93e00;
  --color-primary-text: #ffffff;
  --color-secondary: rgba(24, 23, 27, 0.5);
  --color-secondary-hover: rgba(30, 29, 34, 0.74);
  --color-secondary-active: rgba(44, 43, 48, 0.8);
  --color-secondary-text: #ffffff;
  --color-secondary-border: rgba(255, 255, 255, 0.15);
  --color-tertiary: transparent;
  --color-tertiary-hover: rgba(255, 255, 255, 0.05);
  --color-tertiary-active: rgba(255, 255, 255, 0.08);
  --color-tertiary-text: rgba(255, 255, 255, 0.7);
  --color-tertiary-border: transparent;
  --color-brand-50: #fff2ed;
  --color-brand-100: #fde1d6;
  --color-brand-200: #fec1aa;
  --color-brand-300: #fb9b76;
  --color-brand-400: #f5723b;
  --color-brand-500: #d9581c;
  --color-brand-600: #c94a00;
  --color-brand-700: #8f3a13;
  --color-brand-800: #6f2909;
  --color-brand-900: #4d1e0a;
  --color-brand-950: #320d00;
  --color-brand: #c94a00;
  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 16px;
  --radius-full: 9999px;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --text-xs: 11px;
  --text-sm: 14px;
  --text-base: 16px;
  --color-bg-page: #111114;
  --color-bg-primary: #111114;
  --color-bg-secondary: #18171b;
  --color-bg-card: rgba(24, 23, 27, 0.56);
  --color-bg-muted: #1e1d22;
  --color-bg-hover: #2c2b30;
  --color-text-primary: #ffffff;
  --color-text-secondary: rgba(255, 255, 255, 0.70);
  --color-text-muted: rgba(255, 255, 255, 0.50);
  --color-text-neutral: #ffffff;
  --color-border: rgba(255, 255, 255, 0.08);
  --color-border-light: rgba(255, 255, 255, 0.14);
  --color-border-strong: rgba(255, 255, 255, 0.15);
  --color-primary-ring: rgba(201, 74, 0, 0.28);
  --color-bg-accent-panel: rgba(30, 29, 34, 0.50);
  --color-bg-accent-panel-border: rgba(255, 255, 255, 0.15);
  --color-accent-orange: #c94a00;
  --color-accent-cyan: #00d4ff;
  --color-accent-magenta: #cc44ff;
  --color-accent-green: #44ff88;
  --color-accent-yellow: #ffcc00;
  --color-accent-neon: #00e599;
  --ref-max-width-content: 68rem;
  --ref-max-width-narrow: 44rem;
}

.theme-scope[data-theme=slashtable].dark,
.theme-scope[data-theme=slashtable][data-variant=dark],
.dark .theme-scope[data-theme=slashtable],
[data-variant=dark] .theme-scope[data-theme=slashtable] {
  --color-primary: #c94a00;
  --color-primary-hover: #d85a12;
  --color-primary-active: #a93e00;
  --color-primary-text: #ffffff;
  --color-secondary: rgba(24, 23, 27, 0.5);
  --color-secondary-hover: rgba(30, 29, 34, 0.74);
  --color-secondary-active: rgba(44, 43, 48, 0.8);
  --color-secondary-text: #ffffff;
  --color-secondary-border: rgba(255, 255, 255, 0.15);
  --color-tertiary: transparent;
  --color-tertiary-hover: rgba(255, 255, 255, 0.05);
  --color-tertiary-active: rgba(255, 255, 255, 0.08);
  --color-tertiary-text: rgba(255, 255, 255, 0.7);
  --color-tertiary-border: transparent;
  --color-bg-page: #111114;
  --color-bg-primary: #111114;
  --color-text-primary: #ffffff;
}

.theme-scope[data-theme=slashtable][data-variant=light] {
  --color-primary: #c94a00;
  --color-primary-hover: #d85a12;
  --color-primary-active: #a93e00;
  --color-primary-text: #ffffff;
  --color-secondary: rgba(24, 23, 27, 0.5);
  --color-secondary-hover: rgba(30, 29, 34, 0.74);
  --color-secondary-active: rgba(44, 43, 48, 0.8);
  --color-secondary-text: #ffffff;
  --color-secondary-border: rgba(255, 255, 255, 0.15);
  --color-tertiary: transparent;
  --color-tertiary-hover: rgba(255, 255, 255, 0.05);
  --color-tertiary-active: rgba(255, 255, 255, 0.08);
  --color-tertiary-text: rgba(255, 255, 255, 0.7);
  --color-tertiary-border: transparent;
  --color-bg-page: #f5f3ef;
  --color-bg-primary: #f5f3ef;
  --color-bg-secondary: #edeae4;
  --color-bg-card: rgba(237, 234, 228, 0.68);
  --color-bg-muted: #e4e1da;
  --color-bg-hover: #d2cfc7;
  --color-text-primary: #1a1917;
  --color-text-secondary: rgba(26, 25, 23, 0.70);
  --color-text-muted: rgba(26, 25, 23, 0.45);
  --color-border: rgba(26, 25, 23, 0.10);
  --color-border-light: rgba(26, 25, 23, 0.16);
  --color-border-strong: rgba(26, 25, 23, 0.20);
  --color-primary-ring: rgba(179, 66, 0, 0.20);
  --color-accent-orange: #b34200;
  --color-accent-cyan: #0098b8;
  --color-accent-magenta: #9b30d9;
  --color-accent-green: #1a8a46;
  --color-accent-yellow: #a88600;
  --color-accent-neon: #00a572;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
.theme-scope[data-theme=startup] {
  --font-sans: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-serif: Georgia, Cambria, 'Times New Roman', Times, serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #003A70;
  --color-primary-hover: #002855;
  --color-primary-active: #001a38;
  --color-primary-text: #ffffff;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (2) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "__Inter_f367f3";
  src: url("themes/upstash/fonts/__Inter_f367f3-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "__Inter_Tight_a3c0d3";
  src: url("themes/upstash/fonts/__Inter_Tight_a3c0d3-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=upstash] {
  --font-sans: '__Inter_f367f3', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-display: '__Inter_Tight_a3c0d3', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-display);
  --font-role-heading: var(--font-display);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #10b981;
  --color-primary-hover: #059669;
  --color-primary-active: #047857;
  --color-primary-text: #ffffff;
  --color-secondary: #d1fae5;
  --color-secondary-hover: #a7f3d0;
  --color-secondary-active: #6ee7b7;
  --color-secondary-text: #022c22;
  --color-secondary-border: #a7f3d0;
  --color-tertiary: #09090b;
  --color-tertiary-hover: #18181b;
  --color-tertiary-active: #27272a;
  --color-tertiary-text: #f4f4f5;
  --color-tertiary-border: #3f3f46;
  --color-brand-50: #defeed;
  --color-brand-100: #a3ffd3;
  --color-brand-200: #63efb4;
  --color-brand-300: #42d49b;
  --color-brand-400: #10b981;
  --color-brand-500: #1f9d6f;
  --color-brand-600: #1d825c;
  --color-brand-700: #166848;
  --color-brand-800: #0a4f36;
  --color-brand-900: #0c3625;
  --color-brand-950: #002114;
  --color-brand: #10b981;
  --radius-none: 0;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --radius-full: 9999px;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-8: 2rem;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 24px;
  --color-bg-page: #fafafa;
  --color-bg-primary: #fafafa;
  --color-bg-secondary: #f4f4f5;
  --color-bg-card: #ffffff;
  --color-bg-muted: #f4f4f5;
  --color-bg-light: #fbfbfb;
  --color-bg-hover: #ecfdf5;
  --color-bg-disabled: #e4e4e7;
  --color-bg-accent-panel: #022c22;
  --color-bg-code: #09090b;
  --color-bg-code-muted: #18181b;
  --color-border: #e4e4e7;
  --color-border-light: #f4f4f5;
  --color-border-strong: #d4d4d8;
  --color-border-accent: #a7f3d0;
  --color-text-primary: #022c22;
  --color-text-secondary: #3f3f46;
  --color-text-muted: #71717a;
  --color-text-neutral: #18181b;
  --color-text-inverse: #f4f4f5;
  --color-primary-dark: #047857;
  --color-primary-light: #d1fae5;
  --color-primary-lighter: #a7f3d0;
  --color-primary-lightest: #ecfdf5;
  --color-primary-ring: rgba(16, 185, 129, 0.22);
  --color-gray-ring: rgba(24, 24, 27, 0.10);
  --color-accent: #10b981;
  --color-accent-hover: #059669;
  --color-accent-pill-bg: #d1fae5;
  --color-accent-pill-border: #a7f3d0;
  --color-accent-pill-text: #047857;
  --color-product-card: #047857;
  --color-product-card-text: #022c22;
  --color-console-tab: #18181b;
  --font-semibold: 500;
}

/* AUTO-GENERATED by tools/build-theme.ts from theme.json — do not edit by hand */
/* tokens.scss */
/* Self-hosted brand fonts (2) — paths resolved relative to compiled theme.css */
@font-face {
  font-family: "Geist Mono";
  src: url("themes/vercel/fonts/Geist_Mono-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist_Mono-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist_Mono-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist_Mono-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist_Mono-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist_Mono-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("themes/vercel/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist-100_900-normal.woff2") format("woff2"), url("themes/vercel/fonts/Geist-100_900-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
.theme-scope[data-theme=vercel] {
  --font-sans: 'Geist', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-role-body: var(--font-sans);
  --font-role-display: var(--font-sans);
  --font-role-heading: var(--font-sans);
  --font-role-label: var(--font-sans);
  --font-role-control: var(--font-sans);
  --font-role-code: var(--font-mono);
  --color-primary: #111111;
  --color-primary-hover: #1a1a1a;
  --color-primary-active: #333333;
  --color-primary-text: #ffffff;
  --color-secondary: #ffffff;
  --color-secondary-hover: #fafafa;
  --color-secondary-active: #f5f5f5;
  --color-secondary-text: #000000;
  --color-secondary-border: #eaeaea;
  --color-tertiary: transparent;
  --color-tertiary-hover: #fafafa;
  --color-tertiary-active: #f5f5f5;
  --color-tertiary-text: #000000;
  --color-tertiary-border: transparent;
  --color-danger: #ee0000;
  --color-danger-hover: #d00000;
  --color-danger-active: #a80000;
  --color-danger-text: #ffffff;
  --color-info: #0070f3;
  --color-info-hover: #0060df;
  --color-info-active: #004bb8;
  --color-info-text: #ffffff;
  --color-brand-50: #ffffff;
  --color-brand-100: #fafafa;
  --color-brand-200: #f5f5f5;
  --color-brand-300: #eaeaea;
  --color-brand-400: #999999;
  --color-brand-500: #666666;
  --color-brand-600: #444444;
  --color-brand-700: #333333;
  --color-brand-800: #1a1a1a;
  --color-brand-900: #111111;
  --color-brand-950: #000000;
  --color-brand: #000000;
  --color-vercel-blue-100: #eaf4ff;
  --color-vercel-blue-200: #cfe9ff;
  --color-vercel-blue-300: #99cfff;
  --color-vercel-blue-400: #5eb3ff;
  --color-vercel-blue-500: #0070f3;
  --color-vercel-blue-600: #0060df;
  --color-vercel-blue-700: #004bb8;
  --color-vercel-blue: #0070f3;
  --color-vercel-red-100: #ffecec;
  --color-vercel-red-200: #ffcaca;
  --color-vercel-red-300: #ff9b9b;
  --color-vercel-red-400: #ff6b6b;
  --color-vercel-red-500: #ee0000;
  --color-vercel-red-600: #d00000;
  --color-vercel-red-700: #a80000;
  --color-vercel-red: #ee0000;
  --color-bg-page: #ffffff;
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #fafafa;
  --color-bg-card: #ffffff;
  --color-bg-muted: #f5f5f5;
  --color-bg-light: #fafafa;
  --color-bg-hover: #fafafa;
  --color-bg-disabled: #f5f5f5;
  --color-border: #eaeaea;
  --color-border-light: #d4d4d4;
  --color-border-tab: #eaeaea;
  --color-text-primary: #000000;
  --color-text-secondary: #444444;
  --color-text-muted: #666666;
  --color-text-neutral: #333333;
}

.theme-scope[data-theme=vercel].dark,
.theme-scope[data-theme=vercel][data-variant=dark],
.dark .theme-scope[data-theme=vercel],
[data-variant=dark] .theme-scope[data-theme=vercel] {
  --color-primary: #ffffff;
  --color-primary-hover: #eaeaea;
  --color-primary-active: #d4d4d4;
  --color-primary-text: #000000;
  --color-secondary: #111111;
  --color-secondary-hover: #1a1a1a;
  --color-secondary-active: #333333;
  --color-secondary-text: #ffffff;
  --color-secondary-border: #333333;
  --color-tertiary: transparent;
  --color-tertiary-hover: #111111;
  --color-tertiary-active: #1a1a1a;
  --color-tertiary-text: #ffffff;
  --color-tertiary-border: transparent;
  --color-danger: #ff4d4d;
  --color-danger-hover: #ee0000;
  --color-danger-active: #d00000;
  --color-danger-text: #000000;
  --color-info: #3291ff;
  --color-info-hover: #0070f3;
  --color-info-active: #0060df;
  --color-info-text: #000000;
  --color-bg-page: #000000;
  --color-bg-primary: #000000;
  --color-bg-secondary: #111111;
  --color-bg-card: #111111;
  --color-bg-muted: #1a1a1a;
  --color-bg-light: #111111;
  --color-bg-hover: #1a1a1a;
  --color-bg-disabled: #1a1a1a;
  --color-border: #333333;
  --color-border-light: #444444;
  --color-border-tab: #333333;
  --color-text-primary: #ffffff;
  --color-text-secondary: #eaeaea;
  --color-text-muted: #999999;
  --color-text-neutral: #d4d4d4;
}

/* Hand-written component overrides — all data-theme-scoped, all
   included simultaneously. Each theme's overrides only apply when its
   `data-theme` attribute is active, so they coexist without conflict.
   The "no data-theme" state renders engine defaults (tokens only, no
   component overrides) — apps must explicitly set data-theme to opt
   into a theme's visual identity beyond the engine baseline. */
/* ===================================
   anthropic — sniffed scaffold
   Scoped to .theme-scope[data-theme="anthropic"]
   =================================== */
/* ===================================
   browse — sniffed scaffold
   Scoped to .theme-scope[data-theme="browse"]
   =================================== */
/* ===================================
   chorus — overrides
   Scoped to .theme-scope[data-theme="chorus"]

   All baseline token overrides for chorus's monochrome aesthetic now
   live in theme.json's top-level `tokens` field (processed by
   build-theme.ts). This file is for component-level visual tweaks
   that can't be expressed as token assignments — currently nothing.
   =================================== */
/* ===================================
   Corporate Theme - YC / Hacker News Style
   Utilitarian, high-density, "boring" corporate startup aesthetic

   Scoped to `.theme-scope[data-theme="corporate"]` so this theme's
   component visuals apply only when corporate is the active theme.
   =================================== */
.theme-scope[data-theme=corporate] {
  /* ===================================
     Base Theme Override
     =================================== */
  font-family: Verdana, Geneva, sans-serif;
  /* Defer to tokens, not literals — hardcoded colors block dark-variant
     overrides because literal values win the cascade against var(). */
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  line-height: 1.4;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  /* YC Color Palette */
  --color-primary: #ff6600;
  --color-primary-hover: #e65c00;
  --color-primary-active: #cc5200;
  --color-primary-dark: #b34700;
  --color-primary-light: #ffcc99;
  --color-primary-lighter: #ffe6cc;
  --color-primary-lightest: #fff2e6;
  --color-primary-ring: rgba(255, 102, 0, 0.3);
  /* Text Colors - High Contrast */
  --color-text-primary: #000000;
  --color-text-secondary: #828282; /* HN Gray */
  --color-text-muted: #999999;
  --color-text-neutral: #666666;
  /* Backgrounds */
  --color-bg-primary: #f6f6ef;
  --color-bg-secondary: #ffffff;
  --color-bg-muted: #efefef;
  --color-bg-light: #fbfbfb;
  --color-bg-hover: #e6e6e6;
  --color-bg-active: #dcdcdc;
  /* Borders */
  --color-border: #dcdcdc;
  --color-border-light: #ebebeb;
  /* Semantic Colors */
  --color-success: #008000; /* Standard Green */
  --color-success-light: #e6ffe6;
  --color-success-dark: #006600;
  --color-warning: #ffcc00;
  --color-warning-light: #ffffe0;
  --color-warning-dark: #cc9900;
  --color-danger: #cc0000;
  --color-danger-light: #ffe6e6;
  --color-danger-dark: #990000;
  --color-info: #0000ff; /* Standard Link Blue */
  --color-info-light: #e6e6ff;
  --color-info-dark: #0000cc;
  /* Utilitarian Radii (mostly square) */
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --radius-xl: 0;
  --radius-2xl: 0;
  --radius-button: 0;
  --radius-card: 0;
  /* Typography */
  --text-h1: 1.5rem;
  --text-h2: 1.25rem;
  --text-h3: 1.1rem;
  --leading-tight: 1.2;
  /* Spacing */
  --space-btn-x: 0.5rem;
  --space-btn-y: 0.25rem;
  --space-card-padding: 1rem;
  --input-padding-y: 2px;
  --input-padding-x: 2px;
  /* No Shadows - Flat Design */
  --shadow-card: none;
  --shadow-hover: none;
  --shadow-dropdown: 0 2px 4px rgba(0,0,0,0.2);
  /* ===================================
     Typography
     =================================== */
}
.theme-scope[data-theme=corporate] h1, .theme-scope[data-theme=corporate] h2, .theme-scope[data-theme=corporate] h3, .theme-scope[data-theme=corporate] h4, .theme-scope[data-theme=corporate] h5, .theme-scope[data-theme=corporate] h6,
.theme-scope[data-theme=corporate] .text-h1, .theme-scope[data-theme=corporate] .text-h2, .theme-scope[data-theme=corporate] .text-h3 {
  font-family: Verdana, Geneva, sans-serif;
  font-weight: 700;
  color: var(--color-text-primary);
  margin-top: 1em;
  margin-bottom: 0.5em;
}
.theme-scope[data-theme=corporate] h1, .theme-scope[data-theme=corporate] .text-h1 {
  font-size: 1.5rem;
}
.theme-scope[data-theme=corporate] h2, .theme-scope[data-theme=corporate] .text-h2 {
  font-size: 1.25rem;
}
.theme-scope[data-theme=corporate] h3, .theme-scope[data-theme=corporate] .text-h3 {
  font-size: 1.1rem;
}
.theme-scope[data-theme=corporate] p {
  font-size: 10pt;
  margin-bottom: 1em;
  color: var(--color-text-primary);
}
.theme-scope[data-theme=corporate] :where(a:not([role=button]):not([class*=btn]):not([class*=button])), .theme-scope[data-theme=corporate] .link {
  color: var(--color-text-primary);
  text-decoration: none;
}
.theme-scope[data-theme=corporate] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover, .theme-scope[data-theme=corporate] .link:hover {
  text-decoration: underline;
}
.theme-scope[data-theme=corporate] :where(a:not([role=button]):not([class*=btn]):not([class*=button])).link-blue, .theme-scope[data-theme=corporate] .link.link-blue {
  color: var(--color-info);
}
.theme-scope[data-theme=corporate] .fine-print, .theme-scope[data-theme=corporate] .text-xs {
  font-size: 8pt;
  color: var(--color-text-secondary);
}
.theme-scope[data-theme=corporate] code:not(pre code), .theme-scope[data-theme=corporate] .code-inline {
  font-family: monospace;
  font-size: 9pt;
  background-color: var(--color-bg-muted);
  padding: 0 3px;
}
.theme-scope[data-theme=corporate] pre, .theme-scope[data-theme=corporate] .code-block {
  font-family: monospace;
  font-size: 9pt;
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  padding: 10px;
  overflow-x: auto;
}
.theme-scope[data-theme=corporate] hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 1rem 0;
}
.theme-scope[data-theme=corporate] .header, .theme-scope[data-theme=corporate] header {
  background-color: var(--color-primary);
  padding: 2px;
  color: var(--color-text-primary);
}
.theme-scope[data-theme=corporate] .header a, .theme-scope[data-theme=corporate] header a {
  color: var(--color-text-primary);
  font-weight: bold;
}
.theme-scope[data-theme=corporate] .card, .theme-scope[data-theme=corporate] .app-card {
  background-color: var(--color-bg-primary);
  border: none;
  padding: 0;
  margin-bottom: 1rem;
}
.theme-scope[data-theme=corporate] .card-title, .theme-scope[data-theme=corporate] .app-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--color-text-primary);
  margin-bottom: 0.5rem;
}
.theme-scope[data-theme=corporate] .app-card-content {
  background-color: var(--color-bg-primary);
}
.theme-scope[data-theme=corporate] .btn-primary, .theme-scope[data-theme=corporate] .action-btn {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  border: 1px solid var(--color-text-secondary);
  font-family: Verdana, Geneva, sans-serif;
  font-size: 10pt;
  font-weight: normal;
  cursor: pointer;
  padding: 2px 6px;
}
.theme-scope[data-theme=corporate] .btn-primary:hover, .theme-scope[data-theme=corporate] .action-btn:hover {
  border-color: var(--color-text-primary);
}
.theme-scope[data-theme=corporate] .btn-secondary {
  background-color: transparent;
  color: var(--color-text-secondary);
  border: none;
  text-decoration: underline;
  font-size: 9pt;
  cursor: pointer;
}
.theme-scope[data-theme=corporate] .btn-secondary:hover {
  color: var(--color-text-primary);
}
.theme-scope[data-theme=corporate] input[type=text],
.theme-scope[data-theme=corporate] input[type=email],
.theme-scope[data-theme=corporate] input[type=password],
.theme-scope[data-theme=corporate] textarea:not(.inputarea),
.theme-scope[data-theme=corporate] .form-input {
  font-family: monospace;
  font-size: 10pt;
  border: 1px solid var(--color-text-secondary);
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
}
.theme-scope[data-theme=corporate] input[type=text]:focus,
.theme-scope[data-theme=corporate] input[type=email]:focus,
.theme-scope[data-theme=corporate] input[type=password]:focus,
.theme-scope[data-theme=corporate] textarea:not(.inputarea):focus,
.theme-scope[data-theme=corporate] .form-input:focus {
  outline: none;
  border-color: var(--color-primary);
}
.theme-scope[data-theme=corporate] .form-label {
  font-family: Verdana, Geneva, sans-serif;
  font-size: 10pt;
  color: var(--color-text-secondary);
  margin-bottom: 2px;
}
.theme-scope[data-theme=corporate] table, .theme-scope[data-theme=corporate] .app-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10pt;
  background-color: var(--color-bg-primary);
}
.theme-scope[data-theme=corporate] th {
  text-align: left;
  color: var(--color-text-secondary);
  font-weight: normal;
  padding: 4px 8px;
}
.theme-scope[data-theme=corporate] td {
  padding: 4px 8px;
  color: var(--color-text-primary);
  vertical-align: top;
}
.theme-scope[data-theme=corporate] tr:nth-child(even) {
  background-color: var(--color-bg-primary);
}
.theme-scope[data-theme=corporate] ol {
  list-style-type: decimal;
  padding-left: 20px;
  color: var(--color-text-secondary);
}
.theme-scope[data-theme=corporate] ol li {
  margin-bottom: 4px;
}
.theme-scope[data-theme=corporate] ol li::marker {
  color: var(--color-text-secondary);
}
.theme-scope[data-theme=corporate] .badge {
  border: 1px solid var(--color-text-secondary);
  background: transparent;
  color: var(--color-text-secondary);
  font-size: 8pt;
  padding: 0 4px;
}
.theme-scope[data-theme=corporate] .badge-success {
  border-color: var(--color-success);
  color: var(--color-success);
}
.theme-scope[data-theme=corporate] .badge-danger {
  border-color: var(--color-danger);
  color: var(--color-danger);
}
.theme-scope[data-theme=corporate] .badge-warning {
  border-color: var(--color-warning-dark);
  color: var(--color-warning-dark);
}
.theme-scope[data-theme=corporate] .badge-info {
  border-color: var(--color-info);
  color: var(--color-info);
}

/* Playground chrome is theme-neutral by design — same reasoning as
   retro's overrides.scss header. A `:root { --playground-* }` block here
   would force every loaded theme to also paint the playground chrome
   corporate, breaking runtime theme coexistence. If an app wants
   corporate-styled chrome, it should override `--playground-*` itself. */
/* ===================================
   Cursor Theme — matches cursor.com marketing site
   Warm-cream surfaces, ink primary, vivid orange accent.
   All component visuals are pill-shaped, low-contrast, weight 400.

   Scoped to `.theme-scope[data-theme="cursor"]` so this theme's
   component visuals apply only when cursor is the active theme.
   =================================== */
.theme-scope[data-theme=cursor] {
  /* ===================================
     Base
     =================================== */
  --font-family-sans: CursorGothic, 'CursorGothic Fallback', system-ui, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-family: var(--font-family-sans);
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  /* ===================================
     Palette — sourced directly from cursor.com
     =================================== */
  /* Primary = Ink (dark warm grey, used for buttons + body text) */
  --color-primary: #26251E;
  --color-primary-hover: #3a3930;
  --color-primary-active: #1a1914;
  --color-primary-dark: #1a1914;
  --color-primary-light: #F2F1ED;
  --color-primary-lighter: #F7F7F4;
  --color-primary-lightest: #FAFAF7;
  --color-primary-ring: rgba(38, 37, 30, 0.15);
  --color-primary-text: #F7F7F4;
  /* Accent = vivid orange (Recommended badge, marketing highlights) */
  --color-accent: #F54E00;
  --color-accent-hover: #d94400;
  --color-accent-light: #ff7a3a;
  /* CTA uses the ink, not the orange (cursor.com pattern) */
  --color-cta: #26251E;
  --color-cta-hover: #3a3930;
  /* Text */
  --color-text-primary: #26251E;
  --color-text-secondary: rgba(38, 37, 30, 0.72);
  --color-text-muted: rgba(38, 37, 30, 0.55);
  --color-text-neutral: rgba(38, 37, 30, 0.7);
  --color-text-neutral-dark: #3a3930;
  --color-text-on-dark: #F7F7F4;
  --color-text-on-dark-muted: rgba(247, 247, 244, 0.78);
  /* Surfaces — warm-cream stack */
  --color-bg-primary: #F7F7F4;
  --color-bg-secondary: #F2F1ED;
  --color-bg-muted: #E6E5E0;
  --color-bg-light: #FAFAF7;
  --color-bg-dark: #26251E;
  --color-bg-hover: rgba(38, 37, 30, 0.04);
  --color-bg-card: #F2F1ED;
  /* Borders — essentially invisible; cards lean on bg contrast */
  --color-border: rgba(38, 37, 30, 0.08);
  --color-border-light: rgba(38, 37, 30, 0.05);
  --color-border-tab: rgba(38, 37, 30, 0.15);
  /* Semantics */
  --color-success: #22c55e;
  --color-success-light: #dcfce7;
  --color-success-dark: #166534;
  --color-warning: #f59e0b;
  --color-warning-light: #fef3c7;
  --color-warning-dark: #92400e;
  --color-danger: #ef4444;
  --color-danger-light: #fee2e2;
  --color-danger-dark: #b91c1c;
  --color-info: #3b82f6;
  --color-info-light: #dbeafe;
  --color-info-dark: #1e40af;
  /* Utility */
  --color-white: #ffffff;
  --color-gray-300: #d4d4d4;
  --color-gray-400: #a3a3a3;
  /* ===================================
     Radii — cursor.com uses tight 4px corners on cards,
     full pills on buttons and toggles.
     =================================== */
  --radius-sm: 0.25rem; /* 4px */
  --radius-md: 0.25rem; /* 4px — cards stay tight */
  --radius-lg: 0.25rem; /* 4px */
  --radius-xl: 0.5rem; /* 8px */
  --radius-2xl: 0.75rem; /* 12px */
  --radius-full: 9999px;
  --radius-button: 9999px; /* pill */
  --radius-input: 0.375rem;
  --input-padding-y: 0.625rem;
  --input-padding-x: 1rem;
  --radius-card: 0.25rem; /* 4px */
  --radius-badge: 9999px;
  --radius-dropdown: 0.375rem;
  --radius-tab: 9999px;
  --radius-toast: 0.5rem;
  /* ===================================
     Shadows — almost none, surface contrast does the work
     =================================== */
  --shadow-sm: 0 1px 2px rgba(38, 37, 30, 0.04);
  --shadow-md: 0 2px 8px rgba(38, 37, 30, 0.06);
  --shadow-lg: 0 8px 24px rgba(38, 37, 30, 0.08);
  --shadow-xl: 0 16px 48px rgba(38, 37, 30, 0.1);
  --shadow-2xl: 0 24px 64px rgba(38, 37, 30, 0.12);
  --shadow-card: none;
  --shadow-dropdown: 0 4px 12px rgba(38, 37, 30, 0.1);
  --shadow-toast: 0 8px 24px rgba(38, 37, 30, 0.12);
  /* ===================================
     Typography — light weights, generous tracking
     =================================== */
}
.theme-scope[data-theme=cursor] h1, .theme-scope[data-theme=cursor] h2, .theme-scope[data-theme=cursor] h3, .theme-scope[data-theme=cursor] h4, .theme-scope[data-theme=cursor] h5, .theme-scope[data-theme=cursor] h6,
.theme-scope[data-theme=cursor] .text-h1, .theme-scope[data-theme=cursor] .text-h2, .theme-scope[data-theme=cursor] .text-h3 {
  font-family: var(--font-family-sans);
  font-weight: 400;
  color: var(--color-text-primary);
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.theme-scope[data-theme=cursor] h1, .theme-scope[data-theme=cursor] .text-h1 {
  font-size: 3.25rem;
  font-weight: 400;
}
.theme-scope[data-theme=cursor] h2, .theme-scope[data-theme=cursor] .text-h2 {
  font-size: 1.375rem;
  font-weight: 400;
}
.theme-scope[data-theme=cursor] h3, .theme-scope[data-theme=cursor] .text-h3 {
  font-size: 1.125rem;
  font-weight: 400;
}
.theme-scope[data-theme=cursor] :where(a:not([role=button]):not([class*=btn]):not([class*=button])), .theme-scope[data-theme=cursor] .link {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color 0.15s ease;
}
.theme-scope[data-theme=cursor] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover, .theme-scope[data-theme=cursor] .link:hover {
  color: var(--color-text-neutral);
}
.theme-scope[data-theme=cursor] .btn-primary {
  background-color: var(--color-primary);
  color: var(--color-primary-text);
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  font-family: var(--font-family-sans);
  font-weight: 400;
  font-size: 1rem;
  padding: 0.7rem 1.35rem;
  line-height: 1;
  transition: background-color 0.15s ease;
}
.theme-scope[data-theme=cursor] .btn-primary:hover {
  background-color: var(--color-primary-hover);
  color: var(--color-primary-text);
}
.theme-scope[data-theme=cursor] .btn-primary:active {
  background-color: var(--color-primary-active);
  color: var(--color-primary-text);
}
.theme-scope[data-theme=cursor] .btn-secondary {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  border: 1px solid rgba(38, 37, 30, 0.025);
  border-radius: var(--radius-button);
  font-family: var(--font-family-sans);
  font-weight: 400;
  font-size: 1rem;
  padding: 0.7rem 1.35rem;
  line-height: 1;
  transition: background-color 0.15s ease;
}
.theme-scope[data-theme=cursor] .btn-secondary:hover {
  background-color: #dcdbd5;
  color: var(--color-text-primary);
}
.theme-scope[data-theme=cursor] .btn-tertiary {
  background-color: transparent;
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-button);
  font-weight: 400;
  padding: 0.7rem 1.35rem;
  transition: all 0.15s ease;
}
.theme-scope[data-theme=cursor] .btn-tertiary:hover {
  background-color: var(--color-bg-hover);
}
.theme-scope[data-theme=cursor] .btn-ghost {
  background-color: transparent;
  color: var(--color-text-muted);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 400;
  padding: 0.5rem 1rem;
  transition: color 0.15s ease;
}
.theme-scope[data-theme=cursor] .btn-ghost:hover {
  color: var(--color-text-primary);
}
.theme-scope[data-theme=cursor] .btn-accent, .theme-scope[data-theme=cursor] .btn-cta {
  background-color: var(--color-primary);
  color: var(--color-primary-text);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 400;
  padding: 0.7rem 1.35rem;
  font-size: 1rem;
  transition: background-color 0.15s ease;
}
.theme-scope[data-theme=cursor] .btn-accent:hover, .theme-scope[data-theme=cursor] .btn-cta:hover {
  background-color: var(--color-primary-hover);
  color: var(--color-primary-text);
}
.theme-scope[data-theme=cursor] .btn-danger {
  background-color: var(--color-danger);
  color: #ffffff;
  border: none;
  border-radius: var(--radius-button);
  font-weight: 400;
}
.theme-scope[data-theme=cursor] .btn-danger:hover {
  background-color: var(--color-danger-dark);
  color: #ffffff;
}
.theme-scope[data-theme=cursor] .btn-success {
  background-color: var(--color-success);
  color: #ffffff;
  border: none;
  border-radius: var(--radius-button);
  font-weight: 400;
}
.theme-scope[data-theme=cursor] .btn-success:hover {
  background-color: var(--color-success-dark);
  color: #ffffff;
}
.theme-scope[data-theme=cursor] .input-group > :not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.theme-scope[data-theme=cursor] .input-group > :not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.theme-scope[data-theme=cursor] .card {
  background-color: var(--color-bg-card);
  border: 0;
  border-radius: var(--radius-card);
  box-shadow: none;
  transition: background-color 0.15s ease;
}
.theme-scope[data-theme=cursor] .card-title {
  font-weight: 400;
  color: var(--color-text-primary);
  font-size: 1.375rem;
}
.theme-scope[data-theme=cursor] input[type=text],
.theme-scope[data-theme=cursor] input[type=email],
.theme-scope[data-theme=cursor] input[type=password],
.theme-scope[data-theme=cursor] input[type=number],
.theme-scope[data-theme=cursor] input[type=url],
.theme-scope[data-theme=cursor] input[type=search],
.theme-scope[data-theme=cursor] input[type=tel],
.theme-scope[data-theme=cursor] textarea:not(.inputarea),
.theme-scope[data-theme=cursor] .form-input {
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  font-family: var(--font-family-sans);
  font-size: 0.9375rem;
  color: var(--color-text-primary);
  transition: all 0.15s ease;
}
.theme-scope[data-theme=cursor] input[type=text]::placeholder,
.theme-scope[data-theme=cursor] input[type=email]::placeholder,
.theme-scope[data-theme=cursor] input[type=password]::placeholder,
.theme-scope[data-theme=cursor] input[type=number]::placeholder,
.theme-scope[data-theme=cursor] input[type=url]::placeholder,
.theme-scope[data-theme=cursor] input[type=search]::placeholder,
.theme-scope[data-theme=cursor] input[type=tel]::placeholder,
.theme-scope[data-theme=cursor] textarea:not(.inputarea)::placeholder,
.theme-scope[data-theme=cursor] .form-input::placeholder {
  color: var(--color-text-muted);
}
.theme-scope[data-theme=cursor] input[type=text]:focus,
.theme-scope[data-theme=cursor] input[type=email]:focus,
.theme-scope[data-theme=cursor] input[type=password]:focus,
.theme-scope[data-theme=cursor] input[type=number]:focus,
.theme-scope[data-theme=cursor] input[type=url]:focus,
.theme-scope[data-theme=cursor] input[type=search]:focus,
.theme-scope[data-theme=cursor] input[type=tel]:focus,
.theme-scope[data-theme=cursor] textarea:not(.inputarea):focus,
.theme-scope[data-theme=cursor] .form-input:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 2px var(--color-primary-ring);
}
.theme-scope[data-theme=cursor] select, .theme-scope[data-theme=cursor] .form-select {
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  font-family: var(--font-family-sans);
  font-size: 0.9375rem;
  color: var(--color-text-primary);
}
.theme-scope[data-theme=cursor] select:focus, .theme-scope[data-theme=cursor] .form-select:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 2px var(--color-primary-ring);
}
.theme-scope[data-theme=cursor] .form-label {
  color: var(--color-text-primary);
  font-weight: 400;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  display: block;
}
.theme-scope[data-theme=cursor] .badge {
  border-radius: var(--radius-badge);
  font-weight: 400;
  font-size: 0.875rem;
  padding: 0.25rem 0.625rem;
}
.theme-scope[data-theme=cursor] .badge-success {
  background-color: var(--color-success-light);
  color: var(--color-success-dark);
}
.theme-scope[data-theme=cursor] .badge-danger {
  background-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}
.theme-scope[data-theme=cursor] .badge-warning {
  background-color: var(--color-warning-light);
  color: var(--color-warning-dark);
}
.theme-scope[data-theme=cursor] .badge-info {
  background-color: var(--color-info-light);
  color: var(--color-info-dark);
}
.theme-scope[data-theme=cursor] .badge-primary {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope[data-theme=cursor] .tabs-list,
.theme-scope[data-theme=cursor] .toggle-group {
  background-color: var(--color-bg-secondary);
  border: 0;
  border-radius: var(--radius-full);
  padding: 2px;
}
.theme-scope[data-theme=cursor] .tab-trigger,
.theme-scope[data-theme=cursor] .toggle-group-item {
  border-radius: var(--radius-full);
  font-weight: 400;
  color: var(--color-text-primary);
  background: transparent;
  border: 1px solid transparent;
  padding: 0.5rem 1.25rem;
  transition: all 0.15s ease;
}
.theme-scope[data-theme=cursor] .tab-trigger:hover:not(.active):not([data-state=active]):not([data-state=on]),
.theme-scope[data-theme=cursor] .toggle-group-item:hover:not(.active):not([data-state=active]):not([data-state=on]) {
  color: var(--color-text-primary);
}
.theme-scope[data-theme=cursor] .tab-trigger.active, .theme-scope[data-theme=cursor] .tab-trigger[data-state=active], .theme-scope[data-theme=cursor] .tab-trigger[data-state=on],
.theme-scope[data-theme=cursor] .toggle-group-item.active,
.theme-scope[data-theme=cursor] .toggle-group-item[data-state=active],
.theme-scope[data-theme=cursor] .toggle-group-item[data-state=on] {
  background-color: var(--color-bg-card);
  border-color: rgba(38, 37, 30, 0.025);
  color: var(--color-text-primary);
}
.theme-scope[data-theme=cursor] .dropdown-menu {
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-dropdown);
  box-shadow: var(--shadow-dropdown);
  padding: 0.25rem;
}
.theme-scope[data-theme=cursor] .dropdown-item {
  border-radius: var(--radius-sm);
  color: var(--color-text-primary);
  font-weight: 400;
  padding: 0.5rem 0.75rem;
  transition: all 0.15s ease;
}
.theme-scope[data-theme=cursor] .dropdown-item:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope[data-theme=cursor] .alert, .theme-scope[data-theme=cursor] .callout {
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  border: 1px solid;
}
.theme-scope[data-theme=cursor] .alert-success, .theme-scope[data-theme=cursor] .callout-success {
  background-color: var(--color-success-light);
  border-color: var(--color-success);
  color: var(--color-success-dark);
}
.theme-scope[data-theme=cursor] .alert-danger, .theme-scope[data-theme=cursor] .callout-danger, .theme-scope[data-theme=cursor] .alert-destructive {
  background-color: var(--color-danger-light);
  border-color: var(--color-danger);
  color: var(--color-danger-dark);
}
.theme-scope[data-theme=cursor] .alert-warning, .theme-scope[data-theme=cursor] .callout-warning {
  background-color: var(--color-warning-light);
  border-color: var(--color-warning);
  color: var(--color-warning-dark);
}
.theme-scope[data-theme=cursor] .alert-info, .theme-scope[data-theme=cursor] .callout-info {
  background-color: var(--color-info-light);
  border-color: var(--color-info);
  color: var(--color-info-dark);
}
.theme-scope[data-theme=cursor] .toast {
  background-color: var(--color-bg-card);
  border-radius: var(--radius-toast);
  box-shadow: var(--shadow-toast);
  border: 1px solid var(--color-border);
}
.theme-scope[data-theme=cursor] .avatar {
  border-radius: var(--radius-full);
  border: 2px solid var(--color-bg-primary);
  box-shadow: var(--shadow-sm);
}
.theme-scope[data-theme=cursor] table {
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-border);
}
.theme-scope[data-theme=cursor] th {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-primary);
  font-weight: 500;
  border-bottom: 1px solid var(--color-border);
}
.theme-scope[data-theme=cursor] td {
  border-bottom: 1px solid var(--color-border);
}
.theme-scope[data-theme=cursor] tr:last-child td {
  border-bottom: none;
}
.theme-scope[data-theme=cursor] .accordion-group {
  border-radius: 0;
  overflow: visible;
}
.theme-scope[data-theme=cursor] .accordion-item {
  border-bottom: 1px solid var(--color-border);
}
.theme-scope[data-theme=cursor] .accordion-item:last-child {
  border-bottom: none;
}
.theme-scope[data-theme=cursor] .accordion-button {
  font-weight: 400;
  color: var(--color-text-primary);
  padding: 1rem 0;
  background: transparent;
}
.theme-scope[data-theme=cursor] .accordion-button:hover {
  color: var(--color-text-neutral);
}
.theme-scope[data-theme=cursor] .accordion-content {
  color: var(--color-text-secondary);
}
.theme-scope[data-theme=cursor] .text-accent {
  color: var(--color-accent);
}
.theme-scope[data-theme=cursor] .text-primary {
  color: var(--color-text-primary);
}
.theme-scope[data-theme=cursor] .text-muted {
  color: var(--color-text-muted);
}
.theme-scope[data-theme=cursor] .text-on-dark {
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=cursor] .bg-muted {
  background-color: var(--color-bg-muted);
}
.theme-scope[data-theme=cursor] .bg-secondary {
  background-color: var(--color-bg-secondary);
}
.theme-scope[data-theme=cursor] .bg-dark {
  background-color: var(--color-bg-dark);
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=cursor] .border-accent {
  border-color: var(--color-accent);
}

/* ===================================
   Cursor — Dark variant
   Mirrors cursor.com's dark theme: deep warm-black surfaces (#14120B,
   #1B1913, #26241E) with cream ink (#EDECEC). The primary button inverts
   to cream-with-dark-text. The orange accent stays the same.

   Engine pattern (matches groq): fan out across `.dark`, `[data-variant=dark]`,
   and ancestor variants so any flip mechanism the consumer prefers works.
   =================================== */
.theme-scope[data-theme=cursor].dark,
.theme-scope[data-theme=cursor][data-variant=dark],
.dark .theme-scope[data-theme=cursor],
[data-variant=dark] .theme-scope[data-theme=cursor] {
  /* Surfaces */
  --color-bg-primary: #14120B;
  --color-bg-secondary: #1B1913;
  --color-bg-card: #1B1913;
  --color-bg-muted: #26241E;
  --color-bg-light: #1B1913;
  --color-bg-dark: #EDECEC;
  --color-bg-hover: rgba(237, 236, 236, 0.04);
  /* Borders — barely-there lift on dark */
  --color-border: rgba(237, 236, 236, 0.08);
  --color-border-light: rgba(237, 236, 236, 0.05);
  --color-border-tab: rgba(237, 236, 236, 0.15);
  /* Text — warm cream */
  --color-text-primary: #EDECEC;
  --color-text-secondary: rgba(237, 236, 236, 0.72);
  --color-text-muted: rgba(237, 236, 236, 0.6);
  --color-text-neutral: rgba(237, 236, 236, 0.72);
  --color-text-neutral-dark: rgba(237, 236, 236, 0.85);
  --color-text-on-dark: #14120B;
  --color-text-on-dark-muted: rgba(20, 18, 11, 0.78);
  /* Primary inverts in dark — cream button with dark text */
  --color-primary: #EDECEC;
  --color-primary-hover: #dcdada;
  --color-primary-active: #c8c6c6;
  --color-primary-dark: #ffffff;
  --color-primary-light: #1B1913;
  --color-primary-lighter: #14120B;
  --color-primary-lightest: #0d0b07;
  --color-primary-ring: rgba(237, 236, 236, 0.18);
  --color-primary-text: #14120B;
  /* CTA tracks primary */
  --color-cta: #EDECEC;
  --color-cta-hover: #dcdada;
  /* Accent unchanged */
  --color-accent: #F54E00;
  --color-accent-hover: #ff6622;
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  /* Inverted-light button borders need re-tuning per surface */
}
.theme-scope[data-theme=cursor].dark .btn-primary,
.theme-scope[data-theme=cursor][data-variant=dark] .btn-primary,
.dark .theme-scope[data-theme=cursor] .btn-primary,
[data-variant=dark] .theme-scope[data-theme=cursor] .btn-primary {
  background-color: var(--color-primary);
  color: var(--color-primary-text);
  border-color: transparent;
}
.theme-scope[data-theme=cursor].dark .btn-primary:hover,
.theme-scope[data-theme=cursor][data-variant=dark] .btn-primary:hover,
.dark .theme-scope[data-theme=cursor] .btn-primary:hover,
[data-variant=dark] .theme-scope[data-theme=cursor] .btn-primary:hover {
  background-color: var(--color-primary-hover);
  color: var(--color-primary-text);
}
.theme-scope[data-theme=cursor].dark .btn-secondary,
.theme-scope[data-theme=cursor][data-variant=dark] .btn-secondary,
.dark .theme-scope[data-theme=cursor] .btn-secondary,
[data-variant=dark] .theme-scope[data-theme=cursor] .btn-secondary {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  border-color: rgba(237, 236, 236, 0.06);
}
.theme-scope[data-theme=cursor].dark .btn-secondary:hover,
.theme-scope[data-theme=cursor][data-variant=dark] .btn-secondary:hover,
.dark .theme-scope[data-theme=cursor] .btn-secondary:hover,
[data-variant=dark] .theme-scope[data-theme=cursor] .btn-secondary:hover {
  background-color: #322f28;
  color: var(--color-text-primary);
}
.theme-scope[data-theme=cursor].dark .btn-tertiary,
.theme-scope[data-theme=cursor][data-variant=dark] .btn-tertiary,
.dark .theme-scope[data-theme=cursor] .btn-tertiary,
[data-variant=dark] .theme-scope[data-theme=cursor] .btn-tertiary {
  border-color: var(--color-border);
}
.theme-scope[data-theme=cursor].dark .btn-tertiary:hover,
.theme-scope[data-theme=cursor][data-variant=dark] .btn-tertiary:hover,
.dark .theme-scope[data-theme=cursor] .btn-tertiary:hover,
[data-variant=dark] .theme-scope[data-theme=cursor] .btn-tertiary:hover {
  background-color: var(--color-bg-hover);
}

/* ===================================
   Dark Theme — component overrides
   Scoped to .theme-scope[data-theme="dark"]
   =================================== */
/* ===================================
   elicit — sniffed scaffold
   Scoped to .theme-scope[data-theme="elicit"]
   =================================== */
/* ===================================
   fresh — local app scaffold
   Scoped to .theme-scope[data-theme="fresh"]
   =================================== */
.theme-scope[data-theme=fresh] {
  background: radial-gradient(circle at 22% 10%, color-mix(in oklch, var(--color-fresh-lemon) 14%, transparent), transparent 32rem), radial-gradient(circle at 88% 0%, color-mix(in oklch, var(--color-fresh-shell-from) 28%, transparent), transparent 28rem), linear-gradient(135deg, var(--color-bg-page), var(--color-fresh-paper-warm) 52%, color-mix(in oklch, var(--color-fresh-shell-from) 40%, var(--color-bg-page)));
  color: var(--color-text-primary);
}
.theme-scope[data-theme=fresh] .btn {
  font-weight: var(--font-semibold, 600);
}
.theme-scope[data-theme=fresh] .card,
.theme-scope[data-theme=fresh] .field,
.theme-scope[data-theme=fresh] .input,
.theme-scope[data-theme=fresh] .textarea,
.theme-scope[data-theme=fresh] .select {
  border-color: var(--color-border);
}
.theme-scope[data-theme=fresh] .card {
  background: color-mix(in oklch, var(--color-bg-card) 88%, transparent);
  box-shadow: var(--shadow-sm);
}

/* ===================================
   Groq Theme - Fast AI Inference Platform Style
   Based on Groq's vibrant orange and modern tech aesthetic
   Font: System UI (app), Space Grotesk (marketing), IBM Plex Mono (code)
   Primary: Orange (#f43e01), Core: Black/White/Grays

   Scoped to `.theme-scope[data-theme="groq"]`. With this, no theme is
   the "default fallback" — apps explicitly opt into groq by setting
   `data-theme="groq"`. The "no data-theme" state renders engine
   defaults (token-only, no component overrides).
   =================================== */
.theme-scope[data-theme=groq] {
  /* ===================================
     Base Theme Override
     =================================== */
  /* Typography - Groq uses IBM Plex Mono for code */
  --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco, Consolas, monospace;
  /* Marketing fonts - Space Grotesk for landing pages, hero sections, marketing copy */
  --font-display: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  --font-marketing: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  /* System UI for app interfaces (default) */
  --font-sans: -apple-system, system-ui, Inter, Roboto, 'Segoe UI', 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  font-family: var(--font-sans);
  /* Use theme tokens, not hardcoded values, so a dark variant override
     of these tokens actually takes effect. Hardcoding here clobbered
     the cascade — dark-mode body text ended up #2d2f33 on #1e1e1e. */
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  /* ===================================
     IBM Plex Mono Font Weight Override
     =================================== */
  /* Apply light weight (300) to all monospace elements */
}
.theme-scope[data-theme=groq] .font-mono,
.theme-scope[data-theme=groq] code, .theme-scope[data-theme=groq] pre, .theme-scope[data-theme=groq] kbd, .theme-scope[data-theme=groq] samp, .theme-scope[data-theme=groq] tt,
.theme-scope[data-theme=groq] input[style*=font-mono],
.theme-scope[data-theme=groq] textarea[style*=font-mono],
.theme-scope[data-theme=groq] [style*="font-family: var(--font-mono"],
.theme-scope[data-theme=groq] *[style*="var(--font-mono"] {
  font-weight: 400 !important;
}
.theme-scope[data-theme=groq] {
  /* ===================================
     Groq Core Color Palette
     Base colors from the provided palette
     =================================== */
  /* Core Oranges (Primary Brand Colors) - Full Scale */
  --groq-orange-50: #fff5e5;
  --groq-orange-100: #ffe8cc;
  --groq-orange-200: #ffd1a3;
  --groq-orange-300: #ffb973;
  --groq-orange-400: #fe9e20;
  --groq-orange-500: #f48b0a;
  --groq-orange-600: #f43e01; /* Primary Brand Color */
  --groq-orange-700: #c23101;
  --groq-orange-800: #9a2701;
  --groq-orange-900: #731d00;
  --groq-orange-950: #4d1300;
  /* Core Grays (Neutral Palette) - matches original Groq brand */
  --groq-gray-50: #f9f9f8; /* Lightest background */
  --groq-gray-100: #f3f3ee; /* Nav bg, lighter section bg */
  --groq-gray-200: #e8e8e0; /* Hover states */
  --groq-gray-300: #cecebf; /* Borders */
  --groq-gray-400: #9f9f92; /* Muted elements */
  --groq-gray-500: #69695d; /* Secondary text */
  --groq-gray-600: #4e4e45; /* Darker text */
  --groq-gray-700: #2d2f33; /* Card text, secondary text */
  --groq-gray-800: #26292e; /* Primary text */
  --groq-gray-900: #1a1c1f; /* Dark bg */
  --groq-gray-950: #0f1011; /* Darkest */
  /* Pure Black & White */
  --groq-black: #000000;
  --groq-white: #ffffff;
  /* ===================================
     Groq Extended Color Palette
     Additional colors for variety
     =================================== */
  /* Yellow Tones - Full Scale */
  --groq-yellow-50: #fffef0;
  --groq-yellow-100: #fefdc0;
  --groq-yellow-200: #f4fd90;
  --groq-yellow-300: #fdeb20;
  --groq-yellow-400: #f0dc00;
  --groq-yellow-500: #e6d000;
  --groq-yellow-600: #d4be00;
  --groq-yellow-700: #c6b802;
  --groq-yellow-800: #9a8f02;
  --groq-yellow-900: #706801;
  --groq-yellow-950: #4a4501;
  /* Green Tones - Full Scale */
  --groq-green-50: #e8fff5;
  --groq-green-100: #c5ffea;
  --groq-green-200: #a9ffdb;
  --groq-green-300: #10e68d;
  --groq-green-400: #0dd97f;
  --groq-green-500: #0dcc7a;
  --groq-green-600: #0aab66;
  --groq-green-700: #018b01;
  --groq-green-800: #016b01;
  --groq-green-900: #015001;
  --groq-green-950: #003500;
  /* Gold Tones */
  --groq-gold-300: #c6b802;
  /* Blue Tones - Full Scale */
  --groq-blue-50: #e8f6ff;
  --groq-blue-100: #d0edfe;
  --groq-blue-200: #bfe4fc;
  --groq-blue-300: #5fc0ff;
  --groq-blue-400: #30a8f0;
  --groq-blue-500: #0082a0;
  --groq-blue-600: #006d87;
  --groq-blue-700: #005870;
  --groq-blue-800: #004559;
  --groq-blue-900: #003445;
  --groq-blue-950: #002330;
  /* Purple Tones - Full Scale */
  --groq-purple-50: #f8f5fd;
  --groq-purple-100: #f0eafb;
  --groq-purple-200: #e3dcf8;
  --groq-purple-300: #d377fd;
  --groq-purple-400: #b85ce8;
  --groq-purple-500: #683d7f;
  --groq-purple-600: #56326a;
  --groq-purple-700: #452856;
  --groq-purple-800: #351e43;
  --groq-purple-900: #261530;
  --groq-purple-950: #180d1f;
  /* Pink Tones - Full Scale */
  --groq-pink-50: #fff5fd;
  --groq-pink-100: #feeafc;
  --groq-pink-200: #fad8ff;
  --groq-pink-300: #f392dd;
  --groq-pink-400: #f07cd5;
  --groq-pink-500: #ee66ce;
  --groq-pink-600: #d450b5;
  --groq-pink-700: #b03c97;
  --groq-pink-800: #8c2f78;
  --groq-pink-900: #68235a;
  --groq-pink-950: #45173c;
  /* ===================================
     Semantic Color Mapping
     =================================== */
  /* Primary = Groq Orange 600 (main brand color) */
  --color-primary: var(--groq-orange-600);
  --color-primary-hover: var(--groq-orange-700);
  --color-primary-active: var(--groq-orange-800);
  --color-primary-dark: var(--groq-orange-800);
  --color-primary-light: var(--groq-orange-200);
  --color-primary-lighter: var(--groq-orange-100);
  --color-primary-lightest: var(--groq-orange-50);
  --color-primary-ring: rgba(244, 62, 1, 0.2);
  /* Accent = Lighter Orange for variety */
  --color-accent: var(--groq-orange-400);
  --color-accent-hover: var(--groq-orange-600);
  --color-accent-light: var(--groq-orange-300);
  /* CTA uses main brand color */
  --color-cta: var(--groq-orange-600);
  --color-cta-hover: var(--groq-orange-700);
  /* Text Colors */
  --color-text-primary: var(--groq-gray-800); /* #2d2f33 - Main body text */
  --color-text-secondary: var(--groq-gray-700); /* #655852 - Card text */
  --color-text-muted: var(--groq-gray-600); /* #766f6b - Nav text, lighter */
  --color-text-neutral: var(--groq-gray-700);
  --color-text-neutral-dark: var(--groq-gray-950); /* #1e1e1e - Darkest text */
  --color-text-on-dark: var(--groq-gray-50); /* #fefefe - Light text on dark bg */
  --color-text-on-dark-muted: rgba(206, 206, 191, 0.85);
  /* ===================================
     Background Colors
     Console (App) and Marketing variations
     =================================== */
  /* Base backgrounds */
  --color-bg-primary: var(--groq-white); /* #ffffff - Pure white */
  --color-bg-secondary: var(--groq-gray-200); /* #fefefe - Card background */
  --color-bg-muted: var(--groq-gray-100); /* #fafafa - Console page bg */
  --color-bg-light: var(--groq-gray-100); /* #fafafa - Light sections */
  --color-bg-dark: var(--groq-gray-900); /* #272b2c - Dark bg */
  --color-bg-hover: var(--groq-gray-200); /* #f3f3ee - Hover state */
  /* Console (App) backgrounds */
  --color-bg-card: var(--groq-gray-50); /* #fefefe - White cards */
  --color-bg-page: var(--groq-gray-100); /* #fafafa - Console page bg */
  /* Marketing backgrounds */
  --color-bg-nav: var(--groq-gray-200); /* #f3f3ee - Nav background */
  --color-bg-hero: var(--groq-gray-300); /* #edede5 - Hero sections */
  --color-bg-section: var(--groq-gray-200); /* #f3f3ee - Light sections */
  --color-bg-section-alt: var(--groq-gray-400); /* #e8e8de - Gray cards */
  /* Borders */
  --color-border: var(--groq-gray-400); /* #e8e8de - Default border */
  --color-border-light: var(--groq-gray-500); /* #cecebf - Light border */
  --color-border-tab: var(--groq-gray-500);
  /* Semantic Colors */
  --color-success: #22c55e;
  --color-success-light: #dcfce7;
  --color-success-dark: #166534;
  --color-success-text: var(--groq-green-50); /* light green text on darkish green for better contrast */
  --color-warning: #f59e0b;
  --color-warning-light: #fef3c7;
  --color-warning-dark: #92400e;
  --color-warning-text: #ffffff;
  --color-danger: #ef4444;
  --color-danger-light: #fee2e2;
  --color-danger-dark: #b91c1c;
  --color-danger-text: #ffffff;
  --color-info: #0ea5e9;
  --color-info-light: #e0f2fe;
  --color-info-dark: #075985;
  --color-info-text: #ffffff;
  --color-neutral-text: #ffffff;
  /* Primary text (on primary background) */
  --color-primary-text: var(--color-text-on-dark);
  /* Utility Colors */
  --color-white: var(--groq-white);
  --color-gray-300: var(--groq-gray-300);
  --color-gray-400: var(--groq-gray-400);
  /* Form Controls (Checkbox, Radio, Toggle) */
  --color-control-border: var(--color-border);
  --color-control-border-hover: var(--groq-orange-400);
  --color-control-bg: var(--color-bg-primary);
  --color-control-bg-hover: var(--groq-orange-50, #fff5e5);
  --color-control-checked: var(--groq-orange-600);
  --color-control-checked-hover: var(--groq-orange-700);
  --color-control-checked-border: var(--groq-orange-600);
  --color-control-checkmark: #ffffff;
  --color-control-ring: rgba(244, 62, 1, 0.15);
  --color-toggle-bg: var(--groq-gray-500);
  --color-toggle-bg-checked: var(--groq-orange-600);
  --color-toggle-knob: #ffffff;
  /* Choice Card Colors */
  --color-choice-border: var(--color-border);
  --color-choice-border-hover: var(--groq-orange-400);
  --color-choice-border-checked: var(--groq-orange-600);
  --color-choice-bg: transparent;
  --color-choice-bg-hover: var(--color-bg-hover);
  --color-choice-bg-checked: rgba(244, 62, 1, 0.03);
  --color-choice-ring: var(--groq-orange-600);
  /* ===================================
     Border Radius - Modern, slightly rounded
     =================================== */
  --radius-sm: 0.25rem; /* 4px */
  --radius-md: 0.375rem; /* 6px */
  --radius-md: 0.5rem; /* 8px */
  --radius-xl: 0.75rem; /* 12px */
  --radius-2xl: 1rem; /* 16px */
  --radius-full: 9999px;
  /* Component-specific radii */
  --radius-button: 0.5rem; /* 8px - Modern, clean buttons */
  --radius-input: 0.375rem; /* 6px */
  --input-padding-y: 0.75rem;
  --input-padding-x: 1rem;
  --radius-card: 0.5rem; /* 8px */
  --radius-badge: 0.25rem; /* 4px - Subtle rounded badges */
  --radius-dropdown: 0.5rem; /* 8px */
  --radius-tab: 0.375rem; /* 6px */
  --radius-toast: 0.5rem; /* 8px */
  /* ===================================
     Shadows - Sharp and modern
     =================================== */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.15);
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-dropdown: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-toast: 0 10px 15px rgba(0, 0, 0, 0.1);
  /* ===================================
     Typography
     =================================== */
}
.theme-scope[data-theme=groq] h1, .theme-scope[data-theme=groq] h2, .theme-scope[data-theme=groq] h3, .theme-scope[data-theme=groq] h4, .theme-scope[data-theme=groq] h5, .theme-scope[data-theme=groq] h6,
.theme-scope[data-theme=groq] .text-h1, .theme-scope[data-theme=groq] .text-h2, .theme-scope[data-theme=groq] .text-h3 {
  font-family: var(--font-family-sans);
  font-weight: 700;
  color: var(--color-text-primary);
  letter-spacing: -0.025em;
  line-height: 1.2;
}
.theme-scope[data-theme=groq] h1, .theme-scope[data-theme=groq] .text-h1 {
  font-size: 2.5rem;
  font-weight: 800;
}
.theme-scope[data-theme=groq] h2, .theme-scope[data-theme=groq] .text-h2 {
  font-size: 1.875rem;
  font-weight: 700;
}
.theme-scope[data-theme=groq] h3, .theme-scope[data-theme=groq] .text-h3 {
  font-size: 1.25rem;
  font-weight: 600;
}
.theme-scope[data-theme=groq] :where(a:not([role=button]):not([class*=btn]):not([class*=button])), .theme-scope[data-theme=groq] .link {
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}
.theme-scope[data-theme=groq] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover, .theme-scope[data-theme=groq] .link:hover {
  color: var(--color-primary-hover);
  text-decoration: none;
}
.theme-scope[data-theme=groq] .btn-primary {
  background-color: var(--color-primary);
  color: var(--color-primary-text);
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  font-weight: 600;
  /* font-size inherited from base --text-button variable */
  transition: all 0.2s ease;
}
.theme-scope[data-theme=groq] .btn-primary:hover {
  background-color: var(--color-primary-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.theme-scope[data-theme=groq] .btn-primary:active {
  transform: translateY(0);
}
.theme-scope[data-theme=groq] .btn-secondary {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-button);
  font-weight: 500;
  transition: all 0.2s ease;
}
.theme-scope[data-theme=groq] .btn-secondary:hover {
  background-color: var(--color-bg-hover);
  border-color: var(--groq-orange-600);
  color: var(--groq-orange-600);
}
.theme-scope[data-theme=groq] .btn-tertiary {
  background-color: transparent;
  color: var(--color-text-neutral);
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  font-weight: 500;
  transition: all 0.2s ease;
}
.theme-scope[data-theme=groq] .btn-tertiary:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope[data-theme=groq] .btn-ghost {
  background-color: transparent;
  color: var(--color-text-muted);
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  font-weight: 500;
  padding: var(--space-btn-y) var(--space-btn-x);
  transition: all 0.2s ease;
}
.theme-scope[data-theme=groq] .btn-ghost:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-neutral);
}
.theme-scope[data-theme=groq] .btn-accent, .theme-scope[data-theme=groq] .btn-cta {
  background-color: var(--color-accent);
  color: var(--color-primary-text);
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  font-weight: 600;
  padding: var(--space-btn-y) var(--space-btn-x);
  /* font-size inherited from base --text-button variable */
  transition: all 0.2s ease;
}
.theme-scope[data-theme=groq] .btn-accent:hover, .theme-scope[data-theme=groq] .btn-cta:hover {
  background-color: var(--color-accent-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.theme-scope[data-theme=groq] .btn-danger {
  background-color: var(--color-danger);
  color: var(--color-danger-text);
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  font-weight: 600;
}
.theme-scope[data-theme=groq] .btn-danger:hover {
  background-color: var(--color-danger-dark);
}
.theme-scope[data-theme=groq] .btn-success {
  background-color: var(--color-success);
  color: var(--color-success-text);
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  font-weight: 600;
}
.theme-scope[data-theme=groq] .btn-success:hover {
  background-color: var(--color-success-dark);
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=groq] .card {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  transition: all 0.2s ease;
}
.theme-scope[data-theme=groq] .card:hover {
  border-color: var(--color-border-tab);
  box-shadow: var(--shadow-md);
}
.theme-scope[data-theme=groq] .card-title {
  font-weight: 600;
  color: var(--color-text-primary);
  font-size: 1.125rem;
}
.theme-scope[data-theme=groq] input[type=text],
.theme-scope[data-theme=groq] input[type=email],
.theme-scope[data-theme=groq] input[type=password],
.theme-scope[data-theme=groq] input[type=number],
.theme-scope[data-theme=groq] input[type=url],
.theme-scope[data-theme=groq] input[type=search],
.theme-scope[data-theme=groq] input[type=tel],
.theme-scope[data-theme=groq] textarea:not(.inputarea),
.theme-scope[data-theme=groq] .form-input {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  font-family: var(--font-family-sans);
  font-size: 1rem;
  color: var(--color-text-primary);
  transition: all 0.2s ease;
}
.theme-scope[data-theme=groq] input[type=text]::placeholder,
.theme-scope[data-theme=groq] input[type=email]::placeholder,
.theme-scope[data-theme=groq] input[type=password]::placeholder,
.theme-scope[data-theme=groq] input[type=number]::placeholder,
.theme-scope[data-theme=groq] input[type=url]::placeholder,
.theme-scope[data-theme=groq] input[type=search]::placeholder,
.theme-scope[data-theme=groq] input[type=tel]::placeholder,
.theme-scope[data-theme=groq] textarea:not(.inputarea)::placeholder,
.theme-scope[data-theme=groq] .form-input::placeholder {
  color: var(--color-text-muted);
}
.theme-scope[data-theme=groq] input[type=text]:focus,
.theme-scope[data-theme=groq] input[type=email]:focus,
.theme-scope[data-theme=groq] input[type=password]:focus,
.theme-scope[data-theme=groq] input[type=number]:focus,
.theme-scope[data-theme=groq] input[type=url]:focus,
.theme-scope[data-theme=groq] input[type=search]:focus,
.theme-scope[data-theme=groq] input[type=tel]:focus,
.theme-scope[data-theme=groq] textarea:not(.inputarea):focus,
.theme-scope[data-theme=groq] .form-input:focus {
  background-color: var(--color-bg-primary);
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 3px var(--color-primary-ring);
}
.theme-scope[data-theme=groq] select, .theme-scope[data-theme=groq] .form-select {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  font-family: var(--font-family-sans);
  font-size: 1rem;
  color: var(--color-text-primary);
}
.theme-scope[data-theme=groq] select:focus, .theme-scope[data-theme=groq] .form-select:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 3px var(--color-primary-ring);
}
.theme-scope[data-theme=groq] .form-label {
  color: var(--color-text-primary);
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  display: block;
}
.theme-scope[data-theme=groq] .badge {
  border-radius: var(--radius-badge);
  font-weight: 600;
  font-size: 0.75rem;
  padding: 0.25rem 0.75rem;
}
.theme-scope[data-theme=groq] .badge-success {
  background-color: var(--color-success-light);
  color: var(--color-success-dark);
}
.theme-scope[data-theme=groq] .badge-danger {
  background-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}
.theme-scope[data-theme=groq] .badge-warning {
  background-color: var(--color-warning-light);
  color: var(--color-warning-dark);
}
.theme-scope[data-theme=groq] .badge-info {
  background-color: var(--color-info-light);
  color: var(--color-info-dark);
}
.theme-scope[data-theme=groq] .tabs-list {
  background-color: transparent;
  border-bottom: 2px solid var(--color-border);
  padding: 0;
}
.theme-scope[data-theme=groq] .tab-trigger {
  border-radius: 0;
  font-weight: 500;
  color: var(--color-text-muted);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0.75rem 1rem;
  margin-bottom: -2px;
  transition: all 0.15s ease;
}
.theme-scope[data-theme=groq] .tab-trigger:hover:not(.active):not([data-state=active]) {
  color: var(--color-text-primary);
  border-bottom-color: var(--color-border-tab);
}
.theme-scope[data-theme=groq] .tab-trigger.active, .theme-scope[data-theme=groq] .tab-trigger[data-state=active] {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
  font-weight: 600;
}
.theme-scope[data-theme=groq] .dropdown-menu {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-dropdown);
  box-shadow: var(--shadow-dropdown);
  padding: 0.5rem;
}
.theme-scope[data-theme=groq] .dropdown-item {
  border-radius: var(--radius-sm);
  color: var(--color-text-neutral);
  font-weight: 500;
  padding: 0.625rem 0.75rem;
  transition: all 0.15s ease;
}
.theme-scope[data-theme=groq] .dropdown-item:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope[data-theme=groq] .alert, .theme-scope[data-theme=groq] .callout {
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  border: 1px solid;
}
.theme-scope[data-theme=groq] .alert-success, .theme-scope[data-theme=groq] .callout-success {
  background-color: var(--color-success-light);
  border-color: var(--color-success);
  color: var(--color-success-dark);
}
.theme-scope[data-theme=groq] .alert-danger, .theme-scope[data-theme=groq] .callout-danger, .theme-scope[data-theme=groq] .alert-destructive {
  background-color: var(--color-danger-light);
  border-color: var(--color-danger);
  color: var(--color-danger-dark);
}
.theme-scope[data-theme=groq] .alert-warning, .theme-scope[data-theme=groq] .callout-warning {
  background-color: var(--color-warning-light);
  border-color: var(--color-warning);
  color: var(--color-warning-dark);
}
.theme-scope[data-theme=groq] .alert-info, .theme-scope[data-theme=groq] .callout-info {
  background-color: var(--color-info-light);
  border-color: var(--color-info);
  color: var(--color-info-dark);
}
.theme-scope[data-theme=groq] .toast {
  background-color: var(--color-bg-primary);
  border-radius: var(--radius-toast);
  box-shadow: var(--shadow-toast);
  border: 1px solid var(--color-border);
}
.theme-scope[data-theme=groq] .avatar {
  border-radius: var(--radius-full);
  border: 2px solid var(--color-bg-primary);
  box-shadow: var(--shadow-sm);
}
.theme-scope[data-theme=groq] table {
  border-radius: var(--radius-md);
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--color-border);
}
.theme-scope[data-theme=groq] th {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  font-weight: 600;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.theme-scope[data-theme=groq] th:last-child {
  border-right: none;
}
.theme-scope[data-theme=groq] td {
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.theme-scope[data-theme=groq] td:last-child {
  border-right: none;
}
.theme-scope[data-theme=groq] thead tr:first-child th:first-child {
  border-top-left-radius: var(--radius-md);
}
.theme-scope[data-theme=groq] thead tr:first-child th:last-child {
  border-top-right-radius: var(--radius-md);
}
.theme-scope[data-theme=groq] tbody tr:last-child td:first-child {
  border-bottom-left-radius: var(--radius-md);
}
.theme-scope[data-theme=groq] tbody tr:last-child td:last-child {
  border-bottom-right-radius: var(--radius-md);
}
.theme-scope[data-theme=groq] .accordion-group {
  border-radius: var(--radius-md);
  overflow: hidden;
}
.theme-scope[data-theme=groq] .accordion-button {
  font-weight: 600;
  color: var(--color-text-primary);
}
.theme-scope[data-theme=groq] .accordion-button:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope[data-theme=groq] .toggle-group {
  background-color: var(--color-bg-muted);
  border-radius: var(--radius-md);
  padding: 0.25rem;
}
.theme-scope[data-theme=groq] .toggle-group-item {
  color: var(--color-text-muted);
  font-weight: 500;
}
.theme-scope[data-theme=groq] .toggle-group-item:hover:not(.active):not([data-state=on]) {
  color: var(--color-text-primary);
}
.theme-scope[data-theme=groq] .toggle-group-item.active, .theme-scope[data-theme=groq] .toggle-group-item[data-state=on] {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  box-shadow: var(--shadow-sm);
}
.theme-scope[data-theme=groq] .text-accent {
  color: var(--color-accent);
}
.theme-scope[data-theme=groq] .text-primary {
  color: var(--color-text-primary);
}
.theme-scope[data-theme=groq] .text-muted {
  color: var(--color-text-muted);
}
.theme-scope[data-theme=groq] .text-on-dark {
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=groq] .bg-muted {
  background-color: var(--color-bg-muted);
}
.theme-scope[data-theme=groq] .bg-secondary {
  background-color: var(--color-bg-secondary);
}
.theme-scope[data-theme=groq] .bg-dark {
  background-color: var(--color-bg-dark);
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=groq] .border-accent {
  border-color: var(--color-accent);
}
.theme-scope[data-theme=groq] .border-primary {
  border-color: var(--color-primary);
}
.theme-scope[data-theme=groq] .text-groq-orange {
  color: var(--groq-orange-400);
}
.theme-scope[data-theme=groq] .bg-groq-orange {
  background-color: var(--groq-orange-400);
}
.theme-scope[data-theme=groq] .border-groq-orange {
  border-color: var(--groq-orange-400);
}
.theme-scope[data-theme=groq] .text-groq-yellow {
  color: var(--groq-yellow-300);
}
.theme-scope[data-theme=groq] .bg-groq-yellow {
  background-color: var(--groq-yellow-300);
}
.theme-scope[data-theme=groq] .border-groq-yellow {
  border-color: var(--groq-yellow-300);
}
.theme-scope[data-theme=groq] .text-groq-green {
  color: var(--groq-green-300);
}
.theme-scope[data-theme=groq] .bg-groq-green {
  background-color: var(--groq-green-300);
}
.theme-scope[data-theme=groq] .border-groq-green {
  border-color: var(--groq-green-300);
}
.theme-scope[data-theme=groq] .text-groq-blue {
  color: var(--groq-blue-300);
}
.theme-scope[data-theme=groq] .bg-groq-blue {
  background-color: var(--groq-blue-300);
}
.theme-scope[data-theme=groq] .border-groq-blue {
  border-color: var(--groq-blue-300);
}
.theme-scope[data-theme=groq] .text-groq-purple {
  color: var(--groq-purple-300);
}
.theme-scope[data-theme=groq] .bg-groq-purple {
  background-color: var(--groq-purple-300);
}
.theme-scope[data-theme=groq] .border-groq-purple {
  border-color: var(--groq-purple-300);
}
.theme-scope[data-theme=groq] .text-groq-pink {
  color: var(--groq-pink-300);
}
.theme-scope[data-theme=groq] .bg-groq-pink {
  background-color: var(--groq-pink-300);
}
.theme-scope[data-theme=groq] .border-groq-pink {
  border-color: var(--groq-pink-300);
}

/* ===================================
   Groq Dark Mode
   Vibrant orange on dark backgrounds
   =================================== */
/* Match both `.dark` (legacy) and `data-variant="dark"` (current).
   The playground swaps variants via data-variant; without these
   selectors the hand-written dark overrides below never fire and the
   theme falls back to base (light) values. */
.theme-scope[data-theme=groq].dark,
.theme-scope[data-theme=groq][data-variant=dark],
.dark .theme-scope[data-theme=groq],
[data-variant=dark] .theme-scope[data-theme=groq] {
  /* ===================================
     Base Dark Theme Override
     =================================== */
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  /* ===================================
     Groq Dark Mode Semantic Colors
     =================================== */
  /* Primary = Groq Orange (brighter for dark mode) */
  --color-primary: var(--groq-orange-600);
  --color-primary-hover: var(--groq-orange-500);
  --color-primary-active: var(--groq-orange-400);
  --color-primary-dark: var(--groq-orange-300);
  --color-primary-light: rgba(244, 62, 1, 0.15);
  --color-primary-lighter: rgba(244, 62, 1, 0.1);
  --color-primary-lightest: rgba(244, 62, 1, 0.05);
  --color-primary-ring: rgba(254, 158, 32, 0.35);
  --color-primary-text: var(--groq-gray-950);
  /* Accent = Lighter Orange for variety */
  --color-accent: var(--groq-orange-300);
  --color-accent-hover: var(--groq-orange-400);
  --color-accent-light: var(--groq-orange-200);
  /* CTA uses main brand color */
  --color-cta: var(--groq-orange-400);
  --color-cta-hover: var(--groq-orange-500);
  /* Text Colors - Light on dark */
  --color-text-primary: var(--groq-gray-50);
  --color-text-secondary: var(--groq-gray-100);
  --color-text-muted: var(--groq-gray-400);
  --color-text-neutral: var(--groq-gray-300);
  --color-text-neutral-dark: var(--groq-gray-100);
  --color-text-on-dark: var(--groq-gray-900);
  --color-text-on-dark-muted: rgba(26, 28, 31, 0.85);
  /* ===================================
     Background Colors - Dark
     =================================== */
  /* Base backgrounds */
  --color-bg-primary: var(--groq-gray-900);
  --color-bg-secondary: var(--groq-gray-800);
  --color-bg-muted: var(--groq-gray-700);
  --color-bg-light: var(--groq-gray-800);
  --color-bg-dark: var(--groq-gray-50);
  --color-bg-hover: var(--groq-gray-700);
  /* Console (App) backgrounds */
  --color-bg-card: var(--groq-gray-800);
  --color-bg-page: var(--groq-gray-900);
  /* Marketing backgrounds */
  --color-bg-nav: var(--groq-gray-800);
  --color-bg-hero: var(--groq-gray-900);
  --color-bg-section: var(--groq-gray-800);
  --color-bg-section-alt: var(--groq-gray-700);
  /* Borders - subtle on dark */
  --color-border: var(--groq-gray-700);
  --color-border-light: var(--groq-gray-600);
  --color-border-tab: var(--groq-gray-600);
  /* Semantic Colors - Brighter for dark mode */
  --color-success: var(--groq-green-400);
  --color-success-light: rgba(13, 217, 127, 0.15);
  --color-success-dark: var(--groq-green-300);
  --color-success-text: var(--groq-gray-950);
  --color-warning: var(--groq-yellow-300);
  --color-warning-light: rgba(253, 235, 32, 0.15);
  --color-warning-dark: var(--groq-yellow-200);
  --color-warning-text: var(--groq-gray-950);
  --color-danger: #ef4444;
  --color-danger-light: rgba(239, 68, 68, 0.15);
  --color-danger-dark: #fca5a5;
  --color-danger-text: #ffffff;
  --color-info: var(--groq-blue-300);
  --color-info-light: rgba(95, 192, 255, 0.15);
  --color-info-dark: var(--groq-blue-200);
  --color-info-text: var(--groq-gray-950);
  --color-neutral-text: var(--groq-gray-950);
  /* Utility Colors */
  --color-white: var(--groq-gray-900);
  --color-gray-300: var(--groq-gray-600);
  --color-gray-400: var(--groq-gray-500);
  /* Form Controls - Dark Mode */
  --color-control-border: var(--groq-gray-600);
  --color-control-border-hover: var(--groq-orange-400);
  --color-control-bg: var(--groq-gray-800);
  --color-control-bg-hover: var(--groq-gray-700);
  --color-control-checked: var(--groq-orange-400);
  --color-control-checked-hover: var(--groq-orange-500);
  --color-control-checked-border: var(--groq-orange-400);
  --color-control-checkmark: var(--groq-gray-950);
  --color-control-ring: rgba(254, 158, 32, 0.25);
  --color-toggle-bg: var(--groq-gray-600);
  --color-toggle-bg-checked: var(--groq-orange-400);
  --color-toggle-knob: var(--groq-gray-950);
  /* Choice Card Colors - Dark Mode */
  --color-choice-border: var(--groq-gray-600);
  --color-choice-border-hover: var(--groq-orange-400);
  --color-choice-border-checked: var(--groq-orange-400);
  --color-choice-bg: transparent;
  --color-choice-bg-hover: var(--groq-gray-700);
  --color-choice-bg-checked: rgba(254, 158, 32, 0.08);
  --color-choice-ring: var(--groq-orange-400);
  /* ===================================
     Shadows - Darker, more subtle
     =================================== */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.45);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.5);
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-dropdown: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-toast: 0 10px 15px rgba(0, 0, 0, 0.4);
  /* ===================================
     Typography - Dark Mode
     =================================== */
}
.theme-scope[data-theme=groq].dark h1, .theme-scope[data-theme=groq].dark h2, .theme-scope[data-theme=groq].dark h3, .theme-scope[data-theme=groq].dark h4, .theme-scope[data-theme=groq].dark h5, .theme-scope[data-theme=groq].dark h6,
.theme-scope[data-theme=groq].dark .text-h1, .theme-scope[data-theme=groq].dark .text-h2, .theme-scope[data-theme=groq].dark .text-h3,
.theme-scope[data-theme=groq][data-variant=dark] h1,
.theme-scope[data-theme=groq][data-variant=dark] h2,
.theme-scope[data-theme=groq][data-variant=dark] h3,
.theme-scope[data-theme=groq][data-variant=dark] h4,
.theme-scope[data-theme=groq][data-variant=dark] h5,
.theme-scope[data-theme=groq][data-variant=dark] h6,
.theme-scope[data-theme=groq][data-variant=dark] .text-h1,
.theme-scope[data-theme=groq][data-variant=dark] .text-h2,
.theme-scope[data-theme=groq][data-variant=dark] .text-h3,
.dark .theme-scope[data-theme=groq] h1,
.dark .theme-scope[data-theme=groq] h2,
.dark .theme-scope[data-theme=groq] h3,
.dark .theme-scope[data-theme=groq] h4,
.dark .theme-scope[data-theme=groq] h5,
.dark .theme-scope[data-theme=groq] h6,
.dark .theme-scope[data-theme=groq] .text-h1,
.dark .theme-scope[data-theme=groq] .text-h2,
.dark .theme-scope[data-theme=groq] .text-h3,
[data-variant=dark] .theme-scope[data-theme=groq] h1,
[data-variant=dark] .theme-scope[data-theme=groq] h2,
[data-variant=dark] .theme-scope[data-theme=groq] h3,
[data-variant=dark] .theme-scope[data-theme=groq] h4,
[data-variant=dark] .theme-scope[data-theme=groq] h5,
[data-variant=dark] .theme-scope[data-theme=groq] h6,
[data-variant=dark] .theme-scope[data-theme=groq] .text-h1,
[data-variant=dark] .theme-scope[data-theme=groq] .text-h2,
[data-variant=dark] .theme-scope[data-theme=groq] .text-h3 {
  color: var(--groq-gray-50);
}
.theme-scope[data-theme=groq].dark :where(a:not([role=button]):not([class*=btn]):not([class*=button])), .theme-scope[data-theme=groq].dark .link,
.theme-scope[data-theme=groq][data-variant=dark] :where(a:not([role=button]):not([class*=btn]):not([class*=button])),
.theme-scope[data-theme=groq][data-variant=dark] .link,
.dark .theme-scope[data-theme=groq] :where(a:not([role=button]):not([class*=btn]):not([class*=button])),
.dark .theme-scope[data-theme=groq] .link,
[data-variant=dark] .theme-scope[data-theme=groq] :where(a:not([role=button]):not([class*=btn]):not([class*=button])),
[data-variant=dark] .theme-scope[data-theme=groq] .link {
  color: var(--groq-orange-400);
}
.theme-scope[data-theme=groq].dark :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover, .theme-scope[data-theme=groq].dark .link:hover,
.theme-scope[data-theme=groq][data-variant=dark] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover,
.theme-scope[data-theme=groq][data-variant=dark] .link:hover,
.dark .theme-scope[data-theme=groq] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover,
.dark .theme-scope[data-theme=groq] .link:hover,
[data-variant=dark] .theme-scope[data-theme=groq] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover,
[data-variant=dark] .theme-scope[data-theme=groq] .link:hover {
  color: var(--groq-orange-300);
}
.theme-scope[data-theme=groq].dark .text-groq-orange,
.theme-scope[data-theme=groq][data-variant=dark] .text-groq-orange,
.dark .theme-scope[data-theme=groq] .text-groq-orange,
[data-variant=dark] .theme-scope[data-theme=groq] .text-groq-orange {
  color: var(--groq-orange-300);
}
.theme-scope[data-theme=groq].dark .bg-groq-orange,
.theme-scope[data-theme=groq][data-variant=dark] .bg-groq-orange,
.dark .theme-scope[data-theme=groq] .bg-groq-orange,
[data-variant=dark] .theme-scope[data-theme=groq] .bg-groq-orange {
  background-color: var(--groq-orange-500);
}
.theme-scope[data-theme=groq].dark .border-groq-orange,
.theme-scope[data-theme=groq][data-variant=dark] .border-groq-orange,
.dark .theme-scope[data-theme=groq] .border-groq-orange,
[data-variant=dark] .theme-scope[data-theme=groq] .border-groq-orange {
  border-color: var(--groq-orange-400);
}
.theme-scope[data-theme=groq].dark .text-groq-yellow,
.theme-scope[data-theme=groq][data-variant=dark] .text-groq-yellow,
.dark .theme-scope[data-theme=groq] .text-groq-yellow,
[data-variant=dark] .theme-scope[data-theme=groq] .text-groq-yellow {
  color: var(--groq-yellow-200);
}
.theme-scope[data-theme=groq].dark .bg-groq-yellow,
.theme-scope[data-theme=groq][data-variant=dark] .bg-groq-yellow,
.dark .theme-scope[data-theme=groq] .bg-groq-yellow,
[data-variant=dark] .theme-scope[data-theme=groq] .bg-groq-yellow {
  background-color: var(--groq-yellow-400);
}
.theme-scope[data-theme=groq].dark .border-groq-yellow,
.theme-scope[data-theme=groq][data-variant=dark] .border-groq-yellow,
.dark .theme-scope[data-theme=groq] .border-groq-yellow,
[data-variant=dark] .theme-scope[data-theme=groq] .border-groq-yellow {
  border-color: var(--groq-yellow-300);
}
.theme-scope[data-theme=groq].dark .text-groq-green,
.theme-scope[data-theme=groq][data-variant=dark] .text-groq-green,
.dark .theme-scope[data-theme=groq] .text-groq-green,
[data-variant=dark] .theme-scope[data-theme=groq] .text-groq-green {
  color: var(--groq-green-300);
}
.theme-scope[data-theme=groq].dark .bg-groq-green,
.theme-scope[data-theme=groq][data-variant=dark] .bg-groq-green,
.dark .theme-scope[data-theme=groq] .bg-groq-green,
[data-variant=dark] .theme-scope[data-theme=groq] .bg-groq-green {
  background-color: var(--groq-green-400);
}
.theme-scope[data-theme=groq].dark .border-groq-green,
.theme-scope[data-theme=groq][data-variant=dark] .border-groq-green,
.dark .theme-scope[data-theme=groq] .border-groq-green,
[data-variant=dark] .theme-scope[data-theme=groq] .border-groq-green {
  border-color: var(--groq-green-300);
}
.theme-scope[data-theme=groq].dark .text-groq-blue,
.theme-scope[data-theme=groq][data-variant=dark] .text-groq-blue,
.dark .theme-scope[data-theme=groq] .text-groq-blue,
[data-variant=dark] .theme-scope[data-theme=groq] .text-groq-blue {
  color: var(--groq-blue-200);
}
.theme-scope[data-theme=groq].dark .bg-groq-blue,
.theme-scope[data-theme=groq][data-variant=dark] .bg-groq-blue,
.dark .theme-scope[data-theme=groq] .bg-groq-blue,
[data-variant=dark] .theme-scope[data-theme=groq] .bg-groq-blue {
  background-color: var(--groq-blue-400);
}
.theme-scope[data-theme=groq].dark .border-groq-blue,
.theme-scope[data-theme=groq][data-variant=dark] .border-groq-blue,
.dark .theme-scope[data-theme=groq] .border-groq-blue,
[data-variant=dark] .theme-scope[data-theme=groq] .border-groq-blue {
  border-color: var(--groq-blue-300);
}
.theme-scope[data-theme=groq].dark .text-groq-purple,
.theme-scope[data-theme=groq][data-variant=dark] .text-groq-purple,
.dark .theme-scope[data-theme=groq] .text-groq-purple,
[data-variant=dark] .theme-scope[data-theme=groq] .text-groq-purple {
  color: var(--groq-purple-300);
}
.theme-scope[data-theme=groq].dark .bg-groq-purple,
.theme-scope[data-theme=groq][data-variant=dark] .bg-groq-purple,
.dark .theme-scope[data-theme=groq] .bg-groq-purple,
[data-variant=dark] .theme-scope[data-theme=groq] .bg-groq-purple {
  background-color: var(--groq-purple-400);
}
.theme-scope[data-theme=groq].dark .border-groq-purple,
.theme-scope[data-theme=groq][data-variant=dark] .border-groq-purple,
.dark .theme-scope[data-theme=groq] .border-groq-purple,
[data-variant=dark] .theme-scope[data-theme=groq] .border-groq-purple {
  border-color: var(--groq-purple-300);
}
.theme-scope[data-theme=groq].dark .text-groq-pink,
.theme-scope[data-theme=groq][data-variant=dark] .text-groq-pink,
.dark .theme-scope[data-theme=groq] .text-groq-pink,
[data-variant=dark] .theme-scope[data-theme=groq] .text-groq-pink {
  color: var(--groq-pink-300);
}
.theme-scope[data-theme=groq].dark .bg-groq-pink,
.theme-scope[data-theme=groq][data-variant=dark] .bg-groq-pink,
.dark .theme-scope[data-theme=groq] .bg-groq-pink,
[data-variant=dark] .theme-scope[data-theme=groq] .bg-groq-pink {
  background-color: var(--groq-pink-400);
}
.theme-scope[data-theme=groq].dark .border-groq-pink,
.theme-scope[data-theme=groq][data-variant=dark] .border-groq-pink,
.dark .theme-scope[data-theme=groq] .border-groq-pink,
[data-variant=dark] .theme-scope[data-theme=groq] .border-groq-pink {
  border-color: var(--groq-pink-300);
}
.theme-scope[data-theme=groq].dark .text-primary,
.theme-scope[data-theme=groq][data-variant=dark] .text-primary,
.dark .theme-scope[data-theme=groq] .text-primary,
[data-variant=dark] .theme-scope[data-theme=groq] .text-primary {
  color: var(--groq-gray-50);
}
.theme-scope[data-theme=groq].dark .text-muted,
.theme-scope[data-theme=groq][data-variant=dark] .text-muted,
.dark .theme-scope[data-theme=groq] .text-muted,
[data-variant=dark] .theme-scope[data-theme=groq] .text-muted {
  color: var(--groq-gray-400);
}
.theme-scope[data-theme=groq].dark .text-on-dark,
.theme-scope[data-theme=groq][data-variant=dark] .text-on-dark,
.dark .theme-scope[data-theme=groq] .text-on-dark,
[data-variant=dark] .theme-scope[data-theme=groq] .text-on-dark {
  color: var(--groq-gray-900);
}
.theme-scope[data-theme=groq].dark .bg-muted,
.theme-scope[data-theme=groq][data-variant=dark] .bg-muted,
.dark .theme-scope[data-theme=groq] .bg-muted,
[data-variant=dark] .theme-scope[data-theme=groq] .bg-muted {
  background-color: var(--groq-gray-700);
}
.theme-scope[data-theme=groq].dark .bg-secondary,
.theme-scope[data-theme=groq][data-variant=dark] .bg-secondary,
.dark .theme-scope[data-theme=groq] .bg-secondary,
[data-variant=dark] .theme-scope[data-theme=groq] .bg-secondary {
  background-color: var(--groq-gray-800);
}
.theme-scope[data-theme=groq].dark .bg-dark,
.theme-scope[data-theme=groq][data-variant=dark] .bg-dark,
.dark .theme-scope[data-theme=groq] .bg-dark,
[data-variant=dark] .theme-scope[data-theme=groq] .bg-dark {
  background-color: var(--groq-gray-50);
  color: var(--groq-gray-900);
}

/* ===================================
   helix-db — sniffed scaffold
   Scoped to .theme-scope[data-theme="helix-db"]
   =================================== */
.theme-scope[data-theme=helix-db] {
  --font-heading-weight: 700;
  --font-display-weight: 900;
  --font-control-weight: 700;
}

.theme-scope[data-theme=helix-db]:not(.helix-reference) h1,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .text-display-xl,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .text-display-lg,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .text-display-md,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .text-display-sm,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .preview-brand strong,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .preview-hero h1,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .preview-type-sample,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .preview-headline-card h3,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .preview-stat strong {
  font-weight: 900;
  letter-spacing: -0.025em;
}
.theme-scope[data-theme=helix-db]:not(.helix-reference) h2,
.theme-scope[data-theme=helix-db]:not(.helix-reference) h3,
.theme-scope[data-theme=helix-db]:not(.helix-reference) h4,
.theme-scope[data-theme=helix-db]:not(.helix-reference) h5,
.theme-scope[data-theme=helix-db]:not(.helix-reference) h6,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .module-label,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .preview-module h2,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .preview-module h3,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .preview-label,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .preview-kicker,
.theme-scope[data-theme=helix-db]:not(.helix-reference) .btn,
.theme-scope[data-theme=helix-db]:not(.helix-reference) button,
.theme-scope[data-theme=helix-db]:not(.helix-reference) th {
  letter-spacing: 0.05em;
}
.theme-scope[data-theme=helix-db]:not(.helix-reference) .btn,
.theme-scope[data-theme=helix-db]:not(.helix-reference) button {
  font-weight: 700;
}

/* ===================================
   hex — sniffed scaffold
   Scoped to .theme-scope[data-theme="hex"]
   =================================== */
/* ===================================
   instill-ai — sniffed scaffold
   Scoped to .theme-scope[data-theme="instill-ai"]
   =================================== */
/* ===================================
   Luma Theme - Event Platform Style
   Based on Lu.ma's clean, modern event platform aesthetic
   Font: System UI, Primary: Dark, Accent: Coral Red

   Scoped to `.theme-scope[data-theme="luma"]`.
   =================================== */
.theme-scope[data-theme=luma] {
  /* ===================================
     Base Theme Override
     =================================== */
  --font-family-sans: -apple-system, "system-ui", Inter, Roboto, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-family: var(--font-family-sans);
  /* Defer to tokens, not literals — hardcoded colors block dark-variant
     overrides because literal values win the cascade against var(). */
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  /* ===================================
     Luma Color Palette
     =================================== */
  /* Primary = Dark/Black (main buttons, text) */
  --color-primary: #131517;
  --color-primary-hover: #2a2d30;
  --color-primary-active: #0a0b0c;
  --color-primary-dark: #000000;
  --color-primary-light: #f7f8f9;
  --color-primary-lighter: #f1f5f9;
  --color-primary-lightest: #e2e8f0;
  --color-primary-ring: rgba(19, 21, 23, 0.2);
  /* Accent = Luma Coral/Red (CTAs, highlights, brand) */
  --color-accent: #e54d2e;
  --color-accent-hover: #d4401f;
  --color-accent-light: #ff6b4a;
  /* CTA uses the accent color */
  --color-cta: #e54d2e;
  --color-cta-hover: #d4401f;
  /* Text Colors */
  --color-text-primary: #131517;
  --color-text-secondary: rgba(19, 21, 23, 0.64);
  --color-text-muted: #94a3b8;
  --color-text-neutral: #475569;
  --color-text-neutral-dark: #334155;
  --color-text-on-dark: #ffffff;
  --color-text-on-dark-muted: rgba(255, 255, 255, 0.85);
  /* Backgrounds */
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f8fafc;
  --color-bg-muted: #f1f5f9;
  --color-bg-light: #f7f8f9;
  --color-bg-dark: #131517;
  --color-bg-hover: #e2e8f0;
  /* Borders */
  --color-border: #e2e8f0;
  --color-border-light: #f1f5f9;
  --color-border-tab: #e4e4e7;
  /* Semantic Colors */
  --color-success: #22c55e;
  --color-success-light: #dcfce7;
  --color-success-dark: #166534;
  --color-warning: #f59e0b;
  --color-warning-light: #fef3c7;
  --color-warning-dark: #92400e;
  --color-danger: #ef4444;
  --color-danger-light: #fee2e2;
  --color-danger-dark: #b91c1c;
  --color-info: #0ea5e9;
  --color-info-light: #e0f2fe;
  --color-info-dark: #075985;
  /* Utility Colors */
  --color-white: #ffffff;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  /* ===================================
     Border Radius - Luma uses generous rounding
     =================================== */
  --radius-sm: 0.25rem; /* 4px */
  --radius-md: 0.5rem; /* 8px */
  --radius-lg: 0.75rem; /* 12px */
  --radius-xl: 1rem; /* 16px */
  --radius-2xl: 1.25rem; /* 20px */
  --radius-full: 9999px;
  /* Component-specific radii */
  --radius-button: 0.75rem; /* 12px - Luma uses larger button radii */
  --radius-input: 0.75rem; /* 12px */
  --input-padding-y: 0.75rem;
  --input-padding-x: 1rem;
  --radius-card: 0.75rem; /* 12px */
  --radius-badge: 9999px; /* Pill badges */
  --radius-dropdown: 0.5rem; /* 8px */
  --radius-tab: 0.5rem; /* 8px */
  --radius-toast: 0.75rem; /* 12px */
  /* ===================================
     Shadows - Soft and subtle
     =================================== */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
  --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.15);
  --shadow-2xl: 0 20px 60px rgba(0, 0, 0, 0.2);
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-dropdown: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-toast: 0 8px 32px rgba(0, 0, 0, 0.12);
  /* ===================================
     Typography
     =================================== */
}
.theme-scope[data-theme=luma] h1, .theme-scope[data-theme=luma] h2, .theme-scope[data-theme=luma] h3, .theme-scope[data-theme=luma] h4, .theme-scope[data-theme=luma] h5, .theme-scope[data-theme=luma] h6,
.theme-scope[data-theme=luma] .text-h1, .theme-scope[data-theme=luma] .text-h2, .theme-scope[data-theme=luma] .text-h3 {
  font-family: var(--font-family-sans);
  font-weight: 600;
  color: var(--color-text-primary);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.theme-scope[data-theme=luma] h1, .theme-scope[data-theme=luma] .text-h1 {
  font-size: 2.5rem;
  font-weight: 700;
}
.theme-scope[data-theme=luma] h2, .theme-scope[data-theme=luma] .text-h2 {
  font-size: 1.875rem;
  font-weight: 700;
}
.theme-scope[data-theme=luma] h3, .theme-scope[data-theme=luma] .text-h3 {
  font-size: 1.25rem;
  font-weight: 600;
}
.theme-scope[data-theme=luma] :where(a:not([role=button]):not([class*=btn]):not([class*=button])), .theme-scope[data-theme=luma] .link {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}
.theme-scope[data-theme=luma] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover, .theme-scope[data-theme=luma] .link:hover {
  color: var(--color-text-neutral);
  text-decoration: none;
}
.theme-scope[data-theme=luma] .btn-primary {
  background-color: var(--color-primary);
  color: var(--color-text-on-dark);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 600;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  transition: all 0.2s ease;
}
.theme-scope[data-theme=luma] .btn-primary:hover {
  background-color: var(--color-primary-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.theme-scope[data-theme=luma] .btn-primary:active {
  transform: translateY(0);
}
.theme-scope[data-theme=luma] .btn-secondary {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 500;
  padding: 0.75rem 1.5rem;
  transition: all 0.2s ease;
}
.theme-scope[data-theme=luma] .btn-secondary:hover {
  background-color: var(--color-bg-hover);
}
.theme-scope[data-theme=luma] .btn-tertiary {
  background-color: transparent;
  color: var(--color-text-neutral);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 500;
  padding: 0.75rem 1.5rem;
  transition: all 0.2s ease;
}
.theme-scope[data-theme=luma] .btn-tertiary:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope[data-theme=luma] .btn-ghost {
  background-color: transparent;
  color: var(--color-text-muted);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 500;
  padding: 0.5rem 1rem;
  transition: all 0.2s ease;
}
.theme-scope[data-theme=luma] .btn-ghost:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-neutral);
}
.theme-scope[data-theme=luma] .btn-accent, .theme-scope[data-theme=luma] .btn-cta {
  background-color: var(--color-accent);
  color: var(--color-text-on-dark);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 600;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  transition: all 0.2s ease;
}
.theme-scope[data-theme=luma] .btn-accent:hover, .theme-scope[data-theme=luma] .btn-cta:hover {
  background-color: var(--color-accent-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.theme-scope[data-theme=luma] .btn-danger {
  background-color: var(--color-danger);
  color: var(--color-text-on-dark);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 600;
}
.theme-scope[data-theme=luma] .btn-danger:hover {
  background-color: var(--color-danger-dark);
}
.theme-scope[data-theme=luma] .btn-success {
  background-color: var(--color-success);
  color: var(--color-text-on-dark);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 600;
}
.theme-scope[data-theme=luma] .btn-success:hover {
  background-color: var(--color-success-dark);
}
.theme-scope[data-theme=luma] .card {
  background-color: var(--color-bg-primary);
  border: none;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  transition: box-shadow 0.2s ease;
}
.theme-scope[data-theme=luma] .card:hover {
  box-shadow: var(--shadow-md);
}
.theme-scope[data-theme=luma] .card-title {
  font-weight: 600;
  color: var(--color-text-primary);
  font-size: 1.125rem;
}
.theme-scope[data-theme=luma] input[type=text],
.theme-scope[data-theme=luma] input[type=email],
.theme-scope[data-theme=luma] input[type=password],
.theme-scope[data-theme=luma] input[type=number],
.theme-scope[data-theme=luma] input[type=url],
.theme-scope[data-theme=luma] input[type=search],
.theme-scope[data-theme=luma] input[type=tel],
.theme-scope[data-theme=luma] textarea:not(.inputarea),
.theme-scope[data-theme=luma] .form-input {
  background-color: var(--color-bg-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  font-family: var(--font-family-sans);
  font-size: 1rem;
  color: var(--color-text-primary);
  transition: all 0.2s ease;
}
.theme-scope[data-theme=luma] input[type=text]::placeholder,
.theme-scope[data-theme=luma] input[type=email]::placeholder,
.theme-scope[data-theme=luma] input[type=password]::placeholder,
.theme-scope[data-theme=luma] input[type=number]::placeholder,
.theme-scope[data-theme=luma] input[type=url]::placeholder,
.theme-scope[data-theme=luma] input[type=search]::placeholder,
.theme-scope[data-theme=luma] input[type=tel]::placeholder,
.theme-scope[data-theme=luma] textarea:not(.inputarea)::placeholder,
.theme-scope[data-theme=luma] .form-input::placeholder {
  color: var(--color-text-muted);
}
.theme-scope[data-theme=luma] input[type=text]:focus,
.theme-scope[data-theme=luma] input[type=email]:focus,
.theme-scope[data-theme=luma] input[type=password]:focus,
.theme-scope[data-theme=luma] input[type=number]:focus,
.theme-scope[data-theme=luma] input[type=url]:focus,
.theme-scope[data-theme=luma] input[type=search]:focus,
.theme-scope[data-theme=luma] input[type=tel]:focus,
.theme-scope[data-theme=luma] textarea:not(.inputarea):focus,
.theme-scope[data-theme=luma] .form-input:focus {
  background-color: var(--color-bg-primary);
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 3px var(--color-primary-ring);
}
.theme-scope[data-theme=luma] select, .theme-scope[data-theme=luma] .form-select {
  background-color: var(--color-bg-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  font-family: var(--font-family-sans);
  font-size: 1rem;
  color: var(--color-text-primary);
}
.theme-scope[data-theme=luma] select:focus, .theme-scope[data-theme=luma] .form-select:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 3px var(--color-primary-ring);
}
.theme-scope[data-theme=luma] .form-label {
  color: var(--color-text-primary);
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  display: block;
}
.theme-scope[data-theme=luma] .badge {
  border-radius: var(--radius-badge);
  font-weight: 600;
  font-size: 0.75rem;
  padding: 0.25rem 0.75rem;
}
.theme-scope[data-theme=luma] .badge-success {
  background-color: var(--color-success-light);
  color: var(--color-success-dark);
}
.theme-scope[data-theme=luma] .badge-danger {
  background-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}
.theme-scope[data-theme=luma] .badge-warning {
  background-color: var(--color-warning-light);
  color: var(--color-warning-dark);
}
.theme-scope[data-theme=luma] .badge-info {
  background-color: var(--color-info-light);
  color: var(--color-info-dark);
}
.theme-scope[data-theme=luma] .tabs-list {
  background-color: var(--color-bg-muted);
  border-radius: var(--radius-lg);
  padding: 0.25rem;
}
.theme-scope[data-theme=luma] .tab-trigger {
  border-radius: var(--radius-md);
  font-weight: 500;
  color: var(--color-text-muted);
  background: transparent;
  border: none;
  padding: 0.5rem 1rem;
  transition: all 0.15s ease;
}
.theme-scope[data-theme=luma] .tab-trigger:hover:not(.active):not([data-state=active]) {
  color: var(--color-text-primary);
  background-color: rgba(0, 0, 0, 0.03);
}
.theme-scope[data-theme=luma] .tab-trigger.active, .theme-scope[data-theme=luma] .tab-trigger[data-state=active] {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  box-shadow: var(--shadow-sm);
}
.theme-scope[data-theme=luma] .dropdown-menu {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-dropdown);
  box-shadow: var(--shadow-dropdown);
  padding: 0.25rem;
}
.theme-scope[data-theme=luma] .dropdown-item {
  border-radius: var(--radius-md);
  color: var(--color-text-neutral);
  font-weight: 500;
  padding: 0.5rem 0.75rem;
  transition: all 0.15s ease;
}
.theme-scope[data-theme=luma] .dropdown-item:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}
.theme-scope[data-theme=luma] .alert, .theme-scope[data-theme=luma] .callout {
  border-radius: var(--radius-lg);
  padding: 1rem 1.25rem;
  border: none;
}
.theme-scope[data-theme=luma] .alert-success, .theme-scope[data-theme=luma] .callout-success {
  background-color: var(--color-success-light);
  color: var(--color-success-dark);
}
.theme-scope[data-theme=luma] .alert-danger, .theme-scope[data-theme=luma] .callout-danger, .theme-scope[data-theme=luma] .alert-destructive {
  background-color: var(--color-danger-light);
  color: var(--color-danger-dark);
}
.theme-scope[data-theme=luma] .alert-warning, .theme-scope[data-theme=luma] .callout-warning {
  background-color: var(--color-warning-light);
  color: var(--color-warning-dark);
}
.theme-scope[data-theme=luma] .alert-info, .theme-scope[data-theme=luma] .callout-info {
  background-color: var(--color-info-light);
  color: var(--color-info-dark);
}
.theme-scope[data-theme=luma] .toast {
  background-color: var(--color-bg-primary);
  border-radius: var(--radius-toast);
  box-shadow: var(--shadow-toast);
  border: 1px solid var(--color-border);
}
.theme-scope[data-theme=luma] .avatar {
  border-radius: var(--radius-full);
  border: 2px solid var(--color-bg-primary);
  box-shadow: var(--shadow-sm);
}
.theme-scope[data-theme=luma] table {
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.theme-scope[data-theme=luma] th {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
  font-weight: 600;
  border-bottom: 1px solid var(--color-border);
}
.theme-scope[data-theme=luma] td {
  border-bottom: 1px solid var(--color-border);
}
.theme-scope[data-theme=luma] tr:last-child td {
  border-bottom: none;
}
.theme-scope[data-theme=luma] .accordion-group {
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.theme-scope[data-theme=luma] .accordion-button {
  font-weight: 600;
  color: var(--color-text-primary);
}
.theme-scope[data-theme=luma] .accordion-button:hover {
  background-color: var(--color-bg-muted);
}
.theme-scope[data-theme=luma] .toggle-group {
  background-color: var(--color-bg-muted);
  border-radius: var(--radius-lg);
  padding: 0.25rem;
}
.theme-scope[data-theme=luma] .toggle-group-item {
  border-radius: var(--radius-md);
  color: var(--color-text-muted);
  font-weight: 500;
}
.theme-scope[data-theme=luma] .toggle-group-item:hover:not(.active):not([data-state=on]) {
  color: var(--color-text-primary);
}
.theme-scope[data-theme=luma] .toggle-group-item.active, .theme-scope[data-theme=luma] .toggle-group-item[data-state=on] {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  box-shadow: var(--shadow-sm);
}
.theme-scope[data-theme=luma] .text-accent {
  color: var(--color-accent);
}
.theme-scope[data-theme=luma] .text-primary {
  color: var(--color-text-primary);
}
.theme-scope[data-theme=luma] .text-muted {
  color: var(--color-text-muted);
}
.theme-scope[data-theme=luma] .text-on-dark {
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=luma] .bg-muted {
  background-color: var(--color-bg-muted);
}
.theme-scope[data-theme=luma] .bg-secondary {
  background-color: var(--color-bg-secondary);
}
.theme-scope[data-theme=luma] .bg-dark {
  background-color: var(--color-bg-dark);
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=luma] .border-accent {
  border-color: var(--color-accent);
}

/* ===================================
   mistral — sniffed scaffold
   Scoped to .theme-scope[data-theme="mistral"]
   =================================== */
/* ===================================
   mithrl — sniffed scaffold
   Scoped to .theme-scope[data-theme="mithrl"]
   =================================== */
/* ===================================
   mixedbread — sniffed scaffold
   Scoped to .theme-scope[data-theme="mixedbread"]
   =================================== */
/* ===================================
   nvidia — sniffed scaffold
   Scoped to .theme-scope[data-theme="nvidia"]
   =================================== */
/* ===================================
   openai — sniffed scaffold
   Scoped to .theme-scope[data-theme="openai"]
   =================================== */
.theme-scope[data-theme=openai] {
  box-shadow: none;
}
.theme-scope[data-theme=openai] h1,
.theme-scope[data-theme=openai] h2,
.theme-scope[data-theme=openai] h3,
.theme-scope[data-theme=openai] h4,
.theme-scope[data-theme=openai] h5,
.theme-scope[data-theme=openai] h6 {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: 0;
}
.theme-scope[data-theme=openai] p,
.theme-scope[data-theme=openai] .prose {
  line-height: 1.64;
}
.theme-scope[data-theme=openai] .btn-primary,
.theme-scope[data-theme=openai] .btn-secondary,
.theme-scope[data-theme=openai] .btn-tertiary,
.theme-scope[data-theme=openai] .btn-ghost,
.theme-scope[data-theme=openai] .btn-link,
.theme-scope[data-theme=openai] .action-btn {
  min-height: 2.5rem;
  border-radius: var(--radius-button);
  box-shadow: none;
  letter-spacing: 0;
}
.theme-scope[data-theme=openai] .btn-secondary {
  color: var(--color-text-primary);
  background-color: var(--color-secondary);
  border-color: transparent;
  box-shadow: none;
}
.theme-scope[data-theme=openai] .btn-secondary:hover {
  color: var(--color-text-primary);
  background-color: var(--color-secondary-hover);
}
.theme-scope[data-theme=openai] .btn-tertiary,
.theme-scope[data-theme=openai] .btn-link {
  color: var(--color-text-primary);
  border-color: transparent;
}
.theme-scope[data-theme=openai] .btn-tertiary:hover,
.theme-scope[data-theme=openai] .btn-link:hover,
.theme-scope[data-theme=openai] .btn-ghost:hover {
  color: var(--color-text-primary);
  background-color: var(--color-bg-hover);
  text-decoration: none;
}
.theme-scope[data-theme=openai] .card,
.theme-scope[data-theme=openai] .surface,
.theme-scope[data-theme=openai] .panel {
  border-color: var(--color-border-light);
  box-shadow: none;
}

/* Phage component colors belong to the theme. Bright teal is a brand fill;
   selection text uses the v3 copy color on light blue, with a dark variant. */
.theme-scope[data-theme=phage] .toggle-group .toggle-group-item:is([data-state=on], .selected),
.theme-scope[data-theme=phage] .dropdown-item:is(.active, [aria-selected=true]) {
  color: var(--color-control-active-text);
  background-color: var(--color-control-active-bg);
}
.theme-scope[data-theme=phage] .dropdown-item:is(:hover, :focus) {
  color: var(--color-control-active-text);
  background-color: var(--color-control-active-bg);
}
.theme-scope[data-theme=phage] .details-summary:hover {
  color: var(--color-control-active-text);
  background-color: var(--color-control-active-bg);
}
.theme-scope[data-theme=phage] .dropdown-item:hover .dropdown-item-icon {
  color: inherit;
}
.theme-scope[data-theme=phage] .toggle-group-item:focus-visible {
  outline-color: var(--color-focus-ring);
}
.theme-scope[data-theme=phage] .form-input::placeholder {
  color: var(--color-text-muted);
  opacity: 1;
}
.theme-scope[data-theme=phage] .form-input:focus {
  border-color: var(--color-focus-ring);
}
.theme-scope[data-theme=phage] .form-input:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}

/* ===================================
   phylo — sniffed scaffold
   Scoped to .theme-scope[data-theme="phylo"]
   =================================== */
/* ===================================
   plasmidsaurus — sniffed scaffold
   Scoped to .theme-scope[data-theme="plasmidsaurus"]
   =================================== */
/* ===================================
   Prague Theme — component overrides
   Scoped to .theme-scope[data-theme="prague"]
   =================================== */
/* ===================================
   Retro Theme - Geocities/Win95 Style
   Full override bringing back that 90s web nostalgia!

   Architecture note: this file used to ship a `:root { --playground-* }`
   block that forced the playground chrome (sidebar, header, etc.) to
   look retro globally. That broke runtime theme coexistence — loading
   retro made every other theme look partially retro because the
   playground chrome stayed retro. Dropped at #retro-root-cleanup:
   playground chrome is theme-neutral by design (uses its own
   `--playground-*` namespace, not theme tokens). If you want retro-
   styled chrome for a retro-themed app, the right approach is for the
   app to override `--playground-*` itself, not for retro's theme file
   to inject globals.
   =================================== */
/* Retro Animations — keyframes are global by nature (CSS can't scope
   them to a selector). They're inert without `animation:` references,
   and those references live inside `.theme-scope[data-theme="retro"]`
   below, so the animations only fire when retro is active. */
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
@keyframes rainbow {
  0% {
    color: #ff0000;
  }
  17% {
    color: #ff8800;
  }
  33% {
    color: #ffff00;
  }
  50% {
    color: #00ff00;
  }
  67% {
    color: #00ffff;
  }
  83% {
    color: #ff00ff;
  }
  100% {
    color: #ff0000;
  }
}
@keyframes marquee {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes glitch {
  0%, 90%, 100% {
    transform: translate(0);
  }
  91% {
    transform: translate(-2px, 1px);
  }
  92% {
    transform: translate(2px, -1px);
  }
  93% {
    transform: translate(-1px, -1px);
  }
  94% {
    transform: translate(1px, 2px);
  }
}
@keyframes scanline {
  0% {
    top: 0%;
  }
  100% {
    top: 100%;
  }
}
.theme-scope[data-theme=retro] {
  /* ===================================
     Base Theme Override — applies only when retro is active.
     =================================== */
  font-family: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive, sans-serif;
  /* Defer to tokens — hardcoded colors block dark-variant overrides
     because literal values win the cascade against var(). Use bg-page
     (opaque) for the outer surface so the starfield image renders on
     it; cards above use --color-bg-primary (semi-transparent). */
  background-color: var(--color-bg-page);
  background-image: url("https://web.archive.org/web/20091027075046im_/http://geocities.com/Area51/Hollow/9880/starfield.gif");
  color: var(--color-text-primary);
  /* Retro Color Overrides */
  --color-primary: #00ff00;
  --color-primary-hover: #00cc00;
  --color-primary-active: #009900;
  --color-primary-dark: #006600;
  --color-primary-light: #000000;
  --color-primary-lighter: #003300;
  --color-primary-lightest: #001100;
  --color-primary-ring: rgba(0, 255, 0, 0.5);
  --color-text-primary: #ffff00;
  --color-text-secondary: #00ff00;
  --color-text-muted: #c0c0c0;
  /* Page bg shows the starfield image — needs to be the opaque deep blue.
     Card bg is semi-transparent so the starfield bleeds through. */
  --color-bg-page: #000033;
  --color-bg-primary: rgba(0, 0, 0, 0.8);
  --color-bg-secondary: #000080;
  --color-bg-muted: #000033;
  --color-border: #00ff00;
  --color-border-light: #00cc00;
  /* Semantic Colors - Neon Style */
  --color-success: #00ff00;
  --color-success-light: #003300;
  --color-success-dark: #00cc00;
  --color-warning: #ffff00;
  --color-warning-light: #333300;
  --color-danger: #ff0000;
  --color-danger-light: #330000;
  --color-info: #00ffff;
  --color-info-light: #003333;
  /* No rounded corners - it's the 90s! */
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --radius-xl: 0;
  --radius-2xl: 0;
  --radius-button: 0;
  --radius-card: 0;
  --radius-full: 0;
  /* ===================================
     Typography - READABLE VERSION
     =================================== */
}
.theme-scope[data-theme=retro] h1, .theme-scope[data-theme=retro] h2, .theme-scope[data-theme=retro] h3, .theme-scope[data-theme=retro] h4, .theme-scope[data-theme=retro] h5, .theme-scope[data-theme=retro] h6,
.theme-scope[data-theme=retro] .text-h1, .theme-scope[data-theme=retro] .text-h2, .theme-scope[data-theme=retro] .text-h3,
.theme-scope[data-theme=retro] .text-lg, .theme-scope[data-theme=retro] .text-xl, .theme-scope[data-theme=retro] .text-2xl, .theme-scope[data-theme=retro] .text-3xl, .theme-scope[data-theme=retro] .text-4xl, .theme-scope[data-theme=retro] .text-5xl {
  font-family: "Impact", "Arial Black", Gadget, sans-serif;
  color: #ff00ff; /* Hot pink - more visible */
  text-shadow: 2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000; /* Black outline for readability */
}
.theme-scope[data-theme=retro] .font-semibold, .theme-scope[data-theme=retro] .font-bold {
  color: #00ffff;
  text-shadow: 1px 1px 0 #000;
}
.theme-scope[data-theme=retro] h1, .theme-scope[data-theme=retro] .text-h1 {
  font-size: 2.5rem;
  letter-spacing: 2px;
}
.theme-scope[data-theme=retro] h2, .theme-scope[data-theme=retro] .text-h2 {
  font-size: 1.75rem;
}
.theme-scope[data-theme=retro] h3, .theme-scope[data-theme=retro] .text-h3, .theme-scope[data-theme=retro] .text-lg {
  font-size: 1.25rem;
  color: #00ffff; /* Cyan for h3 */
}
.theme-scope[data-theme=retro] p, .theme-scope[data-theme=retro] .text-sm, .theme-scope[data-theme=retro] .text-base {
  color: #ffff00;
  text-shadow: 1px 1px 0 #000;
}
.theme-scope[data-theme=retro] :where(a:not([role=button]):not([class*=btn]):not([class*=button])), .theme-scope[data-theme=retro] .link {
  color: #00ff00;
  text-decoration: underline;
  text-shadow: 1px 1px 0 #000;
}
.theme-scope[data-theme=retro] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover, .theme-scope[data-theme=retro] .link:hover {
  color: #ffff00;
  text-shadow: 0 0 10px #00ff00, 1px 1px 0 #000;
}
.theme-scope[data-theme=retro] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):visited, .theme-scope[data-theme=retro] .link:visited {
  color: #ff00ff;
}
.theme-scope[data-theme=retro] strong, .theme-scope[data-theme=retro] b {
  color: #ff6600;
  text-shadow: 1px 1px 0 #000;
}
.theme-scope[data-theme=retro] code:not(pre code), .theme-scope[data-theme=retro] .code-inline {
  background-color: #000;
  color: #00ff00;
  border: 1px solid #00ff00;
  font-family: "Courier New", Courier, monospace;
  padding: 0.125rem 0.375rem;
}
.theme-scope[data-theme=retro] pre, .theme-scope[data-theme=retro] .code-block {
  background-color: #000;
  color: #00ff00;
  border: 2px solid #00ff00;
  font-family: "Courier New", Courier, monospace;
  padding: 1rem;
}
.theme-scope[data-theme=retro] blockquote {
  border-left: 4px solid #00ff00;
  background: rgba(0, 0, 0, 0.5);
  color: #ffff00;
  padding: 1rem;
  font-style: italic;
}
.theme-scope[data-theme=retro] hr {
  border: none;
  border-top: 2px dashed #00ff00;
  margin: 2rem 0;
}
.theme-scope[data-theme=retro] .bg-white,
.theme-scope[data-theme=retro] .bg-gray-50,
.theme-scope[data-theme=retro] .bg-gray-100 {
  background-color: #c0c0c0 !important;
}
.theme-scope[data-theme=retro] .bg-gray-200,
.theme-scope[data-theme=retro] .bg-gray-300 {
  background-color: #a0a0a0 !important;
}
.theme-scope[data-theme=retro] .text-gray-900,
.theme-scope[data-theme=retro] .text-gray-800,
.theme-scope[data-theme=retro] .text-gray-700 {
  color: #000000 !important;
  text-shadow: none;
}
.theme-scope[data-theme=retro] .text-gray-600,
.theme-scope[data-theme=retro] .text-gray-500 {
  color: #333333 !important;
}
.theme-scope[data-theme=retro] .text-gray-400 {
  color: #666666 !important;
}
.theme-scope[data-theme=retro] .text-blue-600,
.theme-scope[data-theme=retro] .text-blue-500 {
  color: #00ffff !important;
  text-shadow: 1px 1px 0 #000;
}
.theme-scope[data-theme=retro] .text-green-500 {
  color: #00ff00 !important;
}
.theme-scope[data-theme=retro] .text-red-500 {
  color: #ff0000 !important;
}
.theme-scope[data-theme=retro] .border-gray-200,
.theme-scope[data-theme=retro] .border-gray-300 {
  border-color: #808080 !important;
}
.theme-scope[data-theme=retro] .border-gray-100 {
  border-color: #a0a0a0 !important;
}
.theme-scope[data-theme=retro] .rounded,
.theme-scope[data-theme=retro] .rounded-md,
.theme-scope[data-theme=retro] .rounded-lg,
.theme-scope[data-theme=retro] .rounded-xl,
.theme-scope[data-theme=retro] .rounded-2xl,
.theme-scope[data-theme=retro] .rounded-full {
  border-radius: 0 !important;
}
.theme-scope[data-theme=retro] .card, .theme-scope[data-theme=retro] .app-card {
  background-color: #c0c0c0;
  border: 4px outset #ffffff;
  box-shadow: 4px 4px 0px #000;
  color: #000000;
}
.theme-scope[data-theme=retro] .card-title, .theme-scope[data-theme=retro] .app-title {
  font-family: "Impact", "Arial Black", sans-serif;
  color: #000080;
  text-shadow: none;
  text-align: left;
  animation: none; /* Remove blink - too annoying */
  background: linear-gradient(to right, #c0c0c0, #e0e0e0);
  border-bottom: 2px solid #808080;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}
.theme-scope[data-theme=retro] .card-title::before, .theme-scope[data-theme=retro] .app-title::before {
  content: "📁 ";
}
.theme-scope[data-theme=retro] .card-title::after, .theme-scope[data-theme=retro] .app-title::after {
  content: "";
}
.theme-scope[data-theme=retro] .app-card-content {
  background-color: #ffffff;
  border: 2px inset #808080;
  color: #000000;
  padding: 1rem;
}
.theme-scope[data-theme=retro] .btn-primary, .theme-scope[data-theme=retro] .action-btn {
  background-color: #c0c0c0 !important;
  color: #000000 !important;
  font-family: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive, sans-serif;
  font-weight: bold;
  border: 3px outset #ffffff !important;
  /* Default button look (thick black border simulation) */
  box-shadow: inset 0 0 0 1px #000000 !important;
  text-transform: uppercase;
}
.theme-scope[data-theme=retro] .btn-primary:hover, .theme-scope[data-theme=retro] .action-btn:hover {
  background-color: #dcdcdc !important;
  border: 3px outset #ffffff !important;
}
.theme-scope[data-theme=retro] .btn-primary:active, .theme-scope[data-theme=retro] .action-btn:active {
  border: 3px inset #808080 !important;
  background-color: #a0a0a0 !important;
  box-shadow: none !important;
}
.theme-scope[data-theme=retro] .btn-primary:focus, .theme-scope[data-theme=retro] .action-btn:focus {
  outline: 1px dotted #000;
  outline-offset: -4px;
}
.theme-scope[data-theme=retro] .btn-secondary, .theme-scope[data-theme=retro] .btn-gray {
  background-color: #c0c0c0 !important;
  color: #000000 !important;
  border: 3px outset #ffffff !important;
  box-shadow: none !important;
}
.theme-scope[data-theme=retro] .btn-secondary:hover, .theme-scope[data-theme=retro] .btn-gray:hover {
  background-color: #d0d0d0 !important;
}
.theme-scope[data-theme=retro] .btn-secondary:active, .theme-scope[data-theme=retro] .btn-gray:active {
  border: 3px inset #808080 !important;
}
.theme-scope[data-theme=retro] .btn-tertiary {
  background: #c0c0c0 !important;
  color: #000000 !important;
  border: 2px outset #ffffff !important;
}
.theme-scope[data-theme=retro] .btn-tertiary:hover {
  background: #d0d0d0 !important;
}
.theme-scope[data-theme=retro] .btn-danger {
  background-color: #ff0000 !important;
  color: #ffffff !important;
  border: 3px outset #ff6666 !important;
}
.theme-scope[data-theme=retro] .btn-danger:active {
  border: 3px inset #990000 !important;
}
.theme-scope[data-theme=retro] .btn-success {
  background-color: #00aa00 !important;
  color: #ffffff !important;
  border: 3px outset #66ff66 !important;
}
.theme-scope[data-theme=retro] .btn-success:active {
  border: 3px inset #009900 !important;
}
.theme-scope[data-theme=retro] [class*=bg-blue-600],
.theme-scope[data-theme=retro] [class*=bg-blue-700] {
  background-color: #000080 !important;
  border: 3px outset #0000cc !important;
}
.theme-scope[data-theme=retro] [class*=bg-blue-600]:hover,
.theme-scope[data-theme=retro] [class*=bg-blue-700]:hover {
  background-color: #0000aa !important;
}
.theme-scope[data-theme=retro] input[type=text],
.theme-scope[data-theme=retro] input[type=email],
.theme-scope[data-theme=retro] input[type=password],
.theme-scope[data-theme=retro] input[type=number],
.theme-scope[data-theme=retro] input[type=url],
.theme-scope[data-theme=retro] input[type=search],
.theme-scope[data-theme=retro] input[type=tel],
.theme-scope[data-theme=retro] input[type=date],
.theme-scope[data-theme=retro] input[type=time],
.theme-scope[data-theme=retro] input[type=datetime-local],
.theme-scope[data-theme=retro] textarea:not(.inputarea),
.theme-scope[data-theme=retro] .form-input {
  background: #001100 !important; /* Very dark green instead of pure black */
  color: #00ff00 !important;
  border: 2px inset #00ff00 !important;
  font-family: "Courier New", Courier, monospace !important;
  caret-color: #00ff00;
  text-shadow: 0 0 1px #00ff00; /* Subtle glow effect */
}
.theme-scope[data-theme=retro] input[type=text]::placeholder,
.theme-scope[data-theme=retro] input[type=email]::placeholder,
.theme-scope[data-theme=retro] input[type=password]::placeholder,
.theme-scope[data-theme=retro] input[type=number]::placeholder,
.theme-scope[data-theme=retro] input[type=url]::placeholder,
.theme-scope[data-theme=retro] input[type=search]::placeholder,
.theme-scope[data-theme=retro] input[type=tel]::placeholder,
.theme-scope[data-theme=retro] input[type=date]::placeholder,
.theme-scope[data-theme=retro] input[type=time]::placeholder,
.theme-scope[data-theme=retro] input[type=datetime-local]::placeholder,
.theme-scope[data-theme=retro] textarea:not(.inputarea)::placeholder,
.theme-scope[data-theme=retro] .form-input::placeholder {
  color: #00aa00 !important; /* Brighter placeholder for visibility */
  text-shadow: none;
}
.theme-scope[data-theme=retro] input[type=text]:focus,
.theme-scope[data-theme=retro] input[type=email]:focus,
.theme-scope[data-theme=retro] input[type=password]:focus,
.theme-scope[data-theme=retro] input[type=number]:focus,
.theme-scope[data-theme=retro] input[type=url]:focus,
.theme-scope[data-theme=retro] input[type=search]:focus,
.theme-scope[data-theme=retro] input[type=tel]:focus,
.theme-scope[data-theme=retro] input[type=date]:focus,
.theme-scope[data-theme=retro] input[type=time]:focus,
.theme-scope[data-theme=retro] input[type=datetime-local]:focus,
.theme-scope[data-theme=retro] textarea:not(.inputarea):focus,
.theme-scope[data-theme=retro] .form-input:focus {
  border-color: #00ff00 !important;
  box-shadow: 0 0 10px #00ff00, inset 0 0 5px rgba(0, 255, 0, 0.3) !important;
}
.theme-scope[data-theme=retro] select, .theme-scope[data-theme=retro] .form-select {
  background: #000 !important;
  color: #00ff00 !important;
  border: 2px inset #00ff00 !important;
  font-family: "Courier New", Courier, monospace !important;
  /* Fix dropdown arrow - single chevron */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%2300ff00'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 8px center !important;
  background-size: 16px !important;
  padding-right: 32px !important;
}
.theme-scope[data-theme=retro] .form-label {
  color: #ffff00 !important; /* Yellow for better contrast */
  font-family: "Courier New", Courier, monospace !important;
  font-weight: bold;
  text-transform: uppercase;
  background: #000080;
  padding: 4px 8px;
  border: 2px outset #4040c0;
  display: inline-block;
  margin-bottom: 6px;
  text-shadow: 1px 1px 0 #000000;
}
.theme-scope[data-theme=retro] input[type=checkbox],
.theme-scope[data-theme=retro] input[type=radio] {
  accent-color: #00ff00;
  border-color: #00ff00;
}
.theme-scope[data-theme=retro] input[type=range],
.theme-scope[data-theme=retro] .form-range {
  accent-color: #00ff00;
  background: #003300;
}
.theme-scope[data-theme=retro] .copy-button, .theme-scope[data-theme=retro] .copy-button-copied {
  background: #000080 !important;
  color: #00ffff !important;
  border: 2px outset #4040c0 !important;
  font-family: "Courier New", Courier, monospace !important;
}
.theme-scope[data-theme=retro] .copy-button:hover, .theme-scope[data-theme=retro] .copy-button-copied:hover {
  background: #0000a0 !important;
  color: #ffffff !important;
}
.theme-scope[data-theme=retro] .copy-button-copied {
  background: #008000 !important;
  color: #ffffff !important;
  border: 2px outset #00c000 !important;
}
.theme-scope[data-theme=retro] input[type=checkbox].form-toggle {
  appearance: none;
  -webkit-appearance: none;
  width: 48px;
  height: 24px;
  background: #000000;
  border: 2px inset #808080 !important;
  border-radius: 0 !important; /* Square corners */
  position: relative;
  cursor: pointer;
  outline: none;
  /* The sliding button (thumb) */
}
.theme-scope[data-theme=retro] input[type=checkbox].form-toggle::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  background: #c0c0c0;
  border: 2px outset #ffffff;
  transition: left 0.1s steps(2); /* Choppy retro animation */
}
.theme-scope[data-theme=retro] input[type=checkbox].form-toggle:not(:checked) {
  background: #330000; /* Dark red background */
  box-shadow: inset 2px 2px 4px #000;
}
.theme-scope[data-theme=retro] input[type=checkbox].form-toggle:checked {
  background: #003300; /* Dark green background */
}
.theme-scope[data-theme=retro] input[type=checkbox].form-toggle:checked::after {
  left: 26px; /* Move to right */
  background: #00ff00; /* Green LED look */
  border: 2px outset #ccffcc;
  box-shadow: 0 0 5px #00ff00; /* Glow */
}
.theme-scope[data-theme=retro] input[type=checkbox].form-toggle:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  filter: grayscale(100%);
}
.theme-scope[data-theme=retro] table, .theme-scope[data-theme=retro] .app-table {
  border: 4px ridge #808080 !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-family: "Times New Roman", Times, serif;
}
.theme-scope[data-theme=retro] th {
  background: #000080 !important;
  color: #ffffff !important;
  font-weight: bold;
  border: 2px inset #0000cc !important;
  padding: 8px;
}
.theme-scope[data-theme=retro] td {
  border: 1px solid #808080 !important;
  padding: 8px;
  background: #ffffff !important;
  color: #000000 !important;
}
.theme-scope[data-theme=retro] tr:nth-child(even) td {
  background: #e0e0e0 !important;
}
.theme-scope[data-theme=retro] .badge,
.theme-scope[data-theme=retro] [class*=badge-] {
  border: 2px outset #ffffff !important;
  background: #c0c0c0 !important;
  color: #000 !important;
  font-family: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive, sans-serif;
  text-transform: uppercase;
  border-radius: 0 !important;
}
.theme-scope[data-theme=retro] .badge-success {
  background: #00ff00 !important;
  border-color: #00cc00 !important;
}
.theme-scope[data-theme=retro] .badge-danger {
  background: #ff0000 !important;
  color: #fff !important;
  border-color: #cc0000 !important;
}
.theme-scope[data-theme=retro] .badge-warning {
  background: #ffff00 !important;
  border-color: #cccc00 !important;
}
.theme-scope[data-theme=retro] .badge-info {
  background: #00ffff !important;
  border-color: #00cccc !important;
}
.theme-scope[data-theme=retro] .tabs-list {
  border-bottom: 2px solid #808080;
}
.theme-scope[data-theme=retro] .tab-trigger {
  background: #c0c0c0 !important;
  border: 2px outset #ffffff !important;
  border-bottom: none !important;
  color: #000 !important;
  font-family: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive, sans-serif;
  margin-right: 2px;
}
.theme-scope[data-theme=retro] .tab-trigger:hover {
  background: #d0d0d0 !important;
}
.theme-scope[data-theme=retro] .tab-trigger[data-state=active], .theme-scope[data-theme=retro] .tab-trigger.active {
  background: #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  margin-bottom: -2px;
  z-index: 1;
}
.theme-scope[data-theme=retro] .accordion-group {
  border: 2px solid #808080;
  background: #c0c0c0;
}
.theme-scope[data-theme=retro] .accordion-item {
  border-bottom: 2px solid #808080;
}
.theme-scope[data-theme=retro] .accordion-button {
  color: #000080;
  text-transform: uppercase;
  font-weight: bold;
  font-family: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive, sans-serif;
}
.theme-scope[data-theme=retro] .accordion-button:hover {
  background: #d0d0d0;
}
.theme-scope[data-theme=retro] .accordion-content-inner {
  color: #000000;
  background: #ffffff;
}
.theme-scope[data-theme=retro] .callout, .theme-scope[data-theme=retro] .alert {
  border: 3px double;
  background: #000;
  padding: 1rem;
}
.theme-scope[data-theme=retro] .callout.callout-info, .theme-scope[data-theme=retro] .callout.alert-info, .theme-scope[data-theme=retro] .alert.callout-info, .theme-scope[data-theme=retro] .alert.alert-info {
  border-color: #00ffff;
  color: #00ffff;
}
.theme-scope[data-theme=retro] .callout.callout-success, .theme-scope[data-theme=retro] .callout.alert-success, .theme-scope[data-theme=retro] .alert.callout-success, .theme-scope[data-theme=retro] .alert.alert-success {
  border-color: #00ff00;
  color: #00ff00;
}
.theme-scope[data-theme=retro] .callout.callout-warning, .theme-scope[data-theme=retro] .callout.alert-warning, .theme-scope[data-theme=retro] .alert.callout-warning, .theme-scope[data-theme=retro] .alert.alert-warning {
  border-color: #ffff00;
  color: #ffff00;
}
.theme-scope[data-theme=retro] .callout.callout-danger, .theme-scope[data-theme=retro] .callout.alert-danger, .theme-scope[data-theme=retro] .alert.callout-danger, .theme-scope[data-theme=retro] .alert.alert-danger {
  border-color: #ff0000;
  color: #ff0000;
}
.theme-scope[data-theme=retro] .loading-spinner,
.theme-scope[data-theme=retro] .animate-spin {
  border: 4px solid #0000ff !important;
  border-top: 4px solid #ff0000 !important;
  border-radius: 0 !important;
  animation: spin 0.5s linear infinite !important;
}
.theme-scope[data-theme=retro] .loading-text {
  color: #ff00ff;
  font-weight: bold;
  text-transform: uppercase;
  animation: blink 0.5s infinite;
}
.theme-scope[data-theme=retro] .animate-pulse,
.theme-scope[data-theme=retro] [class*=skeleton] {
  background: repeating-linear-gradient(90deg, #000080 0px, #0000aa 10px, #000080 20px) !important;
  animation: none !important;
}
.theme-scope[data-theme=retro] .dropdown-menu {
  background: #c0c0c0 !important;
  border: 2px outset #ffffff !important;
  box-shadow: 4px 4px 0 #000 !important;
  color: #000 !important;
  border-radius: 0 !important;
}
.theme-scope[data-theme=retro] .dropdown-item {
  color: #000 !important;
  font-family: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive, sans-serif;
  border-radius: 0 !important;
}
.theme-scope[data-theme=retro] .dropdown-item:hover {
  background: #000080 !important;
  color: #ffffff !important;
}
.theme-scope[data-theme=retro] .dropdown-item:active {
  background: #000060 !important;
}
.theme-scope[data-theme=retro] .dropdown-header {
  color: #808080 !important;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.75rem;
}
.theme-scope[data-theme=retro] .dropdown-divider {
  border-color: #808080 !important;
}
.theme-scope[data-theme=retro] .toast {
  background: #c0c0c0 !important;
  border: 3px outset #ffffff !important;
  color: #000 !important;
  font-family: "Comic Sans MS", "Chalkboard SE", "Comic Neue", cursive, sans-serif;
  box-shadow: 4px 4px 0 #000 !important;
  border-radius: 0 !important;
}
.theme-scope[data-theme=retro] .avatar {
  border: 2px solid #00ff00 !important;
  image-rendering: pixelated;
  background: #000080 !important;
  border-radius: 0 !important;
}
.theme-scope[data-theme=retro] .iconify {
  filter: none; /* Could add pixelation effect */
}
.theme-scope[data-theme=retro] kbd, .theme-scope[data-theme=retro] .kbd {
  background: #c0c0c0 !important;
  border: 2px outset #ffffff !important;
  color: #000 !important;
  font-family: "MS Sans Serif", Tahoma, sans-serif !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 #808080 !important;
}
.theme-scope[data-theme=retro] .toggle-group {
  border: 2px solid #808080;
  background: #c0c0c0;
}
.theme-scope[data-theme=retro] .toggle-group-item {
  background: #c0c0c0 !important;
  border: 2px outset #ffffff !important;
  color: #000 !important;
}
.theme-scope[data-theme=retro] .toggle-group-item:hover {
  background: #d0d0d0 !important;
}
.theme-scope[data-theme=retro] .toggle-group-item[data-state=on], .theme-scope[data-theme=retro] .toggle-group-item.active {
  background: #ffffff !important;
  border: 2px inset #808080 !important;
}
.theme-scope[data-theme=retro] header {
  background: #c0c0c0;
  border-bottom: 2px solid #808080;
}
.theme-scope[data-theme=retro] section {
  background: #c0c0c0;
}
.theme-scope[data-theme=retro] footer {
  background: #c0c0c0;
  border-top: 2px solid #808080;
}
.theme-scope[data-theme=retro] .visitor-counter {
  font-family: "Courier New", Courier, monospace;
  background: #000;
  color: #00ff00;
  border: 2px inset #333;
  padding: 0.25rem 0.5rem;
  display: inline-block;
}
.theme-scope[data-theme=retro] .under-construction {
  background: repeating-linear-gradient(45deg, #ffff00, #ffff00 10px, #000 10px, #000 20px);
  padding: 0.5rem;
  text-align: center;
  font-weight: bold;
  color: #000;
  animation: glitch 2s infinite;
}
.theme-scope[data-theme=retro] .marquee {
  overflow: hidden;
  white-space: nowrap;
}
.theme-scope[data-theme=retro] .marquee span {
  display: inline-block;
  animation: marquee 10s linear infinite;
}
.theme-scope[data-theme=retro] .rainbow-text {
  animation: rainbow 2s infinite linear;
  font-weight: bold;
}
.theme-scope[data-theme=retro] .guestbook {
  background: #ffffff;
  color: #000;
  border: 4px ridge #c0c0c0;
  padding: 1rem;
  font-family: "Comic Sans MS", cursive;
}
.theme-scope[data-theme=retro] .guestbook .guestbook-entry {
  border-bottom: 1px dashed #808080;
  padding: 0.5rem 0;
}
.theme-scope[data-theme=retro] .guestbook .guestbook-entry .guestbook-author {
  color: #0000ff;
  font-weight: bold;
}
.theme-scope[data-theme=retro] .guestbook .guestbook-entry .guestbook-date {
  color: #808080;
  font-size: 0.75rem;
}
.theme-scope[data-theme=retro] .hit-counter {
  background: #000;
  color: #ff0000;
  font-family: "Courier New", monospace;
  border: 2px inset #333;
  padding: 0.25rem 0.5rem;
  letter-spacing: 0.1em;
}
.theme-scope[data-theme=retro] .hit-counter::before {
  content: "Hits: ";
  color: #00ff00;
}
.theme-scope[data-theme=retro] .webring {
  text-align: center;
  padding: 0.5rem;
  border: 2px ridge #c0c0c0;
  background: #000;
}
.theme-scope[data-theme=retro] .webring a {
  color: #00ff00;
  margin: 0 0.5rem;
}
.theme-scope[data-theme=retro] .webring a:hover {
  color: #ffff00;
}
.theme-scope[data-theme=retro] .crt-effect {
  position: relative;
}
.theme-scope[data-theme=retro] .crt-effect::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0px, rgba(0, 0, 0, 0.1) 1px, transparent 1px, transparent 2px);
  pointer-events: none;
}

/* ===================================
   shiori — captured scaffold
   Scoped to .theme-scope[data-theme="shiori"]
   =================================== */
/* ===================================
   slashtable — sniffed scaffold
   Scoped to .theme-scope[data-theme="slashtable"]
   =================================== */
/* ===================================
   Startup Theme - "The Institute" Style
   Based on Brookings Institution style
   Font: Inter, Primary: #003A70, Accent: #FF9E1C

   Scoped to `.theme-scope[data-theme="startup"]`.
   =================================== */
.theme-scope[data-theme=startup] {
  /* ===================================
     Base Theme Override
     =================================== */
  --font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-family-serif: Georgia, Cambria, "Times New Roman", Times, serif;
  font-family: var(--font-family-sans);
  /* Defer to tokens, not literals — hardcoded colors block dark-variant
     overrides because literal values win the cascade against var(). */
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  /* Institute Color Palette */
  --color-primary: #003A70;
  --color-primary-hover: #002855;
  --color-primary-active: #001a38;
  --color-primary-dark: #022A4E;
  --color-accent: #FF9E1C;
  --color-accent-hover: #e88d0b;
  --color-cta: #00649F; /* Specific CTA blue */
  --color-cta-hover: #FF9E1C;
  /* Text Colors */
  --color-text-primary: #222222;
  --color-text-secondary: #555555;
  --color-text-muted: #757575;
  --color-text-on-dark: #ffffff;
  --color-text-on-dark-muted: rgba(255,255,255,0.9);
  /* Backgrounds */
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f5f5f5;
  --color-bg-muted: #f0f0f0;
  --color-bg-dark: #022A4E;
  /* Borders */
  --color-border: #e0e0e0;
  --color-border-light: #eeeeee;
  /* Radii - Squared off */
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --radius-button: 0px;
  --radius-card: 0px;
  --input-padding-y: 1rem;
  --input-padding-x: 1rem;
  /* Shadows */
  --shadow-card: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-hover: 0 8px 16px rgba(0,0,0,0.12);
  /* ===================================
     Typography
     =================================== */
}
.theme-scope[data-theme=startup] h1, .theme-scope[data-theme=startup] h2, .theme-scope[data-theme=startup] h3, .theme-scope[data-theme=startup] h4, .theme-scope[data-theme=startup] h5, .theme-scope[data-theme=startup] h6,
.theme-scope[data-theme=startup] .text-h1, .theme-scope[data-theme=startup] .text-h2, .theme-scope[data-theme=startup] .text-h3 {
  font-family: var(--font-family-sans);
  font-weight: 700;
  color: var(--color-text-primary);
  letter-spacing: -0.02em;
  margin-top: 1.5em;
  margin-bottom: 0.75em;
}
.theme-scope[data-theme=startup] h1, .theme-scope[data-theme=startup] .text-h1 {
  font-size: 2.75rem;
  line-height: 1.1;
  font-weight: 800;
}
.theme-scope[data-theme=startup] h2, .theme-scope[data-theme=startup] .text-h2 {
  font-size: 2rem;
  line-height: 1.2;
}
.theme-scope[data-theme=startup] h3, .theme-scope[data-theme=startup] .text-h3 {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 700;
}
.theme-scope[data-theme=startup] :where(a:not([role=button]):not([class*=btn]):not([class*=button])), .theme-scope[data-theme=startup] .link {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s ease;
}
.theme-scope[data-theme=startup] :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover, .theme-scope[data-theme=startup] .link:hover {
  color: var(--color-accent);
  text-decoration: underline;
}
.theme-scope[data-theme=startup] .btn-primary {
  background-color: var(--color-primary);
  color: var(--color-text-on-dark);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 700;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-block;
}
.theme-scope[data-theme=startup] .btn-primary:hover {
  background-color: var(--color-accent);
  color: var(--color-text-on-dark);
  text-decoration: none;
}
.theme-scope[data-theme=startup] .btn-secondary {
  background-color: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-button);
  font-weight: 700;
  padding: 0.7rem 1.5rem;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-block;
}
.theme-scope[data-theme=startup] .btn-secondary:hover {
  background-color: var(--color-primary);
  color: var(--color-text-on-dark);
  text-decoration: none;
}
.theme-scope[data-theme=startup] .btn-cta {
  background-color: var(--color-cta);
  color: var(--color-text-on-dark);
  border: none;
  border-radius: var(--radius-button);
  font-weight: 700;
  padding: 1rem 2rem;
  font-size: 1rem;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-block;
}
.theme-scope[data-theme=startup] .btn-cta:hover {
  background-color: var(--color-accent);
  color: var(--color-text-on-dark);
  text-decoration: none;
}
.theme-scope[data-theme=startup] .btn-accent {
  background-color: var(--color-accent);
  color: #000000; /* Black text on orange */
  border: none;
  border-radius: var(--radius-button);
  font-weight: 700;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
  text-transform: none; /* Regular case, not uppercase */
  letter-spacing: normal;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-block;
}
.theme-scope[data-theme=startup] .btn-accent:hover {
  background-color: #e88d0b; /* Darker orange on hover */
  color: #000000;
  text-decoration: none;
}
.theme-scope[data-theme=startup] .btn-sm {
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
}
.theme-scope[data-theme=startup] .bg-dark {
  background-color: var(--color-bg-dark);
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=startup] .bg-dark h1, .theme-scope[data-theme=startup] .bg-dark h2, .theme-scope[data-theme=startup] .bg-dark h3, .theme-scope[data-theme=startup] .bg-dark h4, .theme-scope[data-theme=startup] .bg-dark h5, .theme-scope[data-theme=startup] .bg-dark h6,
.theme-scope[data-theme=startup] .bg-dark .text-h1, .theme-scope[data-theme=startup] .bg-dark .text-h2, .theme-scope[data-theme=startup] .bg-dark .text-h3 {
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=startup] .bg-dark p {
  color: var(--color-text-on-dark-muted);
}
.theme-scope[data-theme=startup] .bg-dark :where(a:not([role=button]):not([class*=btn]):not([class*=button])) {
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=startup] .bg-dark :where(a:not([role=button]):not([class*=btn]):not([class*=button])):hover {
  text-decoration: underline;
}
.theme-scope[data-theme=startup] .card {
  background-color: var(--color-bg-primary);
  border: 1px solid transparent;
  padding: 0;
  transition: box-shadow 0.2s;
}
.theme-scope[data-theme=startup] input[type=text], .theme-scope[data-theme=startup] input[type=email] {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-button);
  font-family: var(--font-family-sans);
  font-size: 1rem;
  background-color: var(--color-bg-secondary);
}
.theme-scope[data-theme=startup] input[type=text]:focus, .theme-scope[data-theme=startup] input[type=email]:focus {
  background-color: var(--color-bg-primary);
  border-color: var(--color-primary);
  outline: none;
}
.theme-scope[data-theme=startup] .text-accent {
  color: var(--color-accent);
}
.theme-scope[data-theme=startup] .text-primary {
  color: var(--color-primary);
}
.theme-scope[data-theme=startup] .text-on-dark {
  color: var(--color-text-on-dark);
}
.theme-scope[data-theme=startup] .text-on-dark-muted {
  color: var(--color-text-on-dark-muted);
}
.theme-scope[data-theme=startup] .bg-muted {
  background-color: var(--color-bg-muted);
}
.theme-scope[data-theme=startup] .bg-secondary {
  background-color: var(--color-bg-secondary);
}
.theme-scope[data-theme=startup] .border-accent {
  border-color: var(--color-accent);
}
.theme-scope[data-theme=startup] .border-t-accent {
  border-top: 3px solid var(--color-accent);
}
.theme-scope[data-theme=startup] .font-serif {
  font-family: var(--font-family-serif);
}

/* ===================================
   upstash — sniffed scaffold
   Scoped to .theme-scope[data-theme="upstash"]
   =================================== */
/* ===================================
   vercel — sniffed scaffold
   Scoped to .theme-scope[data-theme="vercel"]
   =================================== */