:root {
     --bg-gradient: linear-gradient(135deg, #FFB74D 0%, #FFA726 50%, #FF9800 100%);
     --glass: linear-gradient(135deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0.15) 100%);
     --glass-border: 1px solid rgba(255, 255, 255, 0.6);
     --glass-shadow: 0 8px 32px 0 rgba(255, 140, 0, 0.25), inset 0 0 12px rgba(255, 255, 255, 0.5);
     --backdrop-filter: blur(16px);
     --text-primary: #3E2723;
     --input-border: #FFB74D;
     --card-bg: linear-gradient(135deg, #FFA726 0%, #FF8C00 100%);
     --card-text: #FFFFFF;
}

/* --- TEMA: LIQUID GLASS ESCURO --- */
body.liquid-glass-escuro {
     --bg-gradient: linear-gradient(135deg, #1A1A1A 0%, #2D1B00 50%, #0F0F0F 100%);
     --glass: linear-gradient(135deg, rgba(45, 27, 0, 0.55) 0%, rgba(20, 20, 20, 0.35) 100%);
     --glass-border: 1px solid rgba(255, 152, 0, 0.25);
     --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5), inset 0 0 12px rgba(255, 152, 0, 0.15);
     --backdrop-filter: blur(16px);
     --text-primary: #FFF3E0;
     --input-border: #FF8C00;
     --card-bg: linear-gradient(135deg, #3d2200 0%, #221200 100%);
     --card-text: #FFB74D;
}

/* --- TEMA: TEMA CLARO --- */
body.tema-claro {
     --bg-gradient: linear-gradient(180deg, #FF8C00 0%, #FFFFFF 100%);
     --glass: #FFFFFF;
     --glass-border: 1px solid #FFE0B2;
     --glass-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     --backdrop-filter: none;
     --text-primary: #8B4513;
     --input-border: #fdba74;
     --card-bg: linear-gradient(135deg, #FF8C00 0%, #FFB347 100%);
     --card-text: #FFFFFF;
}

/* --- TEMA: TEMA ESCURO --- */
body.tema-escuro {
     --bg-gradient: linear-gradient(180deg, #1c1917 0%, #0c0a09 100%);
     --glass: #1e1b18;
     --glass-border: 1px solid #292524;
     --glass-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
     --backdrop-filter: none;
     --text-primary: #f8fafc;
     --input-border: #ea580c;
     --card-bg: linear-gradient(135deg, #7c2d12 0%, #431407 100%);
     --card-text: #fdba74;
}

@font-face {
     font-family: 'Neo Sans';
     src: local('Neo Sans'), local('NeoSans');
}

body {
     background: var(--bg-gradient);
     height: 100vh;
     overflow-x: hidden;
     font-family: 'Neo Sans', 'Inter', sans-serif;
     transition: background 0.5s ease;
}

input, button, span, p, h1, h2, h3 {
     font-family: 'Neo Sans', 'Inter', sans-serif;
}

.glass-card {
     background: var(--glass);
     border-radius: 30px;
     border: var(--glass-border);
     box-shadow: var(--glass-shadow);
     backdrop-filter: var(--backdrop-filter);
     -webkit-backdrop-filter: var(--backdrop-filter);
     color: var(--text-primary);
     transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

/* Animação suave de entrada nas seções (quando ativadas) */
body:not(.sem-animacoes) section:not(.hidden) {
     animation: fadeInScale 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fadeInScale {
     0% {
         opacity: 0;
         transform: translateY(12px) scale(0.98);
     }
     100% {
         opacity: 1;
         transform: translateY(0) scale(1);
     }
}

/* Hover animado nos cards e botões */
body:not(.sem-animacoes) .glass-card:hover {
     transform: translateY(-2px);
}

.input-nexora {
     width: 100%;
     border-bottom: 2px solid var(--input-border);
     padding: 8px 0;
     outline: none;
     background: transparent;
     color: var(--text-primary);
     transition: border-color 0.3s ease;
}

.cartao-nexora {
     width: 160px;
     height: 100px;
     background: var(--card-bg);
     border-radius: 12px;
     padding: 12px;
     position: relative;
     flex-shrink: 0;
     color: var(--card-text);
     transition: transform 0.3s ease, background 0.3s ease;
}

body:not(.sem-animacoes) .cartao-nexora:hover {
     transform: scale(1.03);
}

.invest-card {
     width: 140px;
     height: 90px;
     background: white;
     border-radius: 12px;
     padding: 12px;
     flex-shrink: 0;
     border: 1px solid #fdba74;
}

.dark-mode .invest-card, .tema-escuro .invest-card, .liquid-glass-escuro .invest-card {
     background: #4a2f00;
     border-color: #854d0e;
}

.btn-disabled {
     background-color: #FF8C00 !important;
     cursor: not-allowed;
     opacity: 0.7;
}

.no-scrollbar::-webkit-scrollbar {
     display: none;
}

/* Animação para a tela de resultado */
@keyframes checkmark-scale {
     0% {
         transform: scale(0.5);
         opacity: 0;
     }
     100% {
         transform: scale(1);
         opacity: 1;
     }
}

body:not(.sem-animacoes) #res-icon-bg {
     animation: checkmark-scale 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* --- MODO SEM ANIMAÇÕES (Ativado nas Configs) --- */
body.sem-animacoes,
body.sem-animacoes *,
body.sem-animacoes *::before,
body.sem-animacoes *::after {
     animation: none !important;
     transition: none !important;
}