
/* ---------- CSS RESET & VARIABLES ---------- */
:root {
    --primary: #0066FF;     /* DEEP BLUE */
    --primary-dark: #0047CC;
    --secondary: #00D4FF;   /* BRIGHT CYAN */
    --background: #0f1419;
    --surface: #1a1f2e;
    --surface-light: #232838;
    --surface-lighter: #2c3142;
    --text-primary: #ffffff;
    --text-secondary: #b8c2cc;
    --text-muted: #6c757d;
    --success: #28a745;
    --warning: #ffc107;
    --danger: #dc3545;
    --info: #17a2b8;
    --border: #2d3748;
    --border-light: #3a4558;
    --shadow: rgba(0, 0, 0, 0.4);
    --font-primary: 'Inter', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
}



* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-primary);
    background: var(--background);
    color: var(--text-primary);
    line-height: 1.6;
}

/* ---------- TYPOGRAPHY ---------- */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 1rem;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
p { margin-bottom: 1rem; }

/* ---------- LAYOUT & CONTAINERS ---------- */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.main-container {
    min-height: calc(100vh - 70px);
}

/* ---------- NAVIGATION ---------- */
.navbar {
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(10px);
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 70px;
}

.nav-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 1.25rem;
    background: linear-gradient(to right, 
        #00D4FF,           /* Bright Cyan */
        #9333EA,           /* Electric Purple */
        #3B82F6            /* Royal Blue */
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.logo { font-size: 1.5rem; }

.nav-links {
    display: flex;
    gap: 2rem;
}

.nav-link {
    color: var(--text-secondary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.nav-link:hover, .nav-link.active {
    color: var(--primary);
}

/* ---------- BUTTONS ---------- */
.btn-primary, .btn-outline {
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

.btn-primary {
    background: var(--primary);
    color: var(--text-primary);
}

.btn-primary:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(138, 43, 226, 0.3);
}

.btn-outline {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border);
}

.btn-outline:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.btn-glow {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    color: white;
    padding: 15px 30px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    animation: pulse 2s infinite;
    box-shadow: 0 0 20px rgba(138, 43, 226, 0.4);
}

.btn-glow:hover {
    transform: translateY(-3px);
    box-shadow: 0 0 30px rgba(138, 43, 226, 0.6);
    animation: none;
}

/* ---------- HERO SECTION ---------- */
.cyber-hero {
    background: linear-gradient(135deg, #0f1419 0%, #1a1f2e 100%);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.cyber-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.cyber-particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: var(--primary);
    border-radius: 50%;
    animation: float 6s infinite linear;
    opacity: 0.6;
}

.hero-content {
    text-align: center;
    z-index: 2;
    position: relative;
}

.hero-title {
    font-size: 4rem;
    margin-bottom: 1rem;
    background: linear-gradient(to right, 
        #00D4FF,           /* Bright Cyan (your current) */
        #9333EA,           /* Electric Purple */
        #3B82F6            /* Royal Blue */
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 700;
    letter-spacing: -0.5px;
    text-shadow: none !important;
}

/* Remove the old glow animation if exists */
/* animation: glow 2s ease-in-out infinite alternate; */
/* text-shadow: 0 0 30px rgba(138, 43, 226, 0.3); */

/* Remove or comment out the old animations if they're too flashy */
/* animation: glow 2s ease-in-out infinite alternate; */
/* text-shadow: 0 0 30px rgba(138, 43, 226, 0.3); */

.hero-subtitle {
    font-size: 1.5rem;
    color: var(--text-secondary);
    margin-bottom: 3rem;
}

.live-counter {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin: 2rem 0;
}

.counter-item {
    text-align: center;
}

.counter-number {
    display: block;
    font-size: 3rem;
    font-weight: 700;
    background: linear-gradient(to right, 
        #00D4FF,           /* Bright Cyan */
        #9333EA,           /* Electric Purple */
        #3B82F6            /* Royal Blue */
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
}

.counter-label {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.hero-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2rem;
}

/* ---------- APTITUDE TEST ---------- */
.cyber-test-section {
    background: var(--surface);
    padding: 7rem 0;  /* Increased from 5rem */
}

.test-header {
    text-align: center;
    margin-bottom: 3rem;
}

.test-header h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    background: linear-gradient(to right, 
        #00D4FF,           /* Bright Cyan */
        #9333EA,           /* Electric Purple */
        #3B82F6            /* Royal Blue */
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.test-container {
    max-width: 600px;
    margin: 0 auto;
    background: var(--surface-light);
    border-radius: 12px;
    padding: 3rem;
    border: 1px solid var(--border);
    box-shadow: 
        0 10px 30px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.test-progress {
    margin-bottom: 2rem;
}

.progress-bar {
    background: var(--surface);
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    border-radius: 4px;
    transition: width 0.3s ease;
}

.progress-text {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.question {
    display: none;
}

.question.active {
    display: block;
}

.question h3 {
    margin-bottom: 1.5rem;
    color: var(--text-primary);
}

.options {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.option {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 8px;
    padding: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.option:hover {
    border-color: var(--primary);
    transform: translateX(5px);
    box-shadow: 
        0 5px 15px rgba(59, 130, 246, 0.1),
        0 2px 5px rgba(0, 0, 0, 0.05);
}

.option:hover {
    border-color: var(--primary);
    transform: translateX(5px);
}

.option.selected {
    border-color: var(--primary);
    background: var(--surface-light);
}

.option-icon {
    font-size: 1.5rem;
}

.option-text {
    flex: 1;
    color: var(--text-primary);
}

.test-actions {
    display: flex;
    justify-content: space-between;
    margin-top: 2rem;
}

/* ---------- TEST RESULTS ---------- */
.test-results {
    text-align: center;
    padding: 2rem;
}

.result-icon {
    font-size: 4rem;
    margin-bottom: 1rem;
    animation: bounce 1s infinite alternate;
}

.role-match {
    margin: 1.5rem 0;
}

.match-percentage {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.match-bar {
    background: var(--surface-light);
    height: 10px;
    border-radius: 5px;
    overflow: hidden;
    max-width: 300px;
    margin: 0 auto;
}

.match-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    border-radius: 5px;
    transition: width 1s ease-in-out;
}

.result-details {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    text-align: left;
}

.strengths-section {
    margin: 1.5rem 0;
}

.strengths-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

.strength-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    background: var(--surface-light);
    border-radius: 8px;
    border-left: 3px solid var(--primary);
}

.strength-icon {
    color: var(--success);
    font-weight: bold;
}

.career-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.info-card {
    background: var(--surface-light);
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
}

.info-label {
    display: block;
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.info-value {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 1.1rem;
}

.recommendation-box {
    background: linear-gradient(135deg, var(--surface) 0%, var(--surface-light) 100%);
    border: 1px solid var(--primary);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
}

.recommendation-box h4 {
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.result-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin: 2rem 0;
    flex-wrap: wrap;
}

.other-roles {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border);
}

.other-roles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.other-role {
    background: var(--surface-light);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    transition: all 0.3s ease;
}

.other-role:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.role-icon {
    font-size: 1.5rem;
}

.role-name {
    flex: 1;
    font-weight: 600;
    color: var(--text-primary);
}

.role-score {
    color: var(--primary);
    font-weight: 600;
    font-size: 0.9rem;
}

/* ---------- VALUE PROPOSITION ---------- */
.value-proposition {
    padding: 7rem 0;
    background: var(--surface);
}

.value-proposition h2 {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 3rem;
    background: linear-gradient(to right, 
        #00D4FF,           /* Bright Cyan */
        #9333EA,           /* Electric Purple */
        #3B82F6            /* Royal Blue */
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.value-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.value-card {
    background: var(--surface-light);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 2.5rem;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 
        0 4px 6px rgba(0, 0, 0, 0.1),
        0 1px 3px rgba(0, 0, 0, 0.08);
    position: relative;
}

.value-card:hover {
    border-color: var(--primary);
    transform: translateY(-8px);
    box-shadow: 
        0 20px 40px rgba(59, 130, 246, 0.15),
        0 10px 20px rgba(0, 0, 0, 0.1),
        0 0 0 1px rgba(59, 130, 246, 0.1);
}

.value-card:hover {
    border-color: var(--primary);
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(138, 43, 226, 0.2);
}

.value-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.value-card h3 {
    color: var(--text-primary);
    margin-bottom: 1rem;
}

.value-card p {
    color: var(--text-secondary);
    line-height: 1.6;
}

/* ---------- PREVIEW SECTIONS ---------- */
.time-machine-preview,
.success-journey-preview,
.simulator-preview,
.tracks-preview {
    padding: 6rem 0;
    border-top: 1px solid var(--border);
}

.time-machine-preview { background: linear-gradient(135deg, var(--surface) 0%, var(--background) 100%); }
.success-journey-preview { background: linear-gradient(135deg, var(--surface-light) 0%, var(--surface) 100%); }
.simulator-preview { background: linear-gradient(135deg, var(--surface) 0%, var(--background) 100%); }
.tracks-preview { background: linear-gradient(135deg, var(--surface) 0%, var(--background) 100%); }

.preview-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    align-items: center;
}

.success-journey-preview .preview-content {
    grid-template-columns: 1fr 2fr;
}

.preview-text h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    background: linear-gradient(to right, 
        #00D4FF,           /* Bright Cyan */
        #9333EA,           /* Electric Purple */
        #3B82F6            /* Royal Blue */
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.preview-features {
    display: flex;
    gap: 1rem;
    margin: 1.5rem 0;
    flex-wrap: wrap;
}

.feature {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--surface-light);
    padding: 0.75rem 1rem;
    border-radius: 8px;
    border: 1px solid var(--border);
}

.feature-icon {
    font-size: 1.2rem;
}

.feature-text {
    color: var(--text-primary);
    font-size: 0.9rem;
    font-weight: 500;
}

/* Preview Animations */
.time-machine-animation,
.journey-animation,
.career-animation {
    position: relative;
    text-align: center;
}

.time-wheel {
    font-size: 8rem;
    animation: spin 4s linear infinite;
}

.salary-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background: var(--success);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 1.1rem;
    animation: bounce 2s infinite;
}

.journey-path {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.path-step {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: all 0.3s ease;
}

.path-step.current {
    border-color: var(--primary);
    background: var(--primary);
    color: white;
    transform: scale(1.1);
}

.path-connector {
    color: var(--text-muted);
    font-size: 1.5rem;
}

.career-planet {
    font-size: 8rem;
    animation: float 3s ease-in-out infinite;
}

.role-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background: var(--primary);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 1.1rem;
    animation: pulse 2s infinite;
}

/* Journey Steps */
.journey-steps {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 2rem 0;
}

.step {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--surface-light);
    border-radius: 8px;
    border-left: 4px solid var(--primary);
}

.step-number {
    background: var(--primary);
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
}

.step-text {
    color: var(--text-primary);
    font-weight: 500;
}

/* Tracks Preview */
.preview-header {
    text-align: center;
    margin-bottom: 3rem;
}

.preview-tracks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.preview-track {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    transition: all 0.3s ease;
}

.preview-track:hover {
    border-color: var(--primary);
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(138, 43, 226, 0.2);
}

.preview-track-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.preview-track .track-icon {
    font-size: 2rem;
}

.preview-track h4 {
    color: var(--text-primary);
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.preview-track p {
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
}

.preview-cta {
    text-align: center;
}

/* ---------- TRACKS PAGE ---------- */
.tracks-page {
    background: linear-gradient(135deg, var(--surface) 0%, var(--background) 100%);
    min-height: 100vh;
}

.page-header {
    text-align: center;
    margin: 4rem 0 3rem;
}

.page-header h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.page-header p {
    color: var(--text-secondary);
    font-size: 1.1rem;
}

.tracks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
    margin-bottom: 4rem;
}

.track-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.track-card:hover {
    border-color: var(--primary);
    transform: translateY(-6px);
    box-shadow: 
        0 15px 35px rgba(59, 130, 246, 0.12),
        0 5px 15px rgba(0, 0, 0, 0.08);
}

.track-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.track-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
    box-shadow: 0 10px 30px rgba(138, 43, 226, 0.2);
}

.track-card:hover::before {
    transform: scaleX(1);
}

.track-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
    gap: 1rem;
}

.difficulty-badge {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
}

.difficulty-beginner { background: rgba(40, 167, 69, 0.1); color: var(--success); border: 1px solid var(--success); }
.difficulty-intermediate { background: rgba(255, 193, 7, 0.1); color: var(--warning); border: 1px solid var(--warning); }
.difficulty-advanced { background: rgba(220, 53, 69, 0.1); color: var(--danger); border: 1px solid var(--danger); }

.track-time {
    color: var(--text-muted);
    font-size: 0.9rem;
    white-space: nowrap;
}

.track-icon {
    font-size: 2rem;
    margin-bottom: 1rem;
    text-align: center;
}

.track-card h3 {
    color: var(--text-primary);
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
    line-height: 1.4;
}

.track-card p {
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
    line-height: 1.5;
    flex-grow: 1;
}

.track-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.track-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    flex: 1;
}

.tag {
    background: var(--surface-light);
    color: var(--text-secondary);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    white-space: nowrap;
}

/* ---------- TRACK CONTENT PAGE ---------- */
.track-page {
    background: linear-gradient(135deg, var(--surface) 0%, var(--background) 100%);
    min-height: 100vh;
}

.track-header {
    background: linear-gradient(135deg, var(--surface) 0%, var(--background) 100%);
    padding: 2rem 0;
    border-bottom: 1px solid var(--border);
}

.breadcrumb {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-bottom: 2rem;
}

.breadcrumb a {
    color: var(--primary);
    text-decoration: none;
}

.track-hero {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.track-icon-large {
    font-size: 4rem;
    background: var(--surface-light);
    padding: 1.5rem;
    border-radius: 12px;
}

.track-info h1 {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

.track-info p {
    color: var(--text-secondary);
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
}

.track-meta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.meta-item {
    background: var(--surface-light);
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.track-content {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 3rem;
    margin: 3rem 0;
}

/* Sidebar */
.content-sidebar {
    position: sticky;
    top: 90px;
    height: fit-content;
}

.sidebar-section {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.sidebar-section h3 {
    font-size: 1.1rem;
    margin-bottom: 1rem;
    color: var(--primary);
}

.task-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.task-item {
    padding: 0.75rem 1rem;
    border-radius: 6px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
    cursor: pointer;
    background: var(--surface-light);
    border: 1px solid var(--border);
}

.task-item:hover, .task-item.active {
    background: var(--surface-lighter);
    color: var(--primary);
    border-left-color: var(--primary);
}

.tools-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.tool-tag {
    background: var(--surface-light);
    color: var(--text-secondary);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
}

/* Task Sections */
.task-section {
    margin-bottom: 1rem;
    scroll-margin-top: 2rem;
    display: none;
}

.task-section.active {
    display: block;
}

.task-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.task-number {
    background: var(--primary);
    color: var(--text-primary);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
}

.learning-objectives {
    background: var(--surface-light);
    border-left: 4px solid var(--primary);
    padding: 1.5rem;
    border-radius: 0 8px 8px 0;
    margin-bottom: 2rem;
}

.learning-objectives h4 {
    color: var(--primary);
    margin-bottom: 1rem;
}

.learning-objectives ul {
    list-style: none;
}

.learning-objectives li {
    margin-bottom: 0.5rem;
    padding-left: 1.5rem;
    position: relative;
}

.learning-objectives li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--primary);
    font-weight: bold;
}

/* Content Components */
.info-box, .warning-box {
    background: var(--surface-light);
    padding: 1.5rem;
    border-radius: 0 8px 8px 0;
    margin: 1.5rem 0;
}

.info-box { border-left: 4px solid var(--info); }
.warning-box { border-left: 4px solid var(--warning); }

table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

th, td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid var(--border);
}

th {
    background: var(--surface-light);
    color: var(--primary);
    font-weight: 600;
}

tr:hover {
    background: var(--surface-light);
}

.code-comparison {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: 1.5rem 0;
}

.code-block {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.code-block h4 {
    background: var(--surface-light);
    padding: 0.75rem 1rem;
    margin: 0;
    font-size: 0.9rem;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
}

.code-block pre {
    padding: 1rem;
    margin: 0;
    font-family: var(--font-mono);
    font-size: 0.9rem;
    overflow-x: auto;
}

.code-block.parsed pre {
    color: var(--success);
}

.exercise {
    background: var(--surface-light);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
}

.exercise h4 {
    color: var(--primary);
    margin-bottom: 1rem;
}

details {
    margin-top: 1rem;
}

summary {
    cursor: pointer;
    color: var(--primary);
    font-weight: 500;
}

.sources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.source-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.5rem;
    text-align: center;
}

.source-icon {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.source-card ul {
    list-style: none;
    text-align: left;
}

.source-card li {
    padding: 0.25rem 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
    position: relative;
    padding-left: 1rem;
}

.source-card li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--primary);
}

.workflow-steps {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1.5rem 0;
}

.step {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.step-number {
    background: var(--surface-light);
    color: var(--primary);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.use-cases {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1.5rem 0;
}

.use-case {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.5rem;
}

.indicators {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.indicator {
    background: var(--surface-light);
    color: var(--text-secondary);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8rem;
}

.completion-box {
    background: linear-gradient(135deg, var(--surface) 0%, var(--surface-light) 100%);
    border: 1px solid var(--primary);
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    margin-top: 3rem;
}

.completion-box h3 {
    color: var(--primary);
    margin-bottom: 1rem;
}

/* ---------- TIME MACHINE ---------- */
.time-machine-container {
    background: linear-gradient(135deg, var(--surface) 0%, var(--background) 100%);
    min-height: 100vh;
}

.machine-header {
    background: linear-gradient(135deg, #1a1f2e 0%, #0f1419 100%);
    padding: 2rem 0;
    border-bottom: 1px solid var(--border);
}

.machine-hero {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.machine-icon {
    font-size: 4rem;
    background: var(--surface-light);
    padding: 1.5rem;
    border-radius: 12px;
}

.machine-info h1 {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.machine-info p {
    color: var(--text-secondary);
    font-size: 1.1rem;
}

/* Career Selection */
.career-selection {
    text-align: center;
    padding: 2rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    margin: 2rem 0;
    color: var(--text-primary);
}

.career-selection h2 {
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.career-selection p {
    color: var(--text-secondary);
    margin-bottom: 2rem;
}

.path-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
}

.path-btn {
    background: var(--surface-light);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    color: var(--text-primary);
}

.path-btn:hover {
    border-color: var(--primary);
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(138, 43, 226, 0.2);
}

.path-btn.active {
    border-color: var(--primary);
    background: var(--surface-lighter);
}

.path-icon {
    font-size: 2.5rem;
}

.path-title {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 1.1rem;
}

.path-desc {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.quiz-cta {
    margin-top: 2rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, var(--surface) 0%, var(--surface-light) 100%);
    border: 1px solid var(--primary);
    border-radius: 8px;
    color: var(--text-primary);
}

.quiz-cta p {
    margin-bottom: 1rem;
    color: var(--text-primary);
}

/* Time Machine Interface */
.time-machine-interface {
    max-width: 800px;
    margin: 3rem auto;
    padding: 2rem;
}

.time-machine-interface.hidden,
.career-selection.hidden {
    display: none;
}

.time-section {
    margin-bottom: 3rem;
    transition: all 0.5s ease;
}

.time-label {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: var(--primary);
    text-align: center;
}

.future-label {
    color: var(--secondary);
}

.career-card {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 2rem;
    display: flex;
    align-items: center;
    gap: 2rem;
    transition: all 0.3s ease;
}

.career-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(138, 43, 226, 0.2);
}

.future-card {
    border-color: var(--secondary);
}

.avatar {
    font-size: 3rem;
    background: var(--surface-light);
    padding: 1rem;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.career-info h3 {
    margin-bottom: 1rem;
    color: var(--text-primary);
}

.stats {
    display: flex;
    gap: 2rem;
}

.stat {
    text-align: center;
}

.stat .label {
    display: block;
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.stat .value {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
}

.value.beginner { color: var(--success); }
.value.salary { color: var(--primary); font-size: 1.1rem; }

/* Time Controls */
.time-controls {
    margin: 3rem 0;
    text-align: center;
}

.control-group {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.time-btn {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    min-width: 120px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.time-btn:hover {
    border-color: var(--primary);
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(138, 43, 226, 0.3);
}

.time-btn.max {
    border-color: var(--secondary);
}

.time-btn.max:hover {
    border-color: var(--secondary);
    box-shadow: 0 5px 15px rgba(0, 206, 209, 0.3);
}

.time-icon {
    font-size: 2rem;
}

.time-desc {
    font-size: 0.9rem;
    color: var(--text-secondary);
}

/* Progress Section */
.progress-section {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
}

.progress-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.skill-label {
    min-width: 120px;
    color: var(--text-primary);
    font-weight: 500;
}

.progress-bar {
    flex: 1;
    background: var(--surface-light);
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    border-radius: 4px;
    transition: width 1s ease-in-out;
    width: 0%;
}

.skill-percent {
    min-width: 40px;
    text-align: right;
    color: var(--text-secondary);
    font-weight: 600;
}

/* Companies Section */
.companies-section {
    margin: 2rem 0;
}

.companies-section h4 {
    color: var(--text-primary);
    margin-bottom: 1rem;
    text-align: center;
}

.companies-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
}

.company-logo {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
    font-weight: 600;
    transition: all 0.3s ease;
}

.company-logo:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

/* Daily Tasks */
.daily-tasks {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
}

.daily-tasks h4 {
    color: var(--text-primary);
    margin-bottom: 1.5rem;
    text-align: center;
}

.tasks-timeline {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.task-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--surface-light);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.task-item:hover {
    background: var(--surface-lighter);
    transform: translateX(5px);
}

.task-time {
    font-weight: 600;
    color: var(--primary);
    min-width: 80px;
}

.task-desc {
    color: var(--text-secondary);
    flex: 1;
}

/* Comparison Section */
.comparison-section {
    background: var(--surface-light);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    margin: 2rem 0;
}

.comparison-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.comparison-item {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.comparison-item:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 3px 10px rgba(138, 43, 226, 0.2);
}

.comparison-icon {
    font-size: 1.5rem;
}

.comparison-info {
    flex: 1;
}

.comparison-role {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.comparison-salary {
    color: var(--primary);
    font-weight: 600;
    font-size: 0.9rem;
}

/* CTA Section */
.cta-section {
    text-align: center;
    margin: 3rem 0;
    padding: 2rem;
    background: linear-gradient(135deg, var(--surface) 0%, var(--surface-light) 100%);
    border-radius: 12px;
    border: 1px solid var(--primary);
}

.achievement-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--primary);
    color: var(--text-primary);
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    margin-bottom: 1rem;
    font-weight: 600;
}

.badge-icon {
    font-size: 1.2rem;
}

.cta-section p {
    color: var(--text-secondary);
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.action-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 2rem;
    flex-wrap: wrap;
}

/* Time Machine Button */
.time-machine-btn {
    background: linear-gradient(135deg, #8a2be2 0%, #00ced1 100%);
    color: white;
    border: none;
}

.time-machine-btn:hover {
    background: linear-gradient(135deg, #6a1cb8 0%, #00b4b8 100%);
    color: white;
}

/* ---------- CAREER SIMULATOR ---------- */
.career-simulator-container {
    background: linear-gradient(135deg, var(--surface) 0%, var(--background) 100%);
    min-height: 100vh;
}

.simulator-header {
    background: linear-gradient(135deg, #1a1f2e 0%, #0f1419 100%);
    padding: 2rem 0;
    border-bottom: 1px solid var(--border);
}

.simulator-hero {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.simulator-icon {
    font-size: 4rem;
    background: var(--surface-light);
    padding: 1.5rem;
    border-radius: 12px;
}

.simulator-info h1 {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.simulator-info p {
    color: var(--text-secondary);
    font-size: 1.1rem;
}

/* Character Creation */
.character-creation {
    text-align: center;
    padding: 3rem 0;
}

.creation-form {
    max-width: 600px;
    margin: 0 auto;
}

.avatar-preview {
    margin-bottom: 2rem;
}

.avatar-display {
    font-size: 4rem;
    background: var(--surface-light);
    width: 120px;
    height: 120px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    border: 3px solid var(--primary);
}

.avatar-customize {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.avatar-option {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 8px;
    padding: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.avatar-option:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.background-selection {
    margin: 2rem 0;
}

.background-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}

.bg-option {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.bg-option:hover {
    border-color: var(--primary);
    transform: translateY(-3px);
}

.bg-option.selected {
    border-color: var(--primary);
    background: var(--surface-light);
}

.bg-icon {
    font-size: 2rem;
}

.bg-title {
    font-weight: 600;
    color: var(--text-primary);
}

.bg-desc {
    font-size: 0.9rem;
    color: var(--text-secondary);
    text-align: center;
}

/* Cyber Universe Map */
.cyber-universe {
    padding: 2rem 0;
}

.universe-map {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.continent {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s ease;
}

.continent:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(138, 43, 226, 0.2);
}

.continent.blue-team { border-left: 4px solid #3b82f6; }
.continent.red-team { border-left: 4px solid #ef4444; }
.continent.dfir { border-left: 4px solid #10b981; }
.continent.cloud { border-left: 4px solid #f59e0b; }

.continent-header h3 {
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.continent-header p {
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
}

.cities {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.city {
    background: var(--surface-light);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
}

.city:hover {
    border-color: var(--primary);
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(138, 43, 226, 0.2);
}

.city-icon {
    font-size: 2rem;
}

.city-name {
    font-weight: 600;
    color: var(--text-primary);
}

.city-salary {
    font-size: 0.9rem;
    color: var(--primary);
    font-weight: 600;
}

/* Role Details */
.role-details {
    background: var(--surface);
    border: 2px solid var(--primary);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    position: relative;
}

.details-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.close-details {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.close-details:hover {
    color: var(--primary);
    background: var(--surface-light);
}

.role-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.role-stats .stat {
    background: var(--surface-light);
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
}

.role-stats .label {
    display: block;
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.role-stats .value {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 1.1rem;
}

.skills-required {
    margin: 2rem 0;
}

.skills-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.skill-item {
    background: var(--surface-light);
    color: var(--text-primary);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    border: 1px solid var(--border);
}

.day-in-life {
    margin: 2rem 0;
}

.timeline {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
}

.timeline-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--surface-light);
    border-radius: 8px;
}

.career-path {
    margin: 2rem 0;
}

.path-steps {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
}

.path-step {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    background: var(--surface-light);
    border-radius: 8px;
    border-left: 4px solid var(--primary);
}

.step-role {
    font-weight: 600;
    color: var(--text-primary);
}

.step-duration {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

/* ---------- SUCCESS JOURNEY ---------- */
.success-journey-container {
    background: linear-gradient(135deg, var(--surface) 0%, var(--background) 100%);
    min-height: 100vh;
}

.journey-header {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    padding: 3rem 0;
    text-align: center;
    color: white;
}

.journey-header h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.character-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
}

.stat-card {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: all 0.3s ease;
}

.stat-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.stat-icon {
    font-size: 2rem;
}

.stat-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
}

.stat-label {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.quest-map {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 3rem 0;
}

.quest {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.quest:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.quest-header {
    background: var(--surface-light);
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid var(--border);
}

.quest-number {
    background: var(--primary);
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.quest-header h3 {
    margin: 0;
    flex: 1;
}

.quest-status {
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.quest-status.completed {
    background: var(--success);
    color: white;
}

.quest-status.locked {
    background: var(--text-muted);
    color: white;
}

.quest-content {
    padding: 1.5rem;
}

.quest-rewards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.reward {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    background: var(--surface-light);
    border-radius: 8px;
}

.reward-icon {
    font-size: 1.2rem;
}

.reward-text {
    font-size: 0.9rem;
    color: var(--text-primary);
}

.unlock-condition {
    margin-top: 1rem;
    padding: 1rem;
    background: var(--surface-light);
    border-radius: 8px;
    border-left: 4px solid var(--warning);
}

.condition-text {
    display: block;
    color: var(--text-secondary);
    margin-bottom: 0.5rem;
}

.success-visualization {
    margin: 4rem 0;
    text-align: center;
}

.transformation-path {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.stage {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    min-width: 150px;
    transition: all 0.3s ease;
}

.stage.current {
    border-color: var(--primary);
    background: var(--surface-light);
}

.stage-icon {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.stage h4 {
    margin: 0.5rem 0;
    color: var(--text-primary);
}

.stage p {
    margin: 0.25rem 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.stage-salary {
    display: block;
    font-weight: 700;
    color: var(--primary);
    margin-top: 0.5rem;
}

.stage-connector {
    font-size: 1.5rem;
    color: var(--text-muted);
}

.journey-cta {
    background: linear-gradient(135deg, var(--surface) 0%, var(--surface-light) 100%);
    border: 2px solid var(--primary);
    border-radius: 12px;
    padding: 3rem;
    text-align: center;
    margin: 3rem 0;
}

.cta-content h2 {
    margin-bottom: 1rem;
    color: var(--text-primary);
}

.cta-content p {
    color: var(--text-secondary);
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.cta-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* ---------- FOOTER ---------- */
.footer {
    background: var(--surface);
    border-top: 1px solid var(--border);
    margin-top: 4rem;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 3rem 20px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem;
}

.footer-section h3, .footer-section h4 {
    color: var(--primary);
    margin-bottom: 1rem;
}

.footer-section p {
    color: var(--text-secondary);
    margin-bottom: 1rem;
}

.footer-section a {
    display: block;
    color: var(--text-secondary);
    text-decoration: none;
    margin-bottom: 0.5rem;
    transition: color 0.3s ease;
}

.footer-section a:hover {
    color: var(--primary);
}

.footer-bottom {
    border-top: 1px solid var(--border);
    padding: 1.5rem 0;
    text-align: center;
    color: var(--text-muted);
}

/* ---------- UTILITY CLASSES ---------- */
.hidden {
    display: none;
}

.celebrate {
    animation: celebrate 0.5s ease;
}

/* ---------- ANIMATIONS ---------- */
@keyframes float {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 0.6;
    }
    90% {
        opacity: 0.6;
    }
    100% {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}

@keyframes glow {
    from {
        text-shadow: 0 0 20px rgba(138, 43, 226, 0.5);
    }
    to {
        text-shadow: 0 0 30px rgba(0, 206, 209, 0.8), 0 0 40px rgba(138, 43, 226, 0.6);
    }
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 20px rgba(138, 43, 226, 0.4);
    }
    50% {
        box-shadow: 0 0 30px rgba(138, 43, 226, 0.8);
    }
    100% {
        box-shadow: 0 0 20px rgba(138, 43, 226, 0.4);
    }
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes celebrate {
    0% { transform: scale(1); }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); }
}

/* ---------- RESPONSIVE DESIGN ---------- */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5rem;
    }
    
    .live-counter {
        flex-direction: column;
        gap: 1rem;
    }
    
    .hero-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .result-actions,
    .test-actions {
        flex-direction: column;
    }
    
    .result-actions a,
    .result-actions button,
    .test-actions button {
        width: 100%;
        text-align: center;
    }
    
    .preview-content,
    .time-machine-preview .preview-content,
    .success-journey-preview .preview-content,
    .simulator-preview .preview-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .success-journey-preview .preview-content {
        grid-template-columns: 1fr;
    }
    
    .journey-path,
    .transformation-path {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .path-connector,
    .stage-connector {
        transform: rotate(90deg);
    }
    
    .preview-features {
        justify-content: center;
    }
    
    .time-wheel,
    .career-planet {
        font-size: 5rem;
    }
    
    .preview-tracks,
    .tracks-grid {
        grid-template-columns: 1fr;
    }
    
    .preview-track-header {
        flex-direction: column;
        gap: 0.5rem;
        align-items: center;
    }
    
    .character-stats {
        grid-template-columns: 1fr;
    }
    
    .track-hero {
        flex-direction: column;
        text-align: center;
    }
    
    .track-content {
        grid-template-columns: 1fr;
    }
    
    .content-sidebar {
        position: static;
        order: 2;
    }
    
    .footer-container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .path-options,
    .comparison-grid,
    .strengths-grid,
    .other-roles-grid {
        grid-template-columns: 1fr;
    }
    
    .action-buttons {
        flex-direction: column;
    }
    
    .action-buttons button,
    .action-buttons a {
        width: 100%;
        text-align: center;
    }
    
    /* Mobile-specific time machine fixes */
    .time-btn {
        min-width: 100px;
        padding: 1rem;
    }
    
    .career-card {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }
    
    .stats {
        flex-direction: column;
        gap: 1rem;
    }
    
}

/* Time Machine Back Button */
.back-to-selection {
    margin-bottom: 2rem;
    text-align: left;
}

.back-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: var(--surface-light);
    border: 1px solid var(--border);
    color: var(--text-primary);
    font-weight: 500;
    transition: all 0.3s ease;
}

.back-btn:hover {
    border-color: var(--primary);
    background: var(--surface);
    color: var(--primary);
}

/* Time Button Active State */
.time-btn.active {
    border-color: var(--primary);
    background: var(--surface-light);
    box-shadow: 0 0 0 2px rgba(138, 43, 226, 0.2);
}

.time-btn.active .time-icon {
    color: var(--primary);
}

.time-btn.active .time-label {
    color: var(--primary);
}

/* Path Button Active State */
.path-btn.active {
    border-color: var(--primary);
    background: var(--surface-lighter);
    box-shadow: 0 0 0 2px rgba(138, 43, 226, 0.2);
}

/* Responsive fixes for back button */
@media (max-width: 768px) {
    .back-to-selection {
        text-align: center;
    }
    
    .back-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ========== NEW CAREER SIMULATOR STYLES ========== */

/* Selection Options */
.selection-section {
    margin: 2rem 0;
}

.selection-section h3 {
    color: var(--primary);
    margin-bottom: 1rem;
    font-size: 1.25rem;
}

.selection-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
}

.avatar-option, .bg-option {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.avatar-option:hover, .bg-option:hover {
    border-color: var(--primary);
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(138, 43, 226, 0.2);
}

.avatar-option.selected, .bg-option.selected {
    border-color: var(--primary);
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.1) 0%, rgba(0, 206, 209, 0.1) 100%);
    transform: translateY(-3px);
    box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.1);
    animation: pulse-gentle 2s infinite;
}

.option-icon {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.option-title {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 1.1rem;
}

.option-desc {
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.4;
}

/* Selection Confirmation */
.selection-confirmation {
    margin-top: 1rem;
    text-align: center;
}

.confirmation-badge {
    display: inline-block;
    background: var(--success);
    color: white;
    padding: 0.5rem 1.5rem;
    border-radius: 25px;
    font-weight: 500;
    animation: slideIn 0.5s ease;
}

/* Personalized Message */
.personalized-message {
    background: linear-gradient(135deg, var(--surface) 0%, var(--surface-light) 100%);
    border: 1px solid var(--primary);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    animation: fadeIn 0.8s ease;
}

.message-header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.message-header h3 {
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.main-message {
    font-size: 1.1rem;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.background-message {
    color: var(--secondary);
    font-size: 0.95rem;
    margin-bottom: 1rem;
}

.perks-list {
    margin: 1.5rem 0;
}

.perks-list h4 {
    color: var(--text-primary);
    margin-bottom: 1rem;
    font-size: 1.1rem;
}

.perks-list ul {
    list-style: none;
    padding-left: 0;
}

.perks-list li {
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
    background: var(--surface);
    border-radius: 8px;
    border-left: 4px solid var(--primary);
    color: var(--text-secondary);
}

.perks-list li strong {
    color: var(--text-primary);
}

.confidence-booster {
    background: rgba(40, 167, 69, 0.1);
    border: 1px solid var(--success);
    border-radius: 8px;
    padding: 1rem;
    margin-top: 1.5rem;
    text-align: center;
}

.confidence-booster p {
    margin: 0;
    color: var(--text-primary);
}

/* User Profile Preview */
.universe-header {
    text-align: center;
    margin-bottom: 2rem;
}

.user-profile-preview {
    margin-top: 1rem;
}

.profile-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--surface);
    border: 1px solid var(--primary);
    border-radius: 25px;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
}

.avatar-icon {
    font-size: 1.2rem;
}

.profile-text {
    color: var(--text-primary);
}

/* Personalized Advantage */
.personalized-advantage {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.1) 0%, rgba(0, 206, 209, 0.1) 100%);
    border: 1px solid var(--primary);
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    animation: slideIn 0.5s ease;
}

.advantage-box {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.advantage-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.advantage-content h4 {
    color: var(--primary);
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
}

.advantage-content p {
    color: var(--text-primary);
    margin: 0;
    line-height: 1.5;
}

/* New Animations */
@keyframes pulse-gentle {
    0%, 100% { box-shadow: 0 0 0 3px rgba(138, 43, 226, 0.1); }
    50% { box-shadow: 0 0 0 6px rgba(138, 43, 226, 0.2); }
}

@keyframes slideIn {
    from { 
        opacity: 0;
        transform: translateY(20px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .selection-options {
        grid-template-columns: 1fr;
    }
    
    .avatar-option, .bg-option {
        padding: 1.25rem;
    }
    
    .option-icon {
        font-size: 1.5rem;
    }
    
    .personalized-message {
        padding: 1.5rem;
    }
    
    .perks-list li {
        padding: 0.75rem;
        font-size: 0.9rem;
    }
    
    .profile-badge {
        flex-direction: column;
        gap: 0.5rem;
        padding: 0.75rem;
    }
}

/* ========== FIXED CAREER PROGRESSION STYLES ========== */
#career-path .path-step {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    background: var(--surface-light);
    border-radius: 8px;
    border-left: 4px solid var(--primary);
    margin-bottom: 0.75rem;
    gap: 1rem;
}

#career-path .path-step:last-child {
    margin-bottom: 0;
}

#career-path .step-role {
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
    word-break: break-word;
    font-size: 0.95rem;
}

#career-path .step-duration {
    color: var(--secondary);
    font-size: 0.85rem;
    white-space: nowrap;
    flex-shrink: 0;
    margin-left: 1rem;
    padding: 0.25rem 0.75rem;
    background: var(--surface);
    border-radius: 4px;
    border: 1px solid var(--border);
}

/* Mobile responsiveness for career path */
@media (max-width: 768px) {
    #career-path .path-step {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    
    #career-path .step-duration {
        align-self: flex-end;
        margin-left: 0;
        margin-top: 0.5rem;
    }
}

/* ========== FIX FOR CAREER SIMULATOR PROGRESSION ONLY ========== */
#career-path .path-step {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 1rem !important;
    background: var(--surface-light) !important;
    border-radius: 8px !important;
    border-left: 4px solid var(--primary) !important;
    margin-bottom: 0.75rem !important;
    gap: 1rem !important;
    clear: both !important;
}

#career-path .path-step:last-child {
    margin-bottom: 0 !important;
}

#career-path .step-role {
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    flex: 1 !important;
    min-width: 0 !important;
    word-break: break-word !important;
    font-size: 0.95rem !important;
}

#career-path .step-duration {
    color: var(--secondary) !important;
    font-size: 0.85rem !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    margin-left: 1rem !important;
    padding: 0.25rem 0.75rem !important;
    background: var(--surface) !important;
    border-radius: 4px !important;
    border: 1px solid var(--border) !important;
}

@media (max-width: 768px) {
    #career-path .path-step {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.5rem !important;
    }
    
    #career-path .step-duration {
        align-self: flex-end !important;
        margin-left: 0 !important;
        margin-top: 0.5rem !important;
    }
}
/* Cyber Loader Styles */
.cyber-loader {
    font-family: 'JetBrains Mono', monospace;
}

.loader-content {
    width: 600px;
    max-width: 90%;
    background: rgba(26, 31, 46, 0.95);
    border: 1px solid var(--primary);
    border-radius: 8px;
    padding: 2rem;
    box-shadow: 0 0 50px rgba(138, 43, 226, 0.5);
}

.loader-text {
    color: var(--primary);
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    text-align: center;
    animation: pulse 1.5s infinite;
}

.loader-progress {
    margin-bottom: 2rem;
}

.loader-progress .progress-bar {
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    border-radius: 2px;
    width: 0%;
    transition: width 0.3s ease;
}

.loader-progress .progress-text {
    text-align: right;
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-top: 0.5rem;
}

.loader-commands {
    color: #00ff9d;
}

.loader-commands .command {
    opacity: 0;
    transition: opacity 0.5s ease;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}

.loader-commands .command:before {
    content: '> ';
    color: var(--primary);
}

/* Simple particle animation for backup */
.cyber-particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: var(--primary);
    border-radius: 50%;
    animation: float 8s infinite linear;
    opacity: 0.6;
}

@keyframes float {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 0.6;
    }
    90% {
        opacity: 0.6;
    }
    100% {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}

/* Make sure hero content is above canvas */
.hero-content {
    position: relative;
    z-index: 10;
}

/* If canvas doesn't load, show simple particles as fallback */
.cyber-hero:has(canvas:not(:empty)) .cyber-particle {
    display: none;
}
/* Fix background positioning */
body {
    position: relative;
    overflow-x: hidden;
}

canvas {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: -100 !important;
    pointer-events: none !important;
}

.main-container {
    position: relative;
    z-index: 1;
    background: rgba(15, 20, 25, 0.7); /* Slight transparency to show background */
}

.cyber-hero {
    background: transparent !important; /* Remove the gradient background */
}

/* Make sure hero content is visible */
.hero-content {
    position: relative;
    z-index: 10;
}

/* Sections should have slight transparency to show background */
.value-proposition,
.time-machine-preview,
.success-journey-preview,
.simulator-preview,
.tracks-preview,
.cyber-test-section {
    background: rgba(26, 31, 46, 0.85) !important;
    backdrop-filter: blur(5px);
}

/* ========== NEW TRACKS PAGE STYLES ========== */

/* Track Card with Salary */
.track-card .track-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.track-salary {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.85rem;
    white-space: nowrap;
}

.track-demand {
    color: var(--warning);
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
    font-weight: 500;
}

.track-duration {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

/* Track Meta on Track Page */
.track-meta .meta-item.salary {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    color: white;
    border: none;
}

/* Career Guidance */
.career-guidance {
    text-align: center;
    margin-top: 4rem;
    padding: 2rem;
    background: var(--surface);
    border: 2px solid var(--primary);
    border-radius: 12px;
}

.career-guidance h2 {
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.career-guidance p {
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
}

/* ========== ROADMAP STYLES ========== */
.track-roadmap-wrapper {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 2rem;
    margin: 2rem 0;
}

.roadmap-sidebar {
    position: sticky;
    top: 90px;
    height: fit-content;
}

.journey-progress {
    text-align: center;
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
}

.progress-circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: conic-gradient(var(--primary) 0%, var(--surface-light) 0%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    position: relative;
}

.progress-circle::before {
    content: '';
    position: absolute;
    width: 80px;
    height: 80px;
    background: var(--surface);
    border-radius: 50%;
}

.progress-text {
    position: relative;
    z-index: 1;
    font-weight: 700;
    color: var(--primary);
    font-size: 1.2rem;
}

.journey-steps {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.journey-step {
    padding: 1rem;
    border-radius: 8px;
    background: var(--surface);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.journey-step:hover {
    border-color: var(--primary);
    transform: translateX(5px);
}

.journey-step.active {
    border-color: var(--primary);
    background: var(--surface-light);
    border-left: 4px solid var(--primary);
}

.step-icon {
    font-size: 1.2rem;
}

.step-title {
    font-weight: 500;
    color: var(--text-primary);
}

.tools-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.tool-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
}

.tool-icon {
    font-size: 1.2rem;
}

.tool-name {
    color: var(--text-primary);
    font-weight: 500;
}

/* Roadmap Content */
.roadmap-phase {
    display: none;
    animation: fadeIn 0.5s ease;
}

.roadmap-phase.active {
    display: block;
}

.phase-header {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.phase-label {
    display: inline-block;
    background: var(--surface-light);
    color: var(--primary);
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.phase-subtitle {
    color: var(--text-secondary);
    font-size: 1.1rem;
}

/* Career Outlook */
.outlook-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.outlook-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.5rem;
    text-align: center;
    transition: all 0.3s ease;
}

.outlook-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.outlook-icon {
    font-size: 2rem;
    display: block;
    margin-bottom: 0.5rem;
}

.outlook-title {
    display: block;
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.outlook-value {
    display: block;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 1.1rem;
}

/* Role Tasks */
.role-tasks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.task-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
}

.task-icon {
    font-size: 1.5rem;
}

.task-text {
    color: var(--text-primary);
    font-weight: 500;
}

/* Learning Path Visualization */
.path-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin: 2rem 0;
    flex-wrap: wrap;
}

.path-phase {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    min-width: 180px;
    transition: all 0.3s ease;
}

.path-phase:hover {
    border-color: var(--primary);
    transform: translateY(-5px);
}

.phase-number {
    width: 40px;
    height: 40px;
    background: var(--primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin: 0 auto 1rem;
}

.path-arrow {
    color: var(--text-muted);
    font-size: 1.5rem;
}

.start-journey-cta {
    text-align: center;
    margin-top: 3rem;
    padding: 2rem;
    background: linear-gradient(135deg, var(--surface) 0%, var(--surface-light) 100%);
    border: 2px solid var(--primary);
    border-radius: 12px;
}

/* Module Grid */
.module-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.module-card {
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

.module-card:hover:not(.locked) {
    border-color: var(--primary);
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(138, 43, 226, 0.2);
}

.module-card.locked {
    opacity: 0.7;
    filter: grayscale(50%);
}

.module-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.module-icon {
    font-size: 2rem;
}

.module-status {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.module-status.unlocked {
    background: var(--success);
    color: white;
}

.module-status.locked {
    background: var(--text-muted);
    color: white;
}

.module-meta {
    display: flex;
    gap: 1rem;
    margin: 1rem 0;
}

.module-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}

.unlock-condition {
    margin-top: 1rem;
    padding: 1rem;
    background: var(--surface-light);
    border-radius: 8px;
    border-left: 4px solid var(--warning);
}

.condition-text {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

/* Phase Progress */
.phase-progress {
    margin-top: 2rem;
    padding: 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
}

/* Certification Card */
.certification-card {
    background: linear-gradient(135deg, var(--surface) 0%, var(--surface-light) 100%);
    border: 2px solid var(--warning);
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    margin: 2rem 0;
}

.cert-badge {
    font-size: 4rem;
    margin-bottom: 1rem;
}

.cert-benefits {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin: 1.5rem 0;
    flex-wrap: wrap;
}

.benefit {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.benefit-icon {
    font-size: 1.2rem;
}

/* Job Launch Steps */
.job-launch-content {
    margin: 2rem 0;
}

.launch-step {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 1.5rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
}

.step-number {
    background: var(--primary);
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    flex-shrink: 0;
}

.step-content h4 {
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.step-content p {
    color: var(--text-secondary);
    margin: 0;
}

/* Track Preview on Homepage */
.track-salary-small {
    color: var(--primary);
    font-weight: 600;
    margin: 0.5rem 0;
    font-size: 1.1rem;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Responsive */
@media (max-width: 992px) {
    .track-roadmap-wrapper {
        grid-template-columns: 1fr;
    }
    
    .roadmap-sidebar {
        position: static;
        order: 2;
    }
    
    .path-visual {
        flex-direction: column;
    }
    
    .path-arrow {
        transform: rotate(90deg);
    }
}

@media (max-width: 768px) {
    .module-grid {
        grid-template-columns: 1fr;
    }
    
    .outlook-cards {
        grid-template-columns: 1fr;
    }
    
    .cert-benefits {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}

/* ========== UPDATED TRACK CARD STYLES ========== */

/* Entry Salary Badge */
.entry-salary-badge {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.8rem;
    white-space: nowrap;
}

/* Demand Indicators */
.track-demand {
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
    font-weight: 600;
}

.track-demand:contains('🔥') {
    color: #ff6b6b;
}

.track-demand:contains('🚀') {
    color: #4dabf7;
}

.track-demand:contains('📈') {
    color: #20c997;
}

/* Track Page Meta Updates */
.meta-item.salary-range {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    color: white;
    border: none;
}

.meta-item.demand {
    background: rgba(255, 107, 107, 0.1);
    color: #ff6b6b;
    border: 1px solid rgba(255, 107, 107, 0.3);
}

/* Difficulty Badge Colors */
.difficulty-beginner {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
    border: 1px solid #28a745;
}

.difficulty-intermediate {
    background: rgba(255, 193, 7, 0.1);
    color: #ffc107;
    border: 1px solid #ffc107;
}

.difficulty-advanced {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
    border: 1px solid #dc3545;
}

/* Track Preview on Homepage */
.track-salary-small {
    color: #28a745;
    font-weight: 600;
    margin: 0.5rem 0;
    font-size: 0.9rem;
    background: rgba(40, 167, 69, 0.1);
    padding: 2px 8px;
    border-radius: 12px;
    display: inline-block;
}

/* Updated Salary Badge Style */
.entry-salary-badge {
    background: linear-gradient(135deg, #6610f2 0%, #6f42c1 100%);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.8rem;
    white-space: nowrap;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* For clarity, rename the class to salary-badge in CSS if you want */
.salary-badge {
    background: linear-gradient(135deg, #6610f2 0%, #6f42c1 100%);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.8rem;
    white-space: nowrap;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Homepage Track Preview Styles */
.salary-badge-small {
    background: linear-gradient(135deg, #6610f2 0%, #6f42c1 100%);
    color: white;
    padding: 4px 10px;
    border-radius: 16px;
    font-weight: 600;
    font-size: 0.75rem;
    margin: 0.5rem 0;
    display: inline-block;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.track-demand-small {
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
}

.track-demand-small:contains('🔥') {
    color: #ff6b6b;
    background: rgba(255, 107, 107, 0.1);
}

.track-demand-small:contains('🚀') {
    color: #4dabf7;
    background: rgba(77, 171, 247, 0.1);
}

.track-demand-small:contains('📈') {
    color: #20c997;
    background: rgba(32, 201, 151, 0.1);
}

/* Better spacing for preview track */
.preview-track {
    padding: 1.25rem;
}

.preview-track h4 {
    margin: 0.5rem 0;
}

.preview-track p {
    margin: 0.75rem 0 1.25rem;
    font-size: 0.9rem;
    line-height: 1.5;
}
/* ========== TIME MACHINE FIXES ========== */

/* Welcome Message for Quiz Users */
.quiz-welcome-message {
    background: linear-gradient(135deg, rgba(138, 43, 226, 0.1) 0%, rgba(0, 206, 209, 0.1) 100%);
    border: 2px solid var(--primary);
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    animation: slideIn 0.5s ease;
}

.welcome-icon {
    font-size: 3rem;
    flex-shrink: 0;
}

.welcome-content h3 {
    color: var(--primary);
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
}

.welcome-content p {
    color: var(--text-secondary);
    margin: 0;
}

/* Fix MAX button styling - remove special border */
.time-btn.max {
    border: 2px solid var(--border) !important;
    background: var(--surface) !important;
}

.time-btn.max:hover {
    border-color: var(--primary) !important;
    box-shadow: 0 5px 15px rgba(138, 43, 226, 0.3) !important;
}

.time-btn.max.active {
    border-color: var(--primary) !important;
    background: var(--surface-light) !important;
    box-shadow: 0 0 0 2px rgba(138, 43, 226, 0.2) !important;
}

/* Make all time buttons consistent */
.time-btn {
    border: 2px solid var(--border);
    background: var(--surface);
}

.time-btn:hover {
    border-color: var(--primary);
}

.time-btn.active {
    border-color: var(--primary);
    background: var(--surface-light);
    box-shadow: 0 0 0 2px rgba(138, 43, 226, 0.2);
}

/* Ensure MAX button has same colors when active */
.time-btn.max.active .time-icon,
.time-btn.max.active .time-label {
    color: var(--primary);
}

/* Responsive fix for time buttons */
@media (max-width: 768px) {
    .time-btn {
        min-width: 80px;
        padding: 1rem 0.5rem;
    }
    
    .time-icon {
        font-size: 1.5rem;
    }
    
    .time-label {
        font-size: 0.8rem;
    }
    
    .time-desc {
        font-size: 0.7rem;
    }
}

/* Animation for welcome message */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ========== TIME MACHINE PATH BUTTONS FIX ========== */

/* Force all path buttons to fit in grid */
.path-options {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1rem !important;
    margin: 2rem 0 !important;
}

/* Make buttons equal width */
.path-btn {
    width: 100% !important;
    min-height: 120px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 1rem !important;
}

/* Make sure text fits */
.path-title {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.25rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    width: 100% !important;
}

.path-desc {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    width: 100% !important;
}

/* Responsive: On tablets, show 2 columns */
@media (max-width: 992px) {
    .path-options {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Responsive: On mobile, show 1 column */
@media (max-width: 576px) {
    .path-options {
        grid-template-columns: 1fr !important;
    }
    
    .path-btn {
        min-height: 100px !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        text-align: left !important;
        gap: 1rem !important;
    }
    
    .path-icon {
        margin-bottom: 0 !important;
        flex-shrink: 0 !important;
    }
}
/* ========== CAREER JOURNEY BOX STYLES ========== */
.career-journey-box {
    background: linear-gradient(135deg, var(--surface) 0%, var(--surface-light) 100%);
    border: 2px solid var(--primary);
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    text-align: center;
}

.career-journey-box h3 {
    color: var(--primary);
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.career-journey-box p {
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
}

.journey-steps {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 1.5rem 0;
    text-align: left;
}

.step {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1rem;
    background: rgba(138, 43, 226, 0.05);
    border-radius: 8px;
    border-left: 3px solid var(--primary);
}

.journey-promise {
    margin: 1.5rem 0;
    padding: 1rem;
    background: rgba(40, 167, 69, 0.1);
    border-radius: 8px;
    border-left: 3px solid var(--success);
    font-size: 1.1rem;
    text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
    .journey-steps {
        gap: 0.5rem;
    }
    
    .step {
        padding: 0.5rem;
        font-size: 0.9rem;
    }
    
    .career-journey-box {
        padding: 1.5rem;
    }
}

/* ========== LOGO STYLING - UPDATED ========== */
.logo-img {
    width: 70px; /* Increased from 32px */
    height: 70px; /* Increased from 32px */
    z-index: 2;
    position: relative;
    
    /* Simple approach: remove black background */
    background: transparent;
    
    /* If logo has black background, make it transparent */
    mix-blend-mode: screen;
    
    /* Remove drop-shadow to eliminate glowing circle */
    /* filter: drop-shadow(0 0 8px rgba(138, 43, 226, 0.3)); */
    
    /* Smooth transitions */
    transition: all 0.3s ease;
}

/* Hover effect - subtle without glow */
.logo-img:hover {
    /* filter: drop-shadow(0 0 12px rgba(138, 43, 226, 0.6)); */
    transform: scale(1.08); /* Slightly more scale */
}

/* Adjust the logo-animation container - REMOVE PULSE */
.logo-animation {
    position: relative;
    width: 60px; /* Increased to accommodate larger logo */
    height: 60px; /* Increased to accommodate larger logo */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* REMOVE or COMMENT OUT the pulse animation */
/* This is what creates the glowing circle */
.logo-pulse {
    /* display: none; */ /* Add this if you want to completely remove it */
}

/* Alternative: Keep pulse but make it invisible */
.logo-pulse {
    opacity: 0; /* Makes it invisible but keeps the element */
    /* OR */
    display: none; /* Completely removes it */
}

/* Remove the old logo-shield emoji styles */
.logo-shield {
    display: none;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .logo-img {
        width: 34px; /* Increased from 28px */
        height: 34px; /* Increased from 28px */
    }
    
    .logo-animation {
        width: 50px; /* Increased from 40px */
        height: 50px; /* Increased from 40px */
    }
}

/* ========== BREATHER SECTIONS ========== */
.breather-section {
    height: 120px; /* Perfect height for background visibility */
    position: relative;
    margin: 2rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 20, 25, 0.2); /* Semi-transparent dark */
}

.breather-content {
    text-align: center;
    color: #00D4FF; /* Cyan color */
    font-size: 1.1rem;
    font-weight: 500;
    padding: 0.75rem 1.5rem;
    background: rgba(26, 31, 46, 0.4); /* Slightly darker background */
    border-radius: 8px;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(59, 130, 246, 0.2);
}

/* ========== HOLOGRAM BREATHER ========== */
.hologram-breather {
    height: 180px; /* Taller for hologram */
    background: 
        radial-gradient(circle at 50% 50%, rgba(0, 212, 255, 0.05) 0%, transparent 50%),
        linear-gradient(180deg, rgba(15, 20, 25, 0.3) 0%, rgba(26, 31, 46, 0.5) 100%);
    position: relative;
    overflow: hidden;
}

.hologram-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 200px;
    perspective: 1000px;
}

/* SVG Shield with 3D Rotation */
.hologram-shield {
    width: 150px;
    height: 150px;
    filter: 
        drop-shadow(0 0 15px rgba(0, 212, 255, 0.5))
        drop-shadow(0 0 30px rgba(147, 51, 234, 0.3));
    animation: hologramFloat 6s ease-in-out infinite,
               hologramRotate 20s linear infinite;
}

.shield-base {
    fill: rgba(0, 212, 255, 0.15);
    stroke: rgba(0, 212, 255, 0.4);
    stroke-width: 2;
    stroke-dasharray: 5, 5;
}

.shield-core {
    fill: rgba(147, 51, 234, 0.1);
    stroke: rgba(147, 51, 234, 0.5);
    stroke-width: 1.5;
    stroke-dasharray: 3, 3;
}

.shield-circuit {
    fill: none;
    stroke: rgba(59, 130, 246, 0.6);
    stroke-width: 1;
    animation: circuitPulse 2s ease-in-out infinite;
}

/* Chromatic Aberration Effect */
@keyframes hologramRotate {
    0% {
        transform: rotateY(0deg) rotateX(10deg);
        filter: 
            drop-shadow(-2px 0 0 rgba(255, 0, 0, 0.3))
            drop-shadow(2px 0 0 rgba(0, 0, 255, 0.3))
            blur(0.5px);
    }
    50% {
        filter: 
            drop-shadow(-3px 0 0 rgba(255, 0, 0, 0.4))
            drop-shadow(3px 0 0 rgba(0, 0, 255, 0.4))
            blur(0.7px);
    }
    100% {
        transform: rotateY(360deg) rotateX(10deg);
        filter: 
            drop-shadow(-2px 0 0 rgba(255, 0, 0, 0.3))
            drop-shadow(2px 0 0 rgba(0, 0, 255, 0.3))
            blur(0.5px);
    }
}

/* Floating animation */
@keyframes hologramFloat {
    0%, 100% { transform: translateY(0px) rotateY(0deg); }
    50% { transform: translateY(-15px) rotateY(10deg); }
}

/* Circuit pulse */
@keyframes circuitPulse {
    0%, 100% { stroke-opacity: 0.3; }
    50% { stroke-opacity: 0.8; }
}

/* Hologram Particles */
.hologram-particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(0, 212, 255, 0.8);
    border-radius: 50%;
    filter: blur(1px);
    animation: particleFloat 3s ease-in-out infinite;
}

@keyframes particleFloat {
    0%, 100% { 
        transform: translate(0, 0);
        opacity: 0.3;
    }
    50% { 
        transform: translate(10px, -10px);
        opacity: 0.8;
    }
}

/* Scan Line */
.scan-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, 
        transparent, 
        rgba(0, 212, 255, 0.8),
        transparent
    );
    animation: scan 3s linear infinite;
    filter: blur(1px);
}

@keyframes scan {
    0% { top: 0; opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { top: 100%; opacity: 0; }
}

/* Glow Effect */
.hologram-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, 
        rgba(0, 212, 255, 0.1) 0%,
        rgba(147, 51, 234, 0.05) 30%,
        transparent 70%
    );
    border-radius: 50%;
    animation: glowPulse 4s ease-in-out infinite;
}

@keyframes glowPulse {
    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); }
}

/* Text */
.hologram-text {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    text-align: center;
}

.hologram-label {
    display: block;
    color: #00D4FF;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    animation: textFlicker 2s infinite;
}

.hologram-sub {
    display: block;
    color: rgba(184, 194, 204, 0.7);
    font-size: 0.8rem;
    margin-top: 5px;
}

@keyframes textFlicker {
    0%, 100% { opacity: 1; }
    95% { opacity: 0.9; }
    96% { opacity: 0.7; }
    97% { opacity: 1; }
    98% { opacity: 0.8; }
    99% { opacity: 1; }
}

/* Floating command */

.floating-commands {
    height: 180px;
    background: rgba(0, 0, 0, 0.2);
    perspective: 1000px;
    overflow: hidden;
}

.command-cloud {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    height: 300px;
    transform-style: preserve-3d;
    animation: cloudRotate 30s linear infinite;
}

@keyframes cloudRotate {
    0% { transform: translate(-50%, -50%) rotateX(0deg) rotateY(0deg); }
    100% { transform: translate(-50%, -50%) rotateX(360deg) rotateY(360deg); }
}

.floating-command {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: 
        translate3d(var(--x), var(--y), var(--z))
        rotate(var(--rotation));
    background: rgba(0, 255, 157, 0.1);
    border: 1px solid rgba(0, 255, 157, 0.3);
    border-radius: 4px;
    padding: 8px 12px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.9rem;
    color: #00ff9d;
    text-shadow: 0 0 10px #00ff9d;
    backdrop-filter: blur(2px);
    animation: floatIndividual 5s ease-in-out infinite;
}

.prompt {
    color: #00ff9d;
    margin-right: 5px;
    opacity: 0.7;
}

.cmd {
    color: #00ff9d;
    font-weight: 500;
}

/* Each command has unique float animation */
.floating-command:nth-child(1) { animation-delay: 0s; }
.floating-command:nth-child(2) { animation-delay: 1s; }
.floating-command:nth-child(3) { animation-delay: 2s; }

@keyframes floatIndividual {
    0%, 100% { 
        transform: 
            translate3d(var(--x), var(--y), var(--z))
            rotate(var(--rotation))
            translateY(0);
    }
    50% { 
        transform: 
            translate3d(var(--x), var(--y), var(--z))
            rotate(calc(var(--rotation) + 5deg))
            translateY(-10px);
    }
}

/* Glowing particles between commands */
.command-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, 
        rgba(0, 255, 157, 0.05) 0%,
        transparent 70%
    );
    transform: translate(-50%, -50%);
    animation: pulseGlow 4s ease-in-out infinite;
}

@keyframes pulseGlow {
    0%, 100% { opacity: 0.3; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 0.6; transform: translate(-50%, -50%) scale(1.2); }
}


/* Floating Commands end */


/*breather 1 */

/* ========== THREAT INDICATOR LIGHTS ========== */
.threat-breather {
    height: 140px;
    background: 
        linear-gradient(180deg, 
            rgba(15, 20, 25, 0.4) 0%,
            rgba(26, 31, 46, 0.6) 50%,
            rgba(15, 20, 25, 0.4) 100%
        );
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.threat-indicators {
    display: flex;
    gap: 2rem;
    padding: 1rem 2rem;
    background: rgba(26, 31, 46, 0.5);
    border-radius: 12px;
    border: 1px solid rgba(59, 130, 246, 0.2);
    backdrop-filter: blur(5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.indicator {
    text-align: center;
    padding: 1rem;
    min-width: 100px;
    position: relative;
}

.light {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    margin: 0 auto 10px;
    position: relative;
    z-index: 2;
}

.light-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    z-index: 1;
}

/* Safe - Green */
.indicator.safe .light {
    background: #28a745;
    box-shadow: 0 0 10px #28a745;
}
.indicator.safe .light-glow {
    background: rgba(40, 167, 69, 0.2);
    animation: pulseGlow 2s ease-in-out infinite;
}

/* Warning - Amber/Yellow */
.indicator.warning .light {
    background: #ffc107;
    box-shadow: 0 0 10px #ffc107;
    animation: blinkWarning 1.5s ease-in-out infinite;
}
.indicator.warning .light-glow {
    background: rgba(255, 193, 7, 0.2);
    animation: pulseGlow 1.5s ease-in-out infinite;
}

/* Active - Blue */
.indicator.active .light {
    background: #3B82F6;
    box-shadow: 0 0 15px #3B82F6;
    animation: pulseActive 1s ease-in-out infinite;
}
.indicator.active .light-glow {
    background: rgba(59, 130, 246, 0.3);
    animation: pulseGlow 1s ease-in-out infinite;
}

.label {
    display: block;
    color: #B8C2CC;
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 4px;
}

.status {
    display: block;
    color: #FFFFFF;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Animations */
@keyframes pulseGlow {
    0%, 100% { 
        opacity: 0.3;
        transform: translate(-50%, -50%) scale(1);
    }
    50% { 
        opacity: 0.6;
        transform: translate(-50%, -50%) scale(1.3);
    }
}

@keyframes blinkWarning {
    0%, 100% { 
        opacity: 1;
        box-shadow: 0 0 10px #ffc107;
    }
    50% { 
        opacity: 0.5;
        box-shadow: 0 0 5px #ffc107;
    }
}

@keyframes pulseActive {
    0%, 100% { 
        opacity: 0.8;
        box-shadow: 0 0 10px #3B82F6;
    }
    50% { 
        opacity: 1;
        box-shadow: 0 0 20px #3B82F6;
    }
}

/* Scan lines background */
.scan-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.scan-line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent, 
        rgba(0, 212, 255, 0.1),
        transparent
    );
    animation: scanHorizontal 4s linear infinite;
}

.scan-line:nth-child(2) {
    animation-delay: 2s;
}

@keyframes scanHorizontal {
    0% { 
        left: -100%;
        opacity: 0;
    }
    10% { opacity: 0.5; }
    90% { opacity: 0.5; }
    100% { 
        left: 100%;
        opacity: 0;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .threat-indicators {
        gap: 1rem;
        padding: 0.75rem 1rem;
    }
    
    .indicator {
        min-width: 80px;
        padding: 0.75rem;
    }
    
    .label {
        font-size: 0.8rem;
    }
    
    .status {
        font-size: 0.7rem;
    }
}

/* breather 1 */



/* ========== DROPDOWN MENU STYLES ========== */

/* Desktop Dropdown */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-toggle {
    background: none;
    border: none;
    font-family: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
}

.dropdown-arrow {
    font-size: 0.7rem;
    transition: transform 0.3s ease;
    margin-left: 2px;
}

.dropdown.active .dropdown-arrow {
    transform: rotate(180deg);
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 5px);
    right: 0;
    min-width: 220px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 0.5rem 0;
    box-shadow: 
        0 10px 30px rgba(0, 0, 0, 0.3),
        0 5px 15px rgba(138, 43, 226, 0.2);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1000;
    max-width: calc(100vw - 40px); /* Prevent overflow */
}

/* Right-aligned dropdown arrow */
.dropdown-menu::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 20px;
    width: 12px;
    height: 12px;
    background: var(--surface);
    border-left: 1px solid var(--border);
    border-top: 1px solid var(--border);
    transform: rotate(45deg);
}

.dropdown.active .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
    white-space: nowrap;
}

.dropdown-item:hover {
    background: var(--surface-light);
    color: var(--text-primary);
    border-left-color: var(--primary);
    padding-left: 25px;
}

.dropdown-item i {
    font-size: 1rem;
    width: 20px;
    text-align: center;
}

/* Mobile Dropdown */
.mobile-dropdown {
    margin: 10px 0;
}

.mobile-dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    background: none;
    border: none;
    color: var(--text-secondary);
    padding: 15px 20px;
    border-radius: 10px;
    font-family: inherit;
    font-weight: 500;
    font-size: 1rem;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
}

.mobile-dropdown-toggle:hover,
.mobile-dropdown-toggle.active {
    background: rgba(138, 43, 226, 0.1);
    color: var(--text-primary);
    border-left-color: var(--primary);
}

.mobile-dropdown-arrow {
    font-size: 0.8rem;
    margin-left: auto;
    transition: transform 0.3s ease;
}

.mobile-dropdown.active .mobile-dropdown-arrow {
    transform: rotate(180deg);
}

.mobile-dropdown-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    margin-left: 20px;
}

.mobile-dropdown.active .mobile-dropdown-menu {
    max-height: 300px;
}

.mobile-dropdown-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 20px;
    color: var(--text-secondary);
    text-decoration: none;
    border-radius: 8px;
    margin: 5px 0;
    transition: all 0.3s ease;
}

.mobile-dropdown-item:hover {
    background: rgba(138, 43, 226, 0.1);
    color: var(--text-primary);
}

.mobile-dropdown-item i {
    font-size: 1rem;
    width: 20px;
    text-align: center;
}

/* Hover behavior for desktop */
@media (min-width: 769px) {
    .dropdown:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    
    .dropdown:hover .dropdown-arrow {
        transform: rotate(180deg);
    }
    
    .dropdown-toggle:hover .nav-underline {
        width: 100%;
    }
}

/* Responsive adjustments for right-aligned dropdown */
@media (max-width: 1100px) {
    .dropdown-menu {
        right: -10px;
    }
    
    .dropdown-menu::before {
        right: 15px;
    }
}

@media (max-width: 992px) {
    .dropdown-menu {
        min-width: 200px;
        right: -15px;
    }
    
    .dropdown-menu::before {
        right: 10px;
    }
}

/* Ensure dropdown stays on screen on very small screens */
@media (max-width: 400px) {
    .dropdown-menu {
        right: -20px;
        min-width: 180px;
    }
    
    .dropdown-menu::before {
        right: 5px;
    }
}

/* Prevent dropdown from breaking mobile nav */
@media (max-width: 768px) {
    .nav-links .dropdown {
        display: none;
    }
    
    .mobile-nav .dropdown {
        display: block;
    }
    
    /* Mobile dropdown positioning */
    .dropdown-menu {
        position: static;
        transform: none;
        opacity: 1;
        visibility: visible;
        box-shadow: none;
        border: none;
        background: transparent;
        padding: 0;
        margin-top: 5px;
        max-width: none;
    }
    
    .dropdown-menu::before {
        display: none;
    }
    
    .dropdown-item {
        padding-left: 40px;
        font-size: 0.95rem;
        white-space: normal;
    }
}

/* ========== FIX EXCESSIVE SPACE BEFORE FOOTER ========== */

/* 1. Reduce footer top margin significantly */
.footer {
    margin-top: 1.5rem !important; /* Was 4rem, then reduced to 2.5rem, now 1.5rem */
}

/* 2. Reduce excessive padding on the last content sections */
/* These sections have large bottom padding that creates space before footer */
.cyber-test-section,
.value-proposition,
.time-machine-preview,
.success-journey-preview,
.simulator-preview,
.tracks-preview,
.tracks-page,
.track-page,
.time-machine-container,
.career-simulator-container,
.success-journey-container {
    padding-bottom: 3rem !important; /* Reduced from 7rem/6rem/5rem */
}

/* 3. Specifically reduce padding on test section (very large) */
.cyber-test-section {
    padding: 4rem 0 !important; /* Reduced from 7rem 0 */
}

.value-proposition {
    padding: 4rem 0 !important; /* Reduced from 7rem 0 */
}

/* 4. Reduce preview section padding */
.time-machine-preview,
.success-journey-preview,
.simulator-preview,
.tracks-preview {
    padding: 3rem 0 !important; /* Reduced from 6rem 0 */
}

/* 5. Reduce container spacing */
.tracks-page,
.track-page,
.time-machine-container,
.career-simulator-container,
.success-journey-container {
    padding-bottom: 2rem !important;
}

/* 6. Reduce margins on completion boxes and final CTAs */
.completion-box,
.cta-section,
.start-journey-cta,
.journey-cta {
    margin-bottom: 2rem !important; /* Reduced from 3rem+ */
}

/* 7. Reduce bottom margin on the main container before footer */
.main-container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .cyber-test-section,
    .value-proposition {
        padding: 2.5rem 0 !important; /* Further reduced for mobile */
    }
    
    .time-machine-preview,
    .success-journey-preview,
    .simulator-preview,
    .tracks-preview {
        padding: 2rem 0 !important; /* Further reduced for mobile */
    }
    
    .footer {
        margin-top: 1rem !important; /* Even less space on mobile */
    }
}
/* ========== LOGIN BUTTON STYLES ========== */

/* Desktop Login Button */
.login-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(138, 43, 226, 0.1);
    color: var(--text-primary);
    padding: 8px 16px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border: 1px solid rgba(138, 43, 226, 0.3);
    margin-left: 0.5rem;
}

.login-btn:hover {
    background: rgba(138, 43, 226, 0.2);
    border-color: var(--primary);
    transform: translateY(-1px);
}

.login-btn i {
    font-size: 0.9rem;
}

/* Mobile Login Button */
.mobile-login-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: rgba(138, 43, 226, 0.1);
    color: var(--text-primary);
    padding: 14px 20px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 500;
    margin-top: 10px;
    transition: all 0.3s ease;
    border: 1px solid rgba(138, 43, 226, 0.3);
}

.mobile-login-btn:hover {
    background: rgba(138, 43, 226, 0.2);
    border-color: var(--primary);
}

/* Responsive adjustments */
@media (max-width: 1100px) {
    .login-btn span {
        font-size: 0.85rem;
    }
}

@media (max-width: 992px) {
    .login-btn {
        padding: 8px 12px;
    }
    
    .login-btn span {
        display: none;
    }
    
    .login-btn i {
        margin: 0;
    }
}

@media (max-width: 768px) {
    .nav-links .login-btn {
        display: none;
    }
    
    .mobile-nav .login-btn {
        display: flex;
    }
}
/* ========== COMPACT FOOTER OVERRIDES ========== */

/* Override existing footer structure with compact version */
.footer {
    padding: 2rem 0 1.5rem !important;
}

.footer-container {
    padding: 0 !important;
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
}

/* Compact footer content structure */
.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Footer Brand Section */
.footer-brand-section {
    display: flex;
    justify-content: center;
    margin-bottom: 0.25rem;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    transition: transform 0.3s ease;
}

.footer-logo:hover {
    transform: translateY(-2px);
}

.footer-logo-img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.footer-logo-text {
    font-size: 1.5rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -0.5px;
}

/* Copyright */
.footer-copyright {
    color: var(--text-muted);
    font-size: 0.9rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 1rem;
}

/* Footer Bottom Section */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 800px;
    flex-wrap: wrap;
    gap: 1rem;
    border-top: none !important;
    padding: 0 !important;
    text-align: left !important;
    margin: 0 auto;
}

/* Legal Links */
.footer-legal {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.footer-legal a {
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 500;
    transition: color 0.3s ease;
    display: inline !important;
    margin-bottom: 0 !important;
}

.footer-legal a:hover {
    color: var(--primary);
}

/* Social Links */
.footer-social {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.footer-social a {
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 500;
    transition: color 0.3s ease;
    display: inline !important;
    margin-bottom: 0 !important;
}

.footer-social a:hover {
    color: var(--primary);
}

/* Separator */
.separator {
    color: var(--text-muted);
    font-size: 0.8rem;
    opacity: 0.6;
}

/* Responsive */
@media (max-width: 768px) {
    .footer {
        padding: 1.5rem 0 1rem !important;
    }
    
    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 0.75rem;
    }
    
    .footer-legal,
    .footer-social {
        justify-content: center;
    }
    
    .footer-logo-img {
        width: 32px;
        height: 32px;
    }
    
    .footer-logo-text {
        font-size: 1.3rem;
    }
    
    .footer-content {
        gap: 0.75rem;
    }
}

@media (max-width: 480px) {
    .footer-legal,
    .footer-social {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .separator {
        display: none;
    }
    
    .footer-copyright {
        font-size: 0.85rem;
    }
}
/* ========== MINIMAL FOOTER STYLES ========== */

.footer {
    background: var(--surface);
    border-top: 1px solid var(--border);
    padding: 2rem 1.5rem;
    margin-top: 4rem;
}

.footer-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    text-align: center;
}

/* Brand Block */
.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.footer-logo {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.footer-copyright {
    color: var(--text-secondary);
    font-size: 0.9rem;
    font-weight: 500;
}

/* Social & Contact Links */
.footer-links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}

.social-links {
    display: flex;
    gap: 1.5rem;
}

.social-links a {
    color: var(--text-secondary);
    font-size: 1.25rem;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--surface-light);
    border: 1px solid var(--border);
}

.social-links a:hover {
    color: var(--text-primary);
    background: var(--surface-lighter);
    border-color: var(--primary);
    transform: translateY(-2px);
}

.contact-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    background: var(--surface-light);
    border: 1px solid var(--border);
    transition: all 0.3s ease;
}

.contact-link:hover {
    color: var(--primary);
    border-color: var(--primary);
    background: var(--surface-lighter);
}

.contact-link i {
    font-size: 0.9rem;
}

/* Responsive */
@media (max-width: 768px) {
    .footer {
        padding: 1.5rem 1rem;
    }
    
    .footer-content {
        gap: 1.25rem;
    }
    
    .footer-brand {
        gap: 0.5rem;
    }
    
    .footer-logo {
        width: 40px;
        height: 40px;
    }
    
    .social-links {
        gap: 1.25rem;
    }
    
    .social-links a {
        width: 36px;
        height: 36px;
        font-size: 1.1rem;
    }
}

@media (max-width: 480px) {
    .footer {
        padding: 1.25rem 1rem;
    }
    
    .footer-content {
        gap: 1rem;
    }
    
    .footer-copyright {
        font-size: 0.85rem;
    }
    
    .contact-link {
        font-size: 0.9rem;
        padding: 0.4rem 0.8rem;
    }
}


