 @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

        :root {
            --primary: #3b82f6;
            --secondary: #10b981;
            --dark: #1e293b;
            --light: #f8fafc;
        }

        body {
            font-family: 'Poppins', sans-serif;
            background-color: #f1f5f9;
            color: var(--dark);
            overflow-x: hidden;
            transition: background-color 0.3s, color 0.3s;
        }

        .dark {
            background-color: #0f172a;
            color: #ffffff;
        }

        .dark .card {
            background-color: #1e293b;
            color: #f8fafc;
        }

        .dark .bg-white {
            background-color: #fbfcff !important;
            color: #0f172a;
        }

        .dark .bg-slate-50 {
            background-color: #0f172a !important;
        }

        .dark .text-slate-600 {
            color: #000000 !important;
        }

        .dark .text-slate-700 {
            color: #ffffff !important;
        }

        .dark .bg-gradient-to-br {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            align-content: center;
            background-image: linear-gradient(to bottom right, #249fb7, #1e293b) !important;
        }

        .dark .border-slate-300 {
            border-color: #334155 !important;
        }

        .dark .shadow-md {
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -1px rgba(0, 0, 0, 0.12) !important;
        }

        .gradient-text {
            background: linear-gradient(90deg, var(--primary), var(--secondary));
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }

        .card {
            transition: all 0.3s ease;
            transform: translateY(0);
        }

        .card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }

        .timeline-item::before {
            content: '';
            position: absolute;
            left: -43px;
            top: 0;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: var(--primary);
            border: 4px solid white;
        }

        .dark .timeline-item::before {
            border-color: #1e293b;
        }

        .timeline::before {
            content: '';
            position: absolute;
            left: 30px;
            top: 0;
            height: 100%;
            width: 2px;
            background: #e2e8f0;
        }

        .dark .timeline::before {
            background: #334155;
        }

        .glow {
            box-shadow: 0 0 15px rgba(59, 130, 246, 0.5);
        }

        .parallax {
            background-attachment: fixed;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }

        .hover-underline-animation {
            display: inline-block;
            position: relative;
        }

        .hover-underline-animation::after {
            content: '';
            position: absolute;
            width: 100%;
            transform: scaleX(0);
            height: 2px;
            bottom: 0;
            left: 0;
            background: linear-gradient(90deg, var(--primary), var(--secondary));
            transform-origin: bottom right;
            transition: transform 0.25s ease-out;
        }

        .hover-underline-animation:hover::after {
            transform: scaleX(1);
            transform-origin: bottom left;
        }

        /* Dark mode toggle */
        .toggle-checkbox:checked {
            right: 0;
            background-color: #10b981;
        }

        .toggle-checkbox:checked+.toggle-label {
            background-color: #1e293b;
        }

        /* Floating animations */
        @keyframes float1 {
            0% {
                transform: translateY(0px);
            }

            50% {
                transform: translateY(-20px);
            }

            100% {
                transform: translateY(0px);
            }
        }

        @keyframes float2 {
            0% {
                transform: translateY(0px) rotate(0deg);
            }

            50% {
                transform: translateY(-10px) rotate(5deg);
            }

            100% {
                transform: translateY(0px) rotate(0deg);
            }
        }

        .float-animation1 {
            animation: float1 4s ease-in-out infinite;
        }

        .float-animation2 {
            animation: float2 5s ease-in-out infinite;
        }

        /* Cursor interaction styles */
        .character-hover-effect {
            transition: transform 0.3s ease;
        }

        /* Additional tablet adjustments (481px - 768px) */
        @media (min-width: 481px) and (max-width: 768px) {
            .hero h1 {
                font-size: 2.8rem;
            }

            .project-grid {
                grid-template-columns: 1fr 1fr;
            }

            .contact-box {
                flex-direction: column;
            }

            .contact-info,
            .contact-form {
                width: 100%;
            }

            .character-container {
                width: 250px;
                height: 250px;
            }

        }

        /* Disable animations on mobile for performance */
        @media (max-width: 768px) {
            .card:hover {
                transform: none !important;
            }

            .typewriter {
                white-space: normal;
                border-right: none;
                animation: none;
            }

            .dark .text-slate-700 {
                color: #ffffff !important;
            }

            .dark .text-slate-600 {
                color: #000000 !important;
            }
        }

        /* No select for particles */
        .particles,
        .particles * {
            user-select: none;
            -webkit-user-select: none;
        }

        .dark #faq {
            background-color: #0f172a;
        }

        .dark #mobile-menu {
            background-color: rgba(15, 23, 42, 0.95);
        }

        #mobile-menu.show {
            display: flex;
            background-color: white;
        }

        #mobile-menu a {
            border-radius: 20px;
            background: #004cff;
            display: block;
            padding: 1rem;
            font-size: 1.5rem;
            color: #eff6ff;
            transition: color 0.3s;
        }

        .dark #mobile-menu a {
            color: #e2e8f0;
        }

        #mobile-menu a:hover {
            color: #3b82f6;
        }

        #close-menu {
            position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            font-size: 1.5rem;
            color: #f8f9fa;
            background: none;
            border: none;
        }

        .dark #close-menu {
            color: #e2e8f0;
        }

        .dark .nameinput {
            background-color: whitesmoke;
        }

        /* Improved button tap targets for mobile */
        button,
        a.button-like {
            min-width: 44px;
            min-height: 44px;
        }

        /* Better form input sizes */
        input,
        textarea,
        select {
            font-size: 16px !important;
            /* Prevent zooming on focus in iOS */
        }

        /* Prevent layout shifts */
        img,
        video,
        iframe,
        canvas {
            max-width: 100%;
            height: auto;
        }

        /* Improved touch feedback */
        a,
        button {
            -webkit-tap-highlight-color: transparent;
        }

        .notebook-container {
            perspective: 1000px;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #000;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 9999;
            animation: fadeOut 1s ease-in-out 4s forwards;
        }

        .loading-screen {
            color: white;
            text-align: center;
            animation: fadeIn 1s ease-in-out;
        }

        .loading-logo {
            font-size: 2rem;
            margin-bottom: 2rem;
            background: linear-gradient(90deg, var(--primary), var(--secondary));
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }

        .loading-bar {
            width: 300px;
            height: 4px;
            background-color: #333;
            margin: 0 auto;
            overflow: hidden;
            border-radius: 2px;
        }

        .loading-progress {
            height: 100%;
            width: 0%;
            background: linear-gradient(90deg, #034a9c, #d7ecf5);
            animation: loading 3s ease-in-out forwards;
        }

        @keyframes loading {
            0% {
                width: 0%;
            }

            100% {
                width: 100%;
            }
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }

        @keyframes fadeOut {
            to {
                opacity: 0;
                visibility: hidden;
            }
        }

        .thefirstone {
            height: 5vh;
            width: auto;
        }

        #about {
            background: #4f92da;
            overflow: hidden;
            font-family: 'Inconsolata', monospace;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            perspective: 1000px;
        }

        #skills {
            padding: 35px;
        }

        .matrix-background {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            opacity: 0.15;
        }

        .terminal-container {
            position: relative;
            width: 85%;
            max-width: 800px;
            height: 70vh;
            background: white;
            border-radius: 8px;
            box-shadow: 0 0 30px rgba(17, 13, 238, 0.5),
                inset 0 0 10px rgba(18, 15, 207, 0.2);
            overflow: hidden;
            border: 1px solid var(--terminal-green);
            transform-style: preserve-3d;
            animation: float 8s ease-in-out infinite;
        }

        @keyframes float {

            0%,
            100% {
                transform: translateY(0) rotateX(10deg) rotateY(5deg);
            }

            50% {
                transform: translateY(-20px) rotateX(5deg) rotateY(10deg);
            }
        }

        .terminal-header {
            background: linear-gradient(to right, #0a0a0a, #111);
            padding: 8px 15px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            color: var(--terminal-green);
            font-family: 'Share Tech Mono', monospace;
            border-bottom: 1px solid var(--terminal-green);
            box-shadow: 0 2px 15px rgba(91, 119, 243, 0.3);
        }

        .terminal-buttons {
            display: flex;
            gap: 8px;
        }

        .terminal-button {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, 0.2);
        }

        .terminal-button.red {
            background: #ff5f56;
        }

        .terminal-button.yellow {
            background: #ffbd2e;
        }

        .terminal-button.green {
            background: #27c93f;
        }

        .terminal-body {
            padding: 15px;
            height: calc(100% - 40px);
            overflow-y: auto;
            color: var(--text-color);
            text-shadow: var(--text-shadow);
            line-height: 2;
        }

        .typing-text {
            white-space: pre-wrap;
            font-size: 1.1rem;
        }

        .command-line {
            margin-top: 20px;
            display: flex;
            align-items: center;
        }

        .prompt {
            color: var(--terminal-green);
            margin-right: 10px;
            font-weight: bold;
        }

        .cursor {
            display: inline-block;
            width: 10px;
            height: 20px;
            background: var(--terminal-green);
            animation: blink 1s infinite;
            vertical-align: middle;
        }

        @keyframes blink {

            0%,
            100% {
                opacity: 1;
            }

            50% {
                opacity: 0;
            }
        }

        .command-input {
            flex-grow: 1;
            background: transparent;
            border: none;
            color: var(--terminal-green);
            font-family: 'Inconsolata', monospace;
            font-size: 1.1rem;
            outline: none;
            caret-color: var(--terminal-green);
            text-shadow: var(--text-shadow);
        }


        .glitch {
            position: relative;
            color: white;
            font-size: larger;
        }

        .contact-item {
            margin: 8px 0;
        }

        .contact-item a {
            color: var(--terminal-purple);
            text-decoration: none;
            transition: all 0.3s;
        }

        .contact-item a:hover {
            color: var(--terminal-cyan);
            text-shadow: 0 0 10px var(--terminal-cyan);
        }

        .hidden {
            display: none;
        }

        /* Matrix rain effect */
        canvas {
            display: block;
        }

        #faq {
            background: #f8fafc;
            height: auto;
            width: auto;
            padding: 10px;
        }


        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
        }

        .accordion.active .accordion-content {
            max-height: 300px;
        }



        @keyframes fadeIn {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Status Message Styles */
        .bg-green-100 {
            background-color: rgba(209, 250, 229, 0.5);
        }

        .text-green-800 {
            color: #065f46;
        }

        .bg-red-100 {
            background-color: rgba(254, 226, 226, 0.5);
        }

        .text-red-800 {
            color: #991b1b;
        }

        .nameinput {
            padding-top: 0.5rem;
            padding-left: 1rem;
            padding-right: 1rem;
            padding-bottom: 0.5rem;
            border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
            border-width: 1px;
            border-radius: 0.5rem;
            color: black;
            width: 100%;
            background-color: whitesmoke;
        }

        .p-6 {
            height: auto;
            width: auto;
        }

        .offerbtn {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 50px;
        }

        .offernote {
            position: relative;
            text-align: center;
            color: #000;
            font-weight: bold;
            line-height: 50px;
        }