Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  base.css   Sprache: unbekannt

 
Spracherkennung für: .css vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

:root {
  /* Background - Deep, rich dark with layered depth */
  --bg: #0e1015;
  --bg-accent: #13151b;
  --bg-elevated: #191c24;
  --bg-hover: #1f2330;
  --bg-muted: #1f2330;

  /* Card / Surface - Clear hierarchy between levels */
  --card: #161920;
  --card-foreground: #f0f0f2;
  --card-highlight: rgba(255, 255, 255, 0.04);
  --popover: #191c24;
  --popover-foreground: #f0f0f2;

  /* Panel */
  --panel: #0e1015;
  --panel-strong: #191c24;
  --panel-hover: #1f2330;
  --chrome: rgba(14, 16, 21, 0.96);
  --chrome-strong: rgba(14, 16, 21, 0.98);

  /* Text - Clean contrast */
  --text: #d4d4d8;
  --text-strong: #f4f4f5;
  --chat-text: #d4d4d8;
  --muted: #838387;
  --muted-strong: #75757d;
  --muted-foreground: #838387;

  /* Border - Whisper-thin, barely there */
  --border: #1e2028;
  --border-strong: #2e3040;
  --border-hover: #3e4050;
  --input: #1e2028;
  --ring: #ff5c5c;

  /* Accent - Punchy signature red */
  --accent: #ff5c5c;
  --accent-hover: #ff7070;
  --accent-muted: #ff5c5c;
  --accent-subtle: rgba(255, 92, 92, 0.1);
  --accent-foreground: #fafafa;
  --accent-glow: rgba(255, 92, 92, 0.2);
  --primary: #ff5c5c;
  --primary-foreground: #ffffff;

  /* Secondary */
  --secondary: #161920;
  --secondary-foreground: #f0f0f2;
  --accent-2: #14b8a6;
  --accent-2-muted: rgba(20, 184, 166, 0.7);
  --accent-2-subtle: rgba(20, 184, 166, 0.1);

  /* Semantic */
  --ok: #22c55e;
  --ok-muted: rgba(34, 197, 94, 0.75);
  --ok-subtle: rgba(34, 197, 94, 0.08);
  --destructive: #ef4444;
  --destructive-foreground: #fafafa;
  --warn: #f59e0b;
  --warn-muted: rgba(245, 158, 11, 0.75);
  --warn-subtle: rgba(245, 158, 11, 0.08);
  --danger: #ef4444;
  --danger-muted: rgba(239, 68, 68, 0.75);
  --danger-subtle: rgba(239, 68, 68, 0.08);
  --info: #3b82f6;

  /* Focus */
  --focus: rgba(255, 92, 92, 0.2);
  --focus-ring: 0 0 0 2px var(--bg), 0 0 0 3px color-mix(in srgb, var(--ring) 80%, transparent);
  --focus-glow: 0 0 0 2px var(--bg), 0 0 0 3px var(--ring), 0 0 16px var(--accent-glow);

  /* Grid */
  --grid-line: rgba(255, 255, 255, 0.03);

  /* Theme transition */
  --theme-switch-x: 50%;
  --theme-switch-y: 50%;

  /* Typography */
  --mono:
    "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display: var(--font-body);

  /* Shadows - Subtle, layered depth */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.5);
  --shadow-glow: 0 0 24px var(--accent-glow);

  /* Radii - Slightly larger for modern feel */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-full: 9999px;
  --radius: 10px;

  /* Transitions - Crisp and responsive */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 100ms;
  --duration-normal: 180ms;
  --duration-slow: 300ms;

  color-scheme: dark;
}

/* Light theme tokens apply to every light-mode family. */
:root[data-theme-mode="light"] {
  --bg: #f8f9fa;
  --bg-accent: #f1f3f5;
  --bg-elevated: #ffffff;
  --bg-hover: #eceef0;
  --bg-muted: #eceef0;
  --bg-content: #f1f3f5;

  --card: #ffffff;
  --card-foreground: #1a1a1e;
  --card-highlight: rgba(0, 0, 0, 0.02);
  --popover: #ffffff;
  --popover-foreground: #1a1a1e;

  --panel: #f8f9fa;
  --panel-strong: #f1f3f5;
  --panel-hover: #e6e8eb;
  --chrome: rgba(248, 249, 250, 0.96);
  --chrome-strong: rgba(248, 249, 250, 0.98);

  --text: #3c3c43;
  --text-strong: #1a1a1e;
  --chat-text: #3c3c43;
  --muted: #6e6e73;
  --muted-strong: #545458;
  --muted-foreground: #6e6e73;

  --border: #e5e5ea;
  --border-strong: #d1d1d6;
  --border-hover: #aeaeb2;
  --input: #e5e5ea;

  --accent: #dc2626;
  --accent-hover: #ef4444;
  --accent-muted: #dc2626;
  --accent-subtle: rgba(220, 38, 38, 0.08);
  --accent-foreground: #ffffff;
  --accent-glow: rgba(220, 38, 38, 0.1);
  --primary: #dc2626;
  --primary-foreground: #ffffff;

  --secondary: #f1f3f5;
  --secondary-foreground: #3c3c43;
  --accent-2: #0d9488;
  --accent-2-muted: rgba(13, 148, 136, 0.75);
  --accent-2-subtle: rgba(13, 148, 136, 0.08);

  --ok: #15803d;
  --ok-muted: rgba(21, 128, 61, 0.75);
  --ok-subtle: rgba(21, 128, 61, 0.08);
  --destructive: #dc2626;
  --destructive-foreground: #fafafa;
  --warn: #b45309;
  --warn-muted: rgba(180, 83, 9, 0.75);
  --warn-subtle: rgba(180, 83, 9, 0.08);
  --danger: #dc2626;
  --danger-muted: rgba(220, 38, 38, 0.75);
  --danger-subtle: rgba(220, 38, 38, 0.08);
  --info: #2563eb;

  --focus: rgba(220, 38, 38, 0.15);
  --focus-ring: 0 0 0 2px var(--bg), 0 0 0 3px color-mix(in srgb, var(--ring) 70%, transparent);
  --focus-glow: 0 0 0 2px var(--bg), 0 0 0 3px var(--ring), 0 0 12px var(--accent-glow);

  --grid-line: rgba(0, 0, 0, 0.04);

  /* Light shadows - Subtle, clean */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.08);
  --shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.1);
  --shadow-glow: 0 0 20px var(--accent-glow);

  color-scheme: light;
}

/* Scrollbar - visible on light backgrounds */
:root[data-theme-mode="light"]::-webkit-scrollbar-thumb,
:root[data-theme-mode="light"] ::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
}

:root[data-theme-mode="light"]::-webkit-scrollbar-thumb:hover,
:root[data-theme-mode="light"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.25);
}

/* Theme families override accent tokens while keeping shared surfaces/layout. */
:root[data-theme="openknot"] {
  /*
   * Accent — crimson red on true black
   *
   * WCAG 2.1 AA audit (bg = #080808, relative luminance ≈ 0.003):
   *   --accent #e5243b  L ≈ 0.118  contrast ≈ 5.8:1  AA text ✓
   *   --accent-hover #f03e52  L ≈ 0.163  contrast ≈ 7.2:1  ✓
   *   --primary-foreground #fafafa on #e5243b button: 4.6:1 AA ✓
   *   focus-ring at 70% opacity: ≈ 3.4:1 against bg ✓ (non-text 3:1 required)
   */
  --ring: #e5243b;
  --accent: #e5243b;
  --accent-hover: #f03e52;
  --accent-muted: #e5243b;
  --accent-subtle: rgba(229, 36, 59, 0.12);
  --accent-glow: rgba(229, 36, 59, 0.24);
  --primary: #e5243b;
  --primary-foreground: #fafafa;

  /* Focus — crimson ring */
  --focus: rgba(229, 36, 59, 0.2);
  --focus-ring: 0 0 0 2px var(--bg), 0 0 0 3px color-mix(in srgb, var(--ring) 70%, transparent);
  --focus-glow: 0 0 0 2px var(--bg), 0 0 0 3px var(--ring), 0 0 16px var(--accent-glow);

  /* Surfaces — true black canvas */
  --bg: #080808;
  --bg-accent: #0d0d0f;
  --bg-elevated: #141416;
  --bg-hover: #1a1a1e;
  --bg-muted: #1a1a1e;

  --card: #111113;
  --card-foreground: #f0f0f2;
  --card-highlight: rgba(255, 255, 255, 0.03);
  --popover: #141416;
  --popover-foreground: #f0f0f2;

  --panel: #080808;
  --panel-strong: #141416;
  --panel-hover: #1a1a1e;
  --chrome: rgba(8, 8, 8, 0.96);
  --chrome-strong: rgba(8, 8, 8, 0.98);

  /* Text — high contrast on black */
  --text: #e0e0e2;
  --text-strong: #f5f5f7;
  --chat-text: #e0e0e2;
  --muted: #7a7a80;
  --muted-strong: #6e6e76;
  --muted-foreground: #7a7a80;

  /* Borders — whisper-thin, barely visible */
  --border: #1a1a1e;
  --border-strong: #2a2a30;
  --border-hover: #3a3a42;
  --input: #1a1a1e;

  --secondary: #111113;
  --secondary-foreground: #f0f0f2;
  --accent-2: #8b1a2b;
  --accent-2-muted: rgba(139, 26, 43, 0.7);
  --accent-2-subtle: rgba(139, 26, 43, 0.12);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.6);

  --grid-line: rgba(255, 255, 255, 0.025);
}

:root[data-theme="openknot-light"] {
  /*
   * Accent — deep red on cool white
   *
   * WCAG 2.1 AA audit (bg = #f9f9fb, relative luminance ≈ 0.941):
   *   --accent #c41e30  L ≈ 0.078  contrast ≈ 7.5:1  AAA text ✓
   *   --accent-hover #a8192a  L ≈ 0.054  contrast ≈ 9.1:1  ✓
   *   --primary-foreground #ffffff on #c41e30 button: 5.0:1 AA ✓
   *   focus-ring at 60% opacity: ≈ 3.2:1 against bg ✓ (non-text 3:1 required)
   */
  --ring: #c41e30;
  --accent: #c41e30;
  --accent-hover: #a8192a;
  --accent-muted: #c41e30;
  --accent-subtle: rgba(196, 30, 48, 0.08);
  --accent-glow: rgba(196, 30, 48, 0.12);
  --primary: #c41e30;
  --primary-foreground: #ffffff;

  /* Surfaces — cool white with subtle warmth */
  --bg: #f9f9fb;
  --bg-accent: #f2f2f5;
  --bg-elevated: #ffffff;
  --bg-hover: #eaeaef;
  --bg-muted: #eaeaef;
  --bg-content: #f2f2f5;

  --card: #ffffff;
  --card-foreground: #18181b;
  --card-highlight: rgba(0, 0, 0, 0.02);
  --popover: #ffffff;
  --popover-foreground: #18181b;

  --panel: #f9f9fb;
  --panel-strong: #f2f2f5;
  --panel-hover: #e4e4ea;
  --chrome: rgba(249, 249, 251, 0.96);
  --chrome-strong: rgba(249, 249, 251, 0.98);

  /* Text — crisp dark on white */
  --text: #3a3a42;
  --text-strong: #18181b;
  --chat-text: #3a3a42;
  --muted: #6e6e78;
  --muted-strong: #52525a;
  --muted-foreground: #6e6e78;

  /* Borders — clean, minimal */
  --border: #e2e2e8;
  --border-strong: #ccccd4;
  --border-hover: #adadb8;
  --input: #e2e2e8;

  --secondary: #f2f2f5;
  --secondary-foreground: #3a3a42;
  --accent-2: #7a1420;
  --accent-2-muted: rgba(122, 20, 32, 0.75);
  --accent-2-subtle: rgba(122, 20, 32, 0.08);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.08);

  --grid-line: rgba(0, 0, 0, 0.04);
}

:root[data-theme="dash"] {
  /*
   * Accent — chocolate brown on deep cocoa
   *
   * WCAG 2.1 AA audit (bg = #1a1210, relative luminance ≈ 0.0069):
   *   --accent #b47840  L ≈ 0.235  contrast ≈ 5.0:1  AA text ✓  (floor: #a8703c → 4.4:1, fails)
   *   --accent-hover #c8885a  L ≈ 0.306  contrast ≈ 6.3:1  ✓
   *   --primary-foreground #1a1210 on #b47840 button: 5.0:1 AA ✓
   *   focus-ring at 80% opacity: ≈ 3.5:1 against bg ✓ (non-text 3:1 required)
   */
  --ring: #b47840;
  --accent: #b47840;
  --accent-hover: #c8885a;
  --accent-muted: #b47840;
  --accent-subtle: rgba(180, 120, 64, 0.16);
  --accent-glow: rgba(180, 120, 64, 0.24);
  --primary: #b47840;
  --primary-foreground: #1a1210;

  /* Focus — match chocolate accent, slightly higher ring opacity for dark bg visibility */
  --focus: rgba(180, 120, 64, 0.2);
  --focus-ring: 0 0 0 2px var(--bg), 0 0 0 3px color-mix(in srgb, var(--ring) 80%, transparent);
  --focus-glow: 0 0 0 2px var(--bg), 0 0 0 3px var(--ring), 0 0 16px var(--accent-glow);

  /* Surfaces — deep cocoa tones */
  --bg: #1a1210;
  --bg-accent: #201816;
  --bg-elevated: #28201c;
  --bg-hover: #302822;
  --bg-muted: #302822;

  --card: #221a16;
  --card-foreground: #ece0d8;
  --card-highlight: rgba(255, 240, 225, 0.04);
  --popover: #28201c;
  --popover-foreground: #ece0d8;

  --panel: #1a1210;
  --panel-strong: #28201c;
  --panel-hover: #302822;
  --chrome: rgba(26, 18, 16, 0.96);
  --chrome-strong: rgba(26, 18, 16, 0.98);

  --text: #d8c8b8;
  --text-strong: #f0e4da;
  --chat-text: #d8c8b8;
  --muted: #9a8878;
  --muted-strong: #8a7868;
  --muted-foreground: #9a8878;

  --border: #302418;
  --border-strong: #443828;
  --border-hover: #5a4c3a;
  --input: #302418;

  --secondary: #221a16;
  --secondary-foreground: #ece0d8;
  --accent-2: #a88050;
  --accent-2-muted: rgba(168, 128, 80, 0.7);
  --accent-2-subtle: rgba(168, 128, 80, 0.12);

  --shadow-sm: 0 1px 2px rgba(10, 6, 4, 0.35);
  --shadow-md: 0 4px 16px rgba(10, 6, 4, 0.45);
  --shadow-lg: 0 12px 32px rgba(10, 6, 4, 0.55);

  --grid-line: rgba(255, 240, 225, 0.03);
}

:root[data-theme="dash-light"] {
  /*
   * Accent — deep chocolate on warm parchment
   *
   * WCAG 2.1 AA audit (bg = #f7f2ec, relative luminance ≈ 0.893):
   *   --accent #6e4828  L ≈ 0.081  contrast ≈ 7.2:1  AAA text ✓
   *   --accent-hover #5c3c20  L ≈ 0.054  contrast ≈ 8.9:1  ✓
   *   --primary-foreground #ffffff on #6e4828 button: 8.0:1 AAA ✓
   *   focus-ring at 70% opacity: ≈ 3.4:1 against parchment bg ✓
   */
  --ring: #6e4828;
  --accent: #6e4828;
  --accent-hover: #5c3c20;
  --accent-muted: #6e4828;
  --accent-subtle: rgba(110, 72, 40, 0.12);
  --accent-glow: rgba(110, 72, 40, 0.16);
  --primary: #6e4828;
  --primary-foreground: #ffffff;

  /* Surfaces — warm parchment tones */
  --bg: #f7f2ec;
  --bg-accent: #f0e8e0;
  --bg-elevated: #ffffff;
  --bg-hover: #e8ddd2;
  --bg-muted: #e8ddd2;
  --bg-content: #f0e8e0;

  --card: #ffffff;
  --card-foreground: #2c2118;
  --card-highlight: rgba(80, 50, 20, 0.02);
  --popover: #ffffff;
  --popover-foreground: #2c2118;

  --panel: #f7f2ec;
  --panel-strong: #f0e8e0;
  --panel-hover: #e0d4c8;
  --chrome: rgba(247, 242, 236, 0.96);
  --chrome-strong: rgba(247, 242, 236, 0.98);

  --text: #4a3828;
  --text-strong: #2c2118;
  --chat-text: #4a3828;
  --muted: #756050;
  --muted-strong: #604838;
  --muted-foreground: #756050;

  --border: #ddd0c2;
  --border-strong: #c8b8a6;
  --border-hover: #b0a090;
  --input: #ddd0c2;

  --secondary: #f0e8e0;
  --secondary-foreground: #4a3828;
  --accent-2: #6a4e30;
  --accent-2-muted: rgba(106, 78, 48, 0.75);
  --accent-2-subtle: rgba(106, 78, 48, 0.1);

  --shadow-sm: 0 1px 2px rgba(60, 40, 20, 0.06);
  --shadow-md: 0 4px 12px rgba(60, 40, 20, 0.08);
  --shadow-lg: 0 12px 28px rgba(60, 40, 20, 0.1);

  --grid-line: rgba(80, 50, 20, 0.04);
}

* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  font: 400 14px/1.55 var(--font-body);
  letter-spacing: -0.01em;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (min-width: 1600px) {
  body {
    font-size: 15px;
  }
}

/* Theme transition */
@keyframes theme-circle-transition {
  0% {
    clip-path: circle(0% at var(--theme-switch-x, 50%) var(--theme-switch-y, 50%));
  }
  100% {
    clip-path: circle(150% at var(--theme-switch-x, 50%) var(--theme-switch-y, 50%));
  }
}

html.theme-transition {
  view-transition-name: theme;
}

html.theme-transition::view-transition-old(theme) {
  mix-blend-mode: normal;
  animation: none;
  z-index: 1;
}

html.theme-transition::view-transition-new(theme) {
  mix-blend-mode: normal;
  z-index: 2;
  animation: theme-circle-transition 0.4s var(--ease-out) forwards;
}

@media (prefers-reduced-motion: reduce) {
  html.theme-transition::view-transition-old(theme),
  html.theme-transition::view-transition-new(theme) {
    animation: none !important;
  }
}

openclaw-app {
  display: block;
  position: relative;
  z-index: 1;
  min-height: 100vh;
}

a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

a:hover {
  text-decoration-thickness: 2px;
}

button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}

::selection {
  background: var(--accent-subtle);
  color: var(--text-strong);
}

/* Scrollbar styling - Minimal, barely visible */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.14);
}

/* Animations - Polished with spring feel */
@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes scale-in {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes dashboard-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* Skeleton loading primitives */
.skeleton {
  background: linear-gradient(90deg, var(--bg-muted) 25%, var(--bg-hover) 50%, var(--bg-muted) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
  border-radius: var(--radius-md);
}

.skeleton-line {
  height: 14px;
  border-radius: var(--radius-sm);
}

.skeleton-line--short {
  width: 40%;
}

.skeleton-line--medium {
  width: 65%;
}

.skeleton-line--long {
  width: 85%;
}

.skeleton-stat {
  height: 28px;
  width: 60px;
  border-radius: var(--radius-sm);
}

.skeleton-block {
  height: 48px;
  border-radius: var(--radius-md);
}

@keyframes pulse-subtle {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

@keyframes glow-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 transparent;
  }
  50% {
    box-shadow: 0 0 20px var(--accent-glow);
  }
}

@media (prefers-reduced-motion: reduce) {
  .glow-pulse,
  [class*="glow-pulse"] {
    animation: none !important;
  }
}

/* Stagger animation delays for grouped elements */
.stagger-1 {
  animation-delay: 0ms;
}
.stagger-2 {
  animation-delay: 50ms;
}
.stagger-3 {
  animation-delay: 100ms;
}
.stagger-4 {
  animation-delay: 150ms;
}
.stagger-5 {
  animation-delay: 200ms;
}
.stagger-6 {
  animation-delay: 250ms;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Focus visible styles */
:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

[Dauer der Verarbeitung: 0.18 Sekunden, vorverarbeitet 2026-04-28]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge