:root {
  color-scheme: light dark;

    --brand-accent: #b5462f;
  --brand-dark: #1a1816;
  --brand-light: #ffffff;
  --brand-accent-2: #2f6b3f;

    --meaning-danger: #b3261e;
  --meaning-warning: #7a4f00;

    --surface: light-dark(var(--brand-light), var(--brand-dark));
  --surface-raised: light-dark(var(--brand-light), color-mix(in oklch, var(--brand-light) 8%, var(--brand-dark)));
  --surface-sunken: light-dark(color-mix(in oklch, var(--brand-dark) 5%, var(--brand-light)), color-mix(in oklch, var(--brand-light) 12%, var(--brand-dark)));
  --ink: light-dark(var(--brand-dark), var(--brand-light));
  --ink-soft: light-dark(color-mix(in oklch, var(--brand-dark) 68%, var(--brand-light)), color-mix(in oklch, var(--brand-light) 72%, var(--brand-dark)));
  --line: light-dark(color-mix(in oklch, var(--brand-dark) 10%, var(--brand-light)), color-mix(in oklch, var(--brand-light) 16%, var(--brand-dark)));
  --line-strong: light-dark(color-mix(in oklch, var(--brand-dark) 44%, var(--brand-light)), color-mix(in oklch, var(--brand-light) 44%, var(--brand-dark)));    --scrim: color-mix(in srgb, var(--brand-dark) 45%, transparent);

    --_band-base-d: oklch(from var(--brand-accent) min(l, 0.72) c h);
  --_band-l: color(from var(--brand-accent) srgb-linear
    calc(r * max(clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1), min(1, 0.155 / max(0.2126 * r + 0.7152 * g + 0.0722 * b, 0.0001))))
    calc(g * max(clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1), min(1, 0.155 / max(0.2126 * r + 0.7152 * g + 0.0722 * b, 0.0001))))
    calc(b * max(clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1), min(1, 0.155 / max(0.2126 * r + 0.7152 * g + 0.0722 * b, 0.0001)))));
  --_band-d: color(from var(--_band-base-d) srgb-linear
    calc(r * max(clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1), min(1, 0.155 / max(0.2126 * r + 0.7152 * g + 0.0722 * b, 0.0001))))
    calc(g * max(clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1), min(1, 0.155 / max(0.2126 * r + 0.7152 * g + 0.0722 * b, 0.0001))))
    calc(b * max(clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1), min(1, 0.155 / max(0.2126 * r + 0.7152 * g + 0.0722 * b, 0.0001)))));
    --_ink-switch-l: color(from var(--brand-accent) srgb-linear
    clamp(0, (0.235 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000, 1)
    clamp(0, (0.235 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000, 1)
    clamp(0, (0.235 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000, 1));
  --_ink-switch-d: color(from var(--_band-base-d) srgb-linear
    clamp(0, (0.235 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000, 1)
    clamp(0, (0.235 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000, 1)
    clamp(0, (0.235 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000, 1));
  --_ground-switch-l: color(from var(--brand-accent) srgb-linear
    clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1)
    clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1)
    clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1));
  --_ground-switch-d: color(from var(--_band-base-d) srgb-linear
    clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1)
    clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1)
    clamp(0, (0.2126 * r + 0.7152 * g + 0.0722 * b - 0.235) * 100000, 1));

  --brand-surface: light-dark(var(--_band-l), var(--_band-d));
  --on-brand: light-dark(color-mix(in srgb-linear, var(--_ink-switch-l) 95%, var(--_band-l)), color-mix(in srgb-linear, var(--_ink-switch-d) 95%, var(--_band-d)));
    --brand-surface-ground: light-dark(color-mix(in srgb-linear, var(--_band-l) 82%, var(--_ground-switch-l)), color-mix(in srgb-linear, var(--_band-d) 82%, var(--_ground-switch-d)));

    --accent: var(--brand-surface);              --accent-ink: var(--on-brand);                 --accent-text: light-dark(
    color(from var(--brand-accent) srgb-linear
      calc(r * min(1, 0.12 / max(0.2126 * r + 0.7152 * g + 0.0722 * b, 0.0001)))
      calc(g * min(1, 0.12 / max(0.2126 * r + 0.7152 * g + 0.0722 * b, 0.0001)))
      calc(b * min(1, 0.12 / max(0.2126 * r + 0.7152 * g + 0.0722 * b, 0.0001)))),
    color(from var(--brand-accent) srgb-linear
      calc(r + (1 - r) * max(0, (0.33 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) / max(1 - (0.2126 * r + 0.7152 * g + 0.0722 * b), 0.0001)))
      calc(g + (1 - g) * max(0, (0.33 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) / max(1 - (0.2126 * r + 0.7152 * g + 0.0722 * b), 0.0001)))
      calc(b + (1 - b) * max(0, (0.33 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) / max(1 - (0.2126 * r + 0.7152 * g + 0.0722 * b), 0.0001)))));
  --accent-soft: light-dark(color-mix(in oklch, var(--brand-accent) 11%, var(--brand-light)), color-mix(in oklch, var(--brand-accent) 16%, var(--brand-dark)));

    --danger: light-dark(var(--meaning-danger), color-mix(in oklch, var(--meaning-danger) 45%, var(--brand-light)));
  --danger-soft: light-dark(color-mix(in oklch, var(--meaning-danger) 10%, var(--brand-light)), color-mix(in oklch, var(--meaning-danger) 26%, var(--brand-dark)));
  --success: light-dark(var(--brand-accent-2), color-mix(in oklch, var(--brand-accent-2) 45%, var(--brand-light)));
  --success-soft: light-dark(color-mix(in oklch, var(--brand-accent-2) 10%, var(--brand-light)), color-mix(in oklch, var(--brand-accent-2) 26%, var(--brand-dark)));
  --warning: light-dark(var(--meaning-warning), color-mix(in oklch, var(--meaning-warning) 40%, var(--brand-light)));
  --warning-soft: light-dark(color-mix(in oklch, var(--meaning-warning) 10%, var(--brand-light)), color-mix(in oklch, var(--meaning-warning) 26%, var(--brand-dark)));
  --accent-2: var(--success);

    --font: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --fs-caption: 0.75rem;     --fs-label: 0.8125rem;     --fs-body: 1rem;           --fs-lead: 1.0625rem;      --fs-title: 1.5rem;        --fs-display: 1.75rem;     --lh-tight: 1.2;
  --lh-body: 1.4;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

    --sp-1: 0.25rem; --sp-2: 0.5rem; --sp-3: 0.75rem; --sp-4: 1rem;
  --sp-5: 1.25rem; --sp-6: 1.5rem; --sp-8: 2rem; --sp-10: 2.5rem; --sp-12: 3rem;
  --gutter: 1rem;            --row: 3.5rem;             --target: 2.75rem;         --topbar: 3.5rem;          --tabbar: 3.5rem;          --media: 6rem;           
    --r-chip: 999px;           --r-control: 28px;         --r-media: 16px;           --r-container: 20px;       --r-check: 6px;            --r-dialog: 20px;          --r-round: 50%;          
    --shadow-ink: light-dark(color-mix(in srgb, var(--brand-dark) 9%, transparent), color-mix(in srgb, var(--brand-dark) 70%, transparent));
  --elev-1: 0 1px 2px var(--shadow-ink), 0 8px 24px var(--shadow-ink);
  --elev-2: 0 2px 6px var(--shadow-ink), 0 12px 32px var(--shadow-ink);

    --speed: 160ms;
  --speed-reveal: 320ms;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-out: cubic-bezier(0.32, 0.72, 0, 1);   }

:root[data-scheme="light"] { color-scheme: light; }
:root[data-scheme="dark"] { color-scheme: dark; }

@supports not (color: color(from red srgb-linear r g b)) {
  :root {
    --brand-surface: var(--brand-accent);
    --on-brand: var(--brand-light);
    --brand-surface-ground: color-mix(in oklch, var(--brand-accent) 80%, var(--brand-dark));
    --accent-text: light-dark(color-mix(in oklch, var(--brand-accent) 84%, var(--brand-dark)), color-mix(in oklch, var(--brand-accent) 62%, var(--brand-light)));
  }
}

@media (prefers-reduced-motion: reduce) {
  :root { --speed: 0ms; --speed-reveal: 0ms; }
}
