/* =============================================================
   system.css · Gemeinsame Regeln fuer alle Flos-Dash-Seiten
   -------------------------------------------------------------
   Wird in jeder Seite NACH dem eigenen <style> eingebunden und gewinnt dadurch
   bei gleicher Spezifitaet. Aenderungen hier wirken auf alle Seiten.

   BREITE   Eine Seitenbreite fuer alles: --w-page. Rand links und rechts: --gutter.
            Die Navigationsleiste richtet sich nach .wrap (nav.js).
   SCHRIFT  Drei Familien mit festen Aufgaben:
              --font          Oberflaeche, Fliesstext, Eingaben
              --font-display  Seitentitel und Begruessung (gleiche Familie, fett)
              --mono          Zahlen, Zeiten, Kennzahlen, Code
            Eine Skala mit sechs Stufen, keine Einzelgroessen:
              --fs-xs   11px  Eyebrows, Beschriftungen in Grossbuchstaben, Tabellenkoepfe, Tags
              --fs-sm   12px  Nebentext, Hinweise, Meta, kleine Buttons
              --fs-md   14px  Fliesstext, Listen, Eingaben, Buttons
              --fs-lg   17px  Kartentitel, Zwischenueberschriften
              --fs-num  22px  Kennzahlen in Kacheln (mono)
              --fs-hero 34px  grosse Einzelzahl
            Seitentitel: --fs-title (30px, auf dem Handy bis 24px).
            Gewichte: 400 normal, 600 betont, 700 Beschriftung/Zahl.
   Neue Seiten: nur diese Tokens benutzen, keine px-Werte fuer Schrift.
   ============================================================= */
/* Schrift: Plus Jakarta Sans (variabel, lokal gehostet, kein Google-Abruf) */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;
  src:url("fonts/plus-jakarta-sans-latin-ext.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:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;
  src:url("fonts/plus-jakarta-sans-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --w-page:1100px; --gutter:16px;
  --font:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-display:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --fs-xs:11px; --fs-sm:12px; --fs-md:14px; --fs-lg:17px; --fs-num:22px; --fs-hero:34px;
  --fs-title:clamp(24px,6.5vw,30px);
  --lh:1.5; --lh-tight:1.25;
  --ls-label:.14em;
}
html{-webkit-text-size-adjust:100%}
/* clip statt hidden: hidden macht den body zum Scroll-Container und die angeheftete Navigation (sticky) hoert auf zu haften */
body{overflow-x:clip}
body{font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh);padding-left:var(--gutter);padding-right:var(--gutter)}
.wrap{max-width:var(--w-page);margin-left:auto;margin-right:auto}

h1.title{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;font-size:var(--fs-title);line-height:var(--lh-tight);
  background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:var(--text-primary)}
/* Seitenueberschriften sind ausgeblendet (bleiben fuer Screenreader im Text). Die Begruessung im Dash (#greet) bleibt sichtbar. */
h1.title:not(#greet){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
h1.title .nm{color:var(--ci-text,inherit)}
.eyebrow{font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase}
.sub{font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase}
.muted{font-size:var(--fs-sm)}
input,select,textarea,button{font-family:inherit}
code,kbd,pre,.mono{font-family:var(--mono)}

/* ===== Prüfrunde Oktober: Zoom, Fokus, Touchflächen ===== */
/* iPhone zoomt beim Fokussieren in Felder unter 16px; auf Touchgeräten deshalb 16px */
@media (pointer: coarse) { input, select, textarea { font-size: 16px !important; } }
/* Sichtbarer Fokus für Tastatur und Hilfstechnik, hell und dunkel */
:focus-visible { outline: 2px solid #5B9DD9; outline-offset: 2px; }
html[data-theme="light"] :focus-visible { outline-color: #1F5F99; }
/* Touchflächen mindestens 40px hoch */
@media (pointer: coarse) {
  .nxnav a, .nxnav .nxtheme, .nxsub a { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
  .del, .rm, .x { min-width: 40px; min-height: 40px; }
}
/* Buttons brechen nicht um */
.btn { white-space: nowrap; }
input::placeholder, textarea::placeholder { color: var(--text-tertiary); }
