:root {
    --background: 11 14 26;
    --background-elevated: 17 21 38;
    --foreground: 237 237 237;
    --muted: 156 163 175;
    --border: 38 42 60;
    --border-strong: 55 65 81;
    --accent: 139 92 246;
    --accent-strong: 124 58 237;
    --card: 15 19 33;
    --card-hover: 22 28 46;
    --success: 34 197 94;
    --warning: 250 204 21;
    --info: 56 189 248;
}

:root[data-theme="light"] {
    --background: 247 247 250;
    --background-elevated: 255 255 255;
    --foreground: 17 23 41;
    --muted: 100 116 139;
    --border: 226 232 240;
    --border-strong: 203 213 225;
    --accent: 124 58 237;
    --accent-strong: 109 40 217;
    --card: 255 255 255;
    --card-hover: 247 247 250;
    --success: 22 163 74;
    --warning: 202 138 4;
    --info: 14 165 233;
}

html, body {
    background: rgb(var(--background));
    color: rgb(var(--foreground));
}

body {
    font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
    font-feature-settings: "ss01", "cv01";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.bg-radial-hero {
    background:
        radial-gradient(circle at 20% 0%, rgba(139, 92, 246, 0.18), transparent 45%),
        radial-gradient(circle at 80% 10%, rgba(56, 189, 248, 0.12), transparent 50%);
}

:root[data-theme="light"] .bg-radial-hero {
    background:
        radial-gradient(circle at 20% 0%, rgba(124, 58, 237, 0.12), transparent 45%),
        radial-gradient(circle at 80% 10%, rgba(14, 165, 233, 0.08), transparent 50%);
}

.bg-newsletter {
    background: linear-gradient(100deg, rgba(76, 29, 149, 0.55) 0%, rgba(30, 27, 75, 0.55) 60%, rgba(15, 23, 42, 0.55) 100%);
    border: 1px solid rgba(139, 92, 246, 0.35);
    border-radius: 1rem;
}

:root[data-theme="light"] .bg-newsletter {
    background: linear-gradient(100deg, rgba(124, 58, 237, 0.12) 0%, rgba(125, 92, 246, 0.06) 60%, rgba(248, 250, 252, 1) 100%);
    border: 1px solid rgba(124, 58, 237, 0.25);
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.scrollbar-thin::-webkit-scrollbar { width: 6px; }
.scrollbar-thin::-webkit-scrollbar-thumb { background: rgba(139, 92, 246, 0.4); border-radius: 9999px; }
.scrollbar-thin::-webkit-scrollbar-track { background: transparent; }

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in-up {
    animation: fadeInUp 0.35s ease-out both;
}
