:root {
    --bg-gradient-start: #f5f3ff;
    --bg-gradient-end: #fdf2f8;
    --card-bg: rgba(255, 255, 255, 0.75);
    --card-border: rgba(255, 255, 255, 0.6);
    --text-primary: #1e293b;
}

body.dark-theme {
    --bg-gradient-start: #0f172a;
    --bg-gradient-end: #1e1b4b;
    --card-bg: rgba(30, 41, 59, 0.7);
    --card-border: rgba(255, 255, 255, 0.1);
    --text-primary: #f8fafc;
}

body.mint-theme {
    --bg-gradient-start: #f0fdf4;
    --bg-gradient-end: #ecfeff;
    --card-bg: rgba(255, 255, 255, 0.8);
    --card-border: rgba(242, 254, 245, 0.9);
    --text-primary: #064e3b;
}

body {
    color: var(--text-primary);
}

.glass-panel {
    background: var(--card-bg);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid var(--card-border);
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #e2e8f0;
    border-radius: 99px;
}
::-webkit-scrollbar-thumb:hover {
    background: #cbd5e1;
}

input:focus, select:focus, textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(167, 139, 250, 0.4);
}

@keyframes pulse-dot {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}
.console-dot {
    animation: pulse-dot 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
