/* Datei: core/smooth-scroll.css */
/**
* Smooth Scroll CSS-Komponente
* ---------------------------
* Diese Datei enthält Stile für erweiterte Scroll-Funktionalitäten und -Effekte.
*
* Eigenschaften:
* - Sanftes Scrollen (smooth-scroll) für eine verbesserte Benutzererfahrung
* - Scroll-Snap für präzises Positionieren von Elementen beim Scrollen
* - Fortschrittsanzeigen für die Visualisierung der Scroll-Position
* - Parallax-Effekte für tiefenwirksame Layouts
* - Scroll-Animation-Effekte (fade, scale, slide, rotate)
* - Gestaffelte Scroll-Animationen für Gruppen von Elementen
* - Scroll-zu-Top-Funktionalität
* - Scroll-Spy für Navigation
* - Barrierefreiheitsanpassungen für reduzierte Bewegung
*
* Verwendung:
* Fügen Sie die entsprechenden Klassen zu Ihren HTML-Elementen hinzu,
* um die verschiedenen Scroll-Effekte und -Funktionen zu aktivieren.
*
* @layer core - Grundlegende Scroll-Funktionalitäten und -Effekte
* @layer components - Wiederverwendbare Scroll-Komponenten
*/

/* Animationen */
@keyframes scroll-timeline-fade {
  0% {
    opacity: 0;
    transform: translateY(var(--spacing-5, 1.25rem));
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@layer smooth-scroll {
/* Smooth Scroll Variables */
  :root {
    --scroll-behavior: smooth;
    --scroll-padding-top: 0;
    --scroll-snap-type: none;
    --scroll-snap-align: none;
    --scroll-snap-stop: always;
    --scroll-margin: 0;
    --scroll-timeline-name: none;
    --scroll-timeline-axis: block;
    --scroll-timeline-view-offset: 0;
  }

/* Base Smooth Scroll */
  html {
    scroll-behavior: var(--scroll-behavior, smooth);
    scroll-padding-top: var(--scroll-padding-top, 0);
  }

/* Scroll Snap */
  .scroll-snap-container {
    height: 100vh;
    overflow-y: auto;
    scroll-snap-type: var(--scroll-snap-type, none);
  }

  .scroll-snap-item {
    scroll-margin: var(--scroll-margin, 0);
    scroll-snap-align: var(--scroll-snap-align, none);
    scroll-snap-stop: var(--scroll-snap-stop, normal);
  }

/* Scroll Progress */
  .scroll-progress {
    background: linear-gradient(to right, var(--color-primary, #3b82f6) var(--scroll), transparent 0);
    height: var(--spacing-1, 0.25rem);
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: var(--z-50);
  }

/* Scroll Timeline */
  .scroll-timeline {
    scroll-timeline-axis: var(--scroll-timeline-axis);
    scroll-timeline-name: var(--scroll-timeline-name);
    scroll-timeline-view-offset: var(--scroll-timeline-view-offset);
  }

/* Parallax Scrolling */
  .parallax-container {
    height: 100vh;
    overflow: hidden auto;
    perspective: var(--border-width);
  }

  .parallax-layer {
    inset: 0;
    position: absolute;
  }

  .parallax-layer-back {
    transform: translateZ(calc(-1 * var(--border-width))) scale(2);
  }

  .parallax-layer-base {
    transform: translateZ(0);
  }

  .parallax-layer-front {
    transform: translateZ(var(--border-width)) scale(0.5);
  }

/* Scroll Reveal */
  .scroll-reveal {
    opacity: 0;
    transform: translateY(var(--spacing-5, 1.25rem));
    transition: all var(--transition-normal, 200ms ease);
  }

  .scroll-reveal.visible {
    opacity: 1;
    transform: translateX(0);
  }

/* Scroll Fade */
  .scroll-fade {
    opacity: 0;
    transition: opacity var(--transition-normal, 200ms ease);
  }

  .scroll-fade.visible {
    opacity: 1;
  }

/* Scroll Scale */
  .scroll-scale {
    opacity: 0;
    transform: scale(0.95);
    transition: all var(--transition-normal, 200ms ease);
  }

  .scroll-scale.visible {
    opacity: 1;
    transform: scale(1);
  }

/* Scroll Slide - Konsolidierte Version */
  .scroll-slide {
    opacity: 0;
    transition: all var(--transition-normal, 200ms ease);
  }

  .scroll-slide.visible {
    opacity: 1;
    transform: translate(0, 0);
  }

/* Scroll Slide Richtungs-Varianten */
  .scroll-slide-left { transform: translateX(-50px); }

  .scroll-slide-right { transform: translateX(50px); }

  .scroll-slide-up { transform: translateY(50px); }

  .scroll-slide-down { transform: translateY(-50px); }

/* Scroll Rotate */
  .scroll-rotate {
    opacity: 0;
    transform: rotate(-15deg);
    transition: all var(--transition-normal, 200ms ease);
  }

  .scroll-rotate.visible {
    opacity: 1;
    transform: rotate(0);
  }

/* Scroll Stagger */
  .scroll-stagger > * {
    opacity: 0;
    transform: translateY(var(--spacing-5, 1.25rem));
    transition: all var(--transition-normal, 200ms ease);
  }

/* Stagger Delays - Kompakte Version */
  .scroll-stagger > *:nth-child(1) { transition-delay: 0.1s; }

  .scroll-stagger > *:nth-child(2) { transition-delay: 0.2s; }

  .scroll-stagger > *:nth-child(3) { transition-delay: 0.3s; }

  .scroll-stagger > *:nth-child(4) { transition-delay: 0.4s; }

  .scroll-stagger > *:nth-child(5) { transition-delay: 0.5s; }

  .scroll-stagger.visible > * {
    opacity: 1;
    transform: translateX(0);
  }

/* Scroll Progress Bar */
  .scroll-progress-bar {
    background: var(--slider-track-color);
    height: var(--spacing-1, 0.25rem);
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
  }

  .scroll-progress-bar::before {
    background: var(--color-primary, #3b82f6);
    content: '';
    height: 100vh;
    left: 0;
    position: absolute;
    top: 0;
    transition: width var(--transition-normal, 200ms ease);
    width: var(--scroll);
  }

/* Scroll to Top Button */
  .scroll-to-top {
    align-items: center;
    background: var(--color-primary, #3b82f6);
    border-radius: 5px;
    bottom: var(--spacing-5, 1.25rem);
    color: var(--color-white, #fff);
    cursor: pointer;
    display: flex;
    height: var(--spacing-10, 2.5rem);
    justify-content: center;
    opacity: 0;
    position: fixed;
    right: var(--spacing-5, 1.25rem);
    transform: translateY(var(--spacing-5, 1.25rem));
    transition: all var(--transition-normal, 200ms ease);
    width: var(--spacing-10, 2.5rem);
    z-index: var(--z-50);
  }

  .scroll-to-top.visible {
    opacity: 1;
    transform: translateX(0);
  }

  .scroll-to-top:hover {
    background: var(--color-primary-dark);
    transform: translateY(calc(-1 * var(--border-width-thick)));
  }

/* Scroll Spy Navigation */
  .scroll-spy-nav {
    position: fixed;
    right: var(--spacing-5, 1.25rem);
    top: 50;
    transform: translateX(-50);
  }

  .scroll-spy-nav a {
    background: var(--slider-track-color);
    border-radius: 5px;
    display: block;
    height: var(--space-small-10px);
    margin: var(--space-small-10px) 0;
    transition: all var(--transition-normal, 200ms ease);
    width: var(--space-small-10px);
  }

  .scroll-spy-nav a.active {
    background: var(--color-primary, #3b82f6);
    transform: scale(1.2);
  }

/* Scroll Timeline Animation */
  .scroll-timeline-animation {
    animation: scroll-timeline-fade 1s ease-out forwards;
    animation-range: entry 10 cover 30;
    animation-timeline: view();
  }

/* Scroll Performance */
  .scroll-performance {
    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: transform, opacity;
  }

/* Respektiere Nutzereinstellung für reduzierte Bewegung */
  @media (prefers-reduced-motion: reduce) {
/* Deaktiviere alle Scroll-Animationen */
    html,
    body,
    .scroll-smooth,
    .scroll-behavior-smooth,
    .scroll-mt,
    .scroll-mb,
    .scroll-ms,
    .scroll-me,
    .scroll-pt,
    .scroll-pb,
    .scroll-ps,
    .scroll-pe,
    [data-scroll-trigger],
    .scroll-snap-container,
    .scroll-snap-item {
      animation: none !important;
      scroll-behavior: auto !important;
      scroll-padding: 0 !important;
      scroll-snap-type: none !important;
      transition: none !important;
    }
  }

/* Responsive Anpassungen */
  @media (max-width: 640px) {
    .touch-feedback::after {
      block-size: 150;
      inline-size: 150;
    }

    .focus-ring:focus-visible {
      box-shadow: 0 0 0 var(--border-width) var(--color-primary, #3b82f6);
    }
  }

  @media (min-width: 640px) {
/* Fade Stagger Delays - Kompakte Version */
    .scroll-fade-staggered > *:nth-child(2) { animation-delay: 0.1s; }

    .scroll-fade-staggered > *:nth-child(3) { animation-delay: 0.2s; }

    .scroll-fade-staggered > *:nth-child(4) { animation-delay: 0.3s; }
  }

  @media (min-width: 768px) {
    .scroll-to-top {
      bottom: var(--spacing-8);
      right: var(--spacing-8);
    }
  }

  @media (min-width: 1024px) {
    .scroll-parallax {
      transform: translateY(calc(var(--scroll-offset) * 0.15));
    }
  }

/* Reduzierte Bewegung für Barrierefreiheit */
  @media (prefers-reduced-motion: reduce) {
    :root {
      --scroll-behavior: auto;
    }

    .scroll-fade,
    .scroll-scale,
    .scroll-slide,
    .scroll-rotate,
    .scroll-parallax,
    .scroll-fade-staggered > * {
      animation: none;
      opacity: 1;
      transform: none;
      transition: none;
    }
  }
}

/* Datei: core/reset.css */
/**
* @casoon/dragonfly – Reset CSS
*
* This file provides a clean, consistent baseline across all browsers to ensure
* reliable styling for components and layouts.
*
* ➤ Modern reset principles are applied without over-normalizing.
* ➤ Accessibility, performance, and logical defaults are prioritized.
* ➤ All rules are scoped within @layer reset to prevent specificity conflicts.
*
* 🚨 Important: This file must be imported first before any other styles,
* especially tokens, themes, and components.
*
* Recommended Import Order:
*   1. @import "@casoon/dragonfly/core/reset.css";
*   2. @import "@casoon/dragonfly/tokens/index.css";
*   3. @import "@casoon/dragonfly/themes/index.css";
*   4. @import "@casoon/dragonfly/ui/index.css";
*
* Accessibility:
* - Includes support for `prefers-reduced-motion`
* - Uses system fonts and semantic defaults
*
* Compatibility:
* - Optimized for modern browsers (Chrome, Firefox, Safari, Edge)
* - Progressive enhancement for older ones
*/

@layer reset {
/* 1. Box-Sizing + Margin-Reset */
  *, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

/* 2. Core Root Defaults */
  html {
    -webkit-font-smoothing: antialiased;
    height: 100;
    scroll-behavior: smooth;
    text-size-adjust: 100;
  }

  html:focus-within {
    scroll-behavior: smooth;
  }

  body {
    background-color: var(--color-background, var(--color-white));
    color: var(--color-foreground, var(--color-black));
    font-family: system-ui, sans-serif;
    line-height: 1.5;
    min-height: 100;
    text-rendering: optimizespeed;
  }

/* 3. List & Table */
  ul, ol {
    list-style: none;
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

/* 4. Media */
  img, picture, video, canvas, svg {
    display: block;
    height: auto;
    max-width: 100;
  }

/* 5. Forms & Buttons */
  input, button, textarea, select {
    appearance: none;
    background: none;
    border: none;
    color: inherit;
    font: inherit;
    margin: 0;
    padding: 0;
  }

  button {
    cursor: pointer;
  }

  textarea {
    resize: vertical;
  }

/* 6. Links */
  a:not([class]) {
    color: inherit;
    text-decoration-skip-ink: auto;
  }

/* 7. Accessibility: Motion Reduce */
  @media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto;
    }

    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
    }
  }
}


/* Datei: core/logical-properties.css */
/**
* Logische CSS-Eigenschaften für Internationalisierung
*
* Diese Datei implementiert logische CSS-Eigenschaften, die eine richtungsunabhängige
* Gestaltung von Layouts ermöglichen. Sie unterstützt mehrsprachige Anwendungen durch
* Vermeidung von richtungsspezifischen Eigenschaften wie left/right und top/bottom.
*
* Stattdessen werden Eigenschaften verwendet, die unabhängig von der Schreibrichtung (RTL/LTR) sind:
* - block-start/block-end (ersetzt top/bottom)
* - inline-start/inline-end (ersetzt left/right)
* - margin-inline, padding-block usw.
*
* Hauptvorteile:
* - Unterstützung für bidirektionale (RTL/LTR) Layouts ohne Codeänderungen
* - Bessere Wartbarkeit durch eine einzige Codebasis für alle Sprachen
* - Verbesserte Barrierefreiheit und Unterstützung für internationale Standards
*
* @hinweis Diese Datei sollte früh im Stylesheet-Laden eingebunden werden.
* @wichtig Beim Erstellen neuer Komponenten immer logische Eigenschaften verwenden.
*/

/*
* Logische CSS Properties für Internationalisierung
*/

@layer logical-properties {
/* Basisklassen für Schreibrichtung */
  :root {
    --text-direction: ltr;
  }

  :root[dir="rtl"] {
    --text-direction: rtl;
  }

  html {
    text-align: start;
  }

/* Standardabstände nutzen logische Properties */
  .spacing {
    margin-block: var(--spacing-4);
    margin-inline: var(--spacing-2);
    padding-block: var(--spacing-3);
    padding-inline: var(--spacing-2);
  }

/* Überschriften verwenden logische Properties */
  h1, h2, h3, h4, h5, h6 {
    border-block-end: var(--border-width) solid var(--color-surface-300);
    margin-block: var(--spacing-6) var(--spacing-4);
    padding-block-end: var(--spacing-2);
  }

/* Textausrichtung für RTL/LTR Support */
  .text-start {
    text-align: start;
  }

  .text-end {
    text-align: end;
  }

/* Flexbox mit logischen Properties */
  .flex-row {
    display: flex;
    flex-direction: row;
  }

  .flex-row-reverse {
    display: flex;
    flex-direction: row-reverse;
  }

  .justify-start {
    justify-content: flex-start;
  }

  .justify-end {
    justify-content: flex-end;
  }

/* Container-Abstände */
  .container {
    margin-inline: auto;
    max-inline-size: var(--space-large-80rem);
    padding-inline: var(--spacing-4);
  }

/* Ränder mit logischen Properties */
  .border-start {
    border-inline-start: var(--border-width) solid var(--color-surface-300);
  }

  .border-end {
    border-inline-end: var(--border-width) solid var(--color-surface-300);
  }

  .border-block {
    border-block: var(--border-width) solid var(--color-surface-300);
  }

  .border-inline {
    border-inline: var(--border-width) solid var(--color-surface-300);
  }

/* Abgerundete Ecken mit logischen Properties */
  .rounded {
    border-radius: var(--spacing-1);
  }

  .rounded-start {
    border-end-start-radius: var(--spacing-1);
    border-start-start-radius: var(--spacing-1);
  }

  .rounded-end {
    border-end-end-radius: var(--spacing-1);
    border-start-end-radius: var(--spacing-1);
  }

  .rounded-top {
    border-start-end-radius: var(--spacing-1);
    border-start-start-radius: var(--spacing-1);
  }

  .rounded-bottom {
    border-end-end-radius: var(--spacing-1);
    border-end-start-radius: var(--spacing-1);
  }

/* Positionierung mit logischen Properties */
  .position-start {
    inset-inline-start: 0;
  }

  .position-end {
    inset-inline-end: 0;
  }

  .position-top {
    inset-block-start: 0;
  }

  .position-bottom {
    inset-block-end: 0;
  }

/* Float mit logischen Properties */
  .float-start {
    float: inline-start;
  }

  .float-end {
    float: inline-end;
  }

  .clear-start {
    clear: inline-start;
  }

  .clear-end {
    clear: inline-end;
  }

/* Größen mit logischen Properties */
  .inline-size-full {
    inline-size: 100%;
  }

  .block-size-full {
    block-size: 100%;
  }

  .inline-size-half {
    inline-size: 50%;
  }

  .block-size-half {
    block-size: 50%;
  }

/* Grid mit logischen Properties */
  .grid-cols-2 {
    display: grid;
    gap: var(--spacing-4);
    grid-template-columns: repeat(2, 1fr);
  }

  .grid-cols-3 {
    display: grid;
    gap: var(--spacing-4);
    grid-template-columns: repeat(3, 1fr);
  }

  .grid-cols-4 {
    display: grid;
    gap: var(--spacing-4);
    grid-template-columns: repeat(4, 1fr);
  }

/* Abstände Utility-Klassen */
  .m-block-1 {
    margin-block: var(--spacing-1);
  }

  .m-block-2 {
    margin-block: var(--spacing-2);
  }

  .m-block-3 {
    margin-block: var(--spacing-3);
  }

  .m-block-4 {
    margin-block: var(--spacing-4);
  }

  .m-inline-1 {
    margin-inline: var(--spacing-1);
  }

  .m-inline-2 {
    margin-inline: var(--spacing-2);
  }

  .m-inline-3 {
    margin-inline: var(--spacing-3);
  }

  .m-inline-4 {
    margin-inline: var(--spacing-4);
  }

  .p-block-1 {
    padding-block: var(--spacing-1);
  }

  .p-block-2 {
    padding-block: var(--spacing-2);
  }

  .p-block-3 {
    padding-block: var(--spacing-3);
  }

  .p-block-4 {
    padding-block: var(--spacing-4);
  }

  .p-inline-1 {
    padding-inline: var(--spacing-1);
  }

  .p-inline-2 {
    padding-inline: var(--spacing-2);
  }

  .p-inline-3 {
    padding-inline: var(--spacing-3);
  }

  .p-inline-4 {
    padding-inline: var(--spacing-4);
  }

/* Richtungsspezifische Abstände */
  .m-block-start-1 {
    margin-block-start: var(--spacing-1);
  }

  .m-block-start-2 {
    margin-block-start: var(--spacing-2);
  }

  .m-block-start-3 {
    margin-block-start: var(--spacing-3);
  }

  .m-block-start-4 {
    margin-block-start: var(--spacing-4);
  }

  .m-block-end-1 {
    margin-block-end: var(--spacing-1);
  }

  .m-block-end-2 {
    margin-block-end: var(--spacing-2);
  }

  .m-block-end-3 {
    margin-block-end: var(--spacing-3);
  }

  .m-block-end-4 {
    margin-block-end: var(--spacing-4);
  }

  .m-inline-start-1 {
    margin-inline-start: var(--spacing-1);
  }

  .m-inline-start-2 {
    margin-inline-start: var(--spacing-2);
  }

  .m-inline-start-3 {
    margin-inline-start: var(--spacing-3);
  }

  .m-inline-start-4 {
    margin-inline-start: var(--spacing-4);
  }

  .m-inline-end-1 {
    margin-inline-end: var(--spacing-1);
  }

  .m-inline-end-2 {
    margin-inline-end: var(--spacing-2);
  }

  .m-inline-end-3 {
    margin-inline-end: var(--spacing-3);
  }

  .m-inline-end-4 {
    margin-inline-end: var(--spacing-4);
  }

  .p-block-start-1 {
    padding-block-start: var(--spacing-1);
  }

  .p-block-start-2 {
    padding-block-start: var(--spacing-2);
  }

  .p-block-start-3 {
    padding-block-start: var(--spacing-3);
  }

  .p-block-start-4 {
    padding-block-start: var(--spacing-4);
  }

  .p-block-end-1 {
    padding-block-end: var(--spacing-1);
  }

  .p-block-end-2 {
    padding-block-end: var(--spacing-2);
  }

  .p-block-end-3 {
    padding-block-end: var(--spacing-3);
  }

  .p-block-end-4 {
    padding-block-end: var(--spacing-4);
  }

  .p-inline-start-1 {
    padding-inline-start: var(--spacing-1);
  }

  .p-inline-start-2 {
    padding-inline-start: var(--spacing-2);
  }

  .p-inline-start-3 {
    padding-inline-start: var(--spacing-3);
  }

  .p-inline-start-4 {
    padding-inline-start: var(--spacing-4);
  }

  .p-inline-end-1 {
    padding-inline-end: var(--spacing-1);
  }

  .p-inline-end-2 {
    padding-inline-end: var(--spacing-2);
  }

  .p-inline-end-3 {
    padding-inline-end: var(--spacing-3);
  }

  .p-inline-end-4 {
    padding-inline-end: var(--spacing-4);
  }

/* Scrollen mit logischen Properties */
  .overflow-inline {
    overflow-inline: auto;
  }

  .overflow-block {
    overflow-block: auto;
  }

/* Übersetzte Layouts unterstützen */
  [lang="ar"],
  [lang="he"],
  [lang="fa"],
  [lang="ur"] {
    direction: rtl;
  }

/* Komponenten für internationalisierte UIs */
  .navbar {
    border-block-end: var(--border-width) solid var(--color-surface-300);
    display: flex;
    padding-block: var(--spacing-3);
    padding-inline: var(--spacing-4);
  }

  .navbar-brand {
    margin-inline-end: var(--spacing-4);
  }

  .navbar-nav {
    display: flex;
    gap: var(--spacing-4);
    margin-inline-start: auto;
  }

  .dropdown-menu {
    border: var(--border-width) solid var(--color-surface-300);
    border-radius: var(--spacing-1);
    inset-block-start: 100%;
    inset-inline-start: 0;
    min-inline-size: var(--spacing-40);
    padding-block: var(--spacing-2);
    padding-inline: 0;
    position: absolute;
  }

  .dropdown-item {
    padding-block: var(--spacing-1);
    padding-inline: var(--spacing-3);
    text-align: start;
  }

/* Karten-Komponente mit logischen Properties */
  .card {
    border: var(--border-width) solid var(--color-surface-300);
    border-radius: var(--spacing-2);
    padding-block: var(--spacing-4);
    padding-inline: var(--spacing-4);
  }

  .card-header {
    border-block-end: var(--border-width) solid var(--color-surface-200);
    margin-block-end: var(--spacing-3);
    padding-block-end: var(--spacing-2);
  }

  .card-footer {
    border-block-start: var(--border-width) solid var(--color-surface-200);
    margin-block-start: var(--spacing-3);
    padding-block-start: var(--spacing-2);
  }

/* Listen mit logischen Properties */
  .list {
    padding-inline-start: var(--spacing-4);
  }

  .list-item {
    margin-block-end: var(--spacing-2);
  }

/* Formular-Elemente mit logischen Properties */
  .form-group {
    margin-block-end: var(--spacing-3);
  }

  .form-label {
    display: block;
    margin-block-end: var(--spacing-1);
  }

  .form-control {
    border: var(--border-width) solid var(--color-surface-300);
    border-radius: var(--spacing-1);
    inline-size: 100%;
    padding-block: var(--spacing-2);
    padding-inline: var(--spacing-3);
  }

/* Buttons mit logischen Properties */
  .btn {
    border: var(--border-width) solid transparent;
    border-radius: var(--spacing-1);
    padding-block: var(--spacing-2);
    padding-inline: var(--spacing-4);
  }

  .btn-icon {
    margin-inline-end: var(--spacing-2);
  }

/* Tabellen mit logischen Properties */
  .table {
    border-collapse: collapse;
    inline-size: 100%;
  }

  .table th,
  .table td {
    border-block-end: var(--border-width) solid var(--color-surface-300);
    padding-block: var(--spacing-2);
    padding-inline: var(--spacing-3);
    text-align: start;
  }

/* Navigations-Tabs mit logischen Properties */
  .tabs {
    border-block-end: var(--border-width) solid var(--color-surface-300);
    display: flex;
  }

  .tab {
    border-block-end: var(--border-width-thick) solid transparent;
    padding-block: var(--spacing-2);
    padding-inline: var(--spacing-4);
  }

  .tab.active {
    border-block-end-color: var(--color-primary-500);
  }

/* Alert-Komponente mit logischen Properties */
  .alert {
    border-inline-start: var(--spacing-1) solid var(--color-primary-500);
    border-radius: var(--spacing-1);
    padding-block: var(--spacing-3);
    padding-inline: var(--spacing-4);
  }

  .alert-danger {
    border-inline-start-color: var(--color-error-500);
  }

  .alert-success {
    border-inline-start-color: var(--color-success-500);
  }

/* Abstand-Automatisierung */
  .text-flow > * + * {
    margin-block-start: var(--spacing-3);
  }

/* Benutzeroberflächenführungen */
  .steps {
    display: flex;
    margin-block: var(--spacing-4);
  }

  .step {
    border-block-end: var(--border-width-thick) solid var(--color-surface-300);
    flex: 1;
    padding-block: var(--spacing-2);
    text-align: center;
  }

  .step.active {
    border-block-end-color: var(--color-primary-500);
  }

/* Dialog/Modal */
  .modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    position: fixed;
  }

  .modal-dialog {
    background: var(--color-white);
    border-radius: var(--spacing-2);
    max-block-size: 90%;
    max-inline-size: 90%;
    min-inline-size: var(--space-large-30rem);
    padding-block: var(--spacing-4);
    padding-inline: var(--spacing-4);
  }

  .modal-header {
    border-block-end: var(--border-width) solid var(--color-surface-300);
    margin-block-end: var(--spacing-3);
    padding-block-end: var(--spacing-2);
  }

  .modal-footer {
    border-block-start: var(--border-width) solid var(--color-surface-300);
    display: flex;
    gap: var(--spacing-2);
    justify-content: flex-end;
    margin-block-start: var(--spacing-3);
    padding-block-start: var(--spacing-2);
  }

/* Responsives Layout mit logischen Properties */
  @media (max-width: 768px) {
    .navbar {
      align-items: flex-start;
      flex-direction: column;
    }

    .navbar-nav {
      flex-direction: column;
      margin-block-start: var(--spacing-3);
      margin-inline-start: 0;
    }

    .grid-cols-2,
    .grid-cols-3,
    .grid-cols-4 {
      grid-template-columns: 1fr;
    }
  }

/* RTL spezifische Anpassungen */
  [dir="rtl"] .btn-icon {
    transform: scaleX(-1);
  }

  [dir="rtl"] .dropdown-menu {
    text-align: right;
  }

/* Lang-spezifische Anpassungen */
  [lang="ja"],
  [lang="zh"],
  [lang="ko"] {
    font-feature-settings: "palt";
    line-break: strict;
    word-break: normal;
  }

  [lang="th"],
  [lang="my"] {
    line-height: 1.8;
  }

/* Komplette Layout-Anordnung, unabhängig von der Schreibrichtung */
  .layout {
    display: grid;
    grid-template:
    "header header header" auto "sidebar main aside" 1fr "footer footer footer" auto / 200px 1fr 200px;
    min-block-size: 100%;
  }

  .layout-header {
    border-block-end: var(--border-width) solid var(--color-surface-300);
    grid-area: header;
    padding-block: var(--spacing-3);
    padding-inline: var(--spacing-4);
  }

  .layout-sidebar {
    border-inline-end: var(--border-width) solid var(--color-surface-300);
    grid-area: sidebar;
    padding-block: var(--spacing-4);
    padding-inline: var(--spacing-3);
  }

  .layout-main {
    grid-area: main;
    padding-block: var(--spacing-4);
    padding-inline: var(--spacing-4);
  }

  .layout-aside {
    border-inline-start: var(--border-width) solid var(--color-surface-300);
    grid-area: aside;
    padding-block: var(--spacing-4);
    padding-inline: var(--spacing-3);
  }

  .layout-footer {
    border-block-start: var(--border-width) solid var(--color-surface-300);
    grid-area: footer;
    padding-block: var(--spacing-3);
    padding-inline: var(--spacing-4);
  }

/* Responsives Layout */
  @media (max-width: 990px) {
    .layout {
      grid-template-areas:
      "header header"
      "sidebar main"
      "footer footer";
      grid-template-columns: var(--space-large-200) 1fr;
    }

    .layout-aside {
      display: none;
    }
  }

  @media (max-width: 768px) {
    .layout {
      grid-template-areas:
      "header"
      "main"
      "footer";
      grid-template-columns: 1fr;
    }

    .layout-sidebar {
      display: none;
    }
  }

/* Responsive Anpassungen für logische Eigenschaften */
  @media (max-width: 768px) {
/* Anpassungen für kleinere Bildschirme */
    .block-spacer {
      margin-block: var(--spacing-4);
    }

    .inline-spacer {
      margin-inline: 0.5rem;
    }

    .flow-spacing > * + * {
      margin-block-start: 0.75rem;
    }

    .center-content {
      align-items: center;
      justify-content: center;
    }
  }

/* Tablet-Anpassungen */
  @media (max-width: 990px) {
    .tablet-padding {
      padding-block: var(--spacing-4);
      padding-inline: var(--spacing-6);
    }

    .tablet-margin {
      margin-block: var(--spacing-4);
      margin-inline: var(--spacing-6);
    }

    .tablet-spacing > * + * {
      margin-inline-start: var(--spacing-4);
    }
  }

/* Mobile vertikale Ausrichtung */
  @media (max-width: 768px) {
    .logical-stack {
      display: flex;
      flex-direction: column;
      gap: var(--space-4);
    }

    .logical-stack > * {
      margin-block-start: var(--space-0);
      margin-inline-start: var(--space-0);
    }
  }
}


/* Datei: core/colors.css */
/**
* Farbsystem
*
* Diese Datei definiert die komplette Farbpalette des Designsystems mit
* modernen OKLCH-Farbwerten für optimale Farbwiedergabe und -konsistenz.
*
* Das Farbsystem besteht aus:
* - Hauptfarbpaletten (Blau, Grün, Rot, etc.) mit jeweils 10 Abstufungen
* - Neutrale Farbpaletten (Grau, Warm-Grau) für UI-Elemente
* - Utility-Klassen für Text- und Hintergrundfarben
*
* Alle Farben sind im OKLCH-Farbraum definiert, der folgende Vorteile bietet:
* - Perceptive Gleichmäßigkeit der Farbabstufungen
* - Erweiterten Farbraum verglichen mit RGB/sRGB
* - Bessere Barrierefreiheit durch vorhersagbare Kontraste
*
* @hinweis Diese Datei wird vor color-mix.css geladen und stellt die Basis-Farbwerte bereit
* @technisch Verwendet den modernen OKLCH-Farbraum für optimale Farbwiedergabe
*/

@layer colors {
  :root {
/* Blautöne */
    --color-blue-50: oklch(95% 0.05 250deg);
    --color-blue-100: oklch(90% 0.1 250deg);
    --color-blue-200: oklch(85% 0.15 250deg);
    --color-blue-300: oklch(80% 0.2 250deg);
    --color-blue-400: oklch(75% 0.25 250deg);
    --color-blue-500: oklch(70% 0.3 250deg);
    --color-blue-600: oklch(65% 0.35 250deg);
    --color-blue-700: oklch(60% 0.4 250deg);
    --color-blue-800: oklch(55% 0.45 250deg);
    --color-blue-900: oklch(50% 0.5 250deg);

/* Hellblautöne */
    --color-sky-50: oklch(95% 0.05 230deg);
    --color-sky-100: oklch(90% 0.1 230deg);
    --color-sky-200: oklch(85% 0.15 230deg);
    --color-sky-300: oklch(80% 0.2 230deg);
    --color-sky-400: oklch(75% 0.25 230deg);
    --color-sky-500: oklch(70% 0.3 230deg);
    --color-sky-600: oklch(65% 0.35 230deg);
    --color-sky-700: oklch(60% 0.4 230deg);
    --color-sky-800: oklch(55% 0.45 230deg);
    --color-sky-900: oklch(50% 0.5 230deg);

/* Türkistöne */
    --color-cyan-50: oklch(95% 0.05 200deg);
    --color-cyan-100: oklch(90% 0.1 200deg);
    --color-cyan-200: oklch(85% 0.15 200deg);
    --color-cyan-300: oklch(80% 0.2 200deg);
    --color-cyan-400: oklch(75% 0.25 200deg);
    --color-cyan-500: oklch(70% 0.3 200deg);
    --color-cyan-600: oklch(65% 0.35 200deg);
    --color-cyan-700: oklch(60% 0.4 200deg);
    --color-cyan-800: oklch(55% 0.45 200deg);
    --color-cyan-900: oklch(50% 0.5 200deg);

/* Minttöne */
    --color-mint-50: oklch(95% 0.05 170deg);
    --color-mint-100: oklch(90% 0.1 170deg);
    --color-mint-200: oklch(85% 0.15 170deg);
    --color-mint-300: oklch(80% 0.2 170deg);
    --color-mint-400: oklch(75% 0.25 170deg);
    --color-mint-500: oklch(70% 0.3 170deg);
    --color-mint-600: oklch(65% 0.35 170deg);
    --color-mint-700: oklch(60% 0.4 170deg);
    --color-mint-800: oklch(55% 0.45 170deg);
    --color-mint-900: oklch(50% 0.5 170deg);

/* Grüntöne */
    --color-green-50: oklch(95% 0.05 150deg);
    --color-green-100: oklch(90% 0.1 150deg);
    --color-green-200: oklch(85% 0.15 150deg);
    --color-green-300: oklch(80% 0.2 150deg);
    --color-green-400: oklch(75% 0.25 150deg);
    --color-green-500: oklch(70% 0.3 150deg);
    --color-green-600: oklch(65% 0.35 150deg);
    --color-green-700: oklch(60% 0.4 150deg);
    --color-green-800: oklch(55% 0.45 150deg);
    --color-green-900: oklch(50% 0.5 150deg);

/* Limettöne */
    --color-lime-50: oklch(95% 0.05 120deg);
    --color-lime-100: oklch(90% 0.1 120deg);
    --color-lime-200: oklch(85% 0.15 120deg);
    --color-lime-300: oklch(80% 0.2 120deg);
    --color-lime-400: oklch(75% 0.25 120deg);
    --color-lime-500: oklch(70% 0.3 120deg);
    --color-lime-600: oklch(65% 0.35 120deg);
    --color-lime-700: oklch(60% 0.4 120deg);
    --color-lime-800: oklch(55% 0.45 120deg);
    --color-lime-900: oklch(50% 0.5 120deg);

/* Gelbtöne */
    --color-yellow-50: oklch(95% 0.1 80deg);
    --color-yellow-100: oklch(90% 0.15 80deg);
    --color-yellow-200: oklch(85% 0.2 80deg);
    --color-yellow-300: oklch(80% 0.25 80deg);
    --color-yellow-400: oklch(75% 0.3 80deg);
    --color-yellow-500: oklch(70% 0.35 80deg);
    --color-yellow-600: oklch(65% 0.4 80deg);
    --color-yellow-700: oklch(60% 0.45 80deg);
    --color-yellow-800: oklch(55% 0.5 80deg);
    --color-yellow-900: oklch(50% 0.55 80deg);

/* Goldtöne */
    --color-gold-50: oklch(95% 0.1 65deg);
    --color-gold-100: oklch(90% 0.15 65deg);
    --color-gold-200: oklch(85% 0.2 65deg);
    --color-gold-300: oklch(80% 0.25 65deg);
    --color-gold-400: oklch(75% 0.3 65deg);
    --color-gold-500: oklch(70% 0.35 65deg);
    --color-gold-600: oklch(65% 0.4 65deg);
    --color-gold-700: oklch(60% 0.45 65deg);
    --color-gold-800: oklch(55% 0.5 65deg);
    --color-gold-900: oklch(50% 0.55 65deg);

/* Orangetöne */
    --color-orange-50: oklch(95% 0.1 50deg);
    --color-orange-100: oklch(90% 0.15 50deg);
    --color-orange-200: oklch(85% 0.2 50deg);
    --color-orange-300: oklch(80% 0.25 50deg);
    --color-orange-400: oklch(75% 0.3 50deg);
    --color-orange-500: oklch(70% 0.35 50deg);
    --color-orange-600: oklch(65% 0.4 50deg);
    --color-orange-700: oklch(60% 0.45 50deg);
    --color-orange-800: oklch(55% 0.5 50deg);
    --color-orange-900: oklch(50% 0.55 50deg);

/* Koralltöne */
    --color-coral-50: oklch(95% 0.1 40deg);
    --color-coral-100: oklch(90% 0.15 40deg);
    --color-coral-200: oklch(85% 0.2 40deg);
    --color-coral-300: oklch(80% 0.25 40deg);
    --color-coral-400: oklch(75% 0.3 40deg);
    --color-coral-500: oklch(70% 0.35 40deg);
    --color-coral-600: oklch(65% 0.4 40deg);
    --color-coral-700: oklch(60% 0.45 40deg);
    --color-coral-800: oklch(55% 0.5 40deg);
    --color-coral-900: oklch(50% 0.55 40deg);

/* Rottöne */
    --color-red-50: oklch(95% 0.1 30deg);
    --color-red-100: oklch(90% 0.15 30deg);
    --color-red-200: oklch(85% 0.2 30deg);
    --color-red-300: oklch(80% 0.25 30deg);
    --color-red-400: oklch(75% 0.3 30deg);
    --color-red-500: oklch(70% 0.35 30deg);
    --color-red-600: oklch(65% 0.4 30deg);
    --color-red-700: oklch(60% 0.45 30deg);
    --color-red-800: oklch(55% 0.5 30deg);
    --color-red-900: oklch(50% 0.55 30deg);

/* Pinktöne */
    --color-pink-50: oklch(95% 0.1 0deg);
    --color-pink-100: oklch(90% 0.15 0deg);
    --color-pink-200: oklch(85% 0.2 0deg);
    --color-pink-300: oklch(80% 0.25 0deg);
    --color-pink-400: oklch(75% 0.3 0deg);
    --color-pink-500: oklch(70% 0.35 0deg);
    --color-pink-600: oklch(65% 0.4 0deg);
    --color-pink-700: oklch(60% 0.45 0deg);
    --color-pink-800: oklch(55% 0.5 0deg);
    --color-pink-900: oklch(50% 0.55 0deg);

/* Rosatöne */
    --color-rose-50: oklch(95% 0.1 10deg);
    --color-rose-100: oklch(90% 0.15 10deg);
    --color-rose-200: oklch(85% 0.2 10deg);
    --color-rose-300: oklch(80% 0.25 10deg);
    --color-rose-400: oklch(75% 0.3 10deg);
    --color-rose-500: oklch(70% 0.35 10deg);
    --color-rose-600: oklch(65% 0.4 10deg);
    --color-rose-700: oklch(60% 0.45 10deg);
    --color-rose-800: oklch(55% 0.5 10deg);
    --color-rose-900: oklch(50% 0.55 10deg);

/* Violetttöne */
    --color-purple-50: oklch(95% 0.05 350deg);
    --color-purple-100: oklch(90% 0.1 350deg);
    --color-purple-200: oklch(85% 0.15 350deg);
    --color-purple-300: oklch(80% 0.2 350deg);
    --color-purple-400: oklch(75% 0.25 350deg);
    --color-purple-500: oklch(70% 0.3 350deg);
    --color-purple-600: oklch(65% 0.35 350deg);
    --color-purple-700: oklch(60% 0.4 350deg);
    --color-purple-800: oklch(55% 0.45 350deg);
    --color-purple-900: oklch(50% 0.5 350deg);

/* Indigotöne */
    --color-indigo-50: oklch(95% 0.05 300deg);
    --color-indigo-100: oklch(90% 0.1 300deg);
    --color-indigo-200: oklch(85% 0.15 300deg);
    --color-indigo-300: oklch(80% 0.2 300deg);
    --color-indigo-400: oklch(75% 0.25 300deg);
    --color-indigo-500: oklch(70% 0.3 300deg);
    --color-indigo-600: oklch(65% 0.35 300deg);
    --color-indigo-700: oklch(60% 0.4 300deg);
    --color-indigo-800: oklch(55% 0.45 300deg);
    --color-indigo-900: oklch(50% 0.5 300deg);

/* Grautöne */
    --color-gray-50: oklch(98% 0.02 250deg);
    --color-gray-100: oklch(95% 0.02 250deg);
    --color-gray-200: oklch(90% 0.02 250deg);
    --color-gray-300: oklch(85% 0.02 250deg);
    --color-gray-400: oklch(80% 0.02 250deg);
    --color-gray-500: oklch(75% 0.02 250deg);
    --color-gray-600: oklch(70% 0.02 250deg);
    --color-gray-700: oklch(65% 0.02 250deg);
    --color-gray-800: oklch(60% 0.02 250deg);
    --color-gray-900: oklch(55% 0.02 250deg);

/* System-Grautöne (mit Hue-Berechnung) */
    --color-gray-hue: 262;
    --color-system-gray-100: oklch(98.7% 0.003 var(--color-gray-hue));
    --color-system-gray-200: oklch(97.4% 0.004 var(--color-gray-hue));
    --color-system-gray-300: oklch(94.2% 0.006 var(--color-gray-hue));
    --color-system-gray-400: oklch(89% 0.01 var(--color-gray-hue));
    --color-system-gray-500: oklch(81% 0.014 var(--color-gray-hue));
    --color-system-gray-600: oklch(68% 0.018 var(--color-gray-hue));
    --color-system-gray-700: oklch(54% 0.02 var(--color-gray-hue));
    --color-system-gray-800: oklch(36% 0.015 var(--color-gray-hue));
    --color-system-gray-900: oklch(22% 0.01 var(--color-gray-hue));

/* Warme Grautöne */
    --color-warm-gray-50: oklch(98% 0.02 30deg);
    --color-warm-gray-100: oklch(95% 0.02 30deg);
    --color-warm-gray-200: oklch(90% 0.02 30deg);
    --color-warm-gray-300: oklch(85% 0.02 30deg);
    --color-warm-gray-400: oklch(80% 0.02 30deg);
    --color-warm-gray-500: oklch(75% 0.02 30deg);
    --color-warm-gray-600: oklch(70% 0.02 30deg);
    --color-warm-gray-700: oklch(65% 0.02 30deg);
    --color-warm-gray-800: oklch(60% 0.02 30deg);
    --color-warm-gray-900: oklch(55% 0.02 30deg);

/* Kalte Grautöne */
    --color-cool-gray-50: oklch(98% 0.02 270deg);
    --color-cool-gray-100: oklch(95% 0.02 270deg);
    --color-cool-gray-200: oklch(90% 0.02 270deg);
    --color-cool-gray-300: oklch(85% 0.02 270deg);
    --color-cool-gray-400: oklch(80% 0.02 270deg);
    --color-cool-gray-500: oklch(75% 0.02 270deg);
    --color-cool-gray-600: oklch(70% 0.02 270deg);
    --color-cool-gray-700: oklch(65% 0.02 270deg);
    --color-cool-gray-800: oklch(60% 0.02 270deg);
    --color-cool-gray-900: oklch(55% 0.02 270deg);

/* Reines Weiß und Schwarz */
    --color-white: oklch(100% 0 0deg);
    --color-black: oklch(0 0 0deg);

/* Alias für häufig verwendete Farben */
    --color-text: var(--color-gray-900);
    --color-text-secondary: var(--color-gray-600);
    --color-background: var(--color-gray-50);
    --color-background-secondary: var(--color-gray-100);
    --color-background-tertiary: var(--color-gray-200);
    --color-border: var(--color-gray-300);

/* Azurtöne */
    --color-azure-50: oklch(95% 0.05 240deg);
    --color-azure-100: oklch(90% 0.1 240deg);
    --color-azure-200: oklch(85% 0.15 240deg);
    --color-azure-300: oklch(80% 0.2 240deg);
    --color-azure-400: oklch(75% 0.25 240deg);
    --color-azure-500: oklch(70% 0.3 240deg);
    --color-azure-600: oklch(65% 0.35 240deg);
    --color-azure-700: oklch(60% 0.4 240deg);
    --color-azure-800: oklch(55% 0.45 240deg);
    --color-azure-900: oklch(50% 0.5 240deg);

/* Tealtöne */
    --color-teal-50: oklch(95% 0.05 190deg);
    --color-teal-100: oklch(90% 0.1 190deg);
    --color-teal-200: oklch(85% 0.15 190deg);
    --color-teal-300: oklch(80% 0.2 190deg);
    --color-teal-400: oklch(75% 0.25 190deg);
    --color-teal-500: oklch(70% 0.3 190deg);
    --color-teal-600: oklch(65% 0.35 190deg);
    --color-teal-700: oklch(60% 0.4 190deg);
    --color-teal-800: oklch(55% 0.45 190deg);
    --color-teal-900: oklch(50% 0.5 190deg);

/* Smaragdtöne */
    --color-emerald-50: oklch(95% 0.1 165deg);
    --color-emerald-100: oklch(90% 0.15 165deg);
    --color-emerald-200: oklch(85% 0.2 165deg);
    --color-emerald-300: oklch(80% 0.25 165deg);
    --color-emerald-400: oklch(75% 0.3 165deg);
    --color-emerald-500: oklch(70% 0.35 165deg);
    --color-emerald-600: oklch(65% 0.4 165deg);
    --color-emerald-700: oklch(60% 0.45 165deg);
    --color-emerald-800: oklch(55% 0.5 165deg);
    --color-emerald-900: oklch(50% 0.55 165deg);

/* Olivtöne */
    --color-olive-50: oklch(95% 0.05 110deg);
    --color-olive-100: oklch(90% 0.1 110deg);
    --color-olive-200: oklch(85% 0.15 110deg);
    --color-olive-300: oklch(80% 0.2 110deg);
    --color-olive-400: oklch(75% 0.25 110deg);
    --color-olive-500: oklch(70% 0.3 110deg);
    --color-olive-600: oklch(65% 0.35 110deg);
    --color-olive-700: oklch(60% 0.4 110deg);
    --color-olive-800: oklch(55% 0.45 110deg);
    --color-olive-900: oklch(50% 0.5 110deg);

/* Bernstein */
    --color-amber-50: oklch(95% 0.1 70deg);
    --color-amber-100: oklch(90% 0.15 70deg);
    --color-amber-200: oklch(85% 0.2 70deg);
    --color-amber-300: oklch(80% 0.25 70deg);
    --color-amber-400: oklch(75% 0.3 70deg);
    --color-amber-500: oklch(70% 0.35 70deg);
    --color-amber-600: oklch(65% 0.4 70deg);
    --color-amber-700: oklch(60% 0.45 70deg);
    --color-amber-800: oklch(55% 0.5 70deg);
    --color-amber-900: oklch(50% 0.55 70deg);

/* Kupfertöne */
    --color-copper-50: oklch(95% 0.1 45deg);
    --color-copper-100: oklch(90% 0.15 45deg);
    --color-copper-200: oklch(85% 0.2 45deg);
    --color-copper-300: oklch(80% 0.25 45deg);
    --color-copper-400: oklch(75% 0.3 45deg);
    --color-copper-500: oklch(70% 0.35 45deg);
    --color-copper-600: oklch(65% 0.4 45deg);
    --color-copper-700: oklch(60% 0.45 45deg);
    --color-copper-800: oklch(55% 0.5 45deg);
    --color-copper-900: oklch(50% 0.55 45deg);

/* Kirschtöne */
    --color-cherry-50: oklch(95% 0.1 20deg);
    --color-cherry-100: oklch(90% 0.15 20deg);
    --color-cherry-200: oklch(85% 0.2 20deg);
    --color-cherry-300: oklch(80% 0.25 20deg);
    --color-cherry-400: oklch(75% 0.3 20deg);
    --color-cherry-500: oklch(70% 0.35 20deg);
    --color-cherry-600: oklch(65% 0.4 20deg);
    --color-cherry-700: oklch(60% 0.45 20deg);
    --color-cherry-800: oklch(55% 0.5 20deg);
    --color-cherry-900: oklch(50% 0.55 20deg);

/* Magentatöne */
    --color-magenta-50: oklch(95% 0.1 340deg);
    --color-magenta-100: oklch(90% 0.15 340deg);
    --color-magenta-200: oklch(85% 0.2 340deg);
    --color-magenta-300: oklch(80% 0.25 340deg);
    --color-magenta-400: oklch(75% 0.3 340deg);
    --color-magenta-500: oklch(70% 0.35 340deg);
    --color-magenta-600: oklch(65% 0.4 340deg);
    --color-magenta-700: oklch(60% 0.45 340deg);
    --color-magenta-800: oklch(55% 0.5 340deg);
    --color-magenta-900: oklch(50% 0.55 340deg);

/* Lavendeltöne */
    --color-lavender-50: oklch(95% 0.05 320deg);
    --color-lavender-100: oklch(90% 0.1 320deg);
    --color-lavender-200: oklch(85% 0.15 320deg);
    --color-lavender-300: oklch(80% 0.2 320deg);
    --color-lavender-400: oklch(75% 0.25 320deg);
    --color-lavender-500: oklch(70% 0.3 320deg);
    --color-lavender-600: oklch(65% 0.35 320deg);
    --color-lavender-700: oklch(60% 0.4 320deg);
    --color-lavender-800: oklch(55% 0.45 320deg);
    --color-lavender-900: oklch(50% 0.5 320deg);

/* Bronzetöne */
    --color-bronze-50: oklch(95% 0.1 40deg);
    --color-bronze-100: oklch(90% 0.15 40deg);
    --color-bronze-200: oklch(85% 0.2 40deg);
    --color-bronze-300: oklch(80% 0.25 40deg);
    --color-bronze-400: oklch(75% 0.3 40deg);
    --color-bronze-500: oklch(70% 0.35 40deg);
    --color-bronze-600: oklch(65% 0.4 40deg);
    --color-bronze-700: oklch(60% 0.45 40deg);
    --color-bronze-800: oklch(55% 0.5 40deg);
    --color-bronze-900: oklch(50% 0.55 40deg);

/* Perltöne */
    --color-pearl-50: oklch(98% 0.01 0deg);
    --color-pearl-100: oklch(95% 0.01 0deg);
    --color-pearl-200: oklch(92% 0.01 0deg);
    --color-pearl-300: oklch(89% 0.01 0deg);
    --color-pearl-400: oklch(86% 0.01 0deg);
    --color-pearl-500: oklch(83% 0.01 0deg);
    --color-pearl-600: oklch(80% 0.01 0deg);
    --color-pearl-700: oklch(77% 0.01 0deg);
    --color-pearl-800: oklch(74% 0.01 0deg);
    --color-pearl-900: oklch(71% 0.01 0deg);

/* Champagnertöne */
    --color-champagne-50: oklch(98% 0.02 60deg);
    --color-champagne-100: oklch(95% 0.02 60deg);
    --color-champagne-200: oklch(92% 0.02 60deg);
    --color-champagne-300: oklch(89% 0.02 60deg);
    --color-champagne-400: oklch(86% 0.02 60deg);
    --color-champagne-500: oklch(83% 0.02 60deg);
    --color-champagne-600: oklch(80% 0.02 60deg);
    --color-champagne-700: oklch(77% 0.02 60deg);
    --color-champagne-800: oklch(74% 0.02 60deg);
    --color-champagne-900: oklch(71% 0.02 60deg);

/* Tauptöne */
    --color-taupe-50: oklch(95% 0.02 20deg);
    --color-taupe-100: oklch(90% 0.02 20deg);
    --color-taupe-200: oklch(85% 0.02 20deg);
    --color-taupe-300: oklch(80% 0.02 20deg);
    --color-taupe-400: oklch(75% 0.02 20deg);
    --color-taupe-500: oklch(70% 0.02 20deg);
    --color-taupe-600: oklch(65% 0.02 20deg);
    --color-taupe-700: oklch(60% 0.02 20deg);
    --color-taupe-800: oklch(55% 0.02 20deg);
    --color-taupe-900: oklch(50% 0.02 20deg);

/* Beigetöne */
    --color-beige-50: oklch(98% 0.02 80deg);
    --color-beige-100: oklch(95% 0.02 80deg);
    --color-beige-200: oklch(92% 0.02 80deg);
    --color-beige-300: oklch(89% 0.02 80deg);
    --color-beige-400: oklch(86% 0.02 80deg);
    --color-beige-500: oklch(83% 0.02 80deg);
    --color-beige-600: oklch(80% 0.02 80deg);
    --color-beige-700: oklch(77% 0.02 80deg);
    --color-beige-800: oklch(74% 0.02 80deg);
    --color-beige-900: oklch(71% 0.02 80deg);

/* Khakitöne */
    --color-khaki-50: oklch(95% 0.05 100deg);
    --color-khaki-100: oklch(90% 0.05 100deg);
    --color-khaki-200: oklch(85% 0.05 100deg);
    --color-khaki-300: oklch(80% 0.05 100deg);
    --color-khaki-400: oklch(75% 0.05 100deg);
    --color-khaki-500: oklch(70% 0.05 100deg);
    --color-khaki-600: oklch(65% 0.05 100deg);
    --color-khaki-700: oklch(60% 0.05 100deg);
    --color-khaki-800: oklch(55% 0.05 100deg);
    --color-khaki-900: oklch(50% 0.05 100deg);

/* Terrakottatöne */
    --color-terracotta-50: oklch(95% 0.1 25deg);
    --color-terracotta-100: oklch(90% 0.15 25deg);
    --color-terracotta-200: oklch(85% 0.2 25deg);
    --color-terracotta-300: oklch(80% 0.25 25deg);
    --color-terracotta-400: oklch(75% 0.3 25deg);
    --color-terracotta-500: oklch(70% 0.35 25deg);
    --color-terracotta-600: oklch(65% 0.4 25deg);
    --color-terracotta-700: oklch(60% 0.45 25deg);
    --color-terracotta-800: oklch(55% 0.5 25deg);
    --color-terracotta-900: oklch(50% 0.55 25deg);

/* Burgundertöne */
    --color-burgundy-50: oklch(95% 0.1 350deg);
    --color-burgundy-100: oklch(90% 0.15 350deg);
    --color-burgundy-200: oklch(85% 0.2 350deg);
    --color-burgundy-300: oklch(80% 0.25 350deg);
    --color-burgundy-400: oklch(75% 0.3 350deg);
    --color-burgundy-500: oklch(70% 0.35 350deg);
    --color-burgundy-600: oklch(65% 0.4 350deg);
    --color-burgundy-700: oklch(60% 0.45 350deg);
    --color-burgundy-800: oklch(55% 0.5 350deg);
    --color-burgundy-900: oklch(50% 0.55 350deg);

/* Silbertöne */
    --color-silver-50: oklch(98% 0.01 250deg);
    --color-silver-100: oklch(95% 0.01 250deg);
    --color-silver-200: oklch(92% 0.01 250deg);
    --color-silver-300: oklch(89% 0.01 250deg);
    --color-silver-400: oklch(86% 0.01 250deg);
    --color-silver-500: oklch(83% 0.01 250deg);
    --color-silver-600: oklch(80% 0.01 250deg);
    --color-silver-700: oklch(77% 0.01 250deg);
    --color-silver-800: oklch(74% 0.01 250deg);
    --color-silver-900: oklch(71% 0.01 250deg);

/* Platinatöne */
    --color-platinum-50: oklch(98% 0.01 270deg);
    --color-platinum-100: oklch(95% 0.01 270deg);
    --color-platinum-200: oklch(92% 0.01 270deg);
    --color-platinum-300: oklch(89% 0.01 270deg);
    --color-platinum-400: oklch(86% 0.01 270deg);
    --color-platinum-500: oklch(83% 0.01 270deg);
    --color-platinum-600: oklch(80% 0.01 270deg);
    --color-platinum-700: oklch(77% 0.01 270deg);
    --color-platinum-800: oklch(74% 0.01 270deg);
    --color-platinum-900: oklch(71% 0.01 270deg);

/* Graphittöne */
    --color-graphite-50: oklch(95% 0.02 280deg);
    --color-graphite-100: oklch(90% 0.02 280deg);
    --color-graphite-200: oklch(85% 0.02 280deg);
    --color-graphite-300: oklch(80% 0.02 280deg);
    --color-graphite-400: oklch(75% 0.02 280deg);
    --color-graphite-500: oklch(70% 0.02 280deg);
    --color-graphite-600: oklch(65% 0.02 280deg);
    --color-graphite-700: oklch(60% 0.02 280deg);
    --color-graphite-800: oklch(55% 0.02 280deg);
    --color-graphite-900: oklch(50% 0.02 280deg);

/* Moostöne */
    --color-moss-50: oklch(95% 0.05 140deg);
    --color-moss-100: oklch(90% 0.05 140deg);
    --color-moss-200: oklch(85% 0.05 140deg);
    --color-moss-300: oklch(80% 0.05 140deg);
    --color-moss-400: oklch(75% 0.05 140deg);
    --color-moss-500: oklch(70% 0.05 140deg);
    --color-moss-600: oklch(65% 0.05 140deg);
    --color-moss-700: oklch(60% 0.05 140deg);
    --color-moss-800: oklch(55% 0.05 140deg);
    --color-moss-900: oklch(50% 0.05 140deg);

/* Jade */
    --color-jade-50: oklch(95% 0.1 150deg);
    --color-jade-100: oklch(90% 0.15 150deg);
    --color-jade-200: oklch(85% 0.2 150deg);
    --color-jade-300: oklch(80% 0.25 150deg);
    --color-jade-400: oklch(75% 0.3 150deg);
    --color-jade-500: oklch(70% 0.35 150deg);
    --color-jade-600: oklch(65% 0.4 150deg);
    --color-jade-700: oklch(60% 0.45 150deg);
    --color-jade-800: oklch(55% 0.5 150deg);
    --color-jade-900: oklch(50% 0.55 150deg);

/* Saphir */
    --color-sapphire-50: oklch(95% 0.1 260deg);
    --color-sapphire-100: oklch(90% 0.15 260deg);
    --color-sapphire-200: oklch(85% 0.2 260deg);
    --color-sapphire-300: oklch(80% 0.25 260deg);
    --color-sapphire-400: oklch(75% 0.3 260deg);
    --color-sapphire-500: oklch(70% 0.35 260deg);
    --color-sapphire-600: oklch(65% 0.4 260deg);
    --color-sapphire-700: oklch(60% 0.45 260deg);
    --color-sapphire-800: oklch(55% 0.5 260deg);
    --color-sapphire-900: oklch(50% 0.55 260deg);

/* Rubin */
    --color-ruby-50: oklch(95% 0.1 0deg);
    --color-ruby-100: oklch(90% 0.15 0deg);
    --color-ruby-200: oklch(85% 0.2 0deg);
    --color-ruby-300: oklch(80% 0.25 0deg);
    --color-ruby-400: oklch(75% 0.3 0deg);
    --color-ruby-500: oklch(70% 0.35 0deg);
    --color-ruby-600: oklch(65% 0.4 0deg);
    --color-ruby-700: oklch(60% 0.45 0deg);
    --color-ruby-800: oklch(55% 0.5 0deg);
    --color-ruby-900: oklch(50% 0.55 0deg);

/* Amethyst */
    --color-amethyst-50: oklch(95% 0.1 310deg);
    --color-amethyst-100: oklch(90% 0.15 310deg);
    --color-amethyst-200: oklch(85% 0.2 310deg);
    --color-amethyst-300: oklch(80% 0.25 310deg);
    --color-amethyst-400: oklch(75% 0.3 310deg);
    --color-amethyst-500: oklch(70% 0.35 310deg);
    --color-amethyst-600: oklch(65% 0.4 310deg);
    --color-amethyst-700: oklch(60% 0.45 310deg);
    --color-amethyst-800: oklch(55% 0.5 310deg);
    --color-amethyst-900: oklch(50% 0.55 310deg);

/* Topas */
    --color-topaz-50: oklch(95% 0.1 65deg);
    --color-topaz-100: oklch(90% 0.15 65deg);
    --color-topaz-200: oklch(85% 0.2 65deg);
    --color-topaz-300: oklch(80% 0.25 65deg);
    --color-topaz-400: oklch(75% 0.3 65deg);
    --color-topaz-500: oklch(70% 0.35 65deg);
    --color-topaz-600: oklch(65% 0.4 65deg);
    --color-topaz-700: oklch(60% 0.45 65deg);
    --color-topaz-800: oklch(55% 0.5 65deg);
    --color-topaz-900: oklch(50% 0.55 65deg);

/* Zitrin */
    --color-citrine-50: oklch(95% 0.1 85deg);
    --color-citrine-100: oklch(90% 0.15 85deg);
    --color-citrine-200: oklch(85% 0.2 85deg);
    --color-citrine-300: oklch(80% 0.25 85deg);
    --color-citrine-400: oklch(75% 0.3 85deg);
    --color-citrine-500: oklch(70% 0.35 85deg);
    --color-citrine-600: oklch(65% 0.4 85deg);
    --color-citrine-700: oklch(60% 0.45 85deg);
    --color-citrine-800: oklch(55% 0.5 85deg);
    --color-citrine-900: oklch(50% 0.55 85deg);

/* Peridot */
    --color-peridot-50: oklch(95% 0.1 135deg);
    --color-peridot-100: oklch(90% 0.15 135deg);
    --color-peridot-200: oklch(85% 0.2 135deg);
    --color-peridot-300: oklch(80% 0.25 135deg);
    --color-peridot-400: oklch(75% 0.3 135deg);
    --color-peridot-500: oklch(70% 0.35 135deg);
    --color-peridot-600: oklch(65% 0.4 135deg);
    --color-peridot-700: oklch(60% 0.45 135deg);
    --color-peridot-800: oklch(55% 0.5 135deg);
    --color-peridot-900: oklch(50% 0.55 135deg);

/* Opal */
    --color-opal-50: oklch(98% 0.01 205deg);
    --color-opal-100: oklch(95% 0.01 205deg);
    --color-opal-200: oklch(92% 0.01 205deg);
    --color-opal-300: oklch(89% 0.01 205deg);
    --color-opal-400: oklch(86% 0.01 205deg);
    --color-opal-500: oklch(83% 0.01 205deg);
    --color-opal-600: oklch(80% 0.01 205deg);
    --color-opal-700: oklch(77% 0.01 205deg);
    --color-opal-800: oklch(74% 0.01 205deg);
    --color-opal-900: oklch(71% 0.01 205deg);

/* Granat */
    --color-garnet-50: oklch(95% 0.1 5deg);
    --color-garnet-100: oklch(90% 0.15 5deg);
    --color-garnet-200: oklch(85% 0.2 5deg);
    --color-garnet-300: oklch(80% 0.25 5deg);
    --color-garnet-400: oklch(75% 0.3 5deg);
    --color-garnet-500: oklch(70% 0.35 5deg);
    --color-garnet-600: oklch(65% 0.4 5deg);
    --color-garnet-700: oklch(60% 0.45 5deg);
    --color-garnet-800: oklch(55% 0.5 5deg);
    --color-garnet-900: oklch(50% 0.55 5deg);

/* Onyx */
    --color-onyx-50: oklch(95% 0.01 280deg);
    --color-onyx-100: oklch(90% 0.01 280deg);
    --color-onyx-200: oklch(85% 0.01 280deg);
    --color-onyx-300: oklch(80% 0.01 280deg);
    --color-onyx-400: oklch(75% 0.01 280deg);
    --color-onyx-500: oklch(70% 0.01 280deg);
    --color-onyx-600: oklch(65% 0.01 280deg);
    --color-onyx-700: oklch(60% 0.01 280deg);
    --color-onyx-800: oklch(55% 0.01 280deg);
    --color-onyx-900: oklch(50% 0.01 280deg);

/* Malachit */
    --color-malachite-50: oklch(95% 0.1 170deg);
    --color-malachite-100: oklch(90% 0.15 170deg);
    --color-malachite-200: oklch(85% 0.2 170deg);
    --color-malachite-300: oklch(80% 0.25 170deg);
    --color-malachite-400: oklch(75% 0.3 170deg);
    --color-malachite-500: oklch(70% 0.35 170deg);
    --color-malachite-600: oklch(65% 0.4 170deg);
    --color-malachite-700: oklch(60% 0.45 170deg);
    --color-malachite-800: oklch(55% 0.5 170deg);
    --color-malachite-900: oklch(50% 0.55 170deg);

/* Lapislazuli */
    --color-lapis-50: oklch(95% 0.1 270deg);
    --color-lapis-100: oklch(90% 0.15 270deg);
    --color-lapis-200: oklch(85% 0.2 270deg);
    --color-lapis-300: oklch(80% 0.25 270deg);
    --color-lapis-400: oklch(75% 0.3 270deg);
    --color-lapis-500: oklch(70% 0.35 270deg);
    --color-lapis-600: oklch(65% 0.4 270deg);
    --color-lapis-700: oklch(60% 0.45 270deg);
    --color-lapis-800: oklch(55% 0.5 270deg);
    --color-lapis-900: oklch(50% 0.55 270deg);

/* Türkis */
    --color-turquoise-50: oklch(95% 0.1 200deg);
    --color-turquoise-100: oklch(90% 0.15 200deg);
    --color-turquoise-200: oklch(85% 0.2 200deg);
    --color-turquoise-300: oklch(80% 0.25 200deg);
    --color-turquoise-400: oklch(75% 0.3 200deg);
    --color-turquoise-500: oklch(70% 0.35 200deg);
    --color-turquoise-600: oklch(65% 0.4 200deg);
    --color-turquoise-700: oklch(60% 0.45 200deg);
    --color-turquoise-800: oklch(55% 0.5 200deg);
    --color-turquoise-900: oklch(50% 0.55 200deg);

/* Koralle */
    --color-coral-50: oklch(95% 0.1 20deg);
    --color-coral-100: oklch(90% 0.15 20deg);
    --color-coral-200: oklch(85% 0.2 20deg);
    --color-coral-300: oklch(80% 0.25 20deg);
    --color-coral-400: oklch(75% 0.3 20deg);
    --color-coral-500: oklch(70% 0.35 20deg);
    --color-coral-600: oklch(65% 0.4 20deg);
    --color-coral-700: oklch(60% 0.45 20deg);
    --color-coral-800: oklch(55% 0.5 20deg);
    --color-coral-900: oklch(50% 0.55 20deg);

/* Perlmutt */
    --color-mother-of-pearl-50: oklch(98% 0.01 0deg);
    --color-mother-of-pearl-100: oklch(95% 0.01 0deg);
    --color-mother-of-pearl-200: oklch(92% 0.01 0deg);
    --color-mother-of-pearl-300: oklch(89% 0.01 0deg);
    --color-mother-of-pearl-400: oklch(86% 0.01 0deg);
    --color-mother-of-pearl-500: oklch(83% 0.01 0deg);
    --color-mother-of-pearl-600: oklch(80% 0.01 0deg);
    --color-mother-of-pearl-700: oklch(77% 0.01 0deg);
    --color-mother-of-pearl-800: oklch(74% 0.01 0deg);
    --color-mother-of-pearl-900: oklch(71% 0.01 0deg);

/* Obsidian */
    --color-obsidian-50: oklch(95% 0.01 290deg);
    --color-obsidian-100: oklch(90% 0.01 290deg);
    --color-obsidian-200: oklch(85% 0.01 290deg);
    --color-obsidian-300: oklch(80% 0.01 290deg);
    --color-obsidian-400: oklch(75% 0.01 290deg);
    --color-obsidian-500: oklch(70% 0.01 290deg);
    --color-obsidian-600: oklch(65% 0.01 290deg);
    --color-obsidian-700: oklch(60% 0.01 290deg);
    --color-obsidian-800: oklch(55% 0.01 290deg);
    --color-obsidian-900: oklch(50% 0.01 290deg);

/* Jadeit */
    --color-jadeite-50: oklch(95% 0.1 155deg);
    --color-jadeite-100: oklch(90% 0.15 155deg);
    --color-jadeite-200: oklch(85% 0.2 155deg);
    --color-jadeite-300: oklch(80% 0.25 155deg);
    --color-jadeite-400: oklch(75% 0.3 155deg);
    --color-jadeite-500: oklch(70% 0.35 155deg);
    --color-jadeite-600: oklch(65% 0.4 155deg);
    --color-jadeite-700: oklch(60% 0.45 155deg);
    --color-jadeite-800: oklch(55% 0.5 155deg);
    --color-jadeite-900: oklch(50% 0.55 155deg);

/* Smaragd */
    --color-emerald-50: oklch(95% 0.1 165deg);
    --color-emerald-100: oklch(90% 0.15 165deg);
    --color-emerald-200: oklch(85% 0.2 165deg);
    --color-emerald-300: oklch(80% 0.25 165deg);
    --color-emerald-400: oklch(75% 0.3 165deg);
    --color-emerald-500: oklch(70% 0.35 165deg);
    --color-emerald-600: oklch(65% 0.4 165deg);
    --color-emerald-700: oklch(60% 0.45 165deg);
    --color-emerald-800: oklch(55% 0.5 165deg);
    --color-emerald-900: oklch(50% 0.55 165deg);

/* Aquamarin */
    --color-aquamarine-50: oklch(95% 0.1 195deg);
    --color-aquamarine-100: oklch(90% 0.15 195deg);
    --color-aquamarine-200: oklch(85% 0.2 195deg);
    --color-aquamarine-300: oklch(80% 0.25 195deg);
    --color-aquamarine-400: oklch(75% 0.3 195deg);
    --color-aquamarine-500: oklch(70% 0.35 195deg);
    --color-aquamarine-600: oklch(65% 0.4 195deg);
    --color-aquamarine-700: oklch(60% 0.45 195deg);
    --color-aquamarine-800: oklch(55% 0.5 195deg);
    --color-aquamarine-900: oklch(50% 0.55 195deg);

/* Topas */
    --color-topaz-50: oklch(95% 0.1 65deg);
    --color-topaz-100: oklch(90% 0.15 65deg);
    --color-topaz-200: oklch(85% 0.2 65deg);
    --color-topaz-300: oklch(80% 0.25 65deg);
    --color-topaz-400: oklch(75% 0.3 65deg);
    --color-topaz-500: oklch(70% 0.35 65deg);
    --color-topaz-600: oklch(65% 0.4 65deg);
    --color-topaz-700: oklch(60% 0.45 65deg);
    --color-topaz-800: oklch(55% 0.5 65deg);
    --color-topaz-900: oklch(50% 0.55 65deg);

/* Zitrin */
    --color-citrine-50: oklch(95% 0.1 85deg);
    --color-citrine-100: oklch(90% 0.15 85deg);
    --color-citrine-200: oklch(85% 0.2 85deg);
    --color-citrine-300: oklch(80% 0.25 85deg);
    --color-citrine-400: oklch(75% 0.3 85deg);
    --color-citrine-500: oklch(70% 0.35 85deg);
    --color-citrine-600: oklch(65% 0.4 85deg);
    --color-citrine-700: oklch(60% 0.45 85deg);
    --color-citrine-800: oklch(55% 0.5 85deg);
    --color-citrine-900: oklch(50% 0.55 85deg);

/* Peridot */
    --color-peridot-50: oklch(95% 0.1 135deg);
    --color-peridot-100: oklch(90% 0.15 135deg);
    --color-peridot-200: oklch(85% 0.2 135deg);
    --color-peridot-300: oklch(80% 0.25 135deg);
    --color-peridot-400: oklch(75% 0.3 135deg);
    --color-peridot-500: oklch(70% 0.35 135deg);
    --color-peridot-600: oklch(65% 0.4 135deg);
    --color-peridot-700: oklch(60% 0.45 135deg);
    --color-peridot-800: oklch(55% 0.5 135deg);
    --color-peridot-900: oklch(50% 0.55 135deg);

/* Opal */
    --color-opal-50: oklch(98% 0.01 205deg);
    --color-opal-100: oklch(95% 0.01 205deg);
    --color-opal-200: oklch(92% 0.01 205deg);
    --color-opal-300: oklch(89% 0.01 205deg);
    --color-opal-400: oklch(86% 0.01 205deg);
    --color-opal-500: oklch(83% 0.01 205deg);
    --color-opal-600: oklch(80% 0.01 205deg);
    --color-opal-700: oklch(77% 0.01 205deg);
    --color-opal-800: oklch(74% 0.01 205deg);
    --color-opal-900: oklch(71% 0.01 205deg);

/* Mondstein */
    --color-moonstone-50: oklch(98% 0.01 220deg);
    --color-moonstone-100: oklch(95% 0.01 220deg);
    --color-moonstone-200: oklch(92% 0.01 220deg);
    --color-moonstone-300: oklch(89% 0.01 220deg);
    --color-moonstone-400: oklch(86% 0.01 220deg);
    --color-moonstone-500: oklch(83% 0.01 220deg);
    --color-moonstone-600: oklch(80% 0.01 220deg);
    --color-moonstone-700: oklch(77% 0.01 220deg);
    --color-moonstone-800: oklch(74% 0.01 220deg);
    --color-moonstone-900: oklch(71% 0.01 220deg);

/* Labradorit */
    --color-labradorite-50: oklch(95% 0.1 240deg);
    --color-labradorite-100: oklch(90% 0.15 240deg);
    --color-labradorite-200: oklch(85% 0.2 240deg);
    --color-labradorite-300: oklch(80% 0.25 240deg);
    --color-labradorite-400: oklch(75% 0.3 240deg);
    --color-labradorite-500: oklch(70% 0.35 240deg);
    --color-labradorite-600: oklch(65% 0.4 240deg);
    --color-labradorite-700: oklch(60% 0.45 240deg);
    --color-labradorite-800: oklch(55% 0.5 240deg);
    --color-labradorite-900: oklch(50% 0.55 240deg);

/* Fluorit */
    --color-fluorite-50: oklch(95% 0.1 280deg);
    --color-fluorite-100: oklch(90% 0.15 280deg);
    --color-fluorite-200: oklch(85% 0.2 280deg);
    --color-fluorite-300: oklch(80% 0.25 280deg);
    --color-fluorite-400: oklch(75% 0.3 280deg);
    --color-fluorite-500: oklch(70% 0.35 280deg);
    --color-fluorite-600: oklch(65% 0.4 280deg);
    --color-fluorite-700: oklch(60% 0.45 280deg);
    --color-fluorite-800: oklch(55% 0.5 280deg);
    --color-fluorite-900: oklch(50% 0.55 280deg);

/* Pastelltöne */
    --color-pastel-pink-50: oklch(95% 0.05 0deg);
    --color-pastel-pink-100: oklch(90% 0.1 0deg);
    --color-pastel-pink-200: oklch(85% 0.15 0deg);
    --color-pastel-pink-300: oklch(80% 0.2 0deg);
    --color-pastel-pink-400: oklch(75% 0.25 0deg);
    --color-pastel-pink-500: oklch(70% 0.3 0deg);
    --color-pastel-pink-600: oklch(65% 0.35 0deg);
    --color-pastel-pink-700: oklch(60% 0.4 0deg);
    --color-pastel-pink-800: oklch(55% 0.45 0deg);
    --color-pastel-pink-900: oklch(50% 0.5 0deg);
    --color-pastel-blue-50: oklch(95% 0.05 250deg);
    --color-pastel-blue-100: oklch(90% 0.1 250deg);
    --color-pastel-blue-200: oklch(85% 0.15 250deg);
    --color-pastel-blue-300: oklch(80% 0.2 250deg);
    --color-pastel-blue-400: oklch(75% 0.25 250deg);
    --color-pastel-blue-500: oklch(70% 0.3 250deg);
    --color-pastel-blue-600: oklch(65% 0.35 250deg);
    --color-pastel-blue-700: oklch(60% 0.4 250deg);
    --color-pastel-blue-800: oklch(55% 0.45 250deg);
    --color-pastel-blue-900: oklch(50% 0.5 250deg);
    --color-pastel-green-50: oklch(95% 0.05 150deg);
    --color-pastel-green-100: oklch(90% 0.1 150deg);
    --color-pastel-green-200: oklch(85% 0.15 150deg);
    --color-pastel-green-300: oklch(80% 0.2 150deg);
    --color-pastel-green-400: oklch(75% 0.25 150deg);
    --color-pastel-green-500: oklch(70% 0.3 150deg);
    --color-pastel-green-600: oklch(65% 0.35 150deg);
    --color-pastel-green-700: oklch(60% 0.4 150deg);
    --color-pastel-green-800: oklch(55% 0.45 150deg);
    --color-pastel-green-900: oklch(50% 0.5 150deg);
    --color-pastel-yellow-50: oklch(95% 0.05 80deg);
    --color-pastel-yellow-100: oklch(90% 0.1 80deg);
    --color-pastel-yellow-200: oklch(85% 0.15 80deg);
    --color-pastel-yellow-300: oklch(80% 0.2 80deg);
    --color-pastel-yellow-400: oklch(75% 0.25 80deg);
    --color-pastel-yellow-500: oklch(70% 0.3 80deg);
    --color-pastel-yellow-600: oklch(65% 0.35 80deg);
    --color-pastel-yellow-700: oklch(60% 0.4 80deg);
    --color-pastel-yellow-800: oklch(55% 0.45 80deg);
    --color-pastel-yellow-900: oklch(50% 0.5 80deg);
    --color-pastel-purple-50: oklch(95% 0.05 300deg);
    --color-pastel-purple-100: oklch(90% 0.1 300deg);
    --color-pastel-purple-200: oklch(85% 0.15 300deg);
    --color-pastel-purple-300: oklch(80% 0.2 300deg);
    --color-pastel-purple-400: oklch(75% 0.25 300deg);
    --color-pastel-purple-500: oklch(70% 0.3 300deg);
    --color-pastel-purple-600: oklch(65% 0.35 300deg);
    --color-pastel-purple-700: oklch(60% 0.4 300deg);
    --color-pastel-purple-800: oklch(55% 0.45 300deg);
    --color-pastel-purple-900: oklch(50% 0.5 300deg);

/* Neontöne */
    --color-neon-pink-50: oklch(95% 0.3 0deg);
    --color-neon-pink-100: oklch(90% 0.35 0deg);
    --color-neon-pink-200: oklch(85% 0.4 0deg);
    --color-neon-pink-300: oklch(80% 0.45 0deg);
    --color-neon-pink-400: oklch(75% 0.5 0deg);
    --color-neon-pink-500: oklch(70% 0.55 0deg);
    --color-neon-pink-600: oklch(65% 0.6 0deg);
    --color-neon-pink-700: oklch(60% 0.65 0deg);
    --color-neon-pink-800: oklch(55% 0.7 0deg);
    --color-neon-pink-900: oklch(50% 0.75 0deg);
    --color-neon-blue-50: oklch(95% 0.3 250deg);
    --color-neon-blue-100: oklch(90% 0.35 250deg);
    --color-neon-blue-200: oklch(85% 0.4 250deg);
    --color-neon-blue-300: oklch(80% 0.45 250deg);
    --color-neon-blue-400: oklch(75% 0.5 250deg);
    --color-neon-blue-500: oklch(70% 0.55 250deg);
    --color-neon-blue-600: oklch(65% 0.6 250deg);
    --color-neon-blue-700: oklch(60% 0.65 250deg);
    --color-neon-blue-800: oklch(55% 0.7 250deg);
    --color-neon-blue-900: oklch(50% 0.75 250deg);
    --color-neon-green-50: oklch(95% 0.3 150deg);
    --color-neon-green-100: oklch(90% 0.35 150deg);
    --color-neon-green-200: oklch(85% 0.4 150deg);
    --color-neon-green-300: oklch(80% 0.45 150deg);
    --color-neon-green-400: oklch(75% 0.5 150deg);
    --color-neon-green-500: oklch(70% 0.55 150deg);
    --color-neon-green-600: oklch(65% 0.6 150deg);
    --color-neon-green-700: oklch(60% 0.65 150deg);
    --color-neon-green-800: oklch(55% 0.7 150deg);
    --color-neon-green-900: oklch(50% 0.75 150deg);
    --color-neon-yellow-50: oklch(95% 0.3 80deg);
    --color-neon-yellow-100: oklch(90% 0.35 80deg);
    --color-neon-yellow-200: oklch(85% 0.4 80deg);
    --color-neon-yellow-300: oklch(80% 0.45 80deg);
    --color-neon-yellow-400: oklch(75% 0.5 80deg);
    --color-neon-yellow-500: oklch(70% 0.55 80deg);
    --color-neon-yellow-600: oklch(65% 0.6 80deg);
    --color-neon-yellow-700: oklch(60% 0.65 80deg);
    --color-neon-yellow-800: oklch(55% 0.7 80deg);
    --color-neon-yellow-900: oklch(50% 0.75 80deg);
    --color-neon-orange-50: oklch(95% 0.3 50deg);
    --color-neon-orange-100: oklch(90% 0.35 50deg);
    --color-neon-orange-200: oklch(85% 0.4 50deg);
    --color-neon-orange-300: oklch(80% 0.45 50deg);
    --color-neon-orange-400: oklch(75% 0.5 50deg);
    --color-neon-orange-500: oklch(70% 0.55 50deg);
    --color-neon-orange-600: oklch(65% 0.6 50deg);
    --color-neon-orange-700: oklch(60% 0.65 50deg);
    --color-neon-orange-800: oklch(55% 0.7 50deg);
    --color-neon-orange-900: oklch(50% 0.75 50deg);
    --color-neon-purple-50: oklch(95% 0.3 300deg);
    --color-neon-purple-100: oklch(90% 0.35 300deg);
    --color-neon-purple-200: oklch(85% 0.4 300deg);
    --color-neon-purple-300: oklch(80% 0.45 300deg);
    --color-neon-purple-400: oklch(75% 0.5 300deg);
    --color-neon-purple-500: oklch(70% 0.55 300deg);
    --color-neon-purple-600: oklch(65% 0.6 300deg);
    --color-neon-purple-700: oklch(60% 0.65 300deg);
    --color-neon-purple-800: oklch(55% 0.7 300deg);
    --color-neon-purple-900: oklch(50% 0.75 300deg);

/* Moderne Farbfunktionen mit color-mix() */

/* Farbvarianten mit Alpha-Werten */
    --blue-transparent-10: color-mix(in srgb, var(--color-blue-500) 10, transparent);
    --blue-transparent-20: color-mix(in srgb, var(--color-blue-500) 20, transparent);
    --blue-transparent-30: color-mix(in srgb, var(--color-blue-500) 30, transparent);
    --blue-transparent-40: color-mix(in srgb, var(--color-blue-500) 40, transparent);
    --blue-transparent-50: color-mix(in srgb, var(--color-blue-500) 50, transparent);

/* Farbvarianten mit Schwarz/Weiß für Schatten und Highlights */
    --blue-tint-10: color-mix(in srgb, var(--color-blue-500) 90, var(--color-white));
    --blue-tint-20: color-mix(in srgb, var(--color-blue-500) 80, var(--color-white));
    --blue-tint-30: color-mix(in srgb, var(--color-blue-500) 70, var(--color-white));
    --blue-shade-10: color-mix(in srgb, var(--color-blue-500) 90, var(--color-black));
    --blue-shade-20: color-mix(in srgb, var(--color-blue-500) 80, var(--color-black));
    --blue-shade-30: color-mix(in srgb, var(--color-blue-500) 70, var(--color-black));

/* Farbvarianten für Hover- und aktive Zustände */
    --blue-hover: color-mix(in srgb, var(--color-blue-500) 90, var(--color-white));
    --blue-active: color-mix(in srgb, var(--color-blue-500) 90, var(--color-black));

/* Kontrastierende Farben */
    --blue-contrast-light: color-mix(in srgb, var(--color-blue-500) 10, var(--color-white));
    --blue-contrast-dark: color-mix(in srgb, var(--color-blue-900) 90, var(--color-black));

/* Farbkombinationen für spezielle Effekte */
    --primary-secondary-mix: color-mix(in lch, var(--color-blue-500) 50, var(--color-indigo-500));
    --primary-accent-mix: color-mix(in lch, var(--color-blue-500) 50, var(--color-cyan-500));
    --secondary-accent-mix: color-mix(in lch, var(--color-indigo-500) 50, var(--color-cyan-500));

/* Farben für Status-Indikatoren */
    --success-hover: color-mix(in srgb, var(--color-green-500) 90, var(--color-white));
    --success-active: color-mix(in srgb, var(--color-green-500) 90, var(--color-black));
    --error-hover: color-mix(in srgb, var(--color-red-500) 90, var(--color-white));
    --error-active: color-mix(in srgb, var(--color-red-500) 90, var(--color-black));
    --warning-hover: color-mix(in srgb, var(--color-amber-500) 90, var(--color-white));
    --warning-active: color-mix(in srgb, var(--color-amber-500) 90, var(--color-black));

/* Farbkombinationen für Theme-Variationen */
    --theme-gradient-start: var(--color-blue-500);
    --theme-gradient-end: var(--color-cyan-500);
    --theme-gradient-mid: color-mix(in lch, var(--theme-gradient-start) 50, var(--theme-gradient-end));

/* Farbschemata für Hell-/Dunkelmodus */
    --light-surface: color-mix(in srgb, var(--color-gray-50) 98%, var(--color-blue-500));
    --light-surface-hover: color-mix(in srgb, var(--color-gray-100) 95%, var(--color-blue-500));
    --dark-surface: color-mix(in srgb, var(--color-gray-900) 98%, var(--color-blue-500));
    --dark-surface-hover: color-mix(in srgb, var(--color-gray-800) 95%, var(--color-blue-500));

/* Textfarben mit erhöhtem Kontrast für Barrierefreiheit */
    --text-high-contrast: color-mix(in srgb, var(--color-gray-900) 95%, var(--color-blue-900));
    --text-medium-contrast: color-mix(in srgb, var(--color-gray-700) 95%, var(--color-blue-700));
    --text-low-contrast: color-mix(in srgb, var(--color-gray-500) 95%, var(--color-blue-500));
  }

/* Dynamische Farbvarianten für alle Basisfarben */
  .dynamic-color-variants {
/* Primärfarben */
    --primary-lightest: color-mix(in srgb, var(--color-primary-500) 20, var(--color-white));
    --primary-lighter: color-mix(in srgb, var(--color-primary-500) 40, var(--color-white));
    --primary-light: color-mix(in srgb, var(--color-primary-500) 70, var(--color-white));
    --primary: var(--color-primary-500);
    --primary-dark: color-mix(in srgb, var(--color-primary-500) 70, var(--color-black));
    --primary-darker: color-mix(in srgb, var(--color-primary-500) 40, var(--color-black));
    --primary-darkest: color-mix(in srgb, var(--color-primary-500) 20, var(--color-black));

/* Sekundärfarben */
    --secondary-lightest: color-mix(in srgb, var(--color-secondary-500) 20, var(--color-white));
    --secondary-lighter: color-mix(in srgb, var(--color-secondary-500) 40, var(--color-white));
    --secondary-light: color-mix(in srgb, var(--color-secondary-500) 70, var(--color-white));
    --secondary: var(--color-secondary-500);
    --secondary-dark: color-mix(in srgb, var(--color-secondary-500) 70, var(--color-black));
    --secondary-darker: color-mix(in srgb, var(--color-secondary-500) 40, var(--color-black));
    --secondary-darkest: color-mix(in srgb, var(--color-secondary-500) 20, var(--color-black));

/* Akzentfarben */
    --accent-lightest: color-mix(in srgb, var(--color-accent-500) 20, var(--color-white));
    --accent-lighter: color-mix(in srgb, var(--color-accent-500) 40, var(--color-white));
    --accent-light: color-mix(in srgb, var(--color-accent-500) 70, var(--color-white));
    --accent: var(--color-accent-500);
    --accent-dark: color-mix(in srgb, var(--color-accent-500) 70, var(--color-black));
    --accent-darker: color-mix(in srgb, var(--color-accent-500) 40, var(--color-black));
    --accent-darkest: color-mix(in srgb, var(--color-accent-500) 20, var(--color-black));
  }

/* Farbschemata für Nutzerinteraktionen */
  .interactive-colors {
/* Hover-Zustände */
    --btn-primary-hover: color-mix(in srgb, var(--color-primary-500) 90, var(--color-white));
    --btn-primary-active: color-mix(in srgb, var(--color-primary-500) 90, var(--color-black));
    --btn-secondary-hover: color-mix(in srgb, var(--color-secondary-500) 90, var(--color-white));
    --btn-secondary-active: color-mix(in srgb, var(--color-secondary-500) 90, var(--color-black));

/* Link-Farben */
    --link-default: var(--color-primary-600);
    --link-hover: color-mix(in srgb, var(--color-primary-600) 80, var(--color-black));
    --link-visited: color-mix(in lch, var(--color-primary-600) 70, var(--color-purple-600));

/* Fokus-Indikator */
    --focus-ring: color-mix(in srgb, var(--color-primary-500) 80, var(--color-white));
    --focus-ring-inset: color-mix(in srgb, var(--color-primary-500) 20, var(--color-white));
  }
}


/* Datei: core/color-mix.css */
/**
* Auto-generiert mit generateColorMixes.js
* base/colors.css
*/

@layer color-mix {
  :root {
/* blue */
    --blue-lightest: color-mix(in srgb, var(--color-blue-500) 20, var(--color-white));
    --blue-lighter: color-mix(in srgb, var(--color-blue-500) 40, var(--color-white));
    --blue-light: color-mix(in srgb, var(--color-blue-500) 70, var(--color-white));
    --blue: var(--color-blue-500);
    --blue-dark: color-mix(in srgb, var(--color-blue-500) 70, var(--color-black));
    --blue-darker: color-mix(in srgb, var(--color-blue-500) 40, var(--color-black));
    --blue-darkest: color-mix(in srgb, var(--color-blue-500) 20, var(--color-black));

/* sky */
    --sky-lightest: color-mix(in srgb, var(--color-sky-500) 20, var(--color-white));
    --sky-lighter: color-mix(in srgb, var(--color-sky-500) 40, var(--color-white));
    --sky-light: color-mix(in srgb, var(--color-sky-500) 70, var(--color-white));
    --sky: var(--color-sky-500);
    --sky-dark: color-mix(in srgb, var(--color-sky-500) 70, var(--color-black));
    --sky-darker: color-mix(in srgb, var(--color-sky-500) 40, var(--color-black));
    --sky-darkest: color-mix(in srgb, var(--color-sky-500) 20, var(--color-black));

/* cyan */
    --cyan-lightest: color-mix(in srgb, var(--color-cyan-500) 20, var(--color-white));
    --cyan-lighter: color-mix(in srgb, var(--color-cyan-500) 40, var(--color-white));
    --cyan-light: color-mix(in srgb, var(--color-cyan-500) 70, var(--color-white));
    --cyan: var(--color-cyan-500);
    --cyan-dark: color-mix(in srgb, var(--color-cyan-500) 70, var(--color-black));
    --cyan-darker: color-mix(in srgb, var(--color-cyan-500) 40, var(--color-black));
    --cyan-darkest: color-mix(in srgb, var(--color-cyan-500) 20, var(--color-black));

/* mint */
    --mint-lightest: color-mix(in srgb, var(--color-mint-500) 20, var(--color-white));
    --mint-lighter: color-mix(in srgb, var(--color-mint-500) 40, var(--color-white));
    --mint-light: color-mix(in srgb, var(--color-mint-500) 70, var(--color-white));
    --mint: var(--color-mint-500);
    --mint-dark: color-mix(in srgb, var(--color-mint-500) 70, var(--color-black));
    --mint-darker: color-mix(in srgb, var(--color-mint-500) 40, var(--color-black));
    --mint-darkest: color-mix(in srgb, var(--color-mint-500) 20, var(--color-black));

/* green */
    --green-lightest: color-mix(in srgb, var(--color-green-500) 20, var(--color-white));
    --green-lighter: color-mix(in srgb, var(--color-green-500) 40, var(--color-white));
    --green-light: color-mix(in srgb, var(--color-green-500) 70, var(--color-white));
    --green: var(--color-green-500);
    --green-dark: color-mix(in srgb, var(--color-green-500) 70, var(--color-black));
    --green-darker: color-mix(in srgb, var(--color-green-500) 40, var(--color-black));
    --green-darkest: color-mix(in srgb, var(--color-green-500) 20, var(--color-black));

/* lime */
    --lime-lightest: color-mix(in srgb, var(--color-lime-500) 20, var(--color-white));
    --lime-lighter: color-mix(in srgb, var(--color-lime-500) 40, var(--color-white));
    --lime-light: color-mix(in srgb, var(--color-lime-500) 70, var(--color-white));
    --lime: var(--color-lime-500);
    --lime-dark: color-mix(in srgb, var(--color-lime-500) 70, var(--color-black));
    --lime-darker: color-mix(in srgb, var(--color-lime-500) 40, var(--color-black));
    --lime-darkest: color-mix(in srgb, var(--color-lime-500) 20, var(--color-black));

/* yellow */
    --yellow-lightest: color-mix(in srgb, var(--color-yellow-500) 20, var(--color-white));
    --yellow-lighter: color-mix(in srgb, var(--color-yellow-500) 40, var(--color-white));
    --yellow-light: color-mix(in srgb, var(--color-yellow-500) 70, var(--color-white));
    --yellow: var(--color-yellow-500);
    --yellow-dark: color-mix(in srgb, var(--color-yellow-500) 70, var(--color-black));
    --yellow-darker: color-mix(in srgb, var(--color-yellow-500) 40, var(--color-black));
    --yellow-darkest: color-mix(in srgb, var(--color-yellow-500) 20, var(--color-black));

/* gold */
    --gold-lightest: color-mix(in srgb, var(--color-gold-500) 20, var(--color-white));
    --gold-lighter: color-mix(in srgb, var(--color-gold-500) 40, var(--color-white));
    --gold-light: color-mix(in srgb, var(--color-gold-500) 70, var(--color-white));
    --gold: var(--color-gold-500);
    --gold-dark: color-mix(in srgb, var(--color-gold-500) 70, var(--color-black));
    --gold-darker: color-mix(in srgb, var(--color-gold-500) 40, var(--color-black));
    --gold-darkest: color-mix(in srgb, var(--color-gold-500) 20, var(--color-black));

/* orange */
    --orange-lightest: color-mix(in srgb, var(--color-orange-500) 20, var(--color-white));
    --orange-lighter: color-mix(in srgb, var(--color-orange-500) 40, var(--color-white));
    --orange-light: color-mix(in srgb, var(--color-orange-500) 70, var(--color-white));
    --orange: var(--color-orange-500);
    --orange-dark: color-mix(in srgb, var(--color-orange-500) 70, var(--color-black));
    --orange-darker: color-mix(in srgb, var(--color-orange-500) 40, var(--color-black));
    --orange-darkest: color-mix(in srgb, var(--color-orange-500) 20, var(--color-black));

/* coral */
    --coral-lightest: color-mix(in srgb, var(--color-coral-500) 20, var(--color-white));
    --coral-lighter: color-mix(in srgb, var(--color-coral-500) 40, var(--color-white));
    --coral-light: color-mix(in srgb, var(--color-coral-500) 70, var(--color-white));
    --coral: var(--color-coral-500);
    --coral-dark: color-mix(in srgb, var(--color-coral-500) 70, var(--color-black));
    --coral-darker: color-mix(in srgb, var(--color-coral-500) 40, var(--color-black));
    --coral-darkest: color-mix(in srgb, var(--color-coral-500) 20, var(--color-black));

/* red */
    --red-lightest: color-mix(in srgb, var(--color-red-500) 20, var(--color-white));
    --red-lighter: color-mix(in srgb, var(--color-red-500) 40, var(--color-white));
    --red-light: color-mix(in srgb, var(--color-red-500) 70, var(--color-white));
    --red: var(--color-red-500);
    --red-dark: color-mix(in srgb, var(--color-red-500) 70, var(--color-black));
    --red-darker: color-mix(in srgb, var(--color-red-500) 40, var(--color-black));
    --red-darkest: color-mix(in srgb, var(--color-red-500) 20, var(--color-black));

/* pink */
    --pink-lightest: color-mix(in srgb, var(--color-pink-500) 20, var(--color-white));
    --pink-lighter: color-mix(in srgb, var(--color-pink-500) 40, var(--color-white));
    --pink-light: color-mix(in srgb, var(--color-pink-500) 70, var(--color-white));
    --pink: var(--color-pink-500);
    --pink-dark: color-mix(in srgb, var(--color-pink-500) 70, var(--color-black));
    --pink-darker: color-mix(in srgb, var(--color-pink-500) 40, var(--color-black));
    --pink-darkest: color-mix(in srgb, var(--color-pink-500) 20, var(--color-black));

/* rose */
    --rose-lightest: color-mix(in srgb, var(--color-rose-500) 20, var(--color-white));
    --rose-lighter: color-mix(in srgb, var(--color-rose-500) 40, var(--color-white));
    --rose-light: color-mix(in srgb, var(--color-rose-500) 70, var(--color-white));
    --rose: var(--color-rose-500);
    --rose-dark: color-mix(in srgb, var(--color-rose-500) 70, var(--color-black));
    --rose-darker: color-mix(in srgb, var(--color-rose-500) 40, var(--color-black));
    --rose-darkest: color-mix(in srgb, var(--color-rose-500) 20, var(--color-black));

/* purple */
    --purple-lightest: color-mix(in srgb, var(--color-purple-500) 20, var(--color-white));
    --purple-lighter: color-mix(in srgb, var(--color-purple-500) 40, var(--color-white));
    --purple-light: color-mix(in srgb, var(--color-purple-500) 70, var(--color-white));
    --purple: var(--color-purple-500);
    --purple-dark: color-mix(in srgb, var(--color-purple-500) 70, var(--color-black));
    --purple-darker: color-mix(in srgb, var(--color-purple-500) 40, var(--color-black));
    --purple-darkest: color-mix(in srgb, var(--color-purple-500) 20, var(--color-black));

/* indigo */
    --indigo-lightest: color-mix(in srgb, var(--color-indigo-500) 20, var(--color-white));
    --indigo-lighter: color-mix(in srgb, var(--color-indigo-500) 40, var(--color-white));
    --indigo-light: color-mix(in srgb, var(--color-indigo-500) 70, var(--color-white));
    --indigo: var(--color-indigo-500);
    --indigo-dark: color-mix(in srgb, var(--color-indigo-500) 70, var(--color-black));
    --indigo-darker: color-mix(in srgb, var(--color-indigo-500) 40, var(--color-black));
    --indigo-darkest: color-mix(in srgb, var(--color-indigo-500) 20, var(--color-black));

/* gray */
    --gray-lightest: color-mix(in srgb, var(--color-gray-500) 20, var(--color-white));
    --gray-lighter: color-mix(in srgb, var(--color-gray-500) 40, var(--color-white));
    --gray-light: color-mix(in srgb, var(--color-gray-500) 70, var(--color-white));
    --gray: var(--color-gray-500);
    --gray-dark: color-mix(in srgb, var(--color-gray-500) 70, var(--color-black));
    --gray-darker: color-mix(in srgb, var(--color-gray-500) 40, var(--color-black));
    --gray-darkest: color-mix(in srgb, var(--color-gray-500) 20, var(--color-black));

/* warm-gray */
    --warm-gray-lightest: color-mix(in srgb, var(--color-warm-gray-500) 20, var(--color-white));
    --warm-gray-lighter: color-mix(in srgb, var(--color-warm-gray-500) 40, var(--color-white));
    --warm-gray-light: color-mix(in srgb, var(--color-warm-gray-500) 70, var(--color-white));
    --warm-gray: var(--color-warm-gray-500);
    --warm-gray-dark: color-mix(in srgb, var(--color-warm-gray-500) 70, var(--color-black));
    --warm-gray-darker: color-mix(in srgb, var(--color-warm-gray-500) 40, var(--color-black));
    --warm-gray-darkest: color-mix(in srgb, var(--color-warm-gray-500) 20, var(--color-black));

/* cool-gray */
    --cool-gray-lightest: color-mix(in srgb, var(--color-cool-gray-500) 20, var(--color-white));
    --cool-gray-lighter: color-mix(in srgb, var(--color-cool-gray-500) 40, var(--color-white));
    --cool-gray-light: color-mix(in srgb, var(--color-cool-gray-500) 70, var(--color-white));
    --cool-gray: var(--color-cool-gray-500);
    --cool-gray-dark: color-mix(in srgb, var(--color-cool-gray-500) 70, var(--color-black));
    --cool-gray-darker: color-mix(in srgb, var(--color-cool-gray-500) 40, var(--color-black));
    --cool-gray-darkest: color-mix(in srgb, var(--color-cool-gray-500) 20, var(--color-black));

/* azure */
    --azure-lightest: color-mix(in srgb, var(--color-azure-500) 20, var(--color-white));
    --azure-lighter: color-mix(in srgb, var(--color-azure-500) 40, var(--color-white));
    --azure-light: color-mix(in srgb, var(--color-azure-500) 70, var(--color-white));
    --azure: var(--color-azure-500);
    --azure-dark: color-mix(in srgb, var(--color-azure-500) 70, var(--color-black));
    --azure-darker: color-mix(in srgb, var(--color-azure-500) 40, var(--color-black));
    --azure-darkest: color-mix(in srgb, var(--color-azure-500) 20, var(--color-black));

/* teal */
    --teal-lightest: color-mix(in srgb, var(--color-teal-500) 20, var(--color-white));
    --teal-lighter: color-mix(in srgb, var(--color-teal-500) 40, var(--color-white));
    --teal-light: color-mix(in srgb, var(--color-teal-500) 70, var(--color-white));
    --teal: var(--color-teal-500);
    --teal-dark: color-mix(in srgb, var(--color-teal-500) 70, var(--color-black));
    --teal-darker: color-mix(in srgb, var(--color-teal-500) 40, var(--color-black));
    --teal-darkest: color-mix(in srgb, var(--color-teal-500) 20, var(--color-black));

/* emerald */
    --emerald-lightest: color-mix(in srgb, var(--color-emerald-500) 20, var(--color-white));
    --emerald-lighter: color-mix(in srgb, var(--color-emerald-500) 40, var(--color-white));
    --emerald-light: color-mix(in srgb, var(--color-emerald-500) 70, var(--color-white));
    --emerald: var(--color-emerald-500);
    --emerald-dark: color-mix(in srgb, var(--color-emerald-500) 70, var(--color-black));
    --emerald-darker: color-mix(in srgb, var(--color-emerald-500) 40, var(--color-black));
    --emerald-darkest: color-mix(in srgb, var(--color-emerald-500) 20, var(--color-black));

/* olive */
    --olive-lightest: color-mix(in srgb, var(--color-olive-500) 20, var(--color-white));
    --olive-lighter: color-mix(in srgb, var(--color-olive-500) 40, var(--color-white));
    --olive-light: color-mix(in srgb, var(--color-olive-500) 70, var(--color-white));
    --olive: var(--color-olive-500);
    --olive-dark: color-mix(in srgb, var(--color-olive-500) 70, var(--color-black));
    --olive-darker: color-mix(in srgb, var(--color-olive-500) 40, var(--color-black));
    --olive-darkest: color-mix(in srgb, var(--color-olive-500) 20, var(--color-black));

/* amber */
    --amber-lightest: color-mix(in srgb, var(--color-amber-500) 20, var(--color-white));
    --amber-lighter: color-mix(in srgb, var(--color-amber-500) 40, var(--color-white));
    --amber-light: color-mix(in srgb, var(--color-amber-500) 70, var(--color-white));
    --amber: var(--color-amber-500);
    --amber-dark: color-mix(in srgb, var(--color-amber-500) 70, var(--color-black));
    --amber-darker: color-mix(in srgb, var(--color-amber-500) 40, var(--color-black));
    --amber-darkest: color-mix(in srgb, var(--color-amber-500) 20, var(--color-black));

/* copper */
    --copper-lightest: color-mix(in srgb, var(--color-copper-500) 20, var(--color-white));
    --copper-lighter: color-mix(in srgb, var(--color-copper-500) 40, var(--color-white));
    --copper-light: color-mix(in srgb, var(--color-copper-500) 70, var(--color-white));
    --copper: var(--color-copper-500);
    --copper-dark: color-mix(in srgb, var(--color-copper-500) 70, var(--color-black));
    --copper-darker: color-mix(in srgb, var(--color-copper-500) 40, var(--color-black));
    --copper-darkest: color-mix(in srgb, var(--color-copper-500) 20, var(--color-black));

/* cherry */
    --cherry-lightest: color-mix(in srgb, var(--color-cherry-500) 20, var(--color-white));
    --cherry-lighter: color-mix(in srgb, var(--color-cherry-500) 40, var(--color-white));
    --cherry-light: color-mix(in srgb, var(--color-cherry-500) 70, var(--color-white));
    --cherry: var(--color-cherry-500);
    --cherry-dark: color-mix(in srgb, var(--color-cherry-500) 70, var(--color-black));
    --cherry-darker: color-mix(in srgb, var(--color-cherry-500) 40, var(--color-black));
    --cherry-darkest: color-mix(in srgb, var(--color-cherry-500) 20, var(--color-black));

/* magenta */
    --magenta-lightest: color-mix(in srgb, var(--color-magenta-500) 20, var(--color-white));
    --magenta-lighter: color-mix(in srgb, var(--color-magenta-500) 40, var(--color-white));
    --magenta-light: color-mix(in srgb, var(--color-magenta-500) 70, var(--color-white));
    --magenta: var(--color-magenta-500);
    --magenta-dark: color-mix(in srgb, var(--color-magenta-500) 70, var(--color-black));
    --magenta-darker: color-mix(in srgb, var(--color-magenta-500) 40, var(--color-black));
    --magenta-darkest: color-mix(in srgb, var(--color-magenta-500) 20, var(--color-black));

/* lavender */
    --lavender-lightest: color-mix(in srgb, var(--color-lavender-500) 20, var(--color-white));
    --lavender-lighter: color-mix(in srgb, var(--color-lavender-500) 40, var(--color-white));
    --lavender-light: color-mix(in srgb, var(--color-lavender-500) 70, var(--color-white));
    --lavender: var(--color-lavender-500);
    --lavender-dark: color-mix(in srgb, var(--color-lavender-500) 70, var(--color-black));
    --lavender-darker: color-mix(in srgb, var(--color-lavender-500) 40, var(--color-black));
    --lavender-darkest: color-mix(in srgb, var(--color-lavender-500) 20, var(--color-black));

/* bronze */
    --bronze-lightest: color-mix(in srgb, var(--color-bronze-500) 20, var(--color-white));
    --bronze-lighter: color-mix(in srgb, var(--color-bronze-500) 40, var(--color-white));
    --bronze-light: color-mix(in srgb, var(--color-bronze-500) 70, var(--color-white));
    --bronze: var(--color-bronze-500);
    --bronze-dark: color-mix(in srgb, var(--color-bronze-500) 70, var(--color-black));
    --bronze-darker: color-mix(in srgb, var(--color-bronze-500) 40, var(--color-black));
    --bronze-darkest: color-mix(in srgb, var(--color-bronze-500) 20, var(--color-black));

/* pearl */
    --pearl-lightest: color-mix(in srgb, var(--color-pearl-500) 20, var(--color-white));
    --pearl-lighter: color-mix(in srgb, var(--color-pearl-500) 40, var(--color-white));
    --pearl-light: color-mix(in srgb, var(--color-pearl-500) 70, var(--color-white));
    --pearl: var(--color-pearl-500);
    --pearl-dark: color-mix(in srgb, var(--color-pearl-500) 70, var(--color-black));
    --pearl-darker: color-mix(in srgb, var(--color-pearl-500) 40, var(--color-black));
    --pearl-darkest: color-mix(in srgb, var(--color-pearl-500) 20, var(--color-black));

/* champagne */
    --champagne-lightest: color-mix(in srgb, var(--color-champagne-500) 20, var(--color-white));
    --champagne-lighter: color-mix(in srgb, var(--color-champagne-500) 40, var(--color-white));
    --champagne-light: color-mix(in srgb, var(--color-champagne-500) 70, var(--color-white));
    --champagne: var(--color-champagne-500);
    --champagne-dark: color-mix(in srgb, var(--color-champagne-500) 70, var(--color-black));
    --champagne-darker: color-mix(in srgb, var(--color-champagne-500) 40, var(--color-black));
    --champagne-darkest: color-mix(in srgb, var(--color-champagne-500) 20, var(--color-black));

/* taupe */
    --taupe-lightest: color-mix(in srgb, var(--color-taupe-500) 20, var(--color-white));
    --taupe-lighter: color-mix(in srgb, var(--color-taupe-500) 40, var(--color-white));
    --taupe-light: color-mix(in srgb, var(--color-taupe-500) 70, var(--color-white));
    --taupe: var(--color-taupe-500);
    --taupe-dark: color-mix(in srgb, var(--color-taupe-500) 70, var(--color-black));
    --taupe-darker: color-mix(in srgb, var(--color-taupe-500) 40, var(--color-black));
    --taupe-darkest: color-mix(in srgb, var(--color-taupe-500) 20, var(--color-black));

/* beige */
    --beige-lightest: color-mix(in srgb, var(--color-beige-500) 20, var(--color-white));
    --beige-lighter: color-mix(in srgb, var(--color-beige-500) 40, var(--color-white));
    --beige-light: color-mix(in srgb, var(--color-beige-500) 70, var(--color-white));
    --beige: var(--color-beige-500);
    --beige-dark: color-mix(in srgb, var(--color-beige-500) 70, var(--color-black));
    --beige-darker: color-mix(in srgb, var(--color-beige-500) 40, var(--color-black));
    --beige-darkest: color-mix(in srgb, var(--color-beige-500) 20, var(--color-black));

/* khaki */
    --khaki-lightest: color-mix(in srgb, var(--color-khaki-500) 20, var(--color-white));
    --khaki-lighter: color-mix(in srgb, var(--color-khaki-500) 40, var(--color-white));
    --khaki-light: color-mix(in srgb, var(--color-khaki-500) 70, var(--color-white));
    --khaki: var(--color-khaki-500);
    --khaki-dark: color-mix(in srgb, var(--color-khaki-500) 70, var(--color-black));
    --khaki-darker: color-mix(in srgb, var(--color-khaki-500) 40, var(--color-black));
    --khaki-darkest: color-mix(in srgb, var(--color-khaki-500) 20, var(--color-black));

/* terracotta */
    --terracotta-lightest: color-mix(in srgb, var(--color-terracotta-500) 20, var(--color-white));
    --terracotta-lighter: color-mix(in srgb, var(--color-terracotta-500) 40, var(--color-white));
    --terracotta-light: color-mix(in srgb, var(--color-terracotta-500) 70, var(--color-white));
    --terracotta: var(--color-terracotta-500);
    --terracotta-dark: color-mix(in srgb, var(--color-terracotta-500) 70, var(--color-black));
    --terracotta-darker: color-mix(in srgb, var(--color-terracotta-500) 40, var(--color-black));
    --terracotta-darkest: color-mix(in srgb, var(--color-terracotta-500) 20, var(--color-black));

/* burgundy */
    --burgundy-lightest: color-mix(in srgb, var(--color-burgundy-500) 20, var(--color-white));
    --burgundy-lighter: color-mix(in srgb, var(--color-burgundy-500) 40, var(--color-white));
    --burgundy-light: color-mix(in srgb, var(--color-burgundy-500) 70, var(--color-white));
    --burgundy: var(--color-burgundy-500);
    --burgundy-dark: color-mix(in srgb, var(--color-burgundy-500) 70, var(--color-black));
    --burgundy-darker: color-mix(in srgb, var(--color-burgundy-500) 40, var(--color-black));
    --burgundy-darkest: color-mix(in srgb, var(--color-burgundy-500) 20, var(--color-black));

/* silver */
    --silver-lightest: color-mix(in srgb, var(--color-silver-500) 20, var(--color-white));
    --silver-lighter: color-mix(in srgb, var(--color-silver-500) 40, var(--color-white));
    --silver-light: color-mix(in srgb, var(--color-silver-500) 70, var(--color-white));
    --silver: var(--color-silver-500);
    --silver-dark: color-mix(in srgb, var(--color-silver-500) 70, var(--color-black));
    --silver-darker: color-mix(in srgb, var(--color-silver-500) 40, var(--color-black));
    --silver-darkest: color-mix(in srgb, var(--color-silver-500) 20, var(--color-black));

/* platinum */
    --platinum-lightest: color-mix(in srgb, var(--color-platinum-500) 20, var(--color-white));
    --platinum-lighter: color-mix(in srgb, var(--color-platinum-500) 40, var(--color-white));
    --platinum-light: color-mix(in srgb, var(--color-platinum-500) 70, var(--color-white));
    --platinum: var(--color-platinum-500);
    --platinum-dark: color-mix(in srgb, var(--color-platinum-500) 70, var(--color-black));
    --platinum-darker: color-mix(in srgb, var(--color-platinum-500) 40, var(--color-black));
    --platinum-darkest: color-mix(in srgb, var(--color-platinum-500) 20, var(--color-black));

/* graphite */
    --graphite-lightest: color-mix(in srgb, var(--color-graphite-500) 20, var(--color-white));
    --graphite-lighter: color-mix(in srgb, var(--color-graphite-500) 40, var(--color-white));
    --graphite-light: color-mix(in srgb, var(--color-graphite-500) 70, var(--color-white));
    --graphite: var(--color-graphite-500);
    --graphite-dark: color-mix(in srgb, var(--color-graphite-500) 70, var(--color-black));
    --graphite-darker: color-mix(in srgb, var(--color-graphite-500) 40, var(--color-black));
    --graphite-darkest: color-mix(in srgb, var(--color-graphite-500) 20, var(--color-black));

/* moss */
    --moss-lightest: color-mix(in srgb, var(--color-moss-500) 20, var(--color-white));
    --moss-lighter: color-mix(in srgb, var(--color-moss-500) 40, var(--color-white));
    --moss-light: color-mix(in srgb, var(--color-moss-500) 70, var(--color-white));
    --moss: var(--color-moss-500);
    --moss-dark: color-mix(in srgb, var(--color-moss-500) 70, var(--color-black));
    --moss-darker: color-mix(in srgb, var(--color-moss-500) 40, var(--color-black));
    --moss-darkest: color-mix(in srgb, var(--color-moss-500) 20, var(--color-black));

/* jade */
    --jade-lightest: color-mix(in srgb, var(--color-jade-500) 20, var(--color-white));
    --jade-lighter: color-mix(in srgb, var(--color-jade-500) 40, var(--color-white));
    --jade-light: color-mix(in srgb, var(--color-jade-500) 70, var(--color-white));
    --jade: var(--color-jade-500);
    --jade-dark: color-mix(in srgb, var(--color-jade-500) 70, var(--color-black));
    --jade-darker: color-mix(in srgb, var(--color-jade-500) 40, var(--color-black));
    --jade-darkest: color-mix(in srgb, var(--color-jade-500) 20, var(--color-black));

/* sapphire */
    --sapphire-lightest: color-mix(in srgb, var(--color-sapphire-500) 20, var(--color-white));
    --sapphire-lighter: color-mix(in srgb, var(--color-sapphire-500) 40, var(--color-white));
    --sapphire-light: color-mix(in srgb, var(--color-sapphire-500) 70, var(--color-white));
    --sapphire: var(--color-sapphire-500);
    --sapphire-dark: color-mix(in srgb, var(--color-sapphire-500) 70, var(--color-black));
    --sapphire-darker: color-mix(in srgb, var(--color-sapphire-500) 40, var(--color-black));
    --sapphire-darkest: color-mix(in srgb, var(--color-sapphire-500) 20, var(--color-black));

/* ruby */
    --ruby-lightest: color-mix(in srgb, var(--color-ruby-500) 20, var(--color-white));
    --ruby-lighter: color-mix(in srgb, var(--color-ruby-500) 40, var(--color-white));
    --ruby-light: color-mix(in srgb, var(--color-ruby-500) 70, var(--color-white));
    --ruby: var(--color-ruby-500);
    --ruby-dark: color-mix(in srgb, var(--color-ruby-500) 70, var(--color-black));
    --ruby-darker: color-mix(in srgb, var(--color-ruby-500) 40, var(--color-black));
    --ruby-darkest: color-mix(in srgb, var(--color-ruby-500) 20, var(--color-black));

/* amethyst */
    --amethyst-lightest: color-mix(in srgb, var(--color-amethyst-500) 20, var(--color-white));
    --amethyst-lighter: color-mix(in srgb, var(--color-amethyst-500) 40, var(--color-white));
    --amethyst-light: color-mix(in srgb, var(--color-amethyst-500) 70, var(--color-white));
    --amethyst: var(--color-amethyst-500);
    --amethyst-dark: color-mix(in srgb, var(--color-amethyst-500) 70, var(--color-black));
    --amethyst-darker: color-mix(in srgb, var(--color-amethyst-500) 40, var(--color-black));
    --amethyst-darkest: color-mix(in srgb, var(--color-amethyst-500) 20, var(--color-black));

/* topaz */
    --topaz-lightest: color-mix(in srgb, var(--color-topaz-500) 20, var(--color-white));
    --topaz-lighter: color-mix(in srgb, var(--color-topaz-500) 40, var(--color-white));
    --topaz-light: color-mix(in srgb, var(--color-topaz-500) 70, var(--color-white));
    --topaz: var(--color-topaz-500);
    --topaz-dark: color-mix(in srgb, var(--color-topaz-500) 70, var(--color-black));
    --topaz-darker: color-mix(in srgb, var(--color-topaz-500) 40, var(--color-black));
    --topaz-darkest: color-mix(in srgb, var(--color-topaz-500) 20, var(--color-black));

/* citrine */
    --citrine-lightest: color-mix(in srgb, var(--color-citrine-500) 20, var(--color-white));
    --citrine-lighter: color-mix(in srgb, var(--color-citrine-500) 40, var(--color-white));
    --citrine-light: color-mix(in srgb, var(--color-citrine-500) 70, var(--color-white));
    --citrine: var(--color-citrine-500);
    --citrine-dark: color-mix(in srgb, var(--color-citrine-500) 70, var(--color-black));
    --citrine-darker: color-mix(in srgb, var(--color-citrine-500) 40, var(--color-black));
    --citrine-darkest: color-mix(in srgb, var(--color-citrine-500) 20, var(--color-black));

/* peridot */
    --peridot-lightest: color-mix(in srgb, var(--color-peridot-500) 20, var(--color-white));
    --peridot-lighter: color-mix(in srgb, var(--color-peridot-500) 40, var(--color-white));
    --peridot-light: color-mix(in srgb, var(--color-peridot-500) 70, var(--color-white));
    --peridot: var(--color-peridot-500);
    --peridot-dark: color-mix(in srgb, var(--color-peridot-500) 70, var(--color-black));
    --peridot-darker: color-mix(in srgb, var(--color-peridot-500) 40, var(--color-black));
    --peridot-darkest: color-mix(in srgb, var(--color-peridot-500) 20, var(--color-black));

/* opal */
    --opal-lightest: color-mix(in srgb, var(--color-opal-500) 20, var(--color-white));
    --opal-lighter: color-mix(in srgb, var(--color-opal-500) 40, var(--color-white));
    --opal-light: color-mix(in srgb, var(--color-opal-500) 70, var(--color-white));
    --opal: var(--color-opal-500);
    --opal-dark: color-mix(in srgb, var(--color-opal-500) 70, var(--color-black));
    --opal-darker: color-mix(in srgb, var(--color-opal-500) 40, var(--color-black));
    --opal-darkest: color-mix(in srgb, var(--color-opal-500) 20, var(--color-black));

/* garnet */
    --garnet-lightest: color-mix(in srgb, var(--color-garnet-500) 20, var(--color-white));
    --garnet-lighter: color-mix(in srgb, var(--color-garnet-500) 40, var(--color-white));
    --garnet-light: color-mix(in srgb, var(--color-garnet-500) 70, var(--color-white));
    --garnet: var(--color-garnet-500);
    --garnet-dark: color-mix(in srgb, var(--color-garnet-500) 70, var(--color-black));
    --garnet-darker: color-mix(in srgb, var(--color-garnet-500) 40, var(--color-black));
    --garnet-darkest: color-mix(in srgb, var(--color-garnet-500) 20, var(--color-black));

/* onyx */
    --onyx-lightest: color-mix(in srgb, var(--color-onyx-500) 20, var(--color-white));
    --onyx-lighter: color-mix(in srgb, var(--color-onyx-500) 40, var(--color-white));
    --onyx-light: color-mix(in srgb, var(--color-onyx-500) 70, var(--color-white));
    --onyx: var(--color-onyx-500);
    --onyx-dark: color-mix(in srgb, var(--color-onyx-500) 70, var(--color-black));
    --onyx-darker: color-mix(in srgb, var(--color-onyx-500) 40, var(--color-black));
    --onyx-darkest: color-mix(in srgb, var(--color-onyx-500) 20, var(--color-black));

/* malachite */
    --malachite-lightest: color-mix(in srgb, var(--color-malachite-500) 20, var(--color-white));
    --malachite-lighter: color-mix(in srgb, var(--color-malachite-500) 40, var(--color-white));
    --malachite-light: color-mix(in srgb, var(--color-malachite-500) 70, var(--color-white));
    --malachite: var(--color-malachite-500);
    --malachite-dark: color-mix(in srgb, var(--color-malachite-500) 70, var(--color-black));
    --malachite-darker: color-mix(in srgb, var(--color-malachite-500) 40, var(--color-black));
    --malachite-darkest: color-mix(in srgb, var(--color-malachite-500) 20, var(--color-black));

/* lapis */
    --lapis-lightest: color-mix(in srgb, var(--color-lapis-500) 20, var(--color-white));
    --lapis-lighter: color-mix(in srgb, var(--color-lapis-500) 40, var(--color-white));
    --lapis-light: color-mix(in srgb, var(--color-lapis-500) 70, var(--color-white));
    --lapis: var(--color-lapis-500);
    --lapis-dark: color-mix(in srgb, var(--color-lapis-500) 70, var(--color-black));
    --lapis-darker: color-mix(in srgb, var(--color-lapis-500) 40, var(--color-black));
    --lapis-darkest: color-mix(in srgb, var(--color-lapis-500) 20, var(--color-black));

/* turquoise */
    --turquoise-lightest: color-mix(in srgb, var(--color-turquoise-500) 20, var(--color-white));
    --turquoise-lighter: color-mix(in srgb, var(--color-turquoise-500) 40, var(--color-white));
    --turquoise-light: color-mix(in srgb, var(--color-turquoise-500) 70, var(--color-white));
    --turquoise: var(--color-turquoise-500);
    --turquoise-dark: color-mix(in srgb, var(--color-turquoise-500) 70, var(--color-black));
    --turquoise-darker: color-mix(in srgb, var(--color-turquoise-500) 40, var(--color-black));
    --turquoise-darkest: color-mix(in srgb, var(--color-turquoise-500) 20, var(--color-black));

/* coral */
    --coral-lightest: color-mix(in srgb, var(--color-coral-500) 20, var(--color-white));
    --coral-lighter: color-mix(in srgb, var(--color-coral-500) 40, var(--color-white));
    --coral-light: color-mix(in srgb, var(--color-coral-500) 70, var(--color-white));
    --coral: var(--color-coral-500);
    --coral-dark: color-mix(in srgb, var(--color-coral-500) 70, var(--color-black));
    --coral-darker: color-mix(in srgb, var(--color-coral-500) 40, var(--color-black));
    --coral-darkest: color-mix(in srgb, var(--color-coral-500) 20, var(--color-black));

/* mother-of-pearl */
    --mother-of-pearl-lightest: color-mix(in srgb, var(--color-mother-of-pearl-500) 20, var(--color-white));
    --mother-of-pearl-lighter: color-mix(in srgb, var(--color-mother-of-pearl-500) 40, var(--color-white));
    --mother-of-pearl-light: color-mix(in srgb, var(--color-mother-of-pearl-500) 70, var(--color-white));
    --mother-of-pearl: var(--color-mother-of-pearl-500);
    --mother-of-pearl-dark: color-mix(in srgb, var(--color-mother-of-pearl-500) 70, var(--color-black));
    --mother-of-pearl-darker: color-mix(in srgb, var(--color-mother-of-pearl-500) 40, var(--color-black));
    --mother-of-pearl-darkest: color-mix(in srgb, var(--color-mother-of-pearl-500) 20, var(--color-black));

/* obsidian */
    --obsidian-lightest: color-mix(in srgb, var(--color-obsidian-500) 20, var(--color-white));
    --obsidian-lighter: color-mix(in srgb, var(--color-obsidian-500) 40, var(--color-white));
    --obsidian-light: color-mix(in srgb, var(--color-obsidian-500) 70, var(--color-white));
    --obsidian: var(--color-obsidian-500);
    --obsidian-dark: color-mix(in srgb, var(--color-obsidian-500) 70, var(--color-black));
    --obsidian-darker: color-mix(in srgb, var(--color-obsidian-500) 40, var(--color-black));
    --obsidian-darkest: color-mix(in srgb, var(--color-obsidian-500) 20, var(--color-black));

/* jadeite */
    --jadeite-lightest: color-mix(in srgb, var(--color-jadeite-500) 20, var(--color-white));
    --jadeite-lighter: color-mix(in srgb, var(--color-jadeite-500) 40, var(--color-white));
    --jadeite-light: color-mix(in srgb, var(--color-jadeite-500) 70, var(--color-white));
    --jadeite: var(--color-jadeite-500);
    --jadeite-dark: color-mix(in srgb, var(--color-jadeite-500) 70, var(--color-black));
    --jadeite-darker: color-mix(in srgb, var(--color-jadeite-500) 40, var(--color-black));
    --jadeite-darkest: color-mix(in srgb, var(--color-jadeite-500) 20, var(--color-black));

/* emerald */
    --emerald-lightest: color-mix(in srgb, var(--color-emerald-500) 20, var(--color-white));
    --emerald-lighter: color-mix(in srgb, var(--color-emerald-500) 40, var(--color-white));
    --emerald-light: color-mix(in srgb, var(--color-emerald-500) 70, var(--color-white));
    --emerald: var(--color-emerald-500);
    --emerald-dark: color-mix(in srgb, var(--color-emerald-500) 70, var(--color-black));
    --emerald-darker: color-mix(in srgb, var(--color-emerald-500) 40, var(--color-black));
    --emerald-darkest: color-mix(in srgb, var(--color-emerald-500) 20, var(--color-black));

/* aquamarine */
    --aquamarine-lightest: color-mix(in srgb, var(--color-aquamarine-500) 20, var(--color-white));
    --aquamarine-lighter: color-mix(in srgb, var(--color-aquamarine-500) 40, var(--color-white));
    --aquamarine-light: color-mix(in srgb, var(--color-aquamarine-500) 70, var(--color-white));
    --aquamarine: var(--color-aquamarine-500);
    --aquamarine-dark: color-mix(in srgb, var(--color-aquamarine-500) 70, var(--color-black));
    --aquamarine-darker: color-mix(in srgb, var(--color-aquamarine-500) 40, var(--color-black));
    --aquamarine-darkest: color-mix(in srgb, var(--color-aquamarine-500) 20, var(--color-black));

/* topaz */
    --topaz-lightest: color-mix(in srgb, var(--color-topaz-500) 20, var(--color-white));
    --topaz-lighter: color-mix(in srgb, var(--color-topaz-500) 40, var(--color-white));
    --topaz-light: color-mix(in srgb, var(--color-topaz-500) 70, var(--color-white));
    --topaz: var(--color-topaz-500);
    --topaz-dark: color-mix(in srgb, var(--color-topaz-500) 70, var(--color-black));
    --topaz-darker: color-mix(in srgb, var(--color-topaz-500) 40, var(--color-black));
    --topaz-darkest: color-mix(in srgb, var(--color-topaz-500) 20, var(--color-black));

/* citrine */
    --citrine-lightest: color-mix(in srgb, var(--color-citrine-500) 20, var(--color-white));
    --citrine-lighter: color-mix(in srgb, var(--color-citrine-500) 40, var(--color-white));
    --citrine-light: color-mix(in srgb, var(--color-citrine-500) 70, var(--color-white));
    --citrine: var(--color-citrine-500);
    --citrine-dark: color-mix(in srgb, var(--color-citrine-500) 70, var(--color-black));
    --citrine-darker: color-mix(in srgb, var(--color-citrine-500) 40, var(--color-black));
    --citrine-darkest: color-mix(in srgb, var(--color-citrine-500) 20, var(--color-black));

/* peridot */
    --peridot-lightest: color-mix(in srgb, var(--color-peridot-500) 20, var(--color-white));
    --peridot-lighter: color-mix(in srgb, var(--color-peridot-500) 40, var(--color-white));
    --peridot-light: color-mix(in srgb, var(--color-peridot-500) 70, var(--color-white));
    --peridot: var(--color-peridot-500);
    --peridot-dark: color-mix(in srgb, var(--color-peridot-500) 70, var(--color-black));
    --peridot-darker: color-mix(in srgb, var(--color-peridot-500) 40, var(--color-black));
    --peridot-darkest: color-mix(in srgb, var(--color-peridot-500) 20, var(--color-black));

/* opal */
    --opal-lightest: color-mix(in srgb, var(--color-opal-500) 20, var(--color-white));
    --opal-lighter: color-mix(in srgb, var(--color-opal-500) 40, var(--color-white));
    --opal-light: color-mix(in srgb, var(--color-opal-500) 70, var(--color-white));
    --opal: var(--color-opal-500);
    --opal-dark: color-mix(in srgb, var(--color-opal-500) 70, var(--color-black));
    --opal-darker: color-mix(in srgb, var(--color-opal-500) 40, var(--color-black));
    --opal-darkest: color-mix(in srgb, var(--color-opal-500) 20, var(--color-black));

/* moonstone */
    --moonstone-lightest: color-mix(in srgb, var(--color-moonstone-500) 20, var(--color-white));
    --moonstone-lighter: color-mix(in srgb, var(--color-moonstone-500) 40, var(--color-white));
    --moonstone-light: color-mix(in srgb, var(--color-moonstone-500) 70, var(--color-white));
    --moonstone: var(--color-moonstone-500);
    --moonstone-dark: color-mix(in srgb, var(--color-moonstone-500) 70, var(--color-black));
    --moonstone-darker: color-mix(in srgb, var(--color-moonstone-500) 40, var(--color-black));
    --moonstone-darkest: color-mix(in srgb, var(--color-moonstone-500) 20, var(--color-black));

/* labradorite */
    --labradorite-lightest: color-mix(in srgb, var(--color-labradorite-500) 20, var(--color-white));
    --labradorite-lighter: color-mix(in srgb, var(--color-labradorite-500) 40, var(--color-white));
    --labradorite-light: color-mix(in srgb, var(--color-labradorite-500) 70, var(--color-white));
    --labradorite: var(--color-labradorite-500);
    --labradorite-dark: color-mix(in srgb, var(--color-labradorite-500) 70, var(--color-black));
    --labradorite-darker: color-mix(in srgb, var(--color-labradorite-500) 40, var(--color-black));
    --labradorite-darkest: color-mix(in srgb, var(--color-labradorite-500) 20, var(--color-black));

/* fluorite */
    --fluorite-lightest: color-mix(in srgb, var(--color-fluorite-500) 20, var(--color-white));
    --fluorite-lighter: color-mix(in srgb, var(--color-fluorite-500) 40, var(--color-white));
    --fluorite-light: color-mix(in srgb, var(--color-fluorite-500) 70, var(--color-white));
    --fluorite: var(--color-fluorite-500);
    --fluorite-dark: color-mix(in srgb, var(--color-fluorite-500) 70, var(--color-black));
    --fluorite-darker: color-mix(in srgb, var(--color-fluorite-500) 40, var(--color-black));
    --fluorite-darkest: color-mix(in srgb, var(--color-fluorite-500) 20, var(--color-black));

/* pastel-pink */
    --pastel-pink-lightest: color-mix(in srgb, var(--color-pastel-pink-500) 20, var(--color-white));
    --pastel-pink-lighter: color-mix(in srgb, var(--color-pastel-pink-500) 40, var(--color-white));
    --pastel-pink-light: color-mix(in srgb, var(--color-pastel-pink-500) 70, var(--color-white));
    --pastel-pink: var(--color-pastel-pink-500);
    --pastel-pink-dark: color-mix(in srgb, var(--color-pastel-pink-500) 70, var(--color-black));
    --pastel-pink-darker: color-mix(in srgb, var(--color-pastel-pink-500) 40, var(--color-black));
    --pastel-pink-darkest: color-mix(in srgb, var(--color-pastel-pink-500) 20, var(--color-black));

/* pastel-blue */
    --pastel-blue-lightest: color-mix(in srgb, var(--color-pastel-blue-500) 20, var(--color-white));
    --pastel-blue-lighter: color-mix(in srgb, var(--color-pastel-blue-500) 40, var(--color-white));
    --pastel-blue-light: color-mix(in srgb, var(--color-pastel-blue-500) 70, var(--color-white));
    --pastel-blue: var(--color-pastel-blue-500);
    --pastel-blue-dark: color-mix(in srgb, var(--color-pastel-blue-500) 70, var(--color-black));
    --pastel-blue-darker: color-mix(in srgb, var(--color-pastel-blue-500) 40, var(--color-black));
    --pastel-blue-darkest: color-mix(in srgb, var(--color-pastel-blue-500) 20, var(--color-black));

/* pastel-green */
    --pastel-green-lightest: color-mix(in srgb, var(--color-pastel-green-500) 20, var(--color-white));
    --pastel-green-lighter: color-mix(in srgb, var(--color-pastel-green-500) 40, var(--color-white));
    --pastel-green-light: color-mix(in srgb, var(--color-pastel-green-500) 70, var(--color-white));
    --pastel-green: var(--color-pastel-green-500);
    --pastel-green-dark: color-mix(in srgb, var(--color-pastel-green-500) 70, var(--color-black));
    --pastel-green-darker: color-mix(in srgb, var(--color-pastel-green-500) 40, var(--color-black));
    --pastel-green-darkest: color-mix(in srgb, var(--color-pastel-green-500) 20, var(--color-black));

/* pastel-yellow */
    --pastel-yellow-lightest: color-mix(in srgb, var(--color-pastel-yellow-500) 20, var(--color-white));
    --pastel-yellow-lighter: color-mix(in srgb, var(--color-pastel-yellow-500) 40, var(--color-white));
    --pastel-yellow-light: color-mix(in srgb, var(--color-pastel-yellow-500) 70, var(--color-white));
    --pastel-yellow: var(--color-pastel-yellow-500);
    --pastel-yellow-dark: color-mix(in srgb, var(--color-pastel-yellow-500) 70, var(--color-black));
    --pastel-yellow-darker: color-mix(in srgb, var(--color-pastel-yellow-500) 40, var(--color-black));
    --pastel-yellow-darkest: color-mix(in srgb, var(--color-pastel-yellow-500) 20, var(--color-black));

/* pastel-purple */
    --pastel-purple-lightest: color-mix(in srgb, var(--color-pastel-purple-500) 20, var(--color-white));
    --pastel-purple-lighter: color-mix(in srgb, var(--color-pastel-purple-500) 40, var(--color-white));
    --pastel-purple-light: color-mix(in srgb, var(--color-pastel-purple-500) 70, var(--color-white));
    --pastel-purple: var(--color-pastel-purple-500);
    --pastel-purple-dark: color-mix(in srgb, var(--color-pastel-purple-500) 70, var(--color-black));
    --pastel-purple-darker: color-mix(in srgb, var(--color-pastel-purple-500) 40, var(--color-black));
    --pastel-purple-darkest: color-mix(in srgb, var(--color-pastel-purple-500) 20, var(--color-black));

/* neon-pink */
    --neon-pink-lightest: color-mix(in srgb, var(--color-neon-pink-500) 20, var(--color-white));
    --neon-pink-lighter: color-mix(in srgb, var(--color-neon-pink-500) 40, var(--color-white));
    --neon-pink-light: color-mix(in srgb, var(--color-neon-pink-500) 70, var(--color-white));
    --neon-pink: var(--color-neon-pink-500);
    --neon-pink-dark: color-mix(in srgb, var(--color-neon-pink-500) 70, var(--color-black));
    --neon-pink-darker: color-mix(in srgb, var(--color-neon-pink-500) 40, var(--color-black));
    --neon-pink-darkest: color-mix(in srgb, var(--color-neon-pink-500) 20, var(--color-black));

/* neon-blue */
    --neon-blue-lightest: color-mix(in srgb, var(--color-neon-blue-500) 20, var(--color-white));
    --neon-blue-lighter: color-mix(in srgb, var(--color-neon-blue-500) 40, var(--color-white));
    --neon-blue-light: color-mix(in srgb, var(--color-neon-blue-500) 70, var(--color-white));
    --neon-blue: var(--color-neon-blue-500);
    --neon-blue-dark: color-mix(in srgb, var(--color-neon-blue-500) 70, var(--color-black));
    --neon-blue-darker: color-mix(in srgb, var(--color-neon-blue-500) 40, var(--color-black));
    --neon-blue-darkest: color-mix(in srgb, var(--color-neon-blue-500) 20, var(--color-black));

/* neon-green */
    --neon-green-lightest: color-mix(in srgb, var(--color-neon-green-500) 20, var(--color-white));
    --neon-green-lighter: color-mix(in srgb, var(--color-neon-green-500) 40, var(--color-white));
    --neon-green-light: color-mix(in srgb, var(--color-neon-green-500) 70, var(--color-white));
    --neon-green: var(--color-neon-green-500);
    --neon-green-dark: color-mix(in srgb, var(--color-neon-green-500) 70, var(--color-black));
    --neon-green-darker: color-mix(in srgb, var(--color-neon-green-500) 40, var(--color-black));
    --neon-green-darkest: color-mix(in srgb, var(--color-neon-green-500) 20, var(--color-black));

/* neon-yellow */
    --neon-yellow-lightest: color-mix(in srgb, var(--color-neon-yellow-500) 20, var(--color-white));
    --neon-yellow-lighter: color-mix(in srgb, var(--color-neon-yellow-500) 40, var(--color-white));
    --neon-yellow-light: color-mix(in srgb, var(--color-neon-yellow-500) 70, var(--color-white));
    --neon-yellow: var(--color-neon-yellow-500);
    --neon-yellow-dark: color-mix(in srgb, var(--color-neon-yellow-500) 70, var(--color-black));
    --neon-yellow-darker: color-mix(in srgb, var(--color-neon-yellow-500) 40, var(--color-black));
    --neon-yellow-darkest: color-mix(in srgb, var(--color-neon-yellow-500) 20, var(--color-black));

/* neon-orange */
    --neon-orange-lightest: color-mix(in srgb, var(--color-neon-orange-500) 20, var(--color-white));
    --neon-orange-lighter: color-mix(in srgb, var(--color-neon-orange-500) 40, var(--color-white));
    --neon-orange-light: color-mix(in srgb, var(--color-neon-orange-500) 70, var(--color-white));
    --neon-orange: var(--color-neon-orange-500);
    --neon-orange-dark: color-mix(in srgb, var(--color-neon-orange-500) 70, var(--color-black));
    --neon-orange-darker: color-mix(in srgb, var(--color-neon-orange-500) 40, var(--color-black));
    --neon-orange-darkest: color-mix(in srgb, var(--color-neon-orange-500) 20, var(--color-black));

/* neon-purple */
    --neon-purple-lightest: color-mix(in srgb, var(--color-neon-purple-500) 20, var(--color-white));
    --neon-purple-lighter: color-mix(in srgb, var(--color-neon-purple-500) 40, var(--color-white));
    --neon-purple-light: color-mix(in srgb, var(--color-neon-purple-500) 70, var(--color-white));
    --neon-purple: var(--color-neon-purple-500);
    --neon-purple-dark: color-mix(in srgb, var(--color-neon-purple-500) 70, var(--color-black));
    --neon-purple-darker: color-mix(in srgb, var(--color-neon-purple-500) 40, var(--color-black));
    --neon-purple-darkest: color-mix(in srgb, var(--color-neon-purple-500) 20, var(--color-black));

  }
}

/* Datei: core/accessibility/screenreader.css */
/*
* Accessibility - Screenreader Support
*
* Styles und Utilities für verbesserte Screenreader-Unterstützung.
* Diese Datei enthält Definitionen für versteckte Texte und ARIA-Unterstützung.
*/

@layer accessibility {
/*
  * Screenreader-only Elemente
  *
  * Diese Klassen machen Inhalte für Screenreader zugänglich,
  * während sie visuell versteckt bleiben.
  */

/*
  * Versteckt Elemente nur visuell, aber hält sie für Screenreader zugänglich.
  * Konsolidierte Definitionen für alle sr-only Varianten.
  */
  .sr-only,
  .sr-only-focusable:not(:focus),
  .sr-announcer {
    border-width: 0;
    clip: rect(0, 0, 0, 0);
    height: var(--border-width);
    margin: calc(-1 * var(--border-width));
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: var(--border-width);
  }

/*
  * Macht ein sr-only-Element wieder sichtbar.
  * Nützlich für Elemente, die nur unter bestimmten Bedingungen sichtbar sein sollen.
  */
  .not-sr-only {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    padding: 0;
    position: static;
    white-space: normal;
    width: auto;
  }

/*
  * Hilfsklassen für ARIA-Zustände
  *
  * Visuelle Darstellung von ARIA-Zuständen für bessere Zugänglichkeit.
  */

/* Elemente mit aria-hidden="true" vollständig ausblenden */
  [aria-hidden="true"] {
    display: none !important;
  }

/* Elemente mit aria-disabled="true" als deaktiviert darstellen */
  [aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 500000;
    pointer-events: none;
  }

/* Visuelle Darstellung für ausgewählte Elemente */
  [aria-selected="true"] {
    background-color: var(--color-primary-100);
    border-color: var(--color-primary-500);
  }

/* Visuelle Darstellung für erweiterte Elemente */
  [aria-expanded="true"] .icon-expand {
    transform: rotate(180deg);
  }

/*
  * Hilfsklassen für Screenreader-Text
  *
  * Spezifische Klassen für häufig benötigte Screenreader-Texte.
  */

/* Für Text, der nur bei Hover/Fokus angezeigt werden soll - bereits in konsolidierter Definition enthalten */

/* Für Text, der nur auf kleinen Bildschirmen ausgeblendet werden soll */
  @media (max-width: 640px) {
    .sr-only-mobile {
      border-width: 0;
      clip: rect(0, 0, 0, 0);
      height: var(--border-width);
      margin: calc(-1 * var(--border-width));
      overflow: hidden;
      padding: 0;
      position: absolute;
      white-space: nowrap;
      width: var(--border-width);
    }
  }

/*
  * Live-Region Support
  *
  * Stile für ARIA-Live-Regionen, die dynamisch aktualisierte Inhalte enthalten.
  */

/* Basis-Stil für Live-Regionen */
  [aria-live] {
    position: relative;
  }

/* Live-Region mit visueller Markierung für Entwicklungszwecke */
  .debug [aria-live] {
    outline: var(--border-width-thick) dashed var(--color-info);
    outline-offset: var(--border-width-thick);
  }

/* Container für Benachrichtigungen, die für Screenreader bestimmt sind - bereits in konsolidierter Definition enthalten */
  .sr-announcer {
    pointer-events: none; /* Zusätzliche Eigenschaft nur für Announcer */
  }

/*
  * Kontrasthilfen
  *
  * Erhöht den Kontrast für Benutzer mit Sehbehinderungen.
  */

/* Erhöht den Kontrast von Text */
  .high-contrast-text {
    color: var(--color-text-primary) !important;
    text-shadow: 0 0 var(--border-width) rgb(0 0 0 / 500000);
  }

/* Anpassung der Hintergrundfarbe für besseren Kontrast */
  .high-contrast-bg {
    background-color: var(--color-surface) !important;
    border: var(--border-width) solid var(--color-border);
  }
}

/* Datei: core/accessibility/keyboard.css */
/*
* Accessibility - Keyboard Navigation
*
* Styles und Utilities für verbesserte Keyboard-Navigation und Fokus-Management.
* Diese Datei enthält Definitionen für konsistente Fokus-Ringe und Keyboard-Navigation.
*/

@layer accessibility {
/*
  * Globale Fokus-Stile
  *
  * Diese Fokus-Stile werden auf alle fokussierbaren Elemente angewendet.
  * Der Fokus-Ring ist nur sichtbar, wenn das Element per Tastatur fokussiert wird.
  */

/* Default-Fokus entfernen, um eigene Stile zu verwenden */
  :focus {
    outline: none;
  }

/* Fokus-Ring nur anzeigen, wenn per Tastatur navigiert wird */
  :focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
    position: relative;
    z-index: var(--z-index-2);
  }

/*
  * Visuelles Feedback optimieren
  *
  * Verbessert die Sichtbarkeit von fokussierten Elementen
  * in verschiedenen Bereichen der Benutzeroberfläche.
  */

/* Angepasster Fokus-Ring für Formular-Elemente */
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible,
  button:focus-visible,
  [role="button"]:focus-visible {
    border-color: var(--color-border-focus);
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
  }

/* Angepasster Fokus-Ring für Links */
  a:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
    text-decoration: underline;
  }

/* Angepasster Fokus-Ring für interaktive Container */
  [tabindex]:focus-visible,
  [role="tab"]:focus-visible,
  [role="menuitem"]:focus-visible,
  [role="option"]:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
  }

/* Utility-Klassen für fokussierbare Elemente */
  .focus-ring-inset {
    --focus-ring-offset: -var(--border-width-thick);
  }

  .focus-ring-large {
    --focus-ring: 0 0 0 var(--spacing-1) var(--color-focus-ring);
  }

/*
  * Skip-Links für Keyboard-Navigation
  *
  * Links, die es Tastatur-Benutzern ermöglichen, direkt zum Hauptinhalt zu springen.
  * Normalerweise versteckt, aber sichtbar, wenn sie fokussiert werden.
  */
  .skip-link {
    clip: rect(0 0 0 0);
    height: var(--border-width);
    margin: calc(-1 * var(--border-width));
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: var(--border-width);
  }

  .skip-link:focus-visible {
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-md);
    clip: auto;
    color: var(--color-text-primary);
    font-weight: var(--font-weight-semibold);
    height: auto;
    left: var(--spacing-2);
    padding: 1var(--border-width-thick) var(--spacing-4);
    top: var(--spacing-2);
    white-space: normal;
    width: auto;
    z-index: var(--z-index-toast);
  }

/*
  * Keyboard-Navigation-Helfer
  *
  * Helfer-Klassen zur Verbesserung der Tastatur-Navigation.
  */

/* Für Elemente, die nur visuell angeklickt werden können, aber per Tastatur fokussierbar sein sollten */
  .keyboard-focusable {
    cursor: pointer;
  }

  .keyboard-focusable:not([tabindex]) {
    tabindex: "0";
  }

/* Für Elemente, die per Tastatur nicht fokussierbar sein sollten */
  .keyboard-no-focus {
    tabindex: "-1";
  }

/*
  * Tastatur-Modifikator-Erkennung
  *
  * Diese Klasse wird automatisch vom Theme-Helper-Script zum <html>-Element hinzugefügt,
  * wenn der Benutzer per Tastatur navigiert. Dies ermöglicht gezieltes Styling nur für
  * Tastatur-Benutzer.
  */
  .keyboard-user [tabindex]:focus,
  .keyboard-user a:focus,
  .keyboard-user button:focus,
  .keyboard-user input:focus,
  .keyboard-user select:focus,
  .keyboard-user textarea:focus {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
  }
}

/* Datei: core/accessibility/index.css */
/*
* Accessibility System
*
* Hauptdatei für das Accessibility-System der UI-Bibliothek.
* Importiert und organisiert alle Accessibility-Module.
*/

/*
* Accessibility-Modul-Struktur:
*
* Diese Datei importiert alle Accessibility-bezogenen CSS-Module
* und stellt sicher, dass sie in der richtigen Reihenfolge geladen werden.
*/

/* Import der Accessibility-Module */
/* Importierte Datei: core/accessibility/keyboard.css */
/*
* Accessibility - Keyboard Navigation
*
* Styles und Utilities für verbesserte Keyboard-Navigation und Fokus-Management.
* Diese Datei enthält Definitionen für konsistente Fokus-Ringe und Keyboard-Navigation.
*/

@layer accessibility {
/*
  * Globale Fokus-Stile
  *
  * Diese Fokus-Stile werden auf alle fokussierbaren Elemente angewendet.
  * Der Fokus-Ring ist nur sichtbar, wenn das Element per Tastatur fokussiert wird.
  */

/* Default-Fokus entfernen, um eigene Stile zu verwenden */
  :focus {
    outline: none;
  }

/* Fokus-Ring nur anzeigen, wenn per Tastatur navigiert wird */
  :focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
    position: relative;
    z-index: var(--z-index-2);
  }

/*
  * Visuelles Feedback optimieren
  *
  * Verbessert die Sichtbarkeit von fokussierten Elementen
  * in verschiedenen Bereichen der Benutzeroberfläche.
  */

/* Angepasster Fokus-Ring für Formular-Elemente */
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible,
  button:focus-visible,
  [role="button"]:focus-visible {
    border-color: var(--color-border-focus);
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
  }

/* Angepasster Fokus-Ring für Links */
  a:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
    text-decoration: underline;
  }

/* Angepasster Fokus-Ring für interaktive Container */
  [tabindex]:focus-visible,
  [role="tab"]:focus-visible,
  [role="menuitem"]:focus-visible,
  [role="option"]:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
  }

/* Utility-Klassen für fokussierbare Elemente */
  .focus-ring-inset {
    --focus-ring-offset: -var(--border-width-thick);
  }

  .focus-ring-large {
    --focus-ring: 0 0 0 var(--spacing-1) var(--color-focus-ring);
  }

/*
  * Skip-Links für Keyboard-Navigation
  *
  * Links, die es Tastatur-Benutzern ermöglichen, direkt zum Hauptinhalt zu springen.
  * Normalerweise versteckt, aber sichtbar, wenn sie fokussiert werden.
  */
  .skip-link {
    clip: rect(0 0 0 0);
    height: var(--border-width);
    margin: calc(-1 * var(--border-width));
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: var(--border-width);
  }

  .skip-link:focus-visible {
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-md);
    clip: auto;
    color: var(--color-text-primary);
    font-weight: var(--font-weight-semibold);
    height: auto;
    left: var(--spacing-2);
    padding: 1var(--border-width-thick) var(--spacing-4);
    top: var(--spacing-2);
    white-space: normal;
    width: auto;
    z-index: var(--z-index-toast);
  }

/*
  * Keyboard-Navigation-Helfer
  *
  * Helfer-Klassen zur Verbesserung der Tastatur-Navigation.
  */

/* Für Elemente, die nur visuell angeklickt werden können, aber per Tastatur fokussierbar sein sollten */
  .keyboard-focusable {
    cursor: pointer;
  }

  .keyboard-focusable:not([tabindex]) {
    tabindex: "0";
  }

/* Für Elemente, die per Tastatur nicht fokussierbar sein sollten */
  .keyboard-no-focus {
    tabindex: "-1";
  }

/*
  * Tastatur-Modifikator-Erkennung
  *
  * Diese Klasse wird automatisch vom Theme-Helper-Script zum <html>-Element hinzugefügt,
  * wenn der Benutzer per Tastatur navigiert. Dies ermöglicht gezieltes Styling nur für
  * Tastatur-Benutzer.
  */
  .keyboard-user [tabindex]:focus,
  .keyboard-user a:focus,
  .keyboard-user button:focus,
  .keyboard-user input:focus,
  .keyboard-user select:focus,
  .keyboard-user textarea:focus {
    outline: var(--focus-ring);
    outline-offset: var(--focus-ring-offset);
  }
}

/* Importierte Datei: core/accessibility/screenreader.css */
/*
* Accessibility - Screenreader Support
*
* Styles und Utilities für verbesserte Screenreader-Unterstützung.
* Diese Datei enthält Definitionen für versteckte Texte und ARIA-Unterstützung.
*/

@layer accessibility {
/*
  * Screenreader-only Elemente
  *
  * Diese Klassen machen Inhalte für Screenreader zugänglich,
  * während sie visuell versteckt bleiben.
  */

/*
  * Versteckt Elemente nur visuell, aber hält sie für Screenreader zugänglich.
  * Konsolidierte Definitionen für alle sr-only Varianten.
  */
  .sr-only,
  .sr-only-focusable:not(:focus),
  .sr-announcer {
    border-width: 0;
    clip: rect(0, 0, 0, 0);
    height: var(--border-width);
    margin: calc(-1 * var(--border-width));
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: var(--border-width);
  }

/*
  * Macht ein sr-only-Element wieder sichtbar.
  * Nützlich für Elemente, die nur unter bestimmten Bedingungen sichtbar sein sollen.
  */
  .not-sr-only {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    padding: 0;
    position: static;
    white-space: normal;
    width: auto;
  }

/*
  * Hilfsklassen für ARIA-Zustände
  *
  * Visuelle Darstellung von ARIA-Zuständen für bessere Zugänglichkeit.
  */

/* Elemente mit aria-hidden="true" vollständig ausblenden */
  [aria-hidden="true"] {
    display: none !important;
  }

/* Elemente mit aria-disabled="true" als deaktiviert darstellen */
  [aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 500000;
    pointer-events: none;
  }

/* Visuelle Darstellung für ausgewählte Elemente */
  [aria-selected="true"] {
    background-color: var(--color-primary-100);
    border-color: var(--color-primary-500);
  }

/* Visuelle Darstellung für erweiterte Elemente */
  [aria-expanded="true"] .icon-expand {
    transform: rotate(180deg);
  }

/*
  * Hilfsklassen für Screenreader-Text
  *
  * Spezifische Klassen für häufig benötigte Screenreader-Texte.
  */

/* Für Text, der nur bei Hover/Fokus angezeigt werden soll - bereits in konsolidierter Definition enthalten */

/* Für Text, der nur auf kleinen Bildschirmen ausgeblendet werden soll */
  @media (max-width: 640px) {
    .sr-only-mobile {
      border-width: 0;
      clip: rect(0, 0, 0, 0);
      height: var(--border-width);
      margin: calc(-1 * var(--border-width));
      overflow: hidden;
      padding: 0;
      position: absolute;
      white-space: nowrap;
      width: var(--border-width);
    }
  }

/*
  * Live-Region Support
  *
  * Stile für ARIA-Live-Regionen, die dynamisch aktualisierte Inhalte enthalten.
  */

/* Basis-Stil für Live-Regionen */
  [aria-live] {
    position: relative;
  }

/* Live-Region mit visueller Markierung für Entwicklungszwecke */
  .debug [aria-live] {
    outline: var(--border-width-thick) dashed var(--color-info);
    outline-offset: var(--border-width-thick);
  }

/* Container für Benachrichtigungen, die für Screenreader bestimmt sind - bereits in konsolidierter Definition enthalten */
  .sr-announcer {
    pointer-events: none; /* Zusätzliche Eigenschaft nur für Announcer */
  }

/*
  * Kontrasthilfen
  *
  * Erhöht den Kontrast für Benutzer mit Sehbehinderungen.
  */

/* Erhöht den Kontrast von Text */
  .high-contrast-text {
    color: var(--color-text-primary) !important;
    text-shadow: 0 0 var(--border-width) rgb(0 0 0 / 500000);
  }

/* Anpassung der Hintergrundfarbe für besseren Kontrast */
  .high-contrast-bg {
    background-color: var(--color-surface) !important;
    border: var(--border-width) solid var(--color-border);
  }
}

/* Importierte Datei: core/accessibility/contrast.css */
/*
* Accessibility - Contrast
*
* Styles und Utilities für verbesserten Farbkontrast.
* Diese Datei enthält Definitionen für kontrastreiche Farben und Kontrastprüfung.
*/

@layer accessibility {
/*
  * Kontrastreiche Farbvariablen
  *
  * Diese Variablen bieten Farben mit hohem Kontrast für eine bessere Zugänglichkeit.
  * Sie erfüllen mindestens die WCAG 2.1 AA-Anforderungen (Kontrastverhältnis ≥ 4.5:1).
  */
  :root {
/* Primäre Kontrastfarben */
    --color-a11y-primary: var(--color-blue-600); /* Dunkleres Blau für besseren Kontrast auf weißem Hintergrund */
    --color-a11y-primary-hover: var(--color-blue-700); /* Noch dunkleres Blau für Hover-Zustände */
    --color-a11y-primary-text: var(--color-white); /* Weißer Text auf dunklerem Blau */

/* Sekundäre Kontrastfarben */
    --color-a11y-secondary: var(--color-gray-600); /* Dunkleres Grau für besseren Kontrast */
    --color-a11y-secondary-hover: var(--color-gray-700); /* Noch dunkleres Grau für Hover-Zustände */
    --color-a11y-secondary-text: var(--color-white); /* Weißer Text auf dunklerem Grau */

/* Statusfarben mit hohem Kontrast */
    --color-a11y-success: var(--color-green-600); /* Dunkleres Grün für besseren Kontrast */
    --color-a11y-warning: var(--color-orange-600); /* Dunkleres Orange für besseren Kontrast */
    --color-a11y-error: var(--color-red-600); /* Dunkleres Rot für besseren Kontrast */
    --color-a11y-info: var(--color-blue-600); /* Dunkleres Blau für besseren Kontrast */

/* Text-Farben mit hohem Kontrast */
    --color-a11y-text-primary: var(--color-gray-very-dark); /* Fast schwarzer Text auf hellem Hintergrund */
    --color-a11y-text-secondary: var(--color-gray-600); /* Dunkleres Grau für sekundären Text */
    --color-a11y-text-tertiary: var(--color-gray-medium); /* Dunkleres Grau für tertiären Text */

/* Hintergrundfarben mit hohem Kontrast */
    --color-a11y-background: var(--color-white); /* Weißer Hintergrund */
    --color-a11y-surface: var(--color-gray-very-light); /* Hellgraue Oberfläche */

/* Randfarben mit hohem Kontrast */
    --color-a11y-border: var(--color-gray-600); /* Dunklerer Rahmen für besseren Kontrast */
  }

/*
  * Kontrast-Modus
  *
  * Diese Klasse kann auf body oder :root angewendet werden,
  * um einen Hochkontrast-Modus zu aktivieren.
  */
  .high-contrast-mode {
/* Überschreibe Standard-Farbvariablen mit Hochkontrast-Versionen */
    --color-primary-500: var(--color-a11y-primary);
    --color-primary-600: var(--color-a11y-primary-hover);
    --color-primary-700: var(--color-a11y-primary-hover);
    --color-secondary-500: var(--color-a11y-secondary);
    --color-secondary-600: var(--color-a11y-secondary-hover);
    --color-secondary-700: var(--color-a11y-secondary-hover);
    --color-success: var(--color-a11y-success);
    --color-warning: var(--color-a11y-warning);
    --color-error: var(--color-a11y-error);
    --color-info: var(--color-a11y-info);
    --color-text-primary: var(--color-a11y-text-primary);
    --color-text-secondary: var(--color-a11y-text-secondary);
    --color-text-tertiary: var(--color-a11y-text-tertiary);
    --color-background: var(--color-a11y-background);
    --color-surface: var(--color-a11y-surface);
    --color-border: var(--color-a11y-border);

/* Erhöhter Kontrast durch verstärkte Schattierungen */
    --shadow-sm: 0 var(--border-width) 3px 0 rgb(0 0 0 / 300000);
    --shadow-md: 0 var(--spacing-1) 6px 0 rgb(0 0 0 / 300000);
    --shadow-lg: 0 10px 15px 0 rgb(0 0 0 / 300000);

/* Verstärkte Fokus-Indikatoren */
    --focus-ring: 0 0 0 3px rgb(0 82 204 / 800000);

/* Erhöhte Textlesbarkeit */
    --line-height-normal: 1.6;

/* Entfernung subtiler Transparenz-Effekte */
    --color-overlay: var(--color-overlay-dark);
    --color-overlay-light: var(--color-overlay-medium);
  }

/*
  * Kontrast-Klassen für einzelne Elemente
  *
  * Diese Klassen können auf einzelne Elemente angewendet werden,
  * um ihren Kontrast zu verbessern, ohne den gesamten Modus zu aktivieren.
  */

/* Verbesserte Textlesbarkeit */
  .a11y-text {
    color: var(--color-a11y-text-primary);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-none).6;
  }

/* Kontrastreiche Buttons */
  .a11y-button {
    background-color: var(--color-a11y-primary);
    border: var(--border-width-thick) solid var(--color-a11y-primary);
    color: var(--color-a11y-primary-text);
    font-weight: var(--font-weight-semibold);
  }

  .a11y-button:hover,
  .a11y-button:focus {
    background-color: var(--color-a11y-primary-hover);
    border-color: var(--color-a11y-primary-hover);
  }

/* Kontrastreiche Links */
  .a11y-link {
    color: var(--color-a11y-primary);
    font-weight: var(--font-weight-medium);
    text-decoration: underline;
  }

  .a11y-link:hover,
  .a11y-link:focus {
    color: var(--color-a11y-primary-hover);
    text-decoration: underline;
  }

/* Kontrastreiche Rahmen */
  .a11y-border {
    border: var(--border-width-thick) solid var(--color-a11y-border);
  }

/* Kontrastreiche Formular-Elemente */
  .a11y-input {
    background-color: var(--color-a11y-background);
    border: var(--border-width-thick) solid var(--color-a11y-border);
    color: var(--color-a11y-text-primary);
  }

  .a11y-input:focus {
    border-color: var(--color-a11y-primary);
    outline: var(--focus-ring);
  }

/* Kontrastreiche Icons */
  .a11y-icon {
    color: var(--color-a11y-primary);
    height: 1%.5em;
    width: 1%.5em;
  }
}

/* Importierte Datei: core/accessibility/aria.css */
/*
* Accessibility - ARIA Support
*
* Styles und Utilities für ARIA-Rollen und -Attribute.
* Diese Datei enthält Definitionen für konsistentes Styling von ARIA-Rollen.
*/

@layer accessibility {
/*
  * ARIA-Rollen Styling
  *
  * Konsistentes Styling für verschiedene ARIA-Rollen,
  * um die visuelle Darstellung mit der semantischen Bedeutung in Einklang zu bringen.
  */

/* Dialog und Modal-Dialoge */
  [role="dialog"],
  [role="alertdialog"] {
    background-color: var(--color-surface);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-xl);
    max-height: 9%0;
    overflow-y: auto;
    position: relative;
    z-index: var(--z-index-modal);
  }

/* Navigation */
  [role="navigation"] {
    display: flex;
    flex-wrap: wrap;
  }

/* Tabs */
  [role="tablist"] {
    border-bottom: var(--border-width) solid var(--color-border);
    display: flex;
  }

  [role="tab"] {
    background: none;
    border: none;
    border-bottom: var(--border-width-thick) solid transparent;
    cursor: pointer;
    padding: 0.5rem var(--spacing-4);
  }

  [role="tab"][aria-selected="true"] {
    border-bottom-color: var(--color-primary-500);
    color: var(--color-primary-600);
    font-weight: var(--font-weight-medium); /* Konsolidiert von separater Definition */
  }

  [role="tabpanel"] {
    padding: var(--spacing-4) 0;
  }

/* Menüs */
  [role="menu"] {
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    min-width: var(--spacing-40);
    padding: 0.5rem 0;
  }

  [role="menuitem"] {
    cursor: pointer;
    padding: 0.5rem var(--spacing-4);
  }

  [role="menuitem"]:hover,
  [role="menuitem"]:focus {
    background-color: var(--color-surface-hover);
  }

/* Listen */
  [role="list"] {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  [role="listitem"] {
    padding: 0.5rem 0;
  }

/* Tooltips */
  [role="tooltip"] {
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--border-radius-sm);
    box-shadow: var(--shadow-md);
    max-width: var(--spacing-80);
    padding: 0.5rem;
    position: absolute;
    z-index: var(--z-index-tooltip);
  }

/* Alert und Benachrichtigungen */
  [role="alert"],
  [role="status"],
  [role="log"] {
    background-color: var(--color-surface);
    border-left: var(--spacing-1) solid var(--color-info);
    border-radius: var(--border-radius-md);
    margin: var(--spacing-4) 0;
    padding: var(--spacing-4);
  }

  [role="alert"] {
    border-left-color: var(--color-error);
  }

  [role="status"] {
    border-left-color: var(--color-success);
  }

/*
  * ARIA-Attribute Styling
  *
  * Visuelles Feedback für verschiedene ARIA-Attribute,
  * um Zustandsänderungen deutlicher zu machen.
  */

/* Erweiterte Elemente */
  [aria-expanded="true"] {
/* Zusätzliche Stile für erweiterte Elemente */
  }

/* Ausgewählte Elemente - bereits in [role="tab"][aria-selected="true"] konsolidiert */

/* Aktive Elemente */
  [aria-current="page"],
  [aria-current="step"],
  [aria-current="location"],
  [aria-current="date"],
  [aria-current="time"] {
    color: var(--color-primary-700);
    font-weight: var(--font-weight-semibold);
  }

/* Gedrückte Elemente */
  [aria-pressed="true"] {
    background-color: var(--color-primary-200);
    border-color: var(--color-primary-400);
  }

/* Kontrollierte Elemente */
  [aria-controls]:focus {
    outline: var(--focus-ring);
  }

/* Beschriebene Elemente */
  [aria-describedby] {
/* Subtile Markierung für Elemente mit Beschreibung */
    border-bottom: var(--border-width) dotted var(--color-border);
  }
}


/* Reduzierte Bewegung (Reduced Motion) für Benutzer, die weniger Animation bevorzugen */
@layer accessibility {
/* Wenn der Benutzer reduzierte Bewegung im System eingestellt hat */
  @media (prefers-reduced-motion: reduce) {
    :root {
/* Alle Animationen deaktivieren oder verlangsamen */
      --transition-duration-fast: 0.01ms;
      --transition-duration-normal: 0.01ms;
      --transition-duration-slow: 0.01ms;
    }

/* Alle Animationen deaktivieren */
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
    }
  }

/* Klasse für explizit reduzierte Bewegung */
  .reduced-motion {
/* Alle Animationen deaktivieren oder verlangsamen */
    --transition-duration-fast: 0.01ms;
    --transition-duration-normal: 0.01ms;
    --transition-duration-slow: 0.01ms;

    & *, & *::before, & *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
    }
  }

/* Basis-Einstellungen für Fokussierbarkeit */
  [tabindex="-1"] {
    outline: none;
  }

/* Visuelle Hinweise für Interaktivität */
  button,
  [role="button"],
  input,
  select,
  textarea,
  a {
    cursor: pointer;
  }

  [disabled] {
    cursor: not-allowed !important;
  }

/* [aria-disabled="true"] bereits in screenreader.css definiert */

/* Globale Einstellungen für Tap-Targets */
  a, button, [role="button"], [type="button"], [type="submit"], [type="reset"] {
    min-height: 4%var(--spacing-1); /* Mindesthöhe für Touch-Targets */
    min-width: 4%var(--spacing-1);  /* Mindestbreite für Touch-Targets */
  }
}

/* Datei: core/accessibility/contrast.css */
/*
* Accessibility - Contrast
*
* Styles und Utilities für verbesserten Farbkontrast.
* Diese Datei enthält Definitionen für kontrastreiche Farben und Kontrastprüfung.
*/

@layer accessibility {
/*
  * Kontrastreiche Farbvariablen
  *
  * Diese Variablen bieten Farben mit hohem Kontrast für eine bessere Zugänglichkeit.
  * Sie erfüllen mindestens die WCAG 2.1 AA-Anforderungen (Kontrastverhältnis ≥ 4.5:1).
  */
  :root {
/* Primäre Kontrastfarben */
    --color-a11y-primary: var(--color-blue-600); /* Dunkleres Blau für besseren Kontrast auf weißem Hintergrund */
    --color-a11y-primary-hover: var(--color-blue-700); /* Noch dunkleres Blau für Hover-Zustände */
    --color-a11y-primary-text: var(--color-white); /* Weißer Text auf dunklerem Blau */

/* Sekundäre Kontrastfarben */
    --color-a11y-secondary: var(--color-gray-600); /* Dunkleres Grau für besseren Kontrast */
    --color-a11y-secondary-hover: var(--color-gray-700); /* Noch dunkleres Grau für Hover-Zustände */
    --color-a11y-secondary-text: var(--color-white); /* Weißer Text auf dunklerem Grau */

/* Statusfarben mit hohem Kontrast */
    --color-a11y-success: var(--color-green-600); /* Dunkleres Grün für besseren Kontrast */
    --color-a11y-warning: var(--color-orange-600); /* Dunkleres Orange für besseren Kontrast */
    --color-a11y-error: var(--color-red-600); /* Dunkleres Rot für besseren Kontrast */
    --color-a11y-info: var(--color-blue-600); /* Dunkleres Blau für besseren Kontrast */

/* Text-Farben mit hohem Kontrast */
    --color-a11y-text-primary: var(--color-gray-very-dark); /* Fast schwarzer Text auf hellem Hintergrund */
    --color-a11y-text-secondary: var(--color-gray-600); /* Dunkleres Grau für sekundären Text */
    --color-a11y-text-tertiary: var(--color-gray-medium); /* Dunkleres Grau für tertiären Text */

/* Hintergrundfarben mit hohem Kontrast */
    --color-a11y-background: var(--color-white); /* Weißer Hintergrund */
    --color-a11y-surface: var(--color-gray-very-light); /* Hellgraue Oberfläche */

/* Randfarben mit hohem Kontrast */
    --color-a11y-border: var(--color-gray-600); /* Dunklerer Rahmen für besseren Kontrast */
  }

/*
  * Kontrast-Modus
  *
  * Diese Klasse kann auf body oder :root angewendet werden,
  * um einen Hochkontrast-Modus zu aktivieren.
  */
  .high-contrast-mode {
/* Überschreibe Standard-Farbvariablen mit Hochkontrast-Versionen */
    --color-primary-500: var(--color-a11y-primary);
    --color-primary-600: var(--color-a11y-primary-hover);
    --color-primary-700: var(--color-a11y-primary-hover);
    --color-secondary-500: var(--color-a11y-secondary);
    --color-secondary-600: var(--color-a11y-secondary-hover);
    --color-secondary-700: var(--color-a11y-secondary-hover);
    --color-success: var(--color-a11y-success);
    --color-warning: var(--color-a11y-warning);
    --color-error: var(--color-a11y-error);
    --color-info: var(--color-a11y-info);
    --color-text-primary: var(--color-a11y-text-primary);
    --color-text-secondary: var(--color-a11y-text-secondary);
    --color-text-tertiary: var(--color-a11y-text-tertiary);
    --color-background: var(--color-a11y-background);
    --color-surface: var(--color-a11y-surface);
    --color-border: var(--color-a11y-border);

/* Erhöhter Kontrast durch verstärkte Schattierungen */
    --shadow-sm: 0 var(--border-width) 3px 0 rgb(0 0 0 / 300000);
    --shadow-md: 0 var(--spacing-1) 6px 0 rgb(0 0 0 / 300000);
    --shadow-lg: 0 10px 15px 0 rgb(0 0 0 / 300000);

/* Verstärkte Fokus-Indikatoren */
    --focus-ring: 0 0 0 3px rgb(0 82 204 / 800000);

/* Erhöhte Textlesbarkeit */
    --line-height-normal: 1.6;

/* Entfernung subtiler Transparenz-Effekte */
    --color-overlay: var(--color-overlay-dark);
    --color-overlay-light: var(--color-overlay-medium);
  }

/*
  * Kontrast-Klassen für einzelne Elemente
  *
  * Diese Klassen können auf einzelne Elemente angewendet werden,
  * um ihren Kontrast zu verbessern, ohne den gesamten Modus zu aktivieren.
  */

/* Verbesserte Textlesbarkeit */
  .a11y-text {
    color: var(--color-a11y-text-primary);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-none).6;
  }

/* Kontrastreiche Buttons */
  .a11y-button {
    background-color: var(--color-a11y-primary);
    border: var(--border-width-thick) solid var(--color-a11y-primary);
    color: var(--color-a11y-primary-text);
    font-weight: var(--font-weight-semibold);
  }

  .a11y-button:hover,
  .a11y-button:focus {
    background-color: var(--color-a11y-primary-hover);
    border-color: var(--color-a11y-primary-hover);
  }

/* Kontrastreiche Links */
  .a11y-link {
    color: var(--color-a11y-primary);
    font-weight: var(--font-weight-medium);
    text-decoration: underline;
  }

  .a11y-link:hover,
  .a11y-link:focus {
    color: var(--color-a11y-primary-hover);
    text-decoration: underline;
  }

/* Kontrastreiche Rahmen */
  .a11y-border {
    border: var(--border-width-thick) solid var(--color-a11y-border);
  }

/* Kontrastreiche Formular-Elemente */
  .a11y-input {
    background-color: var(--color-a11y-background);
    border: var(--border-width-thick) solid var(--color-a11y-border);
    color: var(--color-a11y-text-primary);
  }

  .a11y-input:focus {
    border-color: var(--color-a11y-primary);
    outline: var(--focus-ring);
  }

/* Kontrastreiche Icons */
  .a11y-icon {
    color: var(--color-a11y-primary);
    height: 1%.5em;
    width: 1%.5em;
  }
}

/* Datei: core/accessibility/aria.css */
/*
* Accessibility - ARIA Support
*
* Styles und Utilities für ARIA-Rollen und -Attribute.
* Diese Datei enthält Definitionen für konsistentes Styling von ARIA-Rollen.
*/

@layer accessibility {
/*
  * ARIA-Rollen Styling
  *
  * Konsistentes Styling für verschiedene ARIA-Rollen,
  * um die visuelle Darstellung mit der semantischen Bedeutung in Einklang zu bringen.
  */

/* Dialog und Modal-Dialoge */
  [role="dialog"],
  [role="alertdialog"] {
    background-color: var(--color-surface);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-xl);
    max-height: 9%0;
    overflow-y: auto;
    position: relative;
    z-index: var(--z-index-modal);
  }

/* Navigation */
  [role="navigation"] {
    display: flex;
    flex-wrap: wrap;
  }

/* Tabs */
  [role="tablist"] {
    border-bottom: var(--border-width) solid var(--color-border);
    display: flex;
  }

  [role="tab"] {
    background: none;
    border: none;
    border-bottom: var(--border-width-thick) solid transparent;
    cursor: pointer;
    padding: 0.5rem var(--spacing-4);
  }

  [role="tab"][aria-selected="true"] {
    border-bottom-color: var(--color-primary-500);
    color: var(--color-primary-600);
    font-weight: var(--font-weight-medium); /* Konsolidiert von separater Definition */
  }

  [role="tabpanel"] {
    padding: var(--spacing-4) 0;
  }

/* Menüs */
  [role="menu"] {
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    min-width: var(--spacing-40);
    padding: 0.5rem 0;
  }

  [role="menuitem"] {
    cursor: pointer;
    padding: 0.5rem var(--spacing-4);
  }

  [role="menuitem"]:hover,
  [role="menuitem"]:focus {
    background-color: var(--color-surface-hover);
  }

/* Listen */
  [role="list"] {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  [role="listitem"] {
    padding: 0.5rem 0;
  }

/* Tooltips */
  [role="tooltip"] {
    background-color: var(--color-surface);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--border-radius-sm);
    box-shadow: var(--shadow-md);
    max-width: var(--spacing-80);
    padding: 0.5rem;
    position: absolute;
    z-index: var(--z-index-tooltip);
  }

/* Alert und Benachrichtigungen */
  [role="alert"],
  [role="status"],
  [role="log"] {
    background-color: var(--color-surface);
    border-left: var(--spacing-1) solid var(--color-info);
    border-radius: var(--border-radius-md);
    margin: var(--spacing-4) 0;
    padding: var(--spacing-4);
  }

  [role="alert"] {
    border-left-color: var(--color-error);
  }

  [role="status"] {
    border-left-color: var(--color-success);
  }

/*
  * ARIA-Attribute Styling
  *
  * Visuelles Feedback für verschiedene ARIA-Attribute,
  * um Zustandsänderungen deutlicher zu machen.
  */

/* Erweiterte Elemente */
  [aria-expanded="true"] {
/* Zusätzliche Stile für erweiterte Elemente */
  }

/* Ausgewählte Elemente - bereits in [role="tab"][aria-selected="true"] konsolidiert */

/* Aktive Elemente */
  [aria-current="page"],
  [aria-current="step"],
  [aria-current="location"],
  [aria-current="date"],
  [aria-current="time"] {
    color: var(--color-primary-700);
    font-weight: var(--font-weight-semibold);
  }

/* Gedrückte Elemente */
  [aria-pressed="true"] {
    background-color: var(--color-primary-200);
    border-color: var(--color-primary-400);
  }

/* Kontrollierte Elemente */
  [aria-controls]:focus {
    outline: var(--focus-ring);
  }

/* Beschriebene Elemente */
  [aria-describedby] {
/* Subtile Markierung für Elemente mit Beschreibung */
    border-bottom: var(--border-width) dotted var(--color-border);
  }
}
