@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}body{font-family:JetBrains Mono,monospace;background-color:#0d1117;color:#c9d1d9;line-height:1.6;overflow-x:hidden}body:before{content:" ";display:block;position:fixed;top:0;left:0;bottom:0;right:0;background:linear-gradient(hsla(0,6%,7%,0) 50%,rgba(0,0,0,.25) 0),linear-gradient(90deg,rgba(255,0,0,.06),rgba(0,255,0,.02),rgba(0,0,255,.06));z-index:2;background-size:100% 2px,3px 100%;pointer-events:none;animation:flicker .15s linear infinite}@keyframes flicker{0%{opacity:1}99%{opacity:1}to{opacity:.98}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.container{max-width:1200px;margin:0 auto;padding:20px;position:relative;z-index:3}.terminal-header{background:#21262d;border:2px solid #30363d;border-radius:8px 8px 0 0;padding:12px;display:flex;align-items:center;gap:8px}.terminal-button{width:12px;height:12px;border-radius:50%}.terminal-button.close{background:#ff5f56}.terminal-button.minimize{background:#ffbd2e}.terminal-button.maximize{background:#27ca3f}.terminal-title{margin-left:12px;color:#8b949e;font-size:12px}.terminal-body{background:#0d1117;border:2px solid #30363d;border-top:none;border-radius:0 0 8px 8px;padding:20px;min-height:80vh}.ascii-art{color:#58a6ff;font-size:10px;line-height:1.2;margin-bottom:30px;white-space:pre;text-align:center}.prompt{color:#7c3aed;margin-right:8px}.command{color:#58a6ff;margin-bottom:20px}.section{margin-bottom:40px;padding-left:20px}.section h2{color:#f85149;margin-bottom:15px;font-size:18px;text-transform:uppercase;letter-spacing:2px}.section h3{color:#ffa657;margin-bottom:10px;font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:20px;gap:20px;margin-top:15px}.project-card,.saas-card{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:16px;transition:all .3s ease;cursor:pointer;position:relative}.project-card:hover,.saas-card:hover{border-color:#58a6ff;box-shadow:0 4px 12px rgba(88,166,255,.15);transform:translateY(-2px)}.project-link-indicator{color:#58a6ff;font-size:10px;margin-top:8px;opacity:.7;font-weight:600}.project-card h4,.saas-card h4{color:#58a6ff;margin-bottom:8px;font-size:16px}.project-card p,.saas-card p{color:#8b949e;font-size:12px;margin-bottom:10px}.tech-tag{display:inline-block;background:#21262d;color:#7c3aed;padding:2px 6px;border-radius:3px;font-size:10px;margin-right:4px;margin-bottom:4px}.links{display:flex;gap:15px;margin-top:15px;flex-wrap:wrap}.link{color:#58a6ff;text-decoration:none;padding:6px 12px;border:1px solid #30363d;border-radius:4px;font-size:12px;transition:all .3s ease;display:flex;align-items:center;gap:6px}.link:hover{background:#21262d;border-color:#58a6ff;color:#fff}.typing{border-right:2px solid #58a6ff;animation:blink 1s infinite}@keyframes blink{0%,50%{border-color:transparent}51%,to{border-color:#58a6ff}}.status-bar{background:#21262d;border:1px solid #30363d;border-radius:4px;padding:8px 12px;margin-top:20px;font-size:11px;color:#7c3aed}@media (max-width:768px){.container{padding:10px}.ascii-art{font-size:8px}.project-grid{grid-template-columns:1fr}}.pacman-container{display:flex;align-items:center;justify-content:center;margin-bottom:20px;height:40px;position:relative;overflow:hidden}.pacman{width:30px;height:30px;background:#ff0;border-radius:50%;position:relative;animation:movePacman 4s linear infinite,munch .5s ease-in-out infinite}.pacman:before{content:"";position:absolute;width:0;height:0;border-left:15px solid #0d1117;border-top:8px solid transparent;border-bottom:8px solid transparent;right:0;top:50%;transform:translateY(-50%)}.dots{display:flex;gap:20px;position:absolute;left:60px;animation:moveDots 4s linear infinite}.dot{width:4px;height:4px;background:#58a6ff;border-radius:50%;animation:fadeOut 4s linear infinite}.dot:nth-child(2){animation-delay:.5s}.dot:nth-child(3){animation-delay:1s}.dot:nth-child(4){animation-delay:1.5s}@keyframes movePacman{0%{transform:translateX(-50px)}to{transform:translateX(calc(100vw + 50px))}}@keyframes moveDots{0%{transform:translateX(0)}to{transform:translateX(calc(-100vw - 200px))}}@keyframes munch{0%,50%{-webkit-clip-path:polygon(100% 74%,44% 48%,100% 21%);clip-path:polygon(100% 74%,44% 48%,100% 21%)}25%,75%{-webkit-clip-path:polygon(100% 60%,44% 48%,100% 40%);clip-path:polygon(100% 60%,44% 48%,100% 40%)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}20%{opacity:0;transform:scale(0)}to{opacity:0;transform:scale(0)}}