/* Riosoma theme: Nature
   Generated by tools/build_themes.py from design-systems/nature/. Edit the source or the build, not this file.
   Color scheme: data-scheme="<id>" on <html> or any container. Default: grove.
   Scheme, mode, and surface ids are listed in theme.json. */

@layer rio.theme {
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url(assets/fonts/remote/dm-sans-e06d3a43fbc1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url(assets/fonts/remote/dm-sans-ef749164b4fa.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(assets/fonts/remote/dm-sans-c55bbe7af5d2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url(assets/fonts/remote/dm-sans-54dbf8a8d65e.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/fonts/remote/plus-jakarta-sans-472c813e86e3.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/fonts/remote/plus-jakarta-sans-06c520b63941.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/fonts/remote/plus-jakarta-sans-4052f929a0f2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/fonts/remote/plus-jakarta-sans-bb91024cf81b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/fonts/remote/plus-jakarta-sans-74276ca9731a.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/fonts/remote/plus-jakarta-sans-b6548330f42a.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/fonts/remote/plus-jakarta-sans-1193e553c652.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(assets/fonts/remote/plus-jakarta-sans-61f3d372952e.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ── tokens/fonts.css ──────────────────────────────────────────── */
/* Typefaces. Both faces are variable TTFs shipped with the system. */


:root, [data-scheme]{
  --nt-font-display:"Plus Jakarta Sans",'Plus Jakarta Sans',system-ui,sans-serif;
  --nt-font-text:"DM Sans",'DM Sans',system-ui,sans-serif;
  --nt-font-mono:ui-monospace,monospace;
}

/* ── tokens/palette.css ────────────────────────────────────────── */
/* Raw palette ramps. Themes select from these; components never reference them directly. */
:root, [data-scheme]{
  /* Grove — the system's native palette, lifted from the source templates */
  --nt-grove-bark:#374836;
  --nt-grove-paper:#f9fbf3;
  --nt-grove-moss:#e1ece3;
  --nt-grove-leaf:#77a32a;
  --nt-grove-stone:#7f8f80;
  --nt-grove-line:#d9d9d9;
  --nt-grove-haze:#a0a6a1;

  /* Signal colours — constant across themes so status never changes meaning */
  --nt-signal-success:#43aa8b;
  --nt-signal-warning:#f8961e;
  --nt-signal-danger:#e63946;
  --nt-signal-info:#4d908e;
}

/* ── tokens/theme.css ──────────────────────────────────────────── */
/* Semantic layer.
   A theme sets 8 seeds; every other colour, shadow and overlay derives from them.
   Because custom properties resolve where they are declared, each theme scope in
   tokens/themes.css restates this same derived block — do not "optimise" that away. */
:root, [data-scheme]{
  --nt-seed-ink:#374836;
  --nt-seed-paper:#f9fbf3;
  --nt-seed-accent:#77a32a;
  --nt-seed-accent-2:#4d908e;
  --nt-seed-accent-3:#f9c74f;
  --nt-seed-accent-4:#a1c181;
  --nt-seed-on-accent:#f9fbf3;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:var(--nt-grove-moss);
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}

/* ── tokens/themes.css ─────────────────────────────────────────── */
/* Colour-scheme variants. Set data-nt-theme on <html>, <body> or any subtree;
   each block is self-contained so nested scopes resolve correctly. */
[data-scheme="spectrum"]{ /* Spectrum */
  --nt-seed-ink:#26343d;
  --nt-seed-paper:#fbf7f1;
  --nt-seed-accent:#f94144;
  --nt-seed-accent-2:#f8961e;
  --nt-seed-accent-3:#90be6d;
  --nt-seed-accent-4:#277da1;
  --nt-seed-on-accent:#fbf7f1;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="midnight-gold"]{ /* Midnight Gold */
  --nt-seed-ink:#000814;
  --nt-seed-paper:#f4f6fa;
  --nt-seed-accent:#ffc300;
  --nt-seed-accent-2:#003566;
  --nt-seed-accent-3:#001d3d;
  --nt-seed-accent-4:#ffd60a;
  --nt-seed-on-accent:#000814;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="neon-bloom"]{ /* Neon Bloom */
  --nt-seed-ink:#240061;
  --nt-seed-paper:#fbf6f7;
  --nt-seed-accent:#ff0054;
  --nt-seed-accent-2:#390099;
  --nt-seed-accent-3:#ff5400;
  --nt-seed-accent-4:#ffbd00;
  --nt-seed-on-accent:#fbf6f7;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="field-red"]{ /* Field Red */
  --nt-seed-ink:#1d3557;
  --nt-seed-paper:#f1faee;
  --nt-seed-accent:#e63946;
  --nt-seed-accent-2:#457b9d;
  --nt-seed-accent-3:#a8dadc;
  --nt-seed-accent-4:#1d3557;
  --nt-seed-on-accent:#f1faee;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="blush-sage"]{ /* Blush Sage */
  --nt-seed-ink:#3c4a46;
  --nt-seed-paper:#f7ede2;
  --nt-seed-accent:#f28482;
  --nt-seed-accent-2:#84a59d;
  --nt-seed-accent-3:#f6bd60;
  --nt-seed-accent-4:#f5cac3;
  --nt-seed-on-accent:#3c4a46;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="harvest"]{ /* Harvest */
  --nt-seed-ink:#233d4d;
  --nt-seed-paper:#fbf7f0;
  --nt-seed-accent:#fe7f2d;
  --nt-seed-accent-2:#619b8a;
  --nt-seed-accent-3:#fcca46;
  --nt-seed-accent-4:#a1c181;
  --nt-seed-on-accent:#fbf7f0;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="lagoon"]{ /* Lagoon */
  --nt-seed-ink:#22577a;
  --nt-seed-paper:#f2fbf4;
  --nt-seed-accent:#38a3a5;
  --nt-seed-accent-2:#57cc99;
  --nt-seed-accent-3:#80ed99;
  --nt-seed-accent-4:#c7f9cc;
  --nt-seed-on-accent:#08303a;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="fern-coral"]{ /* Fern Coral */
  --nt-seed-ink:#2e5339;
  --nt-seed-paper:#f6f8f3;
  --nt-seed-accent:#ff5666;
  --nt-seed-accent-2:#00fddc;
  --nt-seed-accent-3:#495f41;
  --nt-seed-accent-4:#ffccc9;
  --nt-seed-on-accent:#2e5339;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="sorbet"]{ /* Sorbet */
  --nt-seed-ink:#2b3a4a;
  --nt-seed-paper:#fbf7f4;
  --nt-seed-accent:#ff70a6;
  --nt-seed-accent-2:#70d6ff;
  --nt-seed-accent-3:#ff9770;
  --nt-seed-accent-4:#ffd670;
  --nt-seed-on-accent:#26313d;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="reef"]{ /* Reef */
  --nt-seed-ink:#17384a;
  --nt-seed-paper:#f8fdec;
  --nt-seed-accent:#247ba0;
  --nt-seed-accent-2:#70c1b3;
  --nt-seed-accent-3:#b2dbbf;
  --nt-seed-accent-4:#ff1654;
  --nt-seed-on-accent:#f8fdec;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="ochre"]{ /* Ochre */
  --nt-seed-ink:#083d77;
  --nt-seed-paper:#ebebd3;
  --nt-seed-accent:#ee964b;
  --nt-seed-accent-2:#f4d35e;
  --nt-seed-accent-3:#f95738;
  --nt-seed-accent-4:#083d77;
  --nt-seed-on-accent:#16233a;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="stone-mint"]{ /* Stone Mint */
  --nt-seed-ink:#3c493f;
  --nt-seed-paper:#f0f7f4;
  --nt-seed-accent:#a2e3c4;
  --nt-seed-accent-2:#7e8d85;
  --nt-seed-accent-3:#b3bfb8;
  --nt-seed-accent-4:#3c493f;
  --nt-seed-on-accent:#29332c;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,var(--nt-seed-ink) 75%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — deliberately constant across themes */
  --nt-success:var(--nt-signal-success);
  --nt-warning:var(--nt-signal-warning);
  --nt-danger:var(--nt-signal-danger);
  --nt-info:var(--nt-signal-info);

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,var(--nt-seed-ink) 7%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,var(--nt-seed-ink) 18%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,var(--nt-seed-ink) 26%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,var(--nt-seed-ink) 40%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 0%,color-mix(in oklab,var(--nt-seed-ink) 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}

/* Dark schemes.  The seed formulas carry over with ink and paper swapped, but shadows, scrims,
   and signal colors mix toward black and lighter signal tones, since a light ink would glow. */
[data-scheme="night-grove"]{ /* Night Grove */
  color-scheme:dark;
  --nt-seed-ink:#e6eee2;
  --nt-seed-paper:#141d16;
  --nt-seed-accent:#8cc63f;
  --nt-seed-accent-2:#e0b650;
  --nt-seed-accent-3:#5fb3a1;
  --nt-seed-accent-4:#c98b6b;
  --nt-seed-on-accent:#0f160f;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,#000 70%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — the same hues, lightened to read on a dark page */
  --nt-success:#6fcf97;
  --nt-warning:#f2c94c;
  --nt-danger:#ff8a80;
  --nt-info:#7cc4ff;

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,#000 21%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,#000 54%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,#000 78%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,#000 80%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,#000 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,#000 75%,transparent) 0%,color-mix(in oklab,#000 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="night-lagoon"]{ /* Night Lagoon */
  color-scheme:dark;
  --nt-seed-ink:#e2f0f2;
  --nt-seed-paper:#0e1b21;
  --nt-seed-accent:#3fc1c9;
  --nt-seed-accent-2:#f2c94c;
  --nt-seed-accent-3:#8fd694;
  --nt-seed-accent-4:#f28482;
  --nt-seed-on-accent:#062025;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,#000 70%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — the same hues, lightened to read on a dark page */
  --nt-success:#6fcf97;
  --nt-warning:#f2c94c;
  --nt-danger:#ff8a80;
  --nt-info:#7cc4ff;

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,#000 21%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,#000 54%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,#000 78%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,#000 80%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,#000 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,#000 75%,transparent) 0%,color-mix(in oklab,#000 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="ember-night"]{ /* Ember Night */
  color-scheme:dark;
  --nt-seed-ink:#f2e8df;
  --nt-seed-paper:#1c1512;
  --nt-seed-accent:#f29e4c;
  --nt-seed-accent-2:#e76f51;
  --nt-seed-accent-3:#a7c957;
  --nt-seed-accent-4:#9ecfd6;
  --nt-seed-on-accent:#1f120a;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,#000 70%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — the same hues, lightened to read on a dark page */
  --nt-success:#6fcf97;
  --nt-warning:#f2c94c;
  --nt-danger:#ff8a80;
  --nt-info:#7cc4ff;

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,#000 21%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,#000 54%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,#000 78%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,#000 80%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,#000 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,#000 75%,transparent) 0%,color-mix(in oklab,#000 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}
[data-scheme="moonlit-moss"]{ /* Moonlit Moss */
  color-scheme:dark;
  --nt-seed-ink:#e4e8e1;
  --nt-seed-paper:#1b1f1b;
  --nt-seed-accent:#a3c585;
  --nt-seed-accent-2:#d4b483;
  --nt-seed-accent-3:#8db1c4;
  --nt-seed-accent-4:#c9a3c4;
  --nt-seed-on-accent:#141a12;

  /* Surfaces */
  --nt-paper:var(--nt-seed-paper);
  --nt-surface:var(--nt-seed-paper);
  --nt-surface-soft:color-mix(in oklab,var(--nt-seed-accent) 12%,var(--nt-seed-paper));
  --nt-surface-raised:color-mix(in oklab,var(--nt-seed-paper) 86%,#fff);
  --nt-surface-sunken:color-mix(in oklab,var(--nt-seed-ink) 7%,var(--nt-seed-paper));
  --nt-surface-ink:var(--nt-seed-ink);
  --nt-surface-ink-soft:color-mix(in oklab,var(--nt-seed-ink) 86%,var(--nt-seed-paper));
  --nt-scrim:color-mix(in oklab,#000 70%,transparent);

  /* Text */
  --nt-text-heading:var(--nt-seed-ink);
  --nt-text-body:color-mix(in oklab,var(--nt-seed-ink) 62%,var(--nt-seed-paper));
  --nt-text-muted:color-mix(in oklab,var(--nt-seed-ink) 42%,var(--nt-seed-paper));
  --nt-text-faint:color-mix(in oklab,var(--nt-seed-ink) 26%,var(--nt-seed-paper));
  --nt-text-inverse:var(--nt-seed-paper);
  --nt-text-accent:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link:color-mix(in oklab,var(--nt-seed-accent) 88%,var(--nt-seed-ink));
  --nt-text-link-hover:var(--nt-seed-ink);

  /* Accent */
  --nt-accent:var(--nt-seed-accent);
  --nt-accent-strong:color-mix(in oklab,var(--nt-seed-accent) 80%,var(--nt-seed-ink));
  --nt-accent-soft:color-mix(in oklab,var(--nt-seed-accent) 20%,var(--nt-seed-paper));
  --nt-on-accent:var(--nt-seed-on-accent);
  --nt-accent-2:var(--nt-seed-accent-2);
  --nt-accent-3:var(--nt-seed-accent-3);
  --nt-accent-4:var(--nt-seed-accent-4);

  /* Lines */
  --nt-border:color-mix(in oklab,var(--nt-seed-ink) 14%,var(--nt-seed-paper));
  --nt-border-strong:color-mix(in oklab,var(--nt-seed-ink) 32%,var(--nt-seed-paper));
  --nt-border-ink:var(--nt-seed-ink);
  --nt-border-inverse:color-mix(in oklab,var(--nt-seed-paper) 55%,transparent);
  --nt-focus:color-mix(in oklab,var(--nt-seed-accent) 70%,var(--nt-seed-ink));

  /* State overlays */
  --nt-state-hover:color-mix(in oklab,var(--nt-seed-ink) 8%,transparent);
  --nt-state-press:color-mix(in oklab,var(--nt-seed-ink) 16%,transparent);
  --nt-state-hover-inverse:color-mix(in oklab,var(--nt-seed-paper) 14%,transparent);
  --nt-disabled-opacity:0.4; /* @kind other */

  /* Signals — the same hues, lightened to read on a dark page */
  --nt-success:#6fcf97;
  --nt-warning:#f2c94c;
  --nt-danger:#ff8a80;
  --nt-info:#7cc4ff;

  /* Elevation and overlays depend on the seeds, so they resolve per theme too */
  --nt-shadow-soft:0 2px 10px color-mix(in oklab,#000 21%,transparent);
  --nt-shadow-card:0 12px 32px -12px color-mix(in oklab,#000 54%,transparent);
  --nt-shadow-lift:0 20px 48px -16px color-mix(in oklab,#000 78%,transparent);
  --nt-shadow-overlay:0 32px 80px -24px color-mix(in oklab,#000 80%,transparent);
  --nt-shadow-inset:inset 0 1px 0 color-mix(in oklab,var(--nt-seed-paper) 40%,transparent);
  --nt-shadow-halo:-2px 0 7px color-mix(in oklab,var(--nt-seed-paper) 50%,transparent);
  --nt-glass-bg:linear-gradient(241deg,color-mix(in oklab,var(--nt-seed-paper) 50%,transparent) -7.37%,color-mix(in oklab,var(--nt-seed-paper) 10%,transparent) 89.52%); /* @kind other */
  --nt-glass-border:1px solid color-mix(in oklab,var(--nt-seed-paper) 50%,transparent); /* @kind other */
  --nt-protect-bottom:linear-gradient(0deg,color-mix(in oklab,#000 85%,transparent) 0%,transparent 100%); /* @kind other */
  --nt-protect-flat:linear-gradient(0deg,color-mix(in oklab,#000 75%,transparent) 0%,color-mix(in oklab,#000 75%,transparent) 100%); /* @kind other */

  /* Data viz sequence */
  --nt-viz-1:var(--nt-seed-accent);
  --nt-viz-2:var(--nt-seed-accent-2);
  --nt-viz-3:var(--nt-seed-accent-3);
  --nt-viz-4:var(--nt-seed-accent-4);
  --nt-viz-5:color-mix(in oklab,var(--nt-seed-ink) 55%,var(--nt-seed-paper));
}

/* ── tokens/typography.css ─────────────────────────────────────── */
/* Type scale — sizes lifted verbatim from the source templates. */
:root, [data-scheme]{
  --nt-fs-display-1:100px; --nt-lh-display-1:1.08em;
  --nt-fs-display-2:80px;  --nt-lh-display-2:1.1em;
  --nt-fs-h1:56px;         --nt-lh-h1:1.2em;
  --nt-fs-h2:42px;         --nt-lh-h2:1.2em;
  --nt-fs-h3:32px;         --nt-lh-h3:1.25em;
  --nt-fs-h4:24px;         --nt-lh-h4:1.33em;
  --nt-fs-h5:20px;         --nt-lh-h5:1.5em;
  --nt-fs-h6:18px;         --nt-lh-h6:1.5em;
  --nt-fs-body:16px;       --nt-lh-body:1.5em;
  --nt-fs-body-lg:20px;
  --nt-fs-small:14px;      --nt-lh-small:1.5em;
  --nt-fs-micro:12px;      --nt-lh-micro:1.4em;

  --nt-fw-light:300; /* @kind font */
  --nt-fw-normal:400; /* @kind font */
  --nt-fw-medium:500; /* @kind font */
  --nt-fw-semibold:600; /* @kind font */
  --nt-fw-bold:700; /* @kind font */

  --nt-tracking-tight:-0.01em; /* @kind other */
  --nt-tracking-normal:0; /* @kind other */
  --nt-tracking-label:0.08em; /* @kind other */
  --nt-tracking-wide:0.16em; /* @kind other */
}

/* ── tokens/space.css ──────────────────────────────────────────── */
/* Spacing — the rhythm the source templates actually use (not a 4px grid). */
:root, [data-scheme]{
  --nt-space-1:4px;
  --nt-space-2:8px;
  --nt-space-3:10px;
  --nt-space-4:12px;
  --nt-space-5:16px;
  --nt-space-6:20px;
  --nt-space-7:24px;
  --nt-space-8:32px;
  --nt-space-9:40px;
  --nt-space-10:50px;
  --nt-space-11:64px;
  --nt-space-12:80px;
  --nt-space-13:100px;
  --nt-space-14:120px;
  --nt-space-15:150px;

  --nt-section-y:100px;
  --nt-section-y-sm:70px;
  --nt-stack-gap:24px;
}

/* ── tokens/radius.css ─────────────────────────────────────────── */
/* Corner radii — the source uses a 3/5/7/10/15/20 ladder plus pills and circles. */
:root, [data-scheme]{
  --nt-radius-xs:3px;
  --nt-radius-sm:5px;
  --nt-radius-md:7px;
  --nt-radius-lg:10px;
  --nt-radius-xl:15px;
  --nt-radius-2xl:20px;
  --nt-radius-pill:1.6em;
  --nt-radius-round:50%;
  --nt-radius-none:0px;
}

/* ── tokens/elevation.css ──────────────────────────────────────── */
/* Elevation is restrained. The shadow and overlay values themselves live in
   tokens/theme.css so they can pick up each theme's ink and paper. */
:root, [data-scheme]{
  --nt-shadow-none:none;
  --nt-glass-blur:blur(5px); /* @kind other */
}

/* ── tokens/motion.css ─────────────────────────────────────────── */
/* Motion — everything eases; nothing bounces except the underline sweep. */
:root, [data-scheme]{
  --nt-dur-fast:0.2s; /* @kind other */
  --nt-dur-base:0.3s; /* @kind other */
  --nt-dur-slow:0.4s; /* @kind other */
  --nt-dur-slower:0.6s; /* @kind other */
  --nt-dur-image:0.8s; /* @kind other */
  --nt-dur-zoom:1.2s; /* @kind other */

  --nt-ease:ease; /* @kind other */
  --nt-ease-out:cubic-bezier(0.49,0.49,0.08,1); /* @kind other */
  --nt-ease-back:cubic-bezier(0.7,-0.56,0.27,1.6); /* @kind other */

  --nt-lift:translateY(-2px); /* @kind other */
  --nt-scale-up:scale(1.08); /* @kind other */
  --nt-scale-image:scale(1.05); /* @kind other */
}

/* ── tokens/layout.css ─────────────────────────────────────────── */
:root, [data-scheme]{
  --nt-container:1296px;
  --nt-container-narrow:880px;
  --nt-gutter:24px;
  --nt-measure:70ch; /* @kind other */

  --nt-header-h:88px;
  --nt-titlebar-h:38px;
  --nt-tabbar-h:56px;

  --nt-z-base:1; /* @kind other */
  --nt-z-sticky:100; /* @kind other */
  --nt-z-header:200; /* @kind other */
  --nt-z-overlay:800; /* @kind other */
  --nt-z-modal:900; /* @kind other */
  --nt-z-toast:1000; /* @kind other */
}

/* ── Riosoma semantic layer (see themes/README.md) ────────────── */
:root, [data-scheme], [data-mode], [data-surface] {
  --rio-bg: var(--nt-paper);
  --rio-surface: var(--nt-surface-raised);
  --rio-ink: var(--nt-text-heading);
  --rio-text: var(--rio-legible-text, var(--nt-text-heading));
  --rio-text-muted: var(--rio-legible-text-muted, var(--nt-text-muted));
  --rio-border: var(--nt-border);
  --rio-accent: var(--nt-accent);
  --rio-on-accent: var(--rio-legible-on-accent, var(--nt-on-accent));
  --rio-link: var(--nt-text-link);
  --rio-focus: var(--nt-focus);
  --rio-success: var(--nt-success);
  --rio-warning: var(--nt-warning);
  --rio-danger: var(--nt-danger);
  --rio-info: var(--nt-info);
  --rio-font-body: var(--nt-font-text);
  --rio-font-display: var(--nt-font-display);
  --rio-font-mono: var(--nt-font-mono);
  --rio-radius: var(--nt-radius-md);
}

/* Riosoma legibility tier */
:root:where(:not([data-scheme])), [data-scheme="grove"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #374836;
  --rio-aa-on-accent: #2d2e28;
  --rio-aa-accent-text: #577d00;
  --rio-aa-text-muted: #5b6358;
  --rio-aa-link: #567d05;
  --rio-aa-focus: #638734;
  --rio-aa-border: #8c9087;
  --rio-aa-success-text: #006e55;
  --rio-aa-on-success: #30312b;
  --rio-aa-warning-text: #8f5200;
  --rio-aa-on-warning: #40413b;
  --rio-aa-danger-text: #c4042b;
  --rio-aa-on-danger: #0e0f0a;
  --rio-aa-info-text: #266b6a;
  --rio-aa-on-info: #1c1d17;
  --rio-legible-text: #374836;
  --rio-legible-text-muted: #5b6358;
  --rio-legible-on-accent: #2d2e28;
  --rio-aa-choice-text: #374836;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #dcded8;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #fbd6cd;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #f5dec8;
  --rio-aa-choice-yellow: #b88a00;
  --rio-aa-choice-yellow-soft: #ebe2c7;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #d0e7cc;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #cee6dc;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #cfe2f7;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #e4d8ee;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f6d5e0;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e5daca;
}
[data-scheme="spectrum"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #26343d;
  --rio-aa-on-accent: #211e1a;
  --rio-aa-accent-text: #dc1d2c;
  --rio-aa-text-muted: #5b5f61;
  --rio-aa-link: #d03639;
  --rio-aa-focus: #b84746;
  --rio-aa-border: #8e8d8b;
  --rio-aa-success-text: #006b53;
  --rio-aa-on-success: #33302c;
  --rio-aa-warning-text: #8b5000;
  --rio-aa-on-warning: #26343d;
  --rio-aa-danger-text: #bf0029;
  --rio-aa-on-danger: #110e0b;
  --rio-aa-info-text: #226867;
  --rio-aa-on-info: #1f1c18;
  --rio-legible-text: #26343d;
  --rio-legible-text-muted: #5b5f61;
  --rio-legible-on-accent: #211e1a;
  --rio-aa-choice-text: #26343d;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #dedbd6;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #fcd3cc;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #f6dbc6;
  --rio-aa-choice-yellow: #b38600;
  --rio-aa-choice-yellow-soft: #ebdec5;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #d2e4cb;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #d0e3db;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #d1dff5;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #e5d5ec;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f8d1df;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e6d7c9;
}
[data-scheme="midnight-gold"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #000814;
  --rio-aa-on-accent: #000814;
  --rio-aa-accent-text: #8d6a00;
  --rio-aa-text-muted: #525b63;
  --rio-aa-link: #8c6b00;
  --rio-aa-focus: #a6852c;
  --rio-aa-border: #888c92;
  --rio-aa-success-text: #00664f;
  --rio-aa-on-success: #000814;
  --rio-aa-warning-text: #854c00;
  --rio-aa-on-warning: #000814;
  --rio-aa-danger-text: #b60026;
  --rio-aa-on-danger: #000814;
  --rio-aa-info-text: #1c6362;
  --rio-aa-on-info: #000814;
  --rio-legible-text: #000814;
  --rio-legible-text-muted: #525b63;
  --rio-legible-on-accent: #000814;
  --rio-aa-choice-text: #000814;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #d8dadd;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #f7d3d3;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #f1dace;
  --rio-aa-choice-yellow: #b28500;
  --rio-aa-choice-yellow-soft: #e6ddcc;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #cce3d2;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #cbe2e2;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #cbdefc;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #e0d4f3;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f3d1e6;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e1d6d0;
}
[data-scheme="neon-bloom"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #240061;
  --rio-aa-on-accent: #191617;
  --rio-aa-accent-text: #e00049;
  --rio-aa-text-muted: #5c567d;
  --rio-aa-link: #dc1057;
  --rio-aa-focus: #b62560;
  --rio-aa-border: #8f8b9a;
  --rio-aa-success-text: #006851;
  --rio-aa-on-success: #240061;
  --rio-aa-warning-text: #874d00;
  --rio-aa-on-warning: #240061;
  --rio-aa-danger-text: #b90027;
  --rio-aa-on-danger: #110e0f;
  --rio-aa-info-text: #1f6564;
  --rio-aa-on-info: #240061;
  --rio-legible-text: #240061;
  --rio-legible-text-muted: #5c567d;
  --rio-legible-on-accent: #191617;
  --rio-aa-choice-text: #240061;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #dedadb;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #fcd3d1;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #f6dacb;
  --rio-aa-choice-yellow: #b38600;
  --rio-aa-choice-yellow-soft: #ebddca;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #d2e3cf;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #d0e2df;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #d1defa;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #e5d4f0;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f8d1e3;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e6d6cd;
}
[data-scheme="field-red"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #1d3557;
  --rio-aa-on-accent: #0b1009;
  --rio-aa-accent-text: #d7283a;
  --rio-aa-text-muted: #51606b;
  --rio-aa-link: #ca3c48;
  --rio-aa-focus: #aa4451;
  --rio-aa-border: #848f8c;
  --rio-aa-success-text: #006b53;
  --rio-aa-on-success: #2c3229;
  --rio-aa-warning-text: #8b4f00;
  --rio-aa-on-warning: #1d3557;
  --rio-aa-danger-text: #be0029;
  --rio-aa-on-danger: #0b1009;
  --rio-aa-info-text: #216866;
  --rio-aa-on-info: #181e16;
  --rio-legible-text: #1d3557;
  --rio-legible-text-muted: #51606b;
  --rio-legible-on-accent: #0b1009;
  --rio-aa-choice-text: #1d3557;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #d6ddd4;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #f5d6ca;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #efddc4;
  --rio-aa-choice-yellow: #b38600;
  --rio-aa-choice-yellow-soft: #e4e0c3;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #cae6c8;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #c8e5d8;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #c9e1f3;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #ded7ea;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f1d4dd;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #dfd9c6;
}
[data-scheme="blush-sage"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #3c4a46;
  --rio-aa-on-accent: #2f3c38;
  --rio-aa-accent-text: #b1494b;
  --rio-aa-text-muted: #5b5b54;
  --rio-aa-link: #a8504f;
  --rio-aa-focus: #ba7470;
  --rio-aa-border: #8d867d;
  --rio-aa-success-text: #006850;
  --rio-aa-on-success: #263330;
  --rio-aa-warning-text: #874d00;
  --rio-aa-on-warning: #364340;
  --rio-aa-danger-text: #b90027;
  --rio-aa-on-danger: #06110e;
  --rio-aa-info-text: #1e6563;
  --rio-aa-on-info: #121f1b;
  --rio-legible-text: #3c4a46;
  --rio-legible-text-muted: #5b5b54;
  --rio-legible-on-accent: #2f3c38;
  --rio-aa-choice-text: #3c4a46;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #dbd3cb;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #f8ccc0;
  --rio-aa-choice-orange: #d16c09;
  --rio-aa-choice-orange-soft: #f1d1b9;
  --rio-aa-choice-yellow: #ac8000;
  --rio-aa-choice-yellow-soft: #e6d5b9;
  --rio-aa-choice-green: #2a9a41;
  --rio-aa-choice-green-soft: #cedbbe;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #cedbcf;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #ced7ea;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #e2cde1;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f4cad4;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e3cfbd;
}
[data-scheme="harvest"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #233d4d;
  --rio-aa-on-accent: #3b3833;
  --rio-aa-accent-text: #b85200;
  --rio-aa-text-muted: #576064;
  --rio-aa-link: #b85200;
  --rio-aa-focus: #bb6e46;
  --rio-aa-border: #8d8d8b;
  --rio-aa-success-text: #006c54;
  --rio-aa-on-success: #33302b;
  --rio-aa-warning-text: #8c5000;
  --rio-aa-on-warning: #233d4d;
  --rio-aa-danger-text: #c00029;
  --rio-aa-on-danger: #110e0a;
  --rio-aa-info-text: #226867;
  --rio-aa-on-info: #1f1c18;
  --rio-legible-text: #233d4d;
  --rio-legible-text-muted: #576064;
  --rio-legible-on-accent: #3b3833;
  --rio-aa-choice-text: #233d4d;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #dedbd5;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #fcd3cb;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #f6dbc6;
  --rio-aa-choice-yellow: #b38600;
  --rio-aa-choice-yellow-soft: #ebdec4;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #d2e4ca;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #d0e3da;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #d1dff5;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #e5d5eb;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f8d1de;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e6d7c8;
}
[data-scheme="lagoon"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #22577a;
  --rio-aa-on-accent: #08303a;
  --rio-aa-accent-text: #007e81;
  --rio-aa-text-muted: #4d6570;
  --rio-aa-link: #037e84;
  --rio-aa-focus: #318c98;
  --rio-aa-border: #839091;
  --rio-aa-success-text: #006f56;
  --rio-aa-on-success: #08303a;
  --rio-aa-warning-text: #8f5300;
  --rio-aa-on-warning: #08303a;
  --rio-aa-danger-text: #c4042b;
  --rio-aa-on-danger: #001117;
  --rio-aa-info-text: #266b6a;
  --rio-aa-on-info: #002028;
  --rio-legible-text: #22577a;
  --rio-legible-text-muted: #4d6570;
  --rio-legible-on-accent: #08303a;
  --rio-aa-choice-text: #22577a;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #d7ded8;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #f6d7ce;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #f0dec9;
  --rio-aa-choice-yellow: #b48700;
  --rio-aa-choice-yellow-soft: #e5e1c8;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #cae7cd;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #c9e6dd;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #cae2f8;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #dfd8ee;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f1d5e1;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e0dacb;
}
[data-scheme="fern-coral"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #2e5339;
  --rio-aa-on-accent: #0b311a;
  --rio-aa-accent-text: #d52b45;
  --rio-aa-text-muted: #556457;
  --rio-aa-link: #c93e48;
  --rio-aa-focus: #c35e58;
  --rio-aa-border: #888f88;
  --rio-aa-success-text: #006d55;
  --rio-aa-on-success: #12371f;
  --rio-aa-warning-text: #8e5100;
  --rio-aa-on-warning: #23472e;
  --rio-aa-danger-text: #c2002a;
  --rio-aa-on-danger: #001205;
  --rio-aa-info-text: #256a69;
  --rio-aa-on-info: #00220d;
  --rio-legible-text: #2e5339;
  --rio-legible-text-muted: #556457;
  --rio-legible-on-accent: #0b311a;
  --rio-aa-choice-text: #2e5339;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #dadbd8;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #f8d4cd;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #f3dbc8;
  --rio-aa-choice-yellow: #b38600;
  --rio-aa-choice-yellow-soft: #e7dfc7;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #cee5cc;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #cce3dc;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #cddff7;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #e1d6ee;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f4d2e0;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e3d8ca;
}
[data-scheme="sorbet"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #2b3a4a;
  --rio-aa-on-accent: #26313d;
  --rio-aa-accent-text: #c63b75;
  --rio-aa-text-muted: #5b5f66;
  --rio-aa-link: #bc4677;
  --rio-aa-focus: #bd6389;
  --rio-aa-border: #8e8d8e;
  --rio-aa-success-text: #006c54;
  --rio-aa-on-success: #26313d;
  --rio-aa-warning-text: #8c5100;
  --rio-aa-on-warning: #26313d;
  --rio-aa-danger-text: #c00029;
  --rio-aa-on-danger: #060f1a;
  --rio-aa-info-text: #236968;
  --rio-aa-on-info: #131d29;
  --rio-legible-text: #2b3a4a;
  --rio-legible-text-muted: #5b5f66;
  --rio-legible-on-accent: #26313d;
  --rio-aa-choice-text: #2b3a4a;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #dedbd8;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #fcd3ce;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #f6dbc9;
  --rio-aa-choice-yellow: #b38600;
  --rio-aa-choice-yellow-soft: #ebdec7;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #d2e4cd;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #d0e3dd;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #d1dff8;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #e5d5ee;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f8d1e1;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e6d7cb;
}
[data-scheme="reef"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #17384a;
  --rio-aa-on-accent: #f8fdec;
  --rio-aa-accent-text: #247ba0;
  --rio-aa-text-muted: #536363;
  --rio-aa-link: #237395;
  --rio-aa-focus: #216685;
  --rio-aa-border: #899288;
  --rio-aa-success-text: #006d55;
  --rio-aa-on-success: #2e3225;
  --rio-aa-warning-text: #8e5100;
  --rio-aa-on-warning: #17384a;
  --rio-aa-danger-text: #c2002a;
  --rio-aa-on-danger: #0d1006;
  --rio-aa-info-text: #246968;
  --rio-aa-on-info: #1a1e11;
  --rio-legible-text: #17384a;
  --rio-legible-text-muted: #536363;
  --rio-legible-on-accent: #f8fdec;
  --rio-aa-choice-text: #17384a;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #dbdfd2;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #fad8c8;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #f4dfc2;
  --rio-aa-choice-yellow: #b88a00;
  --rio-aa-choice-yellow-soft: #eae4c1;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #cfe8c7;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #cde7d7;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #cee3f2;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #e3dae9;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f6d6db;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #e4dcc5;
}
[data-scheme="ochre"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #083d77;
  --rio-aa-on-accent: #16233a;
  --rio-aa-accent-text: #9e5500;
  --rio-aa-text-muted: #455967;
  --rio-aa-link: #995821;
  --rio-aa-focus: #a67a62;
  --rio-aa-border: #7e867c;
  --rio-aa-success-text: #00634d;
  --rio-aa-on-success: #16233a;
  --rio-aa-warning-text: #814900;
  --rio-aa-on-warning: #16233a;
  --rio-aa-danger-text: #b10025;
  --rio-aa-on-danger: #040e24;
  --rio-aa-info-text: #18605f;
  --rio-aa-on-info: #101c33;
  --rio-legible-text: #083d77;
  --rio-legible-text-muted: #455967;
  --rio-legible-on-accent: #16233a;
  --rio-aa-choice-text: #083d77;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #d1d2bf;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #efcab5;
  --rio-aa-choice-orange: #cd6800;
  --rio-aa-choice-orange-soft: #e7cfad;
  --rio-aa-choice-yellow: #a87d00;
  --rio-aa-choice-yellow-soft: #dcd2ad;
  --rio-aa-choice-green: #26973e;
  --rio-aa-choice-green-soft: #c4d9b2;
  --rio-aa-choice-teal: #009489;
  --rio-aa-choice-teal-soft: #c3d8c2;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #c5d6df;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #d9ccd6;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #ebc9c8;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #daceb1;
}
[data-scheme="stone-mint"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #3c493f;
  --rio-aa-on-accent: #29332c;
  --rio-aa-accent-text: #3c7b60;
  --rio-aa-text-muted: #58615b;
  --rio-aa-link: #437a62;
  --rio-aa-focus: #66967d;
  --rio-aa-border: #868d89;
  --rio-aa-success-text: #006c54;
  --rio-aa-on-success: #29332c;
  --rio-aa-warning-text: #8c5000;
  --rio-aa-on-warning: #29332c;
  --rio-aa-danger-text: #c00029;
  --rio-aa-on-danger: #08100b;
  --rio-aa-info-text: #236967;
  --rio-aa-on-info: #151e18;
  --rio-legible-text: #3c493f;
  --rio-legible-text-muted: #58615b;
  --rio-legible-on-accent: #29332c;
  --rio-aa-choice-text: #3c493f;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #d5dbd8;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #f4d4ce;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #eedbc9;
  --rio-aa-choice-yellow: #b18500;
  --rio-aa-choice-yellow-soft: #e2dec7;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #c9e4cd;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #c7e2dd;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #c8dff7;
  --rio-aa-choice-purple: #9b59d0;
  --rio-aa-choice-purple-soft: #ddd5ee;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #f0d2e1;
  --rio-aa-choice-brown: #9c6b3f;
  --rio-aa-choice-brown-soft: #ded7cb;
}
[data-scheme="night-grove"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #e6eee2;
  --rio-aa-on-accent: #0f160f;
  --rio-aa-accent-text: #8cc63f;
  --rio-aa-text-muted: #bcc7bc;
  --rio-aa-link: #97cb59;
  --rio-aa-focus: #a7d379;
  --rio-aa-border: #78847a;
  --rio-aa-success-text: #78d89f;
  --rio-aa-on-success: #0f160f;
  --rio-aa-warning-text: #f2c94c;
  --rio-aa-on-warning: #0f160f;
  --rio-aa-danger-text: #ffb1a8;
  --rio-aa-on-danger: #0f160f;
  --rio-aa-info-text: #8ccbff;
  --rio-aa-on-info: #0f160f;
  --rio-legible-text: #e6eee2;
  --rio-legible-text-muted: #bcc7bc;
  --rio-legible-on-accent: #0f160f;
  --rio-aa-choice-text: #e6eee2;
  --rio-aa-choice-gray: #818180;
  --rio-aa-choice-gray-soft: #2a312b;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #3f2a22;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #3c301d;
  --rio-aa-choice-yellow: #b88a00;
  --rio-aa-choice-yellow-soft: #34331c;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #1d3621;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #1b362e;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #1c3342;
  --rio-aa-choice-purple: #a463da;
  --rio-aa-choice-purple-soft: #302d3c;
  --rio-aa-choice-pink: #db45a3;
  --rio-aa-choice-pink-soft: #3d2a32;
  --rio-aa-choice-brown: #a8774a;
  --rio-aa-choice-brown-soft: #322f21;
}
[data-scheme="night-lagoon"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #e2f0f2;
  --rio-aa-on-accent: #062025;
  --rio-aa-accent-text: #3fc1c9;
  --rio-aa-text-muted: #b6c6cb;
  --rio-aa-link: #5bc7ce;
  --rio-aa-focus: #7cd0d5;
  --rio-aa-border: #738288;
  --rio-aa-success-text: #76d69d;
  --rio-aa-on-success: #062025;
  --rio-aa-warning-text: #f2c94c;
  --rio-aa-on-warning: #062025;
  --rio-aa-danger-text: #ffafa6;
  --rio-aa-on-danger: #062025;
  --rio-aa-info-text: #89caff;
  --rio-aa-on-info: #062025;
  --rio-legible-text: #e2f0f2;
  --rio-legible-text-muted: #b6c6cb;
  --rio-legible-on-accent: #062025;
  --rio-aa-choice-text: #e2f0f2;
  --rio-aa-choice-gray: #7f7f7e;
  --rio-aa-choice-gray-soft: #252f34;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #3c292c;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #382f28;
  --rio-aa-choice-yellow: #b88a00;
  --rio-aa-choice-yellow-soft: #303227;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #16352b;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #143437;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #17304a;
  --rio-aa-choice-purple: #a261d8;
  --rio-aa-choice-purple-soft: #2c2b45;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #39273a;
  --rio-aa-choice-brown: #a67548;
  --rio-aa-choice-brown-soft: #2d2e2b;
}
[data-scheme="ember-night"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #f2e8df;
  --rio-aa-on-accent: #1f120a;
  --rio-aa-accent-text: #f29e4c;
  --rio-aa-text-muted: #c7bdb7;
  --rio-aa-link: #f3a761;
  --rio-aa-focus: #f4b57d;
  --rio-aa-border: #847b77;
  --rio-aa-success-text: #72d299;
  --rio-aa-on-success: #1f120a;
  --rio-aa-warning-text: #f2c94c;
  --rio-aa-on-warning: #1f120a;
  --rio-aa-danger-text: #ffa9a0;
  --rio-aa-on-danger: #1f120a;
  --rio-aa-info-text: #7cc4ff;
  --rio-aa-on-info: #1f120a;
  --rio-legible-text: #f2e8df;
  --rio-legible-text-muted: #c7bdb7;
  --rio-legible-on-accent: #1f120a;
  --rio-aa-choice-text: #f2e8df;
  --rio-aa-choice-gray: #7c7c7c;
  --rio-aa-choice-gray-soft: #2f2927;
  --rio-aa-choice-red: #e5484d;
  --rio-aa-choice-red-soft: #43221e;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #402819;
  --rio-aa-choice-yellow: #b88a00;
  --rio-aa-choice-yellow-soft: #3a2c18;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #27301d;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #252f2a;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #262c3e;
  --rio-aa-choice-purple: #9f5ed5;
  --rio-aa-choice-purple-soft: #352538;
  --rio-aa-choice-pink: #d6409f;
  --rio-aa-choice-pink-soft: #40212d;
  --rio-aa-choice-brown: #a37245;
  --rio-aa-choice-brown-soft: #36271d;
}
[data-scheme="moonlit-moss"] {
  --rio-legible-surface-tint: 6%;
  --rio-legible-hover-tint: 8%;
  --rio-legible-pressed-tint: 14%;
  --rio-legible-selected-tint: 16%;
  --rio-aa-text: #e4e8e1;
  --rio-aa-on-accent: #141a12;
  --rio-aa-accent-text: #a3c585;
  --rio-aa-text-muted: #c3c9c2;
  --rio-aa-link: #abc990;
  --rio-aa-focus: #b6d0a1;
  --rio-aa-border: #80857f;
  --rio-aa-success-text: #7adba2;
  --rio-aa-on-success: #141a12;
  --rio-aa-warning-text: #f2c94c;
  --rio-aa-on-warning: #141a12;
  --rio-aa-danger-text: #ffb5ac;
  --rio-aa-on-danger: #141a12;
  --rio-aa-info-text: #93cdff;
  --rio-aa-on-info: #141a12;
  --rio-legible-text: #e4e8e1;
  --rio-legible-text-muted: #c3c9c2;
  --rio-legible-on-accent: #141a12;
  --rio-aa-choice-text: #e4e8e1;
  --rio-aa-choice-gray: #848483;
  --rio-aa-choice-gray-soft: #303330;
  --rio-aa-choice-red: #e94b50;
  --rio-aa-choice-red-soft: #452c27;
  --rio-aa-choice-orange: #d9731a;
  --rio-aa-choice-orange-soft: #413121;
  --rio-aa-choice-yellow: #b88a00;
  --rio-aa-choice-yellow-soft: #3a3520;
  --rio-aa-choice-green: #2f9e44;
  --rio-aa-choice-green-soft: #233825;
  --rio-aa-choice-teal: #0f9a8f;
  --rio-aa-choice-teal-soft: #223732;
  --rio-aa-choice-blue: #3b82f6;
  --rio-aa-choice-blue-soft: #233446;
  --rio-aa-choice-purple: #a766dd;
  --rio-aa-choice-purple-soft: #362f41;
  --rio-aa-choice-pink: #de48a6;
  --rio-aa-choice-pink-soft: #432b36;
  --rio-aa-choice-brown: #ab794c;
  --rio-aa-choice-brown-soft: #383126;
}
}
