/* =====================================================================
   BRAND-TOKENS · Seitenschreiner
   Globale Brand-Konstanten (Vision G "Werkbank-Almanach"-Look).
   Geladen VOR style.css und allen theme-*.css.
   Theme-Files dürfen die --bg/--fg/--accent-Tokens überschreiben,
   aber NICHT die Brand-Primitives unten (--ink, --paper, --sawdust,
   --serif, --mono etc.). Quelle:
   Claude Design/Seitenschreiner Design System (1)/vision-g/colors_and_type.css
   ===================================================================== */

:root {
    /* ----- Color: ink, paper, accents ----- */
    --ink:         #1A1612;   /* warm near-black — primary text, rules */
    --ink-2:       #2A241D;   /* second-tier ink */
    --mute:        #736253;   /* secondary text, captions */
    --rule-soft:   #C9BBA1;   /* hairline rules on paper */
    --rule:        #1A1612;   /* full ink rule */

    --paper:       #EFE7D8;   /* primary background — warm cream */
    --paper-2:     #F6F1E5;   /* lifted surfaces, cards */
    --paper-3:     #E5DBC5;   /* recessed / pressed */

    --sawdust:     #D9A441;   /* primary accent — amber/Sägespan */
    --sawdust-ink: #875E1E;   /* dark sawdust for text on paper — 4.68:1 auf --paper (WCAG AA) */
    --carmine:     #A8412B;   /* Schreinerstift red — rare signal */
    --graphite:    #2D3340;   /* blueprint / secondary dark */

    --night:       #14110D;   /* inverted backgrounds */
    --night-paper: #F1E9D9;   /* text on night */

    /* ----- Spacing scale ----- */
    --s-1:  4px;
    --s-2:  8px;
    --s-3:  12px;
    --s-4:  16px;
    --s-5:  24px;
    --s-6:  32px;
    --s-7:  48px;
    --s-8:  64px;
    --s-9:  96px;
    --s-10: 128px;

    /* ----- Radii — restrained ----- */
    --r-0: 0;
    --r-1: 2px;
    --r-2: 4px;
    --r-pill: 999px;

    /* ----- Hairlines, borders, shadows ----- */
    --hair:        1px solid var(--rule);
    --hair-soft:   1px solid var(--rule-soft);
    --shadow-1:    0 1px 0 var(--rule-soft);
    --shadow-2:    0 2px 0 var(--ink);
    --shadow-press: 3px 3px 0 var(--ink);
    --shadow-paper: 0 10px 30px -12px rgba(26, 22, 18, 0.18);

    /* ----- Type families ----- */
    --serif: "Newsreader", "Source Serif Pro", Georgia, "Times New Roman", serif;
    --mono:  "JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, monospace;

    /* ----- Type scale (editorial defaults) ----- */
    --t-display-xl: 96px;
    --t-display-lg: 72px;
    --t-display-md: 56px;
    --t-h1:         44px;
    --t-h2:         32px;
    --t-h3:         24px;
    --t-body-lg:    20px;
    --t-body:       17px;
    --t-body-sm:    14px;
    --t-caption:    12px;

    /* ----- Motion (Werkstatt-Idiom) ----- */
    --ease-out:  cubic-bezier(0.2, 0.7, 0.2, 1);
    --ease-in:   cubic-bezier(0.7, 0.0, 0.8, 0.4);
    --t-fast:    120ms;
    --t-base:    200ms;
    --t-slow:    400ms;

    /* ----- Layout: fixed-header height (used for sticky-top + scroll-padding) ----- */
    /* Real-gemessen ~73-75px bei font-size 1.2rem brand + 0.85rem padding + 1.8em icon.
       Scrolled-State ist ~6px niedriger. 76px gibt 1-2px Sicherheits-Reserve. */
    --header-h: 76px;
}
