/* Uebernommen aus TOMORIS.Design 3.7.0 (wwwroot/tomoris-tokens.css), am 27.10.2026.
   Nur der neutrale Teil (Marke, Konstanten, Rollen hell/dunkel); die Farbwelten
   einzelner Anwendungen (space, pia, ...) sind weggelassen. Werte nicht von Hand
   aendern, sondern bei einem neuen Paketstand die Zeilen 1-277 neu uebernehmen.
   data-theme="hell" | "dunkel" gewinnt, ohne data-theme folgt die Palette dem System. */

/* =============================================================
   TOMORIS.Design 3.7.0 · tomoris-tokens.css
   ERZEUGT aus quelle/tokens.mjs. Nicht von Hand aendern.
   Neu erzeugen: npm run erzeuge

     <html data-theme="hell" data-app="werft">

   data-theme ist FREIWILLIG. Fehlt es, folgt die Palette dem
   Systemzustand (prefers-color-scheme); ein gesetztes data-theme
   gewinnt immer. Gemeldet von Werft und Whisper: ohne diesen
   Rueckfall loest im ersten Bild ohne JavaScript keine Farbe auf.

   Die Bloecke je Farbwelt sind ungleich lang, und das ist Absicht:
   [data-app="x"] traegt nur die helle Abweichung, der ausdrueckliche
   Block [data-app="x"][data-theme="dunkel"] die vollstaendige dunkle
   Palette. Nur so kann die helle Abweichung die Dunkelwahl nicht mehr
   ueberholen. Wer hier kuerzt, holt Issue #3 zurueck.

   Rollen statt Inventar. Fachfarben bleiben in der Anwendung:
   Kalenderfarben, Bildungsbereiche, Platzzustaende, Schweregrade.
   ============================================================= */

@layer tomoris.tokens {

/* ---------- Marke, modusfrei ---------- */
:root{
  --tm-brand-1: #030f5c;
  --tm-brand-2: #004aff;
  --tm-brand-3: #ed4a00;
  --tm-brand-4: #eceff1;
}

/* ---------- Konstanten, modusfrei ---------- */
:root{
  --tm-font: "Nunito Sans", system-ui, -apple-system, sans-serif;
  --tm-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
  --tm-size-eyebrow: .75rem;
  --tm-size-h1: clamp(2rem, 1.3rem + 2.4vw, 3.4rem);
  --tm-size-h2: 1.625rem;
  --tm-size-h3: .9375rem;
  --tm-size-body: .9375rem;
  --tm-size-label: .8125rem;
  --tm-size-mono: .75rem;
  --tm-track-eyebrow: .14em;
  --tm-radius-marker: 3px;
  --tm-radius-tile: 10px;
  --tm-radius-box: 12px;
  --tm-radius-button: 12px;
  --tm-radius-card: 16px;
  --tm-radius-pill: 999px;
  --tm-dur-fast: 160ms;
  --tm-dur-slow: 320ms;
  --tm-ease: cubic-bezier(.2,.7,.3,1);
  --tm-focus-width: 2px;
  --tm-focus-offset: 2px;
}

/* ---------- Masse je Anwendung, modusfrei ---------- */
[data-app="whisper"]{
  --tm-radius-card: 14px;
  --tm-radius-button: 10px;
}
[data-app="ccr"]{
  --tm-radius-card: 12px;
  --tm-radius-box: 8px;
}
[data-app="darkwatch"]{
  --tm-radius-card: 12px;
  --tm-radius-button: 10px;
}
[data-app="werft"]{
  --tm-radius-card: 10px;
  --tm-radius-box: 8px;
  --tm-radius-button: 8px;
}
[data-app="pia"]{
  --tm-radius-card: 18px;
  --tm-radius-button: 999px;
}
[data-app="workassist"]{
  --tm-radius-card: 6px;
  --tm-radius-box: 4px;
  --tm-radius-button: 4px;
}
[data-app="itsm"]{
  --tm-radius-card: 8px;
  --tm-radius-box: 6px;
  --tm-radius-button: 6px;
}

[data-app="pia"]{
  --tm-brand-1: #1e4238;
  --tm-brand-2: #f2a007;
  --tm-brand-3: #e4572e;
  --tm-brand-4: #fbf9f3;
}

/* ---------- Rollen, neutral ---------- */
:root, [data-theme="hell"]{
  color-scheme: light;
  --tm-bg: #f2f4f9;
  --tm-bg-soft: #e8ecf5;
  --tm-surface: #ffffff;
  --tm-surface-2: #f5f7fc;
  --tm-surface-3: #eef2f9;
  --tm-field: #ffffff;
  --tm-border-weak: #eaeef6;
  --tm-border: #dde3ef;
  --tm-border-strong: #c6cfe0;
  --tm-border-elevated: #7d8aa4;
  --tm-hover: #f7f9fd;
  --tm-text-1: #0d1b3d;
  --tm-text-2: #43536f;
  --tm-text-3: #5c6b89;
  --tm-text-4: #5c6b89;
  --tm-accent: #1f4fe0;
  --tm-accent-ink: #ffffff;
  --tm-accent-text: #1f4fe0;
  --tm-accent-hover: #1540c2;
  --tm-accent-soft: #eef3ff;
  --tm-accent-soft-ink: #1f4fe0;
  --tm-accent-2: #c94409;
  --tm-accent-2-ink: #ffffff;
  --tm-accent-2-text: #9a3412;
  --tm-accent-2-soft: #fef4ef;
  --tm-accent-2-soft-ink: #9a3412;
  --tm-stage: #030f5c;
  --tm-stage-2: #16247a;
  --tm-stage-3: #1f3196;
  --tm-stage-border: #4a60da;
  --tm-stage-ink: #ffffff;
  --tm-stage-text-2: #c3ccf5;
  --tm-stage-text-3: #a9b6f0;
  --tm-stage-accent: #ff8a45;
  --tm-stage-link: #6082e9;
  --tm-ok: #0f9d63;
  --tm-ok-ink: #0a7048;
  --tm-ok-fill: #e4f4ec;
  --tm-warn: #b07a05;
  --tm-warn-ink: #7a5500;
  --tm-warn-fill: #faf0dc;
  --tm-crit: #d93a25;
  --tm-crit-ink: #a82a18;
  --tm-crit-fill: #fbe7e5;
  --tm-info: #2b57d6;
  --tm-info-ink: #26507e;
  --tm-info-fill: #eaf2fb;
  --tm-unknown: #66748f;
  --tm-unknown-ink: #465470;
  --tm-unknown-fill: #eef0f4;
  --tm-shadow-sm: 0 1px 3px rgba(3,15,92,.10);
  --tm-shadow: 0 2px 8px rgba(3,15,92,.07), 0 12px 32px rgba(3,15,92,.06);
  --tm-shadow-overlay: 0 24px 64px rgba(3,15,92,.25);
  --tm-scrim: rgba(3,15,92,.35);
  --tm-glass: rgba(255,255,255,.72);
  --tm-glass-border: rgba(13,27,61,.10);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="hell"]){
    color-scheme: dark;
    --tm-bg: #071026;
    --tm-bg-soft: #0b1730;
    --tm-surface: #101a33;
    --tm-surface-2: #17233f;
    --tm-surface-3: #1e2b4a;
    --tm-field: #0d1730;
    --tm-border-weak: rgba(236,239,241,.06);
    --tm-border: rgba(236,239,241,.10);
    --tm-border-strong: rgba(236,239,241,.20);
    --tm-border-elevated: #647498;
    --tm-hover: rgba(255,255,255,.04);
    --tm-text-1: #eef2f8;
    --tm-text-2: #c3cee0;
    --tm-text-3: #a3b1c9;
    --tm-text-4: #93a2bc;
    --tm-accent: #3d72ff;
    --tm-accent-ink: #071026;
    --tm-accent-text: #84a8ff;
    --tm-accent-hover: #2452cc;
    --tm-accent-soft: rgba(61,114,255,.16);
    --tm-accent-soft-ink: #84a8ff;
    --tm-accent-2: #ff6a2b;
    --tm-accent-2-ink: #1a0a02;
    --tm-accent-2-text: #ffa870;
    --tm-accent-2-soft: rgba(255,106,43,.16);
    --tm-accent-2-soft-ink: #ffa870;
    --tm-stage: #0a1330;
    --tm-stage-2: #1b2650;
    --tm-stage-3: #243266;
    --tm-stage-border: #4760be;
    --tm-stage-ink: #ffffff;
    --tm-stage-text-2: #c3cee0;
    --tm-stage-text-3: #a9b8e8;
    --tm-stage-accent: #ff8a45;
    --tm-stage-link: #4779ff;
    --tm-ok: #33d18f;
    --tm-ok-ink: #4fdca0;
    --tm-ok-fill: rgba(51,209,143,.14);
    --tm-warn: #f5c451;
    --tm-warn-ink: #f7ce6d;
    --tm-warn-fill: rgba(245,196,81,.14);
    --tm-crit: #ff6150;
    --tm-crit-ink: #ff8878;
    --tm-crit-fill: rgba(255,97,80,.14);
    --tm-info: #7fa6ff;
    --tm-info-ink: #9dbaff;
    --tm-info-fill: rgba(127,166,255,.14);
    --tm-unknown: #93a2bc;
    --tm-unknown-ink: #a9b6cd;
    --tm-unknown-fill: rgba(147,162,188,.12);
    --tm-shadow-sm: 0 1px 3px rgba(0,0,0,.4);
    --tm-shadow: 0 18px 40px rgba(0,0,0,.42);
    --tm-shadow-overlay: 0 30px 70px rgba(0,0,0,.6);
    --tm-scrim: rgba(0,0,0,.6);
    --tm-glass: rgba(16,26,51,.58);
    --tm-glass-border: rgba(255,255,255,.12);
  }
}
[data-theme="dunkel"]{
  color-scheme: dark;
  --tm-bg: #071026;
  --tm-bg-soft: #0b1730;
  --tm-surface: #101a33;
  --tm-surface-2: #17233f;
  --tm-surface-3: #1e2b4a;
  --tm-field: #0d1730;
  --tm-border-weak: rgba(236,239,241,.06);
  --tm-border: rgba(236,239,241,.10);
  --tm-border-strong: rgba(236,239,241,.20);
  --tm-border-elevated: #647498;
  --tm-hover: rgba(255,255,255,.04);
  --tm-text-1: #eef2f8;
  --tm-text-2: #c3cee0;
  --tm-text-3: #a3b1c9;
  --tm-text-4: #93a2bc;
  --tm-accent: #3d72ff;
  --tm-accent-ink: #071026;
  --tm-accent-text: #84a8ff;
  --tm-accent-hover: #2452cc;
  --tm-accent-soft: rgba(61,114,255,.16);
  --tm-accent-soft-ink: #84a8ff;
  --tm-accent-2: #ff6a2b;
  --tm-accent-2-ink: #1a0a02;
  --tm-accent-2-text: #ffa870;
  --tm-accent-2-soft: rgba(255,106,43,.16);
  --tm-accent-2-soft-ink: #ffa870;
  --tm-stage: #0a1330;
  --tm-stage-2: #1b2650;
  --tm-stage-3: #243266;
  --tm-stage-border: #4760be;
  --tm-stage-ink: #ffffff;
  --tm-stage-text-2: #c3cee0;
  --tm-stage-text-3: #a9b8e8;
  --tm-stage-accent: #ff8a45;
  --tm-stage-link: #4779ff;
  --tm-ok: #33d18f;
  --tm-ok-ink: #4fdca0;
  --tm-ok-fill: rgba(51,209,143,.14);
  --tm-warn: #f5c451;
  --tm-warn-ink: #f7ce6d;
  --tm-warn-fill: rgba(245,196,81,.14);
  --tm-crit: #ff6150;
  --tm-crit-ink: #ff8878;
  --tm-crit-fill: rgba(255,97,80,.14);
  --tm-info: #7fa6ff;
  --tm-info-ink: #9dbaff;
  --tm-info-fill: rgba(127,166,255,.14);
  --tm-unknown: #93a2bc;
  --tm-unknown-ink: #a9b6cd;
  --tm-unknown-fill: rgba(147,162,188,.12);
  --tm-shadow-sm: 0 1px 3px rgba(0,0,0,.4);
  --tm-shadow: 0 18px 40px rgba(0,0,0,.42);
  --tm-shadow-overlay: 0 30px 70px rgba(0,0,0,.6);
  --tm-scrim: rgba(0,0,0,.6);
  --tm-glass: rgba(16,26,51,.58);
  --tm-glass-border: rgba(255,255,255,.12);
}

}
