* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Courier New', monospace; background: #0a0a0a; color: #00ffff; overflow-x: hidden; min-height: 100vh; image-rendering: pixelated; line-height: 1.4; cursor: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwRkZGRiIvPgo8cmVjdCB4PSI0IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjMDBGRkZGIi8+CjxyZWN0IHg9IjgiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMEZGRkYiLz4KPHJlY3QgeT0iNCIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwRkZGRiIvPgo8cmVjdCB5PSI4IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjMDBGRkZGIi8+CjxyZWN0IHk9IjEyIiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjMDBGRkZGIi8+CjxyZWN0IHk9IjE2IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjMDBGRkZGIi8+CjxyZWN0IHg9IjQiIHk9IjQiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMEZGRkYiLz4KPHJlY3QgeD0iOCIgeT0iNCIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwMDAwMCIvPgo8cmVjdCB4PSI0IiB5PSI4IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjMDAwMDAwIi8+CjxyZWN0IHg9IjgiIHk9IjgiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMDAwMDAiLz4KPHJlY3QgeD0iNCIgeT0iMTIiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMDAwMDAiLz4KPHJlY3QgeD0iNCIgeT0iMTYiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMDAwMDAiLz4KPC9zdmc+'), auto; } /* Pixel Grid Background */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, transparent 98%, rgba(0, 255, 255, 0.03) 100%), linear-gradient(180deg, transparent 98%, rgba(0, 255, 255, 0.03) 100%); background-size: 20px 20px; pointer-events: none; z-index: 1; } /* Pixel Stars */ .stars { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 2; } .star { position: absolute; width: 4px; height: 4px; background: #ffffff; animation: pixelTwinkle 2s infinite; } .star:nth-child(2n) { background: #00ffff; animation-delay: 0.5s; } .star:nth-child(3n) { background: #ffff00; animation-delay: 1s; } @keyframes pixelTwinkle { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } } /* Pixel Meteors */ .meteor { position: fixed; width: 6px; height: 2px; background: #00ffff; box-shadow: -6px 0 0 #0088ff, -12px 0 0 #004488, -18px 0 0 #002244; animation: pixelMeteor 5s linear infinite; z-index: 3; } @keyframes pixelMeteor { 0% { transform: translateX(-50px) translateY(-50px); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateX(100vw) translateY(100vh); opacity: 0; } } /* Scanlines Effect */ .scanlines { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(transparent 50%, rgba(0, 255, 255, 0.02) 50%); background-size: 100% 4px; pointer-events: none; z-index: 100; animation: scan 0.1s linear infinite; } @keyframes scan { 0% { transform: translateY(0); } 100% { transform: translateY(4px); } } /* Container */ .container { position: relative; z-index: 10; max-width: 1000px; margin: 0 auto; padding: 0 20px; } /* Pixel Art Title */ .hero { height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; position: relative; } .pixel-title { font-family: 'Courier New', monospace; font-size: 4rem; font-weight: bold; color: #00ffff; text-shadow: 2px 2px 0 #0088aa, 4px 4px 0 #004455; margin-bottom: 2rem; letter-spacing: 4px; animation: pixelGlow 2s ease-in-out infinite alternate; } .pixel-subtitle { font-family: 'Courier New', monospace; font-size: 1.5rem; color: #ff00ff; text-shadow: 1px 1px 0 #880088; margin-bottom: 2rem; letter-spacing: 2px; } .pixel-text { font-family: 'Courier New', monospace; font-size: 1rem; color: #ffffff; max-width: 600px; margin: 0 auto; line-height: 1.6; letter-spacing: 1px; } @keyframes pixelGlow { from { text-shadow: 2px 2px 0 #0088aa, 4px 4px 0 #004455, 0 0 10px #00ffff; } to { text-shadow: 2px 2px 0 #0088aa, 4px 4px 0 #004455, 0 0 20px #00ffff, 0 0 30px #00ffff; } } /* Pixel Borders */ .pixel-border { border: 4px solid; border-image: url('data:image/svg+xml,') 4; } /* Sections */ .section { padding: 80px 0; margin: 0 auto; position: relative; } .section-title { font-family: 'Courier New', monospace; font-size: 2.5rem; font-weight: bold; color: #ff00ff; text-shadow: 2px 2px 0 #880088; text-align: center; margin-bottom: 3rem; letter-spacing: 3px; text-transform: uppercase; } .section-title::before { content: '>>> '; color: #00ffff; } .section-title::after { content: ' <<<'; color: #00ffff; } /* Pixel Cards */ .pixel-card { background: #1a1a1a; border: 3px solid #00ffff; margin: 30px 0; padding: 25px; position: relative; box-shadow: inset 2px 2px 0 #004455, 3px 3px 0 #000000; transition: all 0.2s ease; } .pixel-card::before { content: ''; position: absolute; top: -3px; left: -3px; right: -3px; bottom: -3px; background: #00ffff; z-index: -1; } .pixel-card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #1a1a1a; z-index: -1; } .pixel-card:hover { transform: translate(-2px, -2px); box-shadow: inset 2px 2px 0 #004455, 5px 5px 0 #000000; } .pixel-card h3 { font-family: 'Courier New', monospace; font-size: 1.3rem; color: #ff00ff; text-shadow: 1px 1px 0 #880088; margin-bottom: 15px; letter-spacing: 2px; text-transform: uppercase; } .pixel-card p { font-family: 'Courier New', monospace; color: #ffffff; line-height: 1.6; letter-spacing: 1px; } /* Pixel Skills Grid */ .skills-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 25px; margin-top: 40px; } .skill-pixel { background: #2a2a2a; border: 2px solid #ff00ff; padding: 20px; text-align: center; position: relative; box-shadow: 2px 2px 0 #000000; transition: all 0.2s ease; } .skill-pixel::before { content: ''; position: absolute; top: 5px; left: 5px; right: 5px; bottom: 5px; border: 1px solid #440044; } .skill-pixel:hover { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 #000000; border-color: #00ffff; } .skill-pixel h3 { font-family: 'Courier New', monospace; color: #00ffff; font-size: 1.1rem; margin-bottom: 10px; letter-spacing: 1px; text-transform: uppercase; } .skill-pixel p { font-family: 'Courier New', monospace; color: #cccccc; font-size: 0.9rem; line-height: 1.4; } /* Pixel Buttons */ .pixel-btn { display: inline-block; padding: 12px 24px; background: #aa0088; color: #ffffff; text-decoration: none; font-family: 'Courier New', monospace; font-weight: bold; letter-spacing: 1px; text-transform: uppercase; border: 2px solid #ffffff; margin: 10px; position: relative; box-shadow: 2px 2px 0 #000000; transition: all 0.1s ease; } .pixel-btn:hover { background: #0088aa; color: #ffffff; transform: translate(-1px, -1px); box-shadow: 3px 3px 0 #000000; } /* Terminal Style Contact */ .terminal { background: #000000; border: 3px solid #00ffff; padding: 30px; margin: 40px 0; font-family: 'Courier New', monospace; position: relative; } .terminal::before { content: '[SYSTEM READY]'; position: absolute; top: -15px; left: 20px; background: #000000; color: #00ffff; padding: 0 10px; font-size: 0.8rem; } .terminal-text { color: #00ffff; line-height: 1.6; margin-bottom: 20px; } .terminal-text::before { content: '> '; color: #ff00ff; } /* Music Player */ .music-player { position: fixed; top: 20px; right: 20px; background: #1a1a1a; border: 2px solid #00ffff; padding: 10px 15px; z-index: 1000; font-family: 'Courier New', monospace; color: #00ffff; font-size: 0.8rem; box-shadow: 2px 2px 0 #000000; } .music-player::before { content: '[AUDIO SYS]'; position: absolute; top: -10px; left: 10px; background: #1a1a1a; padding: 0 5px; font-size: 0.7rem; } .music-toggle { background: #ff00ff; border: 1px solid #ffffff; color: #ffffff; padding: 5px 10px; font-family: 'Courier New', monospace; font-size: 0.7rem; cursor: pointer; margin-left: 10px; text-transform: uppercase; } .music-toggle:hover { background: #aa0088; } /* Custom 16-bit Cursors */ .pixel-btn, .music-toggle { cursor: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNCIgeT0iNCIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iI0ZGMDBGRiIvPgo8cmVjdCB4PSI4IiB5PSI0IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRkYwMEZGIi8+CjxyZWN0IHg9IjEyIiB5PSI0IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRkYwMEZGIi8+CjxyZWN0IHg9IjE2IiB5PSI0IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRkYwMEZGIi8+CjxyZWN0IHg9IjQiIHk9IjgiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiNGRjAwRkYiLz4KPHJlY3QgeD0iOCIgeT0iOCIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwMDAwMCIvPgo8cmVjdCB4PSIxMiIgeT0iOCIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwMDAwMCIvPgo8cmVjdCB4PSIxNiIgeT0iOCIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iI0ZGMDBGRiIvPgo8cmVjdCB4PSI0IiB5PSIxMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iI0ZGMDBGRiIvPgo8cmVjdCB4PSI4IiB5PSIxMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwMDAwMCIvPgo8cmVjdCB4PSIxMiIgeT0iMTIiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMDAwMDAiLz4KPHJlY3QgeD0iMTYiIHk9IjEyIiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRkYwMEZGIi8+CjxyZWN0IHg9IjQiIHk9IjE2IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRkYwMEZGIi8+CjxyZWN0IHg9IjgiIHk9IjE2IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjRkYwMEZGIi8+CjxyZWN0IHg9IjEyIiB5PSIxNiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iI0ZGMDBGRiIvPgo8cmVjdCB4PSIxNiIgeT0iMTYiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiNGRjAwRkYiLz4KPC9zdmc+'), pointer; } .pixel-card, .skill-pixel { cursor: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMTAiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMEZGRkYiLz4KPHJlY3QgeD0iNiIgeT0iNCIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwRkZGRiIvPgo8cmVjdCB4PSIxMCIgeT0iNCIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwMDAwMCIvPgo8cmVjdCB4PSIxNCIgeT0iNCIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwRkZGRiIvPgo8cmVjdCB4PSIyIiB5PSI4IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjMDBGRkZGIi8+CjxyZWN0IHg9IjYiIHk9IjgiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMDAwMDAiLz4KPHJlY3QgeD0iMTAiIHk9IjgiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMDAwMDAiLz4KPHJlY3QgeD0iMTQiIHk9IjgiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMDAwMDAiLz4KPHJlY3QgeD0iMTgiIHk9IjgiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMEZGRkYiLz4KPHJlY3QgeD0iMTAiIHk9IjEyIiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjMDBGRkZGIi8+CjxyZWN0IHg9IjYiIHk9IjE2IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjMDBGRkZGIi8+CjxyZWN0IHg9IjEwIiB5PSIxNiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgZmlsbD0iIzAwMDAwMCIvPgo8cmVjdCB4PSIxNCIgeT0iMTYiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiMwMEZGRkYiLz4KPHJlY3QgeD0iMTAiIHk9IjIwIiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjMDBGRkZGIi8+Cjwvc3ZnPg=='), pointer; } /* Responsive */ @media (max-width: 768px) { .pixel-title { font-size: 2.5rem; letter-spacing: 2px; } .pixel-subtitle { font-size: 1.2rem; } .section-title { font-size: 1.8rem; letter-spacing: 2px; } .skills-grid { grid-template-columns: 1fr; } } /* Fade in animation */ .fade-in { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; } .fade-in.visible { opacity: 1; transform: translateY(0); } .pixel-btn { background: #222; color: #0ff; text-decoration: none; padding: 10px 20px; border-radius: 6px; font-family: 'Courier New', monospace; border: 1px solid #0ff; transition: all 0.2s ease; } .pixel-btn:hover { background: #0ff; color: #000; } .pixel-card { box-shadow: 0 0 10px #0ff3; }