/* ============================================
   CYBERPUNK/NEON THEME
   Futuristic, vibrant, high-tech aesthetic
   ============================================ */

[data-design-theme="cyberpunk"] {
    /* Cyberpunk color variables */
    --cyber-bg: #0a0e27;
    --cyber-bg-secondary: #1a1a2e;
    --cyber-cyan: #00f0ff;
    --cyber-magenta: #ff00ff;
    --cyber-yellow: #ffff00;
    --cyber-purple: #a855f7;
}

/* ============================================
   GLOBAL BACKGROUND
   ============================================ */

[data-design-theme="cyberpunk"] body {
    background: linear-gradient(135deg, #0a0e27 0%, #1a1a2e 100%);
    background-attachment: fixed;
}

[data-design-theme="cyberpunk"] {
    --bg-primary: #0a0e27;
    --bg-secondary: #1a1a2e;
    --bg-tertiary: #16213e;
    --text-primary: #00f0ff;
    --text-secondary: #a0d2db;
    --text-tertiary: #7c9eb2;
    --accent-primary: #00f0ff;
    --accent-secondary: #ff00ff;
    --border-color: #00f0ff;
}

/* Scan line effect overlay */
[data-design-theme="cyberpunk"] body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(0deg,
            rgba(0, 240, 255, 0.03) 0px,
            transparent 1px,
            transparent 2px,
            rgba(0, 240, 255, 0.03) 3px);
    pointer-events: none;
    z-index: 9999;
    animation: scan-lines 8s linear infinite;
}

@keyframes scan-lines {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(10px);
    }
}

/* ============================================
   NAVIGATION
   ============================================ */

[data-design-theme="cyberpunk"] .navbar {
    background: rgba(10, 14, 39, 0.9);
    border-bottom: 2px solid var(--cyber-cyan);
    box-shadow: 0 0 20px rgba(0, 240, 255, 0.3);
}

[data-design-theme="cyberpunk"] .nav-brand {
    color: var(--cyber-cyan);
    text-shadow:
        0 0 10px var(--cyber-cyan),
        0 0 20px var(--cyber-cyan);
    animation: neon-flicker 3s infinite;
}

[data-design-theme="cyberpunk"] .nav-link {
    color: var(--cyber-cyan);
    border: 1px solid transparent;
}

[data-design-theme="cyberpunk"] .nav-link:hover {
    background: rgba(0, 240, 255, 0.1);
    border-color: var(--cyber-cyan);
    box-shadow:
        0 0 10px rgba(0, 240, 255, 0.5),
        inset 0 0 10px rgba(0, 240, 255, 0.2);
}

[data-design-theme="cyberpunk"] .nav-link.active {
    color: var(--cyber-magenta);
    border-color: var(--cyber-magenta);
    box-shadow: 0 0 15px rgba(255, 0, 255, 0.5);
}

[data-design-theme="cyberpunk"] .nav-link.active::after {
    background: linear-gradient(90deg, var(--cyber-cyan), var(--cyber-magenta));
    box-shadow: 0 0 10px var(--cyber-magenta);
}

@keyframes neon-flicker {

    0%,
    100% {
        opacity: 1;
    }

    41%,
    43% {
        opacity: 0.8;
    }

    42% {
        opacity: 0.9;
    }
}

/* ============================================
   CARDS
   ============================================ */

[data-design-theme="cyberpunk"] .card,
[data-design-theme="cyberpunk"] .project-card {
    background: rgba(26, 26, 46, 0.8);
    border: 2px solid var(--cyber-cyan);
    box-shadow:
        0 0 20px rgba(0, 240, 255, 0.3),
        inset 0 0 20px rgba(0, 240, 255, 0.05);
}

[data-design-theme="cyberpunk"] .card:hover,
[data-design-theme="cyberpunk"] .project-card:hover {
    border-color: var(--cyber-magenta);
    box-shadow:
        0 0 30px rgba(255, 0, 255, 0.5),
        inset 0 0 30px rgba(255, 0, 255, 0.1);
    transform: translateY(-8px) scale(1.02);
}

/* ============================================
   BUTTONS
   ============================================ */

[data-design-theme="cyberpunk"] .btn-primary {
    background: transparent;
    border: 2px solid var(--cyber-cyan);
    color: var(--cyber-cyan);
    box-shadow:
        0 0 20px rgba(0, 240, 255, 0.4),
        inset 0 0 20px rgba(0, 240, 255, 0.1);
    text-shadow: 0 0 10px var(--cyber-cyan);
}

[data-design-theme="cyberpunk"] .btn-primary:hover {
    background: rgba(0, 240, 255, 0.2);
    box-shadow:
        0 0 30px rgba(0, 240, 255, 0.6),
        inset 0 0 30px rgba(0, 240, 255, 0.2);
    animation: cyber-pulse 1s infinite;
}

[data-design-theme="cyberpunk"] .btn-secondary {
    background: transparent;
    border: 2px solid var(--cyber-magenta);
    color: var(--cyber-magenta);
    box-shadow: 0 0 15px rgba(255, 0, 255, 0.3);
}

[data-design-theme="cyberpunk"] .btn-secondary:hover {
    background: rgba(255, 0, 255, 0.2);
    box-shadow: 0 0 25px rgba(255, 0, 255, 0.5);
}

[data-design-theme="cyberpunk"] .btn-outline {
    border-color: var(--cyber-purple);
    color: var(--cyber-purple);
    box-shadow: 0 0 15px rgba(168, 85, 247, 0.3);
}

[data-design-theme="cyberpunk"] .btn-outline:hover {
    background: rgba(168, 85, 247, 0.2);
    box-shadow: 0 0 25px rgba(168, 85, 247, 0.5);
}

@keyframes cyber-pulse {

    0%,
    100% {
        box-shadow:
            0 0 30px rgba(0, 240, 255, 0.6),
            inset 0 0 30px rgba(0, 240, 255, 0.2);
    }

    50% {
        box-shadow:
            0 0 40px rgba(0, 240, 255, 0.8),
            inset 0 0 40px rgba(0, 240, 255, 0.3);
    }
}

/* ============================================
   HERO SECTION
   ============================================ */

[data-design-theme="cyberpunk"] .hero {
    position: relative;
    overflow: hidden;
}

[data-design-theme="cyberpunk"] .hero::before {
    background:
        radial-gradient(circle at 30% 50%, rgba(0, 240, 255, 0.15), transparent 50%),
        radial-gradient(circle at 70% 50%, rgba(255, 0, 255, 0.15), transparent 50%);
}

/* Grid overlay */
[data-design-theme="cyberpunk"] .hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        linear-gradient(rgba(0, 240, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 240, 255, 0.1) 1px, transparent 1px);
    background-size: 50px 50px;
    pointer-events: none;
    animation: grid-move 20s linear infinite;
}

@keyframes grid-move {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(50px);
    }
}

[data-design-theme="cyberpunk"] .text-gradient {
    background: linear-gradient(135deg, var(--cyber-cyan), var(--cyber-magenta));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
    animation: gradient-shift 3s ease infinite;
}

@keyframes gradient-shift {

    0%,
    100% {
        filter: hue-rotate(0deg);
    }

    50% {
        filter: hue-rotate(20deg);
    }
}

/* ============================================
   SKILL BADGES
   ============================================ */

[data-design-theme="cyberpunk"] .skill-badge {
    background: rgba(26, 26, 46, 0.8);
    border: 1px solid var(--cyber-cyan);
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.2);
}

[data-design-theme="cyberpunk"] .skill-badge:hover {
    border-color: var(--cyber-magenta);
    box-shadow: 0 0 25px rgba(255, 0, 255, 0.4);
}

/* ============================================
   TECH TAGS
   ============================================ */

[data-design-theme="cyberpunk"] .tech-tag {
    background: transparent;
    border: 1px solid var(--cyber-cyan);
    color: var(--cyber-cyan);
    box-shadow: 0 0 10px rgba(0, 240, 255, 0.2);
}

[data-design-theme="cyberpunk"] .tech-tag:hover {
    background: rgba(0, 240, 255, 0.2);
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.4);
}

/* ============================================
   FORMS
   ============================================ */

[data-design-theme="cyberpunk"] .form-input,
[data-design-theme="cyberpunk"] .form-textarea {
    background: rgba(26, 26, 46, 0.6);
    border: 2px solid var(--cyber-cyan);
    color: var(--cyber-cyan);
    box-shadow: inset 0 0 10px rgba(0, 240, 255, 0.1);
}

[data-design-theme="cyberpunk"] .form-input:focus,
[data-design-theme="cyberpunk"] .form-textarea:focus {
    border-color: var(--cyber-magenta);
    box-shadow:
        0 0 20px rgba(255, 0, 255, 0.3),
        inset 0 0 20px rgba(255, 0, 255, 0.1);
}

/* ============================================
   FOOTER
   ============================================ */

[data-design-theme="cyberpunk"] .footer {
    background: rgba(10, 14, 39, 0.9);
    border-top: 2px solid var(--cyber-cyan);
    box-shadow: 0 0 20px rgba(0, 240, 255, 0.3);
}

/* ============================================
   SOCIAL LINKS
   ============================================ */

[data-design-theme="cyberpunk"] .social-link {
    background: transparent;
    border: 2px solid var(--cyber-cyan);
    color: var(--cyber-cyan);
    box-shadow: 0 0 10px rgba(0, 240, 255, 0.3);
}

[data-design-theme="cyberpunk"] .social-link:hover {
    background: rgba(0, 240, 255, 0.2);
    border-color: var(--cyber-magenta);
    box-shadow: 0 0 20px rgba(255, 0, 255, 0.5);
}

/* ============================================
   TIMELINE
   ============================================ */

[data-design-theme="cyberpunk"] .timeline::before {
    background: linear-gradient(180deg, var(--cyber-cyan), var(--cyber-magenta));
    box-shadow: 0 0 10px var(--cyber-cyan);
}

[data-design-theme="cyberpunk"] .timeline-item::before {
    background: var(--cyber-cyan);
    border: 2px solid var(--cyber-magenta);
    box-shadow:
        0 0 20px var(--cyber-cyan),
        0 0 0 4px rgba(255, 0, 255, 0.2);
}

[data-design-theme="cyberpunk"] .timeline-date {
    color: var(--cyber-magenta);
    text-shadow: 0 0 10px var(--cyber-magenta);
}

/* ============================================
   PROJECT LINKS
   ============================================ */

[data-design-theme="cyberpunk"] .project-link-primary {
    background: transparent;
    border: 2px solid var(--cyber-cyan);
    color: var(--cyber-cyan);
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.3);
}

[data-design-theme="cyberpunk"] .project-link-primary:hover {
    background: rgba(0, 240, 255, 0.2);
    box-shadow: 0 0 25px rgba(0, 240, 255, 0.5);
}

[data-design-theme="cyberpunk"] .project-link-secondary {
    background: transparent;
    border: 2px solid var(--cyber-magenta);
    color: var(--cyber-magenta);
    box-shadow: 0 0 15px rgba(255, 0, 255, 0.3);
}

[data-design-theme="cyberpunk"] .project-link-secondary:hover {
    background: rgba(255, 0, 255, 0.2);
    box-shadow: 0 0 25px rgba(255, 0, 255, 0.5);
}

/* ============================================
   BADGES
   ============================================ */

[data-design-theme="cyberpunk"] .badge-primary {
    background: transparent;
    border: 1px solid var(--cyber-cyan);
    color: var(--cyber-cyan);
    box-shadow: 0 0 10px rgba(0, 240, 255, 0.3);
}

/* ============================================
   THEME TOGGLE
   ============================================ */

[data-design-theme="cyberpunk"] .theme-toggle {
    background: transparent;
    border: 2px solid var(--cyber-cyan);
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.4);
}

[data-design-theme="cyberpunk"] .theme-toggle:hover {
    background: rgba(0, 240, 255, 0.2);
    box-shadow: 0 0 25px rgba(0, 240, 255, 0.6);
}

/* ============================================
   SPECIAL EFFECTS
   ============================================ */

/* Glitch effect on hover */
[data-design-theme="cyberpunk"] .project-card:hover .project-card-title {
    animation: glitch 0.3s infinite;
}

@keyframes glitch {

    0%,
    100% {
        transform: translate(0);
    }

    33% {
        transform: translate(-2px, 1px);
    }

    66% {
        transform: translate(2px, -1px);
    }
}

/* Holographic effect */
[data-design-theme="cyberpunk"] .card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent,
            rgba(0, 240, 255, 0.2),
            transparent);
    transition: left 0.5s;
}

[data-design-theme="cyberpunk"] .card:hover::before {
    left: 100%;
}
/* ============================================
   CYBERPUNK LIGHT MODE (Brighter variant)
   ============================================ */

[data-design-theme="cyberpunk"][data-theme="light"] {
    --cyber-bg: #e8f4f8;
    --cyber-bg-secondary: #d0e8f0;
    --cyber-cyan: #0088cc;
    --cyber-magenta: #cc00cc;
    --cyber-yellow: #cccc00;
    --cyber-purple: #8844dd;
    --bg-primary: #e8f4f8;
    --bg-secondary: #d0e8f0;
    --bg-tertiary: #b8dce8;
    --text-primary: #0066aa;
    --text-secondary: #0088cc;
    --text-tertiary: #5599bb;
    --accent-primary: #0088cc;
    --accent-secondary: #cc00cc;
    --border-color: #0088cc;
}

[data-design-theme="cyberpunk"][data-theme="light"] body {
    background: linear-gradient(135deg, #e8f4f8 0%, #d0e8f0 100%);
}

[data-design-theme="cyberpunk"][data-theme="light"] .card,
[data-design-theme="cyberpunk"][data-theme="light"] .project-card {
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid #0088cc;
    box-shadow: 0 0 20px rgba(0, 136, 204, 0.3), inset 0 0 20px rgba(0, 136, 204, 0.05);
}

[data-design-theme="cyberpunk"][data-theme="light"] .navbar {
    background: rgba(232, 244, 248, 0.95);
    border-bottom: 2px solid #0088cc;
    box-shadow: 0 0 20px rgba(0, 136, 204, 0.3);
}

[data-design-theme="cyberpunk"][data-theme="light"] .footer {
    background: rgba(232, 244, 248, 0.95);
    border-top: 2px solid #0088cc;
    box-shadow: 0 0 20px rgba(0, 136, 204, 0.3);
}

[data-design-theme="cyberpunk"][data-theme="light"] body::before {
    background: repeating-linear-gradient(0deg, rgba(0, 136, 204, 0.03) 0px, transparent 1px, transparent 2px, rgba(0, 136, 204, 0.03) 3px);
}

/* ============================================
   REVAMP COMPONENT LAYER
   ============================================ */

[data-design-theme="cyberpunk"] .profile-frame,
[data-design-theme="cyberpunk"] .signal-card,
[data-design-theme="cyberpunk"] .metric-grid,
[data-design-theme="cyberpunk"] .os-terminal,
[data-design-theme="cyberpunk"] .os-mode-card,
[data-design-theme="cyberpunk"] .service-card,
[data-design-theme="cyberpunk"] .testimonial-card,
[data-design-theme="cyberpunk"] .case-study-card,
[data-design-theme="cyberpunk"] .project-preview-panel,
[data-design-theme="cyberpunk"] .explorer-toolbar,
[data-design-theme="cyberpunk"] .command-dialog,
[data-design-theme="cyberpunk"] .collaboration-panel,
[data-design-theme="cyberpunk"] .empty-state,
[data-design-theme="cyberpunk"] .project-filter-panel,
[data-design-theme="cyberpunk"] .project-spec,
[data-design-theme="cyberpunk"] .contact-panel,
[data-design-theme="cyberpunk"] .contact-form-panel,
[data-design-theme="cyberpunk"] .timeline-item,
[data-design-theme="cyberpunk"] .theme-panel {
    background: rgba(26, 26, 46, 0.78);
    border: 2px solid var(--cyber-cyan);
    box-shadow:
        0 0 24px rgba(0, 240, 255, 0.22),
        inset 0 0 24px rgba(0, 240, 255, 0.06);
}

[data-design-theme="cyberpunk"] .metric-value,
[data-design-theme="cyberpunk"] .hero-title,
[data-design-theme="cyberpunk"] .project-card-title {
    color: var(--cyber-cyan);
    text-shadow: 0 0 14px rgba(0, 240, 255, 0.38);
}

[data-design-theme="cyberpunk"] .filter-chip.active,
[data-design-theme="cyberpunk"] .project-card-fallback,
[data-design-theme="cyberpunk"] .skill-icon-generated {
    background: linear-gradient(135deg, var(--cyber-cyan), var(--cyber-magenta));
    color: #0a0e27;
}

[data-design-theme="cyberpunk"] .hero-orbit {
    border-color: var(--cyber-magenta);
    box-shadow: 0 0 30px rgba(255, 0, 255, 0.25);
}

[data-design-theme="cyberpunk"] .os-terminal,
[data-design-theme="cyberpunk"] .command-search input {
    font-family: var(--font-mono);
}

[data-design-theme="cyberpunk"] .command-result.active,
[data-design-theme="cyberpunk"] .command-result:hover {
    background: rgba(0, 240, 255, 0.14);
    border-color: var(--cyber-magenta);
}
