        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --primary: #6366f1;
            --secondary: #8b5cf6;
            --accent: #06b6d4;
            --dark: #0f0f1a;
            --darker: #080810;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Space Grotesk', sans-serif;
            background: var(--darker);
            color: #fff;
            overflow-x: hidden;
        }

        #canvas-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
        }

        .glass {
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        .gradient-text {
            background: linear-gradient(135deg, var(--primary), var(--accent));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .glow {
            box-shadow: 0 0 40px rgba(99, 102, 241, 0.3);
        }

        .glow-text {
            text-shadow: 0 0 40px rgba(99, 102, 241, 0.5);
        }

        .tech-icon {
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        .tech-icon i {
            font-size: 2rem;
        }

        .tech-icon:hover {
            transform: translateY(-10px) scale(1.1);
            box-shadow: 0 20px 40px rgba(99, 102, 241, 0.4);
        }

        .project-card {
            transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        .project-card:hover {
            transform: translateY(-15px) rotateX(5deg);
        }

        .animate-float {
            animation: float 6s ease-in-out infinite;
        }

        @keyframes float {

            0%,
            100% {
                transform: translateY(0px);
            }

            50% {
                transform: translateY(-20px);
            }
        }

        .animate-pulse-glow {
            animation: pulseGlow 2s ease-in-out infinite;
        }

        @keyframes pulseGlow {

            0%,
            100% {
                box-shadow: 0 0 20px rgba(99, 102, 241, 0.3);
            }

            50% {
                box-shadow: 0 0 40px rgba(99, 102, 241, 0.6);
            }
        }

        .typewriter {
            overflow: hidden;
            border-right: 3px solid var(--accent);
            white-space: nowrap;
            animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
        }

        @keyframes typing {
            from {
                width: 0
            }

            to {
                width: 100%
            }
        }

        @keyframes blink-caret {

            from,
            to {
                border-color: transparent
            }

            50% {
                border-color: var(--accent)
            }
        }

        .scroll-indicator {
            animation: bounce 2s infinite;
        }

        @keyframes bounce {

            0%,
            20%,
            50%,
            80%,
            100% {
                transform: translateY(0) translateX(-50%);
            }

            40% {
                transform: translateY(-20px) translateX(-50%);
            }

            60% {
                transform: translateY(-10px) translateX(-50%);
            }
        }

        .skill-bar {
            position: relative;
            overflow: hidden;
        }

        .skill-bar::after {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            animation: shimmer 2s infinite;
        }

        @keyframes shimmer {
            100% {
                left: 100%;
            }
        }

        .nav-link {
            position: relative;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 2px;
            background: linear-gradient(90deg, var(--primary), var(--accent));
            transition: width 0.3s ease;
        }

        .nav-link:hover::after {
            width: 100%;
        }

        .magnetic-btn {
            transition: transform 0.3s ease;
        }

        /* Custom scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
        }

        ::-webkit-scrollbar-track {
            background: var(--darker);
        }

        ::-webkit-scrollbar-thumb {
            background: linear-gradient(var(--primary), var(--secondary));
            border-radius: 4px;
        }

        .reveal {
            opacity: 0;
            transform: translateY(50px);
        }

        .code-block {
            font-family: 'JetBrains Mono', monospace;
        }

        /* ===== PROJECT DETAIL MODAL ===== */
        .modal-overlay { opacity:0; pointer-events:none; transition: opacity 0.25s ease; }
        .modal-overlay.is-open { opacity:1; pointer-events:all; }
        .modal-panel {
            opacity:0; transform: translateY(28px) scale(0.97);
            transition: opacity 0.3s cubic-bezier(.34,1.56,.64,1), transform 0.3s cubic-bezier(.34,1.56,.64,1);
        }
        .modal-overlay.is-open .modal-panel { opacity:1; transform: translateY(0) scale(1); }
        .modal-scroll::-webkit-scrollbar { width:4px; }
        .modal-scroll::-webkit-scrollbar-thumb { background: rgba(99,102,241,.4); border-radius:4px; }
        .project-card { cursor:pointer; }
        .experience-card { cursor:pointer; transition: all 0.3s ease; }
        .card-hint { opacity:0; transition:opacity .2s; font-size:10px; color:rgba(139,92,246,.75); font-family:'JetBrains Mono',monospace; }
        .project-card:hover .card-hint, .experience-card:hover .card-hint { opacity:1; }
        .mtag { display:inline-flex; align-items:center; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:600;
                font-family:'JetBrains Mono',monospace; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04);
                color:rgba(255,255,255,.8); margin:2px; }
        .mfeature { display:flex; gap:10px; align-items:flex-start; padding:8px 0;
                    border-bottom:1px solid rgba(255,255,255,.05); font-size:13px; color:rgba(200,210,230,.9); line-height:1.5; }
        .mfeature:last-child { border-bottom:none; }
        .mfeature-icon { font-size:16px; flex-shrink:0; width:24px; text-align:center; }
        .mfeature-label { font-weight:700; color:#fff; margin-right:5px; }