/* Copy of ../tokens.css 1.1.0, taken 2026-09-20. The vault root file is the source, this
   copy exists because site/ is uploaded as one folder and a page can only load what ships
   beside it. Any change to the source is copied here in the same round, so drift is a diff.
   Everything below this comment is byte-identical to the source. */

/* Alpenglühen tokens
   version 1.1.0, decided 2026-09-16 (D1, D2, D4, D7, C1), type scale still proposed (D10)
   verified 2026-09-16
   rules: brand/Palette.md, brand/Typography.md, decisions: Decisions.base

   Every value of the system is typed here and nowhere else. A copy in another
   file (CV source, signature, planner) starts with a comment naming this file
   and the copy date. Lines marked "proposed" carry the review's value and
   become active when the decision they cite is answered. A line marked
   "was" names the 1.0.0 value it replaced.

   Mode: an artefact pins its mode with data-theme="light" or "dark" on <html>.
   Any element can re-pin its region. Without the attribute, light applies. */

@font-face {
  font-family: "Saira";
  src: url(fonts/Saira-latin-wght400-600.woff2) format("woff2");   /* the canonical text font file (D7) */
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
}
@font-face {
  font-family: "Germania One";
  src: url(fonts/GermaniaOne-Regular.ttf) format("truetype");
  font-weight: 400;
  font-display: swap;
}

:root {
  /* type: exactly two families, both OFL, bundled from fonts/ */
  --font-display: "Germania One", Saira, Bahnschrift, "DIN Alternate", "Helvetica Neue", Arial, sans-serif;
  --font-text: Saira, Bahnschrift, "DIN Alternate", "Helvetica Neue", Arial, sans-serif;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --numeric: tabular-nums slashed-zero;   /* font-variant-numeric for dates, phone numbers, IDs */

  /* type scale, proposed by the review, still open (D10) */
  --size-display-xl: 54px;
  --size-display: 34px;
  --size-body: 15px;
  --size-ui: 14px;
  --size-small: 13px;
  --size-label: 11px;                     /* caps labels, floor 10 px, 11 px on 1x displays */
  --lh-body: 1.5;
  --lh-ui: 1.4;
  --lh-tight: 1;
  --lh-display: 1.05;
  --tracking-label: 0.5px;

  /* spacing, 4-based, proposed by the review, still open (D10) */
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;

  /* shape, decided (D4): one number, and the portrait ring is the one round exception */
  --radius: 0;
  --border-width: 1px;

  /* focus ring, decided (D1): 2 px solid, 2 px offset, on everything focusable */
  --focus-width: 2px;
  --focus-offset: 2px;

  /* the two grounds as constants, whatever the mode */
  --ink: #090E0A;                         /* fir-forest near-black, darkened from #0C1A10 (E12) */
  --paper: #F1F2E9;                       /* warm, faint green cast, the unprinted stock in print */

  /* CV sidebar, decided (C1): the one-pager keeps its sidebar as built. Three CV-only values,
     not palette members, used nowhere else. The brand darks below stay for screens. */
  --cv-sidebar: #1E3A31;                  /* "Tanne" */
  --cv-sidebar-text: #FFFFFF;
  --cv-sidebar-info: #3E9C94;
}

/* Light mode: paper. The default for everything personal. */
:root, [data-theme="light"] {
  color-scheme: light;
  --page: var(--paper);
  --accent-fill: #E8785A;                 /* mode-stable brand fill: the portrait ring, a marked heading, one element per region */
  --on-accent: #FFFDF5;                   /* text inside a coral fill, where one carries text */
  --accent-text: #B04420;                 /* decided (D1), was #C2532F: 5.04:1 on paper, 4.56:1 on raised */
  --info: #0FA482;                        /* aqua as fill or line */
  --info-text: #0D705A;                   /* decided (D2), was equal to --info: 5.35:1 on paper as link text */
  --surface: #FAFBF4;
  --raised: #E4E8DA;
  --border: #C9D2C2;
  --border-strong: #7E8678;               /* decided (D1): about 3:1 on every ground, for boundaries a reader has to find */
  --text: #1A2B1E;
  --text-muted: #5B6B5D;                  /* decided (D1), was #5E6E60: clears 4.5:1 on raised */
  --accent-fill-hover: #DA6C4E;           /* decided (D1): coral one OKLab step down, mode-stable */
  --focus: var(--info-text);              /* decided (D1) */
}

/* Dark mode: ink. Untouched by the review except the new tokens. */
[data-theme="dark"] {
  color-scheme: dark;
  --page: var(--ink);
  --accent-fill: #E8785A;
  --on-accent: #1E0A05;
  --accent-text: #E8785A;
  --info: #12CFA2;
  --info-text: #12CFA2;
  --surface: #0E1510;
  --raised: #151E17;
  --border: #263122;
  --border-strong: #5E6B5A;               /* decided (D1) */
  --text: #E3E8DC;
  --text-muted: #8FA492;
  --accent-fill-hover: #DA6C4E;           /* decided (D1) */
  --focus: var(--info-text);              /* decided (D1) */
}

@media print {
  :root { --page: transparent; }          /* paper is the stock itself */
}

/* Print values, the starting points for the A6 planner and the CV booklet (D9, decided: they live here).
   coral        C0 M48 Y61 K9   untested, test strip on the ET-5000 before any run
   ink          [to compute]
   aqua         [to compute]
   text         [to compute]
   cv-sidebar   [to compute]    the value the current PDFs print, to be read off the ET-5000 strip
   paper        none, the unprinted stock
   Pantone from a physical fan when a job needs it. */
