/* Bracewright design tokens · v1.0 · wygenerowane z tokens.json */
:root {
  --bw-stone: #ECEAE5;
  --bw-stone-light: #F6F5F2;
  --bw-stone-dark: #E2DFD8;
  --bw-line: #D3CFC6;
  --bw-deco: #E2DED6;
  --bw-ink: #1B1A18;
  --bw-ink-2: #262420;
  --bw-ink-deco: #24221F;
  --bw-ink-line: #3A3733;
  --bw-green: #2E5E4E;
  --bw-green-night: #8DB5A5;
  --bw-brass: #C08A2B;
  --bw-brass-dark: #8F6416;
  --bw-grey: #66625A;
  --bw-grey-night: #A39E94;
  --bw-text-2: #4A4740;
  --bw-text-2-night: #D9D4CA;
  --bw-red: #9C3B2E;
  --bw-red-night: #D9A28F;
  --bw-add: #2F6B4F;
  --bw-font-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --bw-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --bw-size-display: 5.75rem;
  --bw-size-h1: 4rem;
  --bw-size-h2: 2.75rem;
  --bw-size-h3: 1.75rem;
  --bw-size-lead: 1.312rem;
  --bw-size-body: 1.062rem;
  --bw-size-small: 0.9375rem;
  --bw-size-label: 0.8125rem;
  --bw-size-micro: 0.6875rem;
  --bw-lh-display: 1.02;
  --bw-lh-heading: 1.1;
  --bw-lh-body: 1.55;
  --bw-lh-mono: 1.6;
  --bw-tracking-display: -0.02em;
  --bw-tracking-wordmark: -0.03em;
  --bw-tracking-label: 0.06em;
  --bw-space-0: 0rem;
  --bw-space-4: 0.25rem;
  --bw-space-8: 0.5rem;
  --bw-space-12: 0.75rem;
  --bw-space-16: 1rem;
  --bw-space-24: 1.5rem;
  --bw-space-32: 2rem;
  --bw-space-48: 3rem;
  --bw-space-64: 4rem;
  --bw-space-96: 6rem;
  --bw-space-128: 8rem;
  --bw-radius-sm: 4px;
  --bw-radius-md: 6px;
  --bw-radius-lg: 8px;
  --bw-radius-pill: 999px;

  /* semantyczne: dzień (domyślnie) */
  --bg: var(--bw-stone);
  --surface: var(--bw-stone-light);
  --surface-sunken: var(--bw-stone-dark);
  --text: var(--bw-ink);
  --text-secondary: var(--bw-text-2);
  --text-muted: var(--bw-grey);
  --accent: var(--bw-green);
  --on-accent: var(--bw-stone);
  --spark: var(--bw-brass);
  --brace: var(--bw-green);
  --line: var(--bw-line);
  --deco: var(--bw-deco);
  --diff-add: var(--bw-add);
  --diff-change: var(--bw-brass-dark);
  --diff-remove: var(--bw-red);
}

/* sekcje „po godzinach” albo cała strona nocą */
.theme-night, [data-theme="night"] {
  --bg: var(--bw-ink);
  --surface: var(--bw-ink-2);
  --surface-sunken: var(--bw-ink);
  --text: var(--bw-stone);
  --text-secondary: var(--bw-text-2-night);
  --text-muted: var(--bw-grey-night);
  --accent: var(--bw-green-night);
  --on-accent: var(--bw-ink);
  --spark: var(--bw-brass);
  --brace: var(--bw-brass);
  --line: var(--bw-ink-line);
  --deco: var(--bw-ink-deco);
  --diff-add: var(--bw-green-night);
  --diff-change: var(--bw-brass);
  --diff-remove: var(--bw-red-night);
}

/* aplikacje: tryb ciemny systemu */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="day"]) {
    --bg: var(--bw-ink);
    --surface: var(--bw-ink-2);
    --surface-sunken: var(--bw-ink);
    --text: var(--bw-stone);
    --text-secondary: var(--bw-text-2-night);
    --text-muted: var(--bw-grey-night);
    --accent: var(--bw-green-night);
    --on-accent: var(--bw-ink);
    --spark: var(--bw-brass);
    --brace: var(--bw-brass);
    --line: var(--bw-ink-line);
    --deco: var(--bw-ink-deco);
    --diff-add: var(--bw-green-night);
    --diff-change: var(--bw-brass);
    --diff-remove: var(--bw-red-night);
  }
}

/* kursor marki */
.bw-cursor { display: inline-block; width: 0.22em; height: 0.72em; margin-left: 0.08em; vertical-align: -0.04em; background: var(--spark); }
@media (prefers-reduced-motion: no-preference) { .bw-cursor--blink { animation: bw-blink 1.06s steps(1) infinite; } }
@keyframes bw-blink { 50% { opacity: 0; } }
