:root {
    --bs-body-bg: #121317;
    --bs-body-color: #e3e2e7;
    --bs-primary: #bbc3ff;
    --bs-primary-container: #253595;
    --bs-indigo-400: #818cf8;
    --bs-indigo-500: #6366f1;
    --bs-indigo-600: #4f46e5;
    --bs-indigo-900: #312e81;
    --bs-surface: #1a1b20;
    --bs-surface-high: #292a2e;
    --bs-error: #ffb4ab;
    --bs-tertiary: #ffb1c2;
    --bs-outline: rgba(144, 143, 157, 0.2);
    --wereto-grad: linear-gradient(135deg, #4b2291 0%, #8e2de2 50%, #d831c1 100%);
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    overflow-x: hidden;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    vertical-align: middle;
}

/* Custom Utilities */
.glass-panel {
    background: rgba(41, 42, 46, 0.6);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid var(--bs-outline);
}

.text-gradient {
    background: linear-gradient(to right, var(--bs-primary), var(--bs-indigo-400));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.bg-gradient-custom {
    background: linear-gradient(to bottom right, var(--bs-primary-container), #2d3c9c, var(--bs-indigo-900));
}

.icon-box-primary {
    background: linear-gradient(to bottom right, var(--bs-primary), var(--bs-indigo-600));
    color: #112286;
}

.blur-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    z-index: -1;
}

/* Navbar specifics */
.navbar-custom {
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Hover effects */
.hover-scale {
    transition: transform 0.3s ease;
}

.hover-scale:hover {
    transform: scale(1.05);
}

.card-hover:hover {
    border-color: rgba(187, 195, 255, 0.3);
}

/* Typography overrides */
.display-4 {
    font-weight: 800;
    letter-spacing: -0.02em;
}

.fs-7 {
    font-size: 0.85rem;
}