:root {
    --bg-color: #1a1e24;
    --text-color: #e0e6ed;
    --text-muted: #8899a6;
    
    --neu-extrude-dark: #121519;
    --neu-extrude-light: #22272f;
    
    --neu-press-dark: #14171c;
    --neu-press-light: #20252c;
    
    --accent-color: #fff;
    --accent-text: #1a1e24;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: 'Inter', sans-serif;
}

.neu-outset {
    background-color: var(--bg-color);
    box-shadow: 6px 6px 12px var(--neu-extrude-dark), 
                -6px -6px 12px var(--neu-extrude-light);
    border: none !important;
}

.neu-inset {
    background-color: var(--bg-color);
    box-shadow: inset 6px 6px 12px var(--neu-press-dark), 
                inset -6px -6px 12px var(--neu-press-light);
    border: none !important;
}

.neu-sm-outset {
    background-color: var(--bg-color);
    box-shadow: 3px 3px 6px var(--neu-extrude-dark), 
                -3px -3px 6px var(--neu-extrude-light);
    border: none !important;
}

.neu-sm-inset {
    background-color: var(--bg-color);
    box-shadow: inset 3px 3px 6px var(--neu-press-dark), 
                inset -3px -3px 6px var(--neu-press-light);
    border: none !important;
}

.neu-btn-primary {
    background-color: var(--accent-color);
    color: var(--accent-text);
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.neu-btn-primary:hover {
    background-color: #f0f0f0;
}

.neu-btn-primary:active {
    box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.animate-fade-in {
    animation: fadeIn 0.4s ease-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}