@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200'); .material-symbols-outlined { font-family: 'Material Symbols Outlined'; font-weight: normal; font-style: normal; display: inline-block; line-height: 1; text-transform: none; letter-spacing: normal; word-wrap: normal; white-space: nowrap; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; user-select: none; font-variation-settings: 'FILL' 0, 'wght' 400, 'opsz' 20; } :root { /* Native OS-Controls (selects, scrollbars) sollen dem aktuellen Theme folgen. Wert wird im prefers-color-scheme: dark Block ueberschrieben. */ color-scheme: light; /* === LIGHT MODE (RAPPORT cream + olive + deep green) === */ --bg-base: #e0dbd4; --bg-panel: #e0dbd4; --bg-section: #e0dbd4; --bg-item: #e0dbd4; --bg-item-hover: #d4cfc8; --bg-input: #ece8e2; --bg-dialog: #e4dfd7; --bg-overlay: rgba(26, 26, 24, 0.36); --border: #c8c2ba; --border-light: #d4cfc8; --border-focus: #2f5d54; --text-primary: #1a1a18; --text-secondary:#555550; --text-muted: #8a8580; --text-label: #1a1a18; /* Petrol-Gruen (von Rapport-HTML uebernommen) */ --accent: #2f5d54; --accent-light: #4a8a7c; --accent-dim: #e6efed; --accent-border: rgba(47, 93, 84, 0.35); /* Active-Marker (aktives Geschoss / aktive Ebene) — saturiertes Petrol */ --active: #1a655a; --active-light: #2f8275; --active-dim: rgba(26, 101, 90, 0.10); --warn: #b5621e; --warn-light: #d47a30; --warn-dim: #fdf0e8; --danger: #8a1a1a; --danger-light: #b03030; --overlay-hover: rgba(26, 26, 24, 0.05); --overlay-active:rgba(26, 26, 24, 0.10); --r: 4px; --r-lg: 8px; --shadow-1: 0 1px 2px rgba(26,26,24,0.08); --shadow-2: 0 2px 8px rgba(26,26,24,0.12); --shadow-3: 0 6px 24px rgba(26,26,24,0.18); --select-arrow: url("data:image/svg+xml;utf8,"); --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; --font-mono: 'DM Mono', 'SF Mono', monospace; } /* === DARK MODE (Rhino-tonig) === */ @media (prefers-color-scheme: dark) { :root { color-scheme: dark; --bg-base: #2a2a2a; --bg-panel: #2a2a2a; --bg-section: #2a2a2a; --bg-item: #2a2a2a; --bg-item-hover: #353535; --bg-input: #1f1f1f; --bg-dialog: #2c2c2c; --bg-overlay: rgba(0,0,0,0.55); --border: #4a4a4a; --border-light: #3d3d3d; --border-focus: #5fa896; --text-primary: #e8e8e8; --text-secondary:#a8a8a8; --text-muted: #707070; --text-label: #c8c8c8; /* Petrol-Gruen (von Rapport-HTML uebernommen) */ --accent: #5fa896; --accent-light: #6db5a4; --accent-dim: rgba(95, 168, 150, 0.15); --accent-border: rgba(95, 168, 150, 0.4); /* Active-Marker — saturiertes Petrol, distinct vom accent */ --active: #7dc8b8; --active-light: #8ad1bf; --active-dim: rgba(125, 200, 184, 0.16); --warn: #d48030; --warn-light: #e09040; --warn-dim: rgba(212, 128, 48, 0.18); --danger: #c85050; --danger-light: #d86060; --overlay-hover: rgba(255,255,255,0.06); --overlay-active:rgba(255,255,255,0.10); --shadow-1: 0 1px 2px rgba(0,0,0,0.30); --shadow-2: 0 2px 8px rgba(0,0,0,0.40); --shadow-3: 0 6px 24px rgba(0,0,0,0.55); --select-arrow: url("data:image/svg+xml;utf8,"); } } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: var(--font); font-size: 12px; background: var(--bg-base); color: var(--text-primary); -webkit-font-smoothing: antialiased; letter-spacing: 0.01em; } #root { display: flex; flex-direction: column; height: 100vh; overflow: hidden; } button { font-family: var(--font); cursor: pointer; border: none; outline: none; background: none; color: inherit; position: relative; transition: background 0.18s cubic-bezier(0.4, 0, 0.2, 1), color 0.14s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1); } input, select { font-family: var(--font-mono); font-size: 11px; background: var(--bg-input); color: var(--text-primary); border: 1px solid var(--border); border-radius: 999px; padding: 4px 12px; outline: none; transition: border-color 0.16s, background 0.16s, box-shadow 0.16s; } input:hover { border-color: var(--accent); background: var(--bg-item-hover); } input:focus, select:focus { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-dim); } input[type="number"]::-webkit-inner-spin-button { opacity: 0.3; } /* Checkboxes + Color-Picker: kein Pill — native rendering. */ input[type="checkbox"], input[type="radio"], input[type="color"], input[type="file"], input[type="range"] { border-radius: 0; padding: 0; background: transparent; } input[type="checkbox"]:hover, input[type="radio"]:hover, input[type="color"]:hover, input[type="file"]:hover, input[type="range"]:hover { background: transparent; border-color: var(--border); } /* Pill-shaped select */ select { appearance: none; -webkit-appearance: none; background-color: var(--bg-item); background-image: var(--select-arrow); background-repeat: no-repeat; background-position: right 10px center; padding: 5px 26px 5px 14px; border-radius: 999px; border: 1px solid var(--border); font-family: var(--font); font-weight: 500; font-size: 10px; letter-spacing: 0.04em; cursor: pointer; color: var(--text-primary); } select:hover { background-color: var(--bg-item-hover); border-color: var(--text-muted); } /* Opt-out: System-native Chrome (Oberleiste). Setzt die globalen pill/appearance:none Overrides zurueck und ueberlaesst WebKit das Rendering — Standard-macOS-Combobox + Native-Popup-Menue. Gilt auch fuer