        body {
            font-family: 'Vazirmatn', sans-serif;
            scroll-behavior: smooth;
            overflow-x: hidden;
        }
        
        .dark-mode {
            background-color: #0f172a;
            color: #e2e8f0;
        }
        
        .light-mode {
            background-color: #f8fafc;
            color: #1e293b;
        }
        
        .certificate-modal {
            display: none;
            position: fixed;
            z-index: 50;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow: auto;
            background-color: rgba(0, 0, 0, 0.8);
            transition: all 0.3s ease;
        }
        
        .modal-content {
            margin: auto;
            display: block;
            max-width: 90%;
            max-height: 90%;
        }
        
        .skill-bar {
            height: 8px;
            border-radius: 4px;
            background: linear-gradient(90deg, #6366f1 var(--percent), #2d2d3a var(--percent));
            transition: all 0.8s ease;
            transform: scaleX(0);
            transform-origin: left;
        }
        
        .skill-bar.animate {
            transform: scaleX(1);
        }
        
        .section-title {
            position: relative;
            display: inline-block;
        }
        
        .section-title::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 3px;
            background: #6366f1;
            transition: width 0.8s ease;
        }
        
        .section-title.animate::after {
            width: 100%;
        }
        
        .card-3d {
            transform-style: preserve-3d;
            transition: transform 0.5s ease;
        }
        
        .card-3d:hover {
            transform: translateY(-10px) rotateX(5deg) rotateY(5deg);
        }
        
        .card-3d::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(99, 102, 241, 0.2) 0%, rgba(99, 102, 241, 0) 100%);
            border-radius: inherit;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        
        .card-3d:hover::before {
            opacity: 1;
        }
        
        .floating {
            animation: float 3s ease-in-out infinite;
        }
        
        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-15px); }
            100% { transform: translateY(0px); }
        }
        
        .rotate-slow {
            animation: rotate 10s linear infinite;
        }
        
        @keyframes rotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }
        
        .fade-in {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease, transform 0.8s ease;
        }
        
        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }
        
        .glow {
            box-shadow: 0 0 15px rgba(99, 102, 241, 0.5);
            transition: box-shadow 0.3s ease;
        }
        
        .glow:hover {
            box-shadow: 0 0 25px rgba(99, 102, 241, 0.8);
        }
        
        #canvas-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            opacity: 0.2;
        }
        
        .progress-bar {
            position: fixed;
            top: 0;
            left: 0;
            height: 4px;
            background: linear-gradient(90deg, #6366f1, #a855f7);
            z-index: 100;
            width: 0%;
        }
        
        .cursor {
            width: 20px;
            height: 20px;
            border: 2px solid #6366f1;
            border-radius: 50%;
            position: fixed;
            transform: translate(-50%, -50%);
            pointer-events: none;
            z-index: 9999;
            mix-blend-mode: difference;
            transition: all 0.3s ease;
            transition-property: background, transform;
            transform-origin: 100% 100%;
            backdrop-filter: invert(1);
            display: none;
        }
        
        .cursor-dot {
            width: 6px;
            height: 6px;
            background: #6366f1;
            border-radius: 50%;
            position: fixed;
            transform: translate(-50%, -50%);
            pointer-events: none;
            z-index: 9999;
            display: none;
        }
        
        @media (min-width: 768px) {
            .cursor, .cursor-dot {
                display: block;
            }
        }
        
        .hover-scale {
            transition: transform 0.3s ease;
        }
        
        .hover-scale:hover {
            transform: scale(1.05);
        }
        
        .nav-link {
            position: relative;
            overflow: hidden;
        }
        
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0%;
            height: 2px;
            background-color: #6366f1;
            transition: width 0.3s ease;
        }
        
        .nav-link:hover::after {
            width: 100%;
        }
        
        .nav-link.active::after {
            width: 100%;
        }
        
        .scroll-down {
            position: absolute;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            animation: scrollDown 2s infinite;
        }
        
        @keyframes scrollDown {
            0% { transform: translate(-50%, 0); opacity: 0; }
            50% { opacity: 1; }
            100% { transform: translate(-50%, 20px); opacity: 0; }
        }
        
        .parallax {
            transition: transform 0.3s cubic-bezier(0.2, 0, 0.8, 1);
        }