/* ============================================================
   SWIFTLI SMART HR — Gestaltungstoken
   Entwurf 01 «Instrument», Palette «Papier · Graphit · Signal».

   Die Seite ist als Messgerät gebaut: Papiergrund mit Punkttextur,
   Haarlinien, Bemassung, tabellarische Ziffern, EIN Signalton (Rot).
   Die vollständige HELLE Palette steht auf blankem :root — sie gilt
   ohne JavaScript und ohne gesetztes Attribut. Die dunkle Fassung
   («Graphit») wird zweimal nachgereicht: über prefers-color-scheme
   und über [data-theme="dark"], damit der Umschalter in beide
   Richtungen gewinnt. Keine Farbe hat ihre einzige Definition in
   einem @media-Block.

   Die Token-NAMEN sind die der bisherigen Site — alle Unterseiten
   und deren Seiten-Stylesheets bauen darauf auf.
   ============================================================ */

/* ---------- Schriften, im Projekt statt von Google ---------- */
@font-face{
  font-family:"Archivo";
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url("../fonts/archivo-400_800-latin.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,
    U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Archivo";
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url("../fonts/archivo-400_800-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:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/ibm-plex-mono-400-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/ibm-plex-mono-400-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+1E00-1E9F,U+2020,U+20A0-20AB,U+2C60-2C7F;
}
@font-face{
  font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/ibm-plex-mono-500-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,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-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+1E00-1E9F,U+2020,U+20A0-20AB,U+2C60-2C7F;
}
@font-face{
  font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/ibm-plex-mono-600-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/ibm-plex-mono-600-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+1E00-1E9F,U+2020,U+20A0-20AB,U+2C60-2C7F;
}

/* ---------- HELL: Papier mit Graphit-Tinte und Signalrot ---------- */
:root{
  color-scheme:light;

  --ground:#F2F0EA;
  --surface:#E8E5DC;
  --surface-2:#DEDACE;
  --ink:#15171B;
  --ink-2:#3B3F46;
  --dim:#63676F;

  --accent:#D8232A;
  --accent-hi:#B81D23;
  --on-accent:#FFFFFF;
  --accent-rgb:216,35,42;
  --accent-line:rgba(216,35,42,.42);
  --accent-tint:rgba(216,35,42,.07);

  --cold:#3B3F46;
  --cold-rgb:59,63,70;
  --cold-tint:rgba(21,23,27,.05);

  --ok:#1E7A55;
  --warn:#D8232A;

  --line:rgba(21,23,27,.14);
  --line-2:rgba(21,23,27,.30);
  --head-bg:rgba(242,240,234,.86);
  --stage-alt:#E8E5DC;
  --card:#FBFAF7;

  --win-bar-a:#E8E5DC;
  --win-bar-b:#DEDACE;
  --win-body:#FBFAF7;
  --shadow:0 1px 0 rgba(21,23,27,.04),0 24px 60px -32px rgba(21,23,27,.35);
  --scene-a:#ECE9E1;
  --scene-b:#E0DCD1;

  /* Die Szene zeichnet mit diesen Werten */
  --c-house:21,23,27;

  /* Nachbau der App-Oberfläche (Cockpit) */
  --app-bg:#FBFAF7;
  --app-wash:none;
  --app-rail:#E8E5DC;
  --app-card:#FFFFFF;
  --app-card-2:#EDEAE1;
  --app-line:rgba(21,23,27,.14);
  --app-ink:#15171B;
  --app-dim:#63676F;
  --app-rail-ink:#7A7E86;

  /* Schichtbalken im Cockpit: Graphit, ein Alternativton, Signal */
  --bar:#15171B;
  --bar-alt:#4A5058;
  --bar-fg:#F2F0EA;

  /* Schichtfarben (Altbestand, semantisch) */
  --sh-service:#4A5058;
  --sh-bar:#8A6A2E;
  --sh-frei:#1E7A55;
  --sh-krank:#D8232A;
  --sh-ruhe:#9AA0A8;
  --sh-bezahlt:#3B6E7F;

  /* Souveränitäts-Block: der massive Gegenklotz */
  --sov-bg:#15171B;
  --sov-fg:#F2F0EA;
  --sov-lead:rgba(242,240,234,.62);
  --sov-body:rgba(242,240,234,.58);
  --sov-mono:rgba(242,240,234,.52);
  --sov-line:rgba(242,240,234,.22);
  --sov-edge:transparent;

  --grain-blend:multiply;
  --grain-opacity:.5;
  --sun:none;
  --moon:block;

  --gut:clamp(1.25rem,4.5vw,4rem);
  --max:80rem;
  --wide:88rem;
  --e:cubic-bezier(.22,1,.36,1);
  --f:"Archivo","Helvetica Neue",Arial,sans-serif;
  --fm:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
}

/* ---------- GRAPHIT: die dunkle Gegenfassung ----------
   Keine Umkehrung: kühles Graphit als Grund, warmes Papierweiss als
   Tinte. Signalrot wird heller, ohne ins Rosa zu kippen. ---------- */
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ground:#16181C;
    --surface:#1B1E23;
    --surface-2:#202329;
    --ink:#EDEBE5;
    --ink-2:#B6BAC2;
    --dim:#8F949D;

    --accent:#F1524C;
    --accent-hi:#F3736E;
    --on-accent:#14161A;
    --accent-rgb:241,82,76;
    --accent-line:rgba(241,82,76,.42);
    --accent-tint:rgba(241,82,76,.09);

    --cold:#B6BAC2;
    --cold-rgb:182,186,194;
    --cold-tint:rgba(237,235,229,.06);

    --ok:#46B98D;
    --warn:#F1524C;

    --line:rgba(237,235,229,.15);
    --line-2:rgba(237,235,229,.34);
    --head-bg:rgba(22,24,28,.86);
    --stage-alt:#1B1E23;
    --card:#1B1E23;

    --win-bar-a:#202329;
    --win-bar-b:#1B1E23;
    --win-body:#141619;
    --shadow:0 1px 0 rgba(237,235,229,.05),0 28px 70px -34px rgba(0,0,0,.85);
    --scene-a:#1B1E23;
    --scene-b:#141619;

    --c-house:237,235,229;

    --app-bg:#1B1E23;
    --app-wash:none;
    --app-rail:#202329;
    --app-card:#141619;
    --app-card-2:#23262D;
    --app-line:rgba(237,235,229,.14);
    --app-ink:#EDEBE5;
    --app-dim:#8F949D;
    --app-rail-ink:#8F949D;

    --bar:#D3D7DE;
    --bar-alt:#8A9099;
    --bar-fg:#14161A;

    --sh-service:#8A9099;
    --sh-bar:#C2984A;
    --sh-frei:#46B98D;
    --sh-krank:#F1524C;
    --sh-ruhe:#6A707A;
    --sh-bezahlt:#6FA3B4;

    --sov-bg:#0A0C10;
    --sov-fg:#EDEBE5;
    --sov-lead:rgba(237,235,229,.66);
    --sov-body:rgba(237,235,229,.60);
    --sov-mono:rgba(237,235,229,.52);
    --sov-line:rgba(237,235,229,.20);
    --sov-edge:rgba(237,235,229,.13);

    --grain-blend:screen;
    --grain-opacity:.42;
    --sun:block;
    --moon:none;
  }
}

:root[data-theme="dark"]{
  color-scheme:dark;
  --ground:#16181C;
  --surface:#1B1E23;
  --surface-2:#202329;
  --ink:#EDEBE5;
  --ink-2:#B6BAC2;
  --dim:#8F949D;

  --accent:#F1524C;
  --accent-hi:#F3736E;
  --on-accent:#14161A;
  --accent-rgb:241,82,76;
  --accent-line:rgba(241,82,76,.42);
  --accent-tint:rgba(241,82,76,.09);

  --cold:#B6BAC2;
  --cold-rgb:182,186,194;
  --cold-tint:rgba(237,235,229,.06);

  --ok:#46B98D;
  --warn:#F1524C;

  --line:rgba(237,235,229,.15);
  --line-2:rgba(237,235,229,.34);
  --head-bg:rgba(22,24,28,.86);
  --stage-alt:#1B1E23;
  --card:#1B1E23;

  --win-bar-a:#202329;
  --win-bar-b:#1B1E23;
  --win-body:#141619;
  --shadow:0 1px 0 rgba(237,235,229,.05),0 28px 70px -34px rgba(0,0,0,.85);
  --scene-a:#1B1E23;
  --scene-b:#141619;

  --c-house:237,235,229;

  --app-bg:#1B1E23;
  --app-wash:none;
  --app-rail:#202329;
  --app-card:#141619;
  --app-card-2:#23262D;
  --app-line:rgba(237,235,229,.14);
  --app-ink:#EDEBE5;
  --app-dim:#8F949D;
  --app-rail-ink:#8F949D;

  --bar:#D3D7DE;
  --bar-alt:#8A9099;
  --bar-fg:#14161A;

  --sh-service:#8A9099;
  --sh-bar:#C2984A;
  --sh-frei:#46B98D;
  --sh-krank:#F1524C;
  --sh-ruhe:#6A707A;
  --sh-bezahlt:#6FA3B4;

  --sov-bg:#0A0C10;
  --sov-fg:#EDEBE5;
  --sov-lead:rgba(237,235,229,.66);
  --sov-body:rgba(237,235,229,.60);
  --sov-mono:rgba(237,235,229,.52);
  --sov-line:rgba(237,235,229,.20);
  --sov-edge:rgba(237,235,229,.13);

  --grain-blend:screen;
  --grain-opacity:.42;
  --sun:block;
  --moon:none;
}
