/*
  Theme U — Ultreme
  Quiet neutral. Ink primary. Brand mesh. No glow.
  Tokens only.
*/

[data-spore="u"] {
  --spore-scheme: light;

  --spore-bg: #f3f1ec;
  --spore-fg: #14151a;
  --spore-surface: #fffcf8;
  --spore-surface-hover: #ece8e1;
  --spore-surface-fg: #14151a;
  --spore-muted: #e7e2da;
  --spore-muted-fg: #5e6470;

  --spore-accent: #14151a;
  --spore-accent-fg: #f7f4ee;
  --spore-accent-hover: #2a2c33;

  --spore-border: #e4dfd6;
  --spore-line: color-mix(in srgb, #14151a 14%, transparent);

  --spore-success-bg: #e8f6ee;
  --spore-success-border: #1b7a4c;
  --spore-success-text: #0c4a2e;
  --spore-warning-bg: #f8f1e0;
  --spore-warning-border: #a16207;
  --spore-warning-text: #713f12;
  --spore-error-bg: #f8e8e6;
  --spore-error-border: #b42318;
  --spore-error-text: #7a1c14;
  --spore-info-bg: #eceff3;
  --spore-info-border: #344054;
  --spore-info-text: #1d2939;
  --spore-caution-bg: #f4f0e4;
  --spore-caution-border: #92640f;
  --spore-caution-text: #5c3f0c;

  --spore-ring: #14151a;
  --spore-ring-width: 2px;
  --spore-ring-offset: 3px;

  --spore-glow: none;
  --spore-mesh-a: #e0409b;
  --spore-mesh-b: #32d0b1;
  --spore-mesh-c: #7a6ad8;
  --spore-mesh-opacity: 0.55;
  --spore-shadow-ambient: 0 1px 1px rgb(0 0 0 / 0.04), 0 8px 24px rgb(0 0 0 / 0.04);
  --spore-shadow-elevated: 0 1px 1px rgb(0 0 0 / 0.04), 0 24px 64px rgb(0 0 0 / 0.08);

  --spore-radius-none: 0px;
  --spore-radius-sm: 10px;
  --spore-radius-md: 14px;
  --spore-radius-lg: 20px;
  --spore-radius-pill: 999px;
  --spore-radius-control: var(--spore-radius-sm);
  --spore-radius-panel: var(--spore-radius-lg);
  --spore-radius-inner: max(0px, calc(var(--spore-radius-panel) - var(--spore-space-2)));

  --spore-font-display: "Spore Inter", "Spore Inter Fallback", "Segoe UI", "Helvetica Neue", Roboto, "Noto Sans", Arial, sans-serif;
  --spore-font-body: "Spore Inter", "Spore Inter Fallback", "Segoe UI", "Helvetica Neue", Roboto, "Noto Sans", Arial, sans-serif;
  --spore-font-label: "Spore Inter", "Spore Inter Fallback", "Segoe UI", "Helvetica Neue", Roboto, "Noto Sans", Arial, sans-serif;
  --spore-font-mono: "SFMono-Regular", "Cascadia Code", "Roboto Mono", Consolas, Menlo, monospace;

  --spore-text-xs: 0.75rem;
  --spore-text-sm: 0.875rem;
  --spore-text-md: 1rem;
  --spore-text-lg: 1.125rem;
  --spore-text-xl: 1.5rem;
  --spore-text-2xl: 2.75rem;
  --spore-leading-tight: 1.12;
  --spore-leading-snug: 1.35;
  --spore-leading-normal: 1.5;
  --spore-weight-regular: 400;
  --spore-weight-medium: 500;
  --spore-weight-label: 600;
  --spore-weight-display: 650;
  --spore-weight-bold: 700;
  --spore-tracking-display: -0.06em;
  --spore-tracking-label: 0.01em;
  --spore-tracking-body: 0em;

  --spore-space-1: 0.25rem;
  --spore-space-2: 0.5rem;
  --spore-space-3: 0.75rem;
  --spore-space-4: 1rem;
  --spore-space-5: 1.25rem;
  --spore-space-6: 1.5rem;
  --spore-space-7: 1.75rem;
  --spore-space-8: 2rem;
}

html[data-theme="dark"] [data-spore="u"]:not([data-theme="light"]),
html[data-theme="dark"][data-spore="u"],
[data-spore="u"][data-theme="dark"] {
  --spore-scheme: dark;

  --spore-bg: #07080c;
  --spore-fg: #f4f1ea;
  --spore-surface: #14161c;
  --spore-surface-hover: #1c1f28;
  --spore-surface-fg: #f4f1ea;
  --spore-muted: #101218;
  --spore-muted-fg: #a8aeb8;

  --spore-accent: #f4f1ea;
  --spore-accent-fg: #07080c;
  --spore-accent-hover: #e7e2d8;

  --spore-border: #2a2e38;
  --spore-line: color-mix(in srgb, #f4f1ea 16%, transparent);

  --spore-success-bg: #10261a;
  --spore-success-border: #3aa67e;
  --spore-success-text: #c8f0dc;
  --spore-warning-bg: #2a2010;
  --spore-warning-border: #e0a05a;
  --spore-warning-text: #f3d7a8;
  --spore-error-bg: #2a1412;
  --spore-error-border: #f0a8a0;
  --spore-error-text: #f8d4d0;
  --spore-info-bg: #16181c;
  --spore-info-border: #98a2b3;
  --spore-info-text: #d0d5dd;
  --spore-caution-bg: #26220f;
  --spore-caution-border: #d4c06a;
  --spore-caution-text: #efe4b0;

  --spore-ring: #f4f1ea;

  --spore-glow: none;
  --spore-mesh-a: #e0409b;
  --spore-mesh-b: #32d0b1;
  --spore-mesh-c: #7a6ad8;
  --spore-mesh-opacity: 0.72;
  --spore-shadow-ambient: 0 1px 1px rgb(0 0 0 / 0.35), 0 8px 24px rgb(0 0 0 / 0.2);
  --spore-shadow-elevated: 0 1px 1px rgb(0 0 0 / 0.35), 0 24px 64px rgb(0 0 0 / 0.45);
}

@media (forced-colors: active) {
  [data-spore="u"],
  html[data-theme="dark"] [data-spore="u"] {
    --spore-glow: none !important;
    --spore-mesh-opacity: 0;
  }
}
