/* tokens/fonts.css */
/* Webfonts: Google Fonts CDN. No licensed brand binaries were supplied — see readme.md "Font substitution". */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-400-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-400-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-500-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-500-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/lora-400600-italic-6.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/lora-400600-italic-7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/lora-400700-8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/lora-400700-9.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/barlow-400-italic-100.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/barlow-400-italic-101.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/barlow-300-102.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/barlow-300-103.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/barlow-400-104.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/barlow-400-105.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/barlow-500-106.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/barlow-500-107.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/barlow-600-108.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/barlow-600-109.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/barlow-700-110.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/barlow-700-111.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* tokens/colors.css */
:root{
/* Base — Dunkelblau (Kanzleifarbe) */
--navy-900:#0E1A2B;--navy-800:#142338;--navy-700:#1B2E48;--navy-600:#27405F;--navy-500:#3B5678;--navy-300:#93A3B8;--navy-100:#D8DFE8;--navy-50:#EEF1F6;
/* Base — Gold (Akzent, sparsam) */
--gold-800:#6E5730;--gold-700:#85693A;--gold-600:#A08048;--gold-400:#C2A878;--gold-200:#E0D3B6;--gold-100:#F0E9DC;
/* Base — Neutrals (kühles Grau) */
--paper:#FCFCFD;--paper-2:#F4F5F7;--paper-3:#E9EBEF;
--line:#DFE2E8;--line-strong:#C3C8D1;
--ink-1:#15181D;--ink-2:#3C424B;--ink-3:#646B76;--ink-4:#929AA6;
--white:#FFFFFF;
/* Base — Semantik */
--success-600:#2C6249;--success-50:#E7F0EB;
--warning-600:#8E6B24;--warning-50:#F7F0E1;
--danger-600:#8A2F2C;--danger-50:#F6E9E8;
--info-600:#27506E;--info-50:#E8EEF3;

/* Semantic aliases */
--text-heading:var(--navy-900);
--text-body:var(--ink-2);
--text-strong:var(--ink-1);
--text-muted:var(--ink-3);
--text-faint:var(--ink-4);
--text-on-dark:#E9EEF5;
--text-on-dark-muted:#A9B6C8;
--text-accent:var(--gold-700);
--text-link:var(--navy-700);
--text-link-hover:var(--gold-700);

--surface-page:var(--paper);
--surface-card:var(--white);
--surface-sunken:var(--paper-2);
--surface-inset:var(--paper-3);
--surface-inverse:var(--navy-900);
--surface-accent-soft:var(--gold-100);
--surface-brand-soft:var(--navy-50);

--border-subtle:var(--line);
--border-default:var(--line-strong);
--border-strong:var(--navy-700);
--border-focus:var(--gold-600);

--action-primary-bg:var(--navy-700);
--action-primary-bg-hover:var(--navy-800);
--action-primary-bg-active:var(--navy-900);
--action-primary-fg:#F3F6FA;
--action-secondary-fg:var(--navy-700);
--action-accent-bg:var(--gold-600);
--action-accent-bg-hover:var(--gold-700);
--action-disabled-bg:var(--paper-3);
--action-disabled-fg:var(--ink-4);

--focus-ring:0 0 0 3px rgba(160,128,72,.34);
}

/* tokens/typography.css */
:root{
--font-serif:"Lora",Georgia,"Times New Roman",serif;
--font-sans:"Barlow","Helvetica Neue",system-ui,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;

--text-xs:13px;--text-sm:14px;--text-base:16px;--text-md:17px;--text-lg:19px;--text-xl:22px;--text-2xl:26px;--text-3xl:32px;--text-4xl:40px;--text-5xl:52px;

--leading-tight:1.14;--leading-snug:1.28;--leading-normal:1.55;--leading-relaxed:1.68;

--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;

--tracking-tight:-0.012em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-caps:0.13em;

/* Rollen */
--type-display-family:var(--font-serif);
--type-display-size:var(--text-5xl);
--type-display-leading:var(--leading-tight);
--type-heading-family:var(--font-serif);
--type-body-family:var(--font-sans);
--type-body-size:var(--text-md);
--type-body-leading:var(--leading-relaxed);
--type-eyebrow-family:var(--font-sans);
--type-eyebrow-size:var(--text-xs);
--type-eyebrow-tracking:var(--tracking-caps);
--type-meta-family:var(--font-mono);
--type-meta-size:var(--text-xs);
}

/* tokens/spacing.css */
:root{
--space-0:0px;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:20px;--space-8:24px;--space-9:32px;--space-10:40px;--space-11:56px;--space-12:80px;--space-13:112px;
--gutter:24px;
--section-y:80px;
--section-y-lg:112px;
--measure-prose:66ch;
--measure-narrow:44ch;
--container:1180px;
--container-narrow:760px;
}

/* tokens/radius.css */
:root{
--radius-none:0px;--radius-sm:2px;--radius-md:3px;--radius-lg:6px;--radius-xl:10px;--radius-pill:999px;
--radius-control:3px;
--radius-card:6px;
--radius-media:2px;
--border-hairline:1px;
--rule-accent:2px;
}

/* tokens/elevation.css */
:root{
--shadow-0:none;
--shadow-1:0 1px 2px rgba(14,26,43,.07);
--shadow-2:0 2px 8px rgba(14,26,43,.10);
--shadow-3:0 14px 36px -12px rgba(14,26,43,.24);
--shadow-inset:inset 0 1px 0 rgba(14,26,43,.05);
--elevation-card:var(--shadow-1);
--elevation-card-hover:var(--shadow-2);
--elevation-overlay:var(--shadow-3);
--scrim:rgba(14,26,43,.46);
--blur-overlay:blur(3px); /* @kind other */
}

/* tokens/motion.css */
:root{
--duration-fast:120ms; /* @kind other */
--duration-base:200ms; /* @kind other */
--duration-slow:320ms; /* @kind other */
--ease-standard:cubic-bezier(.2,0,0,1); /* @kind other */
--ease-out:cubic-bezier(.16,1,.3,1); /* @kind other */
--ease-in-out:cubic-bezier(.4,0,.2,1); /* @kind other */
--transition-control:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);
}
@media (prefers-reduced-motion:reduce){:root{
--duration-fast:1ms; /* @kind other */
--duration-base:1ms; /* @kind other */
--duration-slow:1ms; /* @kind other */
}}

/* tokens/base.css */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--type-body-size);line-height:var(--type-body-leading);font-weight:var(--weight-regular)}
h1,h2,h3,h4{font-family:var(--font-serif);color:var(--text-heading);font-weight:var(--weight-regular);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);margin:0}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--gold-400);transition:var(--transition-control)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--gold-700)}
*:focus-visible{outline:none;box-shadow:var(--focus-ring)}

