:root {
    --primary: #3b82f6;
    --secondary: #10b981;
    --background: #ffffff;
    --text: #1f2937;
    --card: #f9fafb;
}

.theme-blue { --primary: #3b82f6; --secondary: #10b981; }
.theme-purple { --primary: #8b5cf6; --secondary: #ec4899; }
.theme-amber { --primary: #f59e0b; --secondary: #ef4444; }
.dark { --background: #1a1a2e; --text: #e2e8f0; --card: #16213e; }

/* Floating background circles */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}
.floating { animation: float 6s ease-in-out infinite; }

/* Section titles with colored left border */
.section-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary);
    border-left: 4px solid var(--primary);
    padding-left: 0.75rem;
    margin-bottom: 1rem;
}

/* White card boxes with rounded corners and shadow */
.entry {
    background: var(--card);
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}
.entry:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

/* Section-level card wrapper */
section.mb-8 {
    background: var(--card);
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    margin-bottom: 2rem;
}

/* Skill progress bars */
.skill-bar {
    height: 8px;
    border-radius: 4px;
    background: #e5e7eb;
    overflow: hidden;
}
.skill-level {
    height: 100%;
    border-radius: 4px;
    background: var(--primary);
    transition: width 1s ease-in-out;
}

/* Legacy .progress class (if any partials still use it) */
.progress {
    height: 100%;
    border-radius: 4px;
    background: var(--primary);
    transition: width 1s ease-in-out;
}

/* Theme selector buttons */
.theme-selector {
    cursor: pointer;
    transition: all 0.3s ease;
}
.theme-selector:hover {
    transform: scale(1.1);
}

/* Resume section hover lift */
.resume-section {
    transition: all 0.3s ease;
}
.resume-section:hover {
    transform: translateY(-5px);
}
