/* ===== Basis & Theme-Variablen ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-ui);
}

:root {
    --accent: #ff7a3c;
    --accent-soft: rgba(255, 122, 60, .16);
    --font-ui: "Segoe UI", system-ui, sans-serif;
    --font-mono: "Cascadia Code", Consolas, "Courier New", monospace;
    --radius: 10px;
}

/* Dunkles Theme (Standard) */
body {
    --bg-panel: rgba(21, 23, 28, .94);
    --bg-panel-solid: #15171c;
    --bg-hover: rgba(255, 255, 255, .07);
    --bg-titlebar: rgba(255, 255, 255, .05);
    --border: rgba(255, 255, 255, .09);
    --text: #e9e7e2;
    --text-dim: #9a978f;
    --shadow: 0 18px 50px rgba(0, 0, 0, .55);
}

/* Helles Theme */
body.theme-light {
    --bg-panel: rgba(245, 244, 240, .95);
    --bg-panel-solid: #f2f1ed;
    --bg-hover: rgba(0, 0, 0, .06);
    --bg-titlebar: rgba(0, 0, 0, .04);
    --border: rgba(0, 0, 0, .12);
    --text: #23211d;
    --text-dim: #6d6a63;
    --shadow: 0 18px 50px rgba(0, 0, 0, .25);
}

body {
    overflow: hidden;
    background: #0b0b0e;
    color: var(--text);
}

button {
    font-family: inherit;
    cursor: pointer;
}

::-webkit-scrollbar { width: 9px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover { background: var(--accent); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
