
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            -webkit-tap-highlight-color: transparent;
        }

        body {
            background-color: #000;
            color: #00ff00;
            font-family: 'Courier New', monospace;
            overflow: hidden;
            height: 100vh;
            position: relative;
            overscroll-behavior: none;
            touch-action: manipulation;
        }

        #matrix-bg {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            opacity: 0.1;
            filter: blur(0.8px);
        }

        .terminal-container {
            max-width: 1600px;
            margin: 0 auto;
            padding: clamp(6px, 2vw, 12px);
            height: 100vh;
            display: flex;
            flex-direction: column;
            background: radial-gradient(circle, rgba(0,255,0,0.03) 0%, transparent 70%);
        }

        .terminal-header {
            text-align: center;
            margin-bottom: clamp(6px, 2vw, 10px);
            padding: clamp(4px, 1.5vw, 8px);
            border-bottom: 1px solid #00ff00;
            background: rgba(0, 255, 0, 0.03);
            box-shadow: 0 0 10px rgba(0, 255, 0, 0.1);
            position: sticky;
            top: 0;
            z-index: 10;
            min-height: clamp(36px, 10vw, 50px);
            display: flex;
            flex-direction: column;
            justify-content: center;
            overflow: visible;
        }

        .terminal-title {
            font-size: clamp(0.9rem, 3.5vw, 1.4rem);
            text-shadow: 0 0 10px #00ff00, 0 0 20px #00ff00;
            letter-spacing: clamp(0.8px, 0.3vw, 1.5px);
            animation: glow 2s ease-in-out infinite alternate;
            white-space: nowrap;
            overflow: visible;
        }

        @keyframes glow {
            from { text-shadow: 0 0 6px #00ff00, 0 0 12px #00ff00; }
            to { text-shadow: 0 0 12px #00ff00, 0 0 24px #00ff00; }
        }

        .terminal-subtitle {
            font-size: clamp(0.55rem, 1.8vw, 0.75rem);
            opacity: 0.7;
            margin-top: clamp(2px, 0.8vw, 4px);
            letter-spacing: 0.6px;
            white-space: nowrap;
            overflow: visible;
        }

        .terminal-output {
            flex: 1;
            overflow-y: auto;
            padding: clamp(6px, 2vw, 10px);
            border: 1px solid #00ff00;
            border-radius: 4px;
            margin-bottom: clamp(6px, 2vw, 10px);
            background: rgba(0, 0, 0, 0.9);
            box-shadow: inset 0 0 6px rgba(0, 255, 0, 0.1);
            overscroll-behavior: contain;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: thin;
            scrollbar-color: #00ff00 transparent;
        }

        .terminal-output::-webkit-scrollbar {
            width: 4px;
        }

        .terminal-output::-webkit-scrollbar-thumb {
            background: #00ff00;
            border-radius: 2px;
        }

        .output-line {
            margin-bottom: clamp(3px, 1.2vw, 6px);
            line-height: 1.5;
            font-size: clamp(0.65rem, 1.8vw, 0.8rem);
        }

        .command-line {
            display: flex;
            align-items: center;
            background: rgba(0, 255, 0, 0.03);
            padding: clamp(4px, 1.5vw, 8px);
            border-radius: 4px;
            min-height: clamp(28px, 7vw, 36px);
        }

        .prompt {
            color: #00ff00;
            margin-right: clamp(4px, 1.5vw, 8px);
            font-weight: bold;
            font-size: clamp(0.65rem, 1.8vw, 0.8rem);
        }

        .user { color: #00ff66; }
        .host { color: #66ff00; }
        .path { color: #00ffff; }

        #command-input {
            background: transparent;
            border: none;
            color: #00ff00;
            font-family: 'Courier New', monospace;
            font-size: clamp(0.65rem, 1.8vw, 0.8rem);
            outline: none;
            flex: 1;
            caret-color: #00ff00;
            line-height: 1.5;
        }

        .cursor {
            display: inline-block;
            width: clamp(4px, 1vw, 6px);
            height: clamp(8px, 2.5vw, 12px);
            background-color: #00ff00;
            margin-left: clamp(1px, 0.4vw, 2px);
            animation: blink 0.8s infinite;
        }

        @keyframes blink {
            0%, 50% { opacity: 1; }
            51%, 100% { opacity: 0; }
        }

        .project-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(clamp(160px, 35vw, 240px), 1fr));
            gap: clamp(6px, 2vw, 10px);
            margin-top: clamp(6px, 2vw, 10px);
        }

        .project-card {
            background: rgba(0, 255, 0, 0.06);
            border: 1px solid #00ff00;
            border-radius: 4px;
            padding: clamp(6px, 2vw, 10px);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
            cursor: pointer;
            touch-action: manipulation;
        }

        .project-card:hover, .project-card:active {
            background: rgba(0, 255, 0, 0.12);
            transform: translateY(-2px);
            box-shadow: 0 0 12px rgba(0, 255, 0, 0.2);
        }

        .project-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(
                90deg,
                transparent,
                rgba(0, 255, 0, 0.12),
                transparent
            );
            transition: 0.4s;
        }

        .project-card:hover::before, .project-card:active::before {
            left: 100%;
        }

        .project-name {
            color: #00ffff;
            font-weight: bold;
            margin-bottom: clamp(3px, 1.2vw, 6px);
            font-size: clamp(0.75rem, 2vw, 0.9rem);
        }

        .project-desc {
            font-size: clamp(0.6rem, 1.6vw, 0.75rem);
            opacity: 0.85;
            line-height: 1.5;
        }

        .project-tech {
            margin-top: clamp(4px, 1.5vw, 8px);
            font-size: clamp(0.55rem, 1.4vw, 0.7rem);
            color: #66ff00;
        }

        .help-command {
            color: #00ffff;
            cursor: pointer;
            transition: color 0.2s;
        }

        .help-command:hover, .help-command:active {
            color: #66ffff;
        }

        .error { color: #ff4444; }
        .success { color: #00ff66; }

        .welcome-text {
            animation: typewriter 3s steps(50) 1s forwards;
            white-space: nowrap;
            overflow: hidden;
            border-right: 2px solid #00ff00;
            width: 0;
            font-size: clamp(0.65rem, 1.8vw, 0.8rem);
        }

        @keyframes typewriter {
            to { width: 100%; border-right: none; }
        }

        .autocomplete-suggestions {
            position: absolute;
            background: rgba(0, 0, 0, 0.95);
            border: 1px solid #00ff00;
            border-radius: 4px;
            max-height: clamp(60px, 20vh, 100px);
            overflow-y: auto;
            width: clamp(120px, 60vw, 240px);
            z-index: 1000;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: thin;
            scrollbar-color: #00ff00 transparent;
        }

        .autocomplete-suggestions::-webkit-scrollbar {
            width: 4px;
        }

        .autocomplete-suggestions::-webkit-scrollbar-thumb {
            background: #00ff00;
            border-radius: 2px;
        }

        .suggestion-item {
            padding: clamp(4px, 1.5vw, 8px);
            cursor: pointer;
            transition: background 0.2s;
            font-size: clamp(0.65rem, 1.8vw, 0.8rem);
        }

        .suggestion-item:hover, .suggestion-item:active {
            background: rgba(0, 255, 0, 0.12);
        }

        .modal {
            display: none;
            position: fixed;
            z-index: 1001;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            background-color: rgba(0,0,0,0.9);
            align-items: center;
            justify-content: center;
            overscroll-behavior: contain;
            touch-action: none;
        }

        .modal-content {
            background-color: rgba(0, 0, 0, 0.95);
            margin: auto;
            padding: clamp(6px, 2.5vw, 10px);
            border: 1px solid #00ff00;
            border-radius: 4px;
            width: clamp(80%, 90vw, 95%);
            max-width: 600px;
            color: #00ff00;
            box-shadow: 0 0 16px rgba(0, 255, 0, 0.3);
            animation: fadeIn 0.5s ease-in;
            max-height: clamp(65vh, 75vh, 80vh);
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: thin;
            scrollbar-color: #00ff00 transparent;
        }

        .modal-content::-webkit-scrollbar {
            width: 4px;
        }

        .modal-content::-webkit-scrollbar-thumb {
            background: #00ff00;
            border-radius: 2px;
        }

        .modal-title {
            font-size: clamp(0.9rem, 3vw, 1.2rem);
            color: #00ffff;
            margin-bottom: clamp(6px, 2vw, 10px);
            text-shadow: 0 0 6px #00ff00;
        }

        .modal-section {
            margin-bottom: clamp(6px, 2vw, 10px);
            line-height: 1.5;
            font-size: clamp(0.6rem, 1.6vw, 0.75rem);
        }

        .modal-section-title {
            color: #66ff00;
            font-weight: bold;
            margin-bottom: clamp(3px, 1.2vw, 6px);
            font-size: clamp(0.7rem, 2vw, 0.85rem);
        }

        .close-btn {
            color: #00ff00;
            float: right;
            font-size: clamp(14px, 3.5vw, 20px);
            font-weight: bold;
            cursor: pointer;
            transition: color 0.3s;
            padding: clamp(3px, 1.2vw, 6px);
        }

        .close-btn:hover, .close-btn:active {
            color: #ff4444;
        }

        /* Ultra-small screens (e.g., 320px width) */
        @media (max-width: 360px) {
            .terminal-container {
                padding: clamp(4px, 3vw, 6px);
            }

            .terminal-header {
                padding: clamp(3px, 2.5vw, 5px);
                margin-bottom: clamp(3px, 2.5vw, 5px);
                min-height: clamp(28px, 9vw, 36px);
            }

            .terminal-title {
                font-size: clamp(0.8rem, 3.5vw, 1rem);
            }

            .terminal-subtitle {
                font-size: clamp(0.5rem, 2.2vw, 0.65rem);
                margin-top: clamp(1px, 0.8vw, 3px);
            }

            .prompt, #command-input, .output-line, .suggestion-item {
                font-size: clamp(0.55rem, 2.5vw, 0.7rem);
            }

            .project-grid {
                grid-template-columns: 1fr;
                gap: clamp(4px, 2vw, 8px);
            }

            .project-card {
                padding: clamp(4px, 2.5vw, 6px);
            }

            .project-name {
                font-size: clamp(0.65rem, 2.5vw, 0.8rem);
            }

            .project-desc {
                font-size: clamp(0.55rem, 2.2vw, 0.7rem);
            }

            .project-tech {
                font-size: clamp(0.5rem, 2vw, 0.65rem);
            }

            .autocomplete-suggestions {
                width: clamp(95%, 90vw, 98%);
                max-height: clamp(50px, 18vh, 80px);
            }

            .modal-content {
                width: clamp(94%, 96vw, 99%);
                padding: clamp(4px, 3vw, 6px);
                max-height: clamp(70vh, 80vh, 85vh);
            }

            .modal-title {
                font-size: clamp(0.8rem, 3vw, 1rem);
            }

            .modal-section {
                font-size: clamp(0.55rem, 2.5vw, 0.7rem);
            }

            .modal-section-title {
                font-size: clamp(0.65rem, 2.5vw, 0.8rem);
            }
        }

        /* Small screens (e.g., phones up to 480px) */
        @media (max-width: 480px) {
            .terminal-container {
                height: 590px;
                padding: clamp(5px, 3vw, 8px);
            }

            .terminal-header {
                padding: clamp(3px, 2.5vw, 6px);
                margin-bottom: clamp(4px, 2.5vw, 6px);
                min-height: clamp(30px, 9vw, 40px);
            }

            .terminal-title {
                font-size: clamp(0.85rem, 3.8vw, 1.1rem);
            }

            .terminal-subtitle {
                font-size: clamp(0.5rem, 2.3vw, 0.7rem);
                margin-top: clamp(1px, 0.8vw, 3px);
            }

            .prompt, #command-input, .output-line, .suggestion-item {
                font-size: clamp(0.6rem, 2.6vw, 0.75rem);
            }

            .project-card {
                padding: clamp(5px, 2.5vw, 8px);
            }

            .project-name {
                font-size: clamp(0.7rem, 2.6vw, 0.85rem);
            }

            .project-desc {
                font-size: clamp(0.55rem, 2.3vw, 0.7rem);
            }

            .project-tech {
                font-size: clamp(0.5rem, 2.1vw, 0.65rem);
            }

            .autocomplete-suggestions {
                width: clamp(92%, 88vw, 96%);
                max-height: clamp(60px, 20vh, 90px);
            }

            .modal-content {
                width: clamp(92%, 95vw, 98%);
                padding: clamp(5px, 3vw, 8px);
                max-height: clamp(70vh, 80vh, 85vh);
            }
        }

        /* Medium screens (e.g., tablets up to 768px) */
        @media (max-width: 768px) {
            .terminal-container {
                padding: clamp(6px, 2.5vw, 10px);
            }

            .terminal-header {
                padding: clamp(4px, 2vw, 8px);
                margin-bottom: clamp(4px, 2vw, 8px);
                min-height: clamp(32px, 8vw, 45px);
            }

            .terminal-output {
                padding: clamp(5px, 2vw, 8px);
                margin-bottom: clamp(5px, 2vw, 8px);
            }

            .command-line {
                padding: clamp(4px, 2vw, 8px);
                min-height: clamp(26px, 6vw, 34px);
            }

            .project-grid {
                grid-template-columns: 1fr;
                gap: clamp(5px, 2vw, 8px);
            }

            .project-card {
                padding: clamp(5px, 2vw, 8px);
            }

            .autocomplete-suggestions {
                width: clamp(90%, 85vw, 95%);
                max-height: clamp(70px, 22vh, 100px);
            }

            .modal-content {
                width: clamp(90%, 92vw, 96%);
                padding: clamp(6px, 2.5vw, 10px);
                max-height: clamp(70vh, 80vh, 85vh);
            }
        }

        /* Large screens (e.g., desktops) */
        @media (min-width: 769px) and (max-width: 1200px) {
            .terminal-container {
                padding: clamp(8px, 2vw, 12px);
            }

            .terminal-header {
                min-height: clamp(40px, 8vw, 50px);
            }

            .terminal-title {
                font-size: clamp(1rem, 3vw, 1.5rem);
            }

            .project-grid {
                grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            }
        }

        /* Ultra-wide screens (e.g., >1600px) */
        @media (min-width: 1601px) {
            .terminal-container {
                max-width: 1800px;
                padding: clamp(10px, 1.5vw, 16px);
            }

            .terminal-title {
                font-size: clamp(1.5rem, 2vw, 2rem);
            }

            .terminal-subtitle {
                font-size: clamp(0.7rem, 1.5vw, 0.9rem);
            }

            .project-grid {
                grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            }
        }

        /* Landscape orientation for mobile devices */
        @media (max-height: 500px) and (orientation: landscape) {
            .terminal-container {
                padding: clamp(4px, 2vw, 8px);
            }

            .terminal-header {
                min-height: clamp(28px, 8vw, 36px);
            }

            .terminal-title {
                font-size: clamp(0.8rem, 3vw, 1rem);
            }

            .terminal-subtitle {
                font-size: clamp(0.5rem, 2vw, 0.65rem);
                margin-top: clamp(1px, 0.8vw, 3px);
            }

            .terminal-output {
                max-height: clamp(50vh, 60vh, 65vh);
            }

            .modal-content {
                max-height: clamp(60vh, 70vh, 75vh);
            }
        }
   