:root {
    --sidebar-text-color: #fff;
    --sidebar-background: #1e1e1e;
    --sidebar-background-hover: #2C313C;
    --home-content-background: #525969;
    --bg: #000;
    --texte: #f3f3f3;
    --texteS: #d8d8d8;
    --body-background: black;

    --accent: #0064e7;
    --accent-soft: rgba(0, 100, 231, 0.16);
    --border-subtle: rgba(255, 255, 255, 0.08);
    --border-subtle-strong: rgba(255, 255, 255, 0.14);
    --shadow-soft: 0 4px 16px rgba(0, 0, 0, 0.35);
    --shadow-lift: 0 8px 28px rgba(0, 0, 0, 0.45);
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --ease: cubic-bezier(0.4, 0, 0.2, 1);

    --topbar-closeBtn-hover: #da3030;
    --topbar-closeBtn-active: #991a1a;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

body {
    background-color: var(--body-background);
    color: var(--texte);
}

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-thumb { background-color: var(--accent-soft); border-radius: 5px; }

.btn {
    padding: 10px 18px;
    border-radius: var(--radius-sm);
    border: none;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.15s var(--ease), box-shadow 0.15s var(--ease);
}
.btn-primary {
    --color: #0064e7;
    background: var(--color);
    color: white;
    --color-dark: color-mix(in srgb, var(--color) 70%, black 30%);
    box-shadow: inset -3px -3px 0px 0px var(--color-dark);
}
.btn-primary:hover { box-shadow: inset 3px 3px 0px 0px var(--color-dark); transform: translateY(-1px); }
.btn-primary:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.btn-ghost {
    background: transparent;
    color: var(--sidebar-text-color);
    border: 1px solid var(--border-subtle-strong);
}
.btn-ghost:hover { background: var(--sidebar-background-hover); }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
    * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}
