/* base.css — Reset, tokeny, typografia, a11y.
   Kanoniczne źródło zmiennych CSS projektu Dzień z Energią. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* REBRAND „Dziennik energetyczny": papier/atrament + jeden akcent (zieleń
   instytucjonalna). LIGHT-default (papier), noc przez [data-theme=dark] i
   prefers-color-scheme. Typografia: Newsreader (head) / IBM Plex Sans (body)
   / IBM Plex Mono (dane). Stare nazwy zmapowane — zero find/replace w modułach. */
:root{
  /* paleta papier/atrament */
  --paper:#FBFAF7;--paper-2:#F2F0EA;--ink:#16202B;--ink-60:#54606B;--ink-30:#9AA3AB;
  --rule:rgba(22,32,43,.14);--accent:#1F5C46;--accent-ink:#12382B;

  /* brand „teal" zmapowany na akcent (chrome) */
  --c-teal:var(--accent);--c-teal-bright:var(--accent);--c-teal-deep:var(--accent-ink);--c-teal-glow:var(--accent);

  --c-bg:var(--paper);--c-bg-mid:var(--paper-2);--c-bg-light:var(--paper-2);
  --c-fg:var(--ink);--c-fg-muted:var(--ink-60);
  --c-border:var(--rule);

  /* typografia (SSOT dla podstron: edukacja, artykuły, słownik) */
  --f-head:'Newsreader',Georgia,serif;
  --f-body:'IBM Plex Sans',system-ui,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,monospace;

  /* Aliasy backwards-compat (edukacja, artykuły, słownik używają --teal etc.) */
  --teal:var(--accent);--teal-bright:var(--accent);--teal-deep:var(--accent-ink);--teal-glow:var(--accent);
  --bg:var(--c-bg);--bg-mid:var(--c-bg-mid);--bg-light:var(--c-bg-light);
  --fg:var(--c-fg);--fg-muted:var(--c-fg-muted);
  --border:var(--c-border)
}

/* noc: ciemny atrament tłem, ciepła biel tekstem, jaśniejszy akcent */
[data-theme=dark]{
  --paper:#131A17;--paper-2:#1C2622;--ink:#ECEAE2;--ink-60:#A7AEA9;--ink-30:#6E756F;
  --rule:rgba(236,234,226,.16);--accent:#5FB58C;--accent-ink:#8FD0AE;
}
/* Tryb jasny domyślny niezależnie od OS — ciemny tylko przyciskiem (localStorage). */
/* explicit light = papier (gdy JS wymusi data-theme=light) */
[data-theme=light]{
  --paper:#FBFAF7;--paper-2:#F2F0EA;--ink:#16202B;--ink-60:#54606B;--ink-30:#9AA3AB;
  --rule:rgba(22,32,43,.14);--accent:#1F5C46;--accent-ink:#12382B;
}

body{font-family:var(--f-body);background:var(--bg);color:var(--fg);overflow-x:hidden;transition:background .4s,color .4s;line-height:1.7}
h1,h2,h3,h4{font-family:var(--f-head)}
a{color:inherit;text-decoration:none}
*:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:0}
