/* Theme source: house/frontend/src/styles/globals.css. The product hue is Tenet violet. */
:root {
  color-scheme: light;
  --background: #ffffff;
  --surface: #f1f5f9;
  --surface-hl: #e2e8f0;
  --primary: #0f172a;
  --secondary: #475569;
  --muted: #64748b;
  --line: #e2e8f0;
  --accent: #7c3aed;
  --accent-strong: #6d28d9;
  --accent-ink: #6d28d9;
  --positive: #059669;
  --negative: #dc2626;
  --warning: #92400e;
  --on-accent: #ffffff;
  --glass: rgb(255 255 255 / 0.85);
  --glass-border: rgb(0 0 0 / 0.08);
  --shadow-card: 0 4px 24px -4px rgb(0 0 0 / 0.08), 0 1px 4px rgb(0 0 0 / 0.04);
  --shadow-card-hover:
    0 8px 40px -8px rgb(0 0 0 / 0.12), 0 2px 6px rgb(0 0 0 / 0.06);
  --shadow-elevated:
    0 12px 48px -12px rgb(0 0 0 / 0.14), 0 4px 12px rgb(0 0 0 / 0.06);
  /* Aliases keep the existing framework-free workspace and evidence renderer aligned. */
  --bg: var(--background);
  --ink: var(--primary);
  --ink-2: var(--secondary);
  --ink-3: var(--muted);
  --ink-4: color-mix(in srgb, var(--primary) 20%, transparent);
  --border: var(--line);
  --border-soft: color-mix(in srgb, var(--primary) 6%, transparent);
  --surface-2: var(--surface-hl);
  --panel: color-mix(in srgb, var(--surface) 42%, var(--background));
  --accent-soft: color-mix(in srgb, var(--accent) 7%, transparent);
  --accent-line: color-mix(in srgb, var(--accent) 25%, transparent);
  --verified: var(--positive);
  --declined: var(--secondary);
  --conditional: var(--warning);
  --warning-soft: color-mix(in srgb, #f59e0b 7%, var(--background));
  --warning-line: color-mix(in srgb, #f59e0b 30%, transparent);
  --sans: Inter, ui-sans-serif, system-ui, sans-serif;
  --serif: "Playfair Display", ui-serif, Georgia, serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
}
:root.dark {
  color-scheme: dark;
  --background: #000000;
  --surface: #080808;
  --surface-hl: #111111;
  --primary: #ffffff;
  --secondary: #a3a3a3;
  --muted: #909090;
  --line: #1f1f1f;
  --accent-ink: #c4b5fd;
  --positive: #34d399;
  --negative: #f87171;
  --warning: #fbbf24;
  --glass: rgb(10 10 10 / 0.4);
  --glass-border: rgb(255 255 255 / 0.08);
  --shadow-card: none;
  --shadow-card-hover: 0 0 30px -10px rgb(124 58 237 / 0.2);
  --shadow-elevated: none;
}
body {
  background: var(--bg);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
::selection {
  background: var(--accent-line);
}
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--primary) 15%, transparent);
  border-radius: 3px;
}
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: none;
  padding: 7px;
  border: 0;
  border-radius: 9999px;
  color: var(--secondary);
  background: transparent;
  cursor: pointer;
}
.theme-toggle:hover {
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 5%, transparent);
}
.theme-toggle svg {
  width: 16px;
  height: 16px;
}
.theme-toggle [data-theme-icon="sun"],
.dark .theme-toggle [data-theme-icon="moon"] {
  display: none;
}
.dark .theme-toggle [data-theme-icon="sun"] {
  display: block;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
