@keyframes matrix-fall{0%{transform:translateY(0);opacity:1}90%{opacity:.7}to{transform:translateY(200vh);opacity:0}}@keyframes matrix-rain{0%{background-position:0 0}to{background-position:0 100%}}@keyframes scanline{0%{transform:translateY(0)}to{transform:translateY(20px)}}@keyframes noise{0%,to{transform:translate(0,0)}10%{transform:translate(-5%,-5%)}20%{transform:translate(10%,5%)}30%{transform:translate(-10%,10%)}40%{transform:translate(7%,-7%)}50%{transform:translate(-6%,-2%)}60%{transform:translate(-2%,15%)}70%{transform:translate(9%,-1%)}80%{transform:translate(-3%,5%)}90%{transform:translate(2%,-10%)}}@keyframes float-up{0%{opacity:0;transform:translateY(100vh)}50%{opacity:var(--opacity)}to{opacity:0;transform:translateY(-100vh)}}@keyframes binary-fall{0%{transform:translateY(-100%)}to{transform:translateY(3000%)}}:root{--primary-color:#00ff41;--primary-dark:#008f11;--secondary-color:#00b300;--accent-color:#72F2EB;--text-color:#333333;--bg-color:#fff;--light-bg:#f9f9f9;--dark-bg:#0a0a0a;--header-bg:rgba(255, 255, 255, 0.95);--shadow:0 5px 15px rgba(0, 0, 0, 0.1);--terminal-bg:#1a1a1a}body.dark-theme{--text-color:#e0e0e0;--bg-color:#0a0a0a;--light-bg:#1a1a1a;--header-bg:rgba(10, 10, 10, 0.95);--shadow:0 5px 15px rgba(0, 255, 65, 0.1);--terminal-bg:#0c0c0c;background-color:var(--bg-color);color:var(--text-color)}body.dark-theme .code-background{background-color:#0c0c0c;border:1px solid var(--primary-color);box-shadow:0 0 20px rgba(0,255,65,.2)}body.dark-theme .detail{border:1px solid rgba(0,255,65,.2)}body.dark-theme .detail,body.dark-theme .filter-btn,body.dark-theme .project{background-color:var(--light-bg)}body.dark-theme .project-tech span{background-color:rgba(0,255,65,.15);color:var(--primary-color)}body.dark-theme .filter-btn{color:var(--text-color)}body.dark-theme .form-group input,body.dark-theme .form-group textarea{background-color:var(--light-bg);border-color:var(--secondary-color);color:var(--text-color)}body.dark-theme .progress-bar,body.dark-theme .social-icon{background-color:var(--dark-bg);border:1px solid var(--secondary-color)}body.dark-theme .social-icon{color:var(--primary-color)}body.dark-theme::before{content:"";background:linear-gradient(to bottom,rgba(0,0,0,.97),rgba(0,0,0,.98)),url(../img/matrix-bg.png);opacity:.05;animation:matrix-rain 20s linear infinite}body.dark-theme .matrix-code,body.dark-theme::before{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}body.dark-theme .matrix-column{position:absolute;top:-100%;width:20px;color:var(--primary-color);font-size:1.2rem;font-family:"Fira Code",monospace;text-align:center;opacity:.7;animation:matrix-fall linear infinite}body.dark-theme #theme-button,body.dark-theme .btn-primary,body.dark-theme .detail i,body.dark-theme .progress,body.dark-theme .section-title::after{box-shadow:0 0 10px rgba(0,255,65,.5)}body.dark-theme .hero-content .highlight,body.dark-theme .logo span{text-shadow:0 0 10px rgba(0,255,65,.5)}body.dark-theme .code-element{color:var(--primary-color);opacity:.15}body.dark-theme .section-title{position:relative}body.dark-theme .section-title::before{color:var(--primary-color);opacity:.8}body.dark-theme nav ul li a::after,body.dark-theme nav ul li a::before{color:var(--primary-color)}body.dark-theme .noise,body.dark-theme::after{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}body.dark-theme::after{content:"";background:repeating-linear-gradient(to bottom,transparent 0,rgba(0,255,65,.03) 1px,transparent 2px);pointer-events:none;animation:scanline 10s linear infinite}body.dark-theme .noise{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AYECjkzGvZCRwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAACnUlEQVRo3u2ZS27jMAxFnyMvkIW67V103Q16olygQDuLZBcEzbgLZ+GPRMkUpXgcIA4QxKUl8pG0bXmIIAiCIAiCIAiC4P8kz+Y8z7XWwDl3F8+5rmtE5OP8IvJ+LiLP53meilprpZRCSqkxxl2c53neiMgADCml3cxzrZWUUrv3UUQGZsw5U2ttQBfAs/nnnE/8VUSGWutXsNZaI6X07UJ/SFWVnPNpiJzzqR3Pg3POp/O+9Bgq8lhrDe89OWc0xk3Jw4ucc0NEUFWcc1dVRFXRGHMZcc6hlG3Loiicc4wxBnK2PaV0GSkKzjm89zjnNl7knAFQVZxztdYaIoJzDu89IkLTNIjIbhIRNqMppS7T23iBP+XnVdXmnHt2nNTTiUzGvPd3C3LOlFJIKVFrbdA0DUopyDRN33pijFFEyDnXpmm+8TPG2NZv7+2+9x5jTBuT0zT9YBSgtfaqk1LqkGxVlVJKW5GucA9IKX0zcr5eWmsXNxARrLVtZkqppJQwxmCMIeccxhhSSvhpmi4W991m3NBeV6K7FICvUWitF8aYt+yu/YYjm9g72+vTWuP9bUGsrTf3Aq01qXftw8JK1Y+09+P1N4xxznyPkq5d7315PQPSbnrdGOjuWWvb+5QSIoIxhq43ANRaCbdCaY1RSiHn3O5Za/HekyNif9FDRGitqbUyDMOHzafD68+LoJRS2yKcD1prjDGbAemlU0pp9rxmeEScxwNsjN3CLIrsLXDv1tF5iqbuxfcXmaYJVSXGGGKMVwWPKrK3OPuKHFWk1+1Hk/ZHGLk1GUeN9CjiK/LM4ZeRXxh5tIhHbY+i/a0T6BJFRKiqAJzfnf/rfzDufgKe3PhSSvv/r7bvoT7/VakxfsqFpYIgCIIgCIIgCIK7eAW+CjM0HIzK+AAAAABJRU5ErkJggg==);opacity:.03;animation:noise .5s steps(10) infinite}body.dark-theme::-webkit-scrollbar{width:10px}body.dark-theme::-webkit-scrollbar-track{background:var(--dark-bg);border-left:1px solid rgba(0,255,65,.2)}body.dark-theme::-webkit-scrollbar-thumb{background:var(--primary-dark);border-radius:5px}body.dark-theme::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}body.dark-theme ::selection{background:var(--primary-color);color:var(--dark-bg);text-shadow:none}body.dark-theme input,body.dark-theme textarea{background-color:var(--terminal-bg)!important;color:var(--primary-color)!important;border:1px solid var(--primary-dark)!important;box-shadow:0 0 5px rgba(0,255,65,.2)!important}body.dark-theme input:focus,body.dark-theme textarea:focus{border-color:var(--primary-color)!important;box-shadow:0 0 10px rgba(0,255,65,.3)!important}body.dark-theme .crt-effect,body.dark-theme .particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none}body.dark-theme .crt-effect{z-index:9999;background:linear-gradient(rgba(18,16,16,0) 50%,rgba(0,0,0,.1) 50%),linear-gradient(90deg,rgba(255,0,0,.04),rgba(0,255,0,.04),rgba(0,0,255,.04));background-size:100% 2px,3px 100%;opacity:.1}body.dark-theme #theme-button::before,body.dark-theme .btn-primary::before{background:rgba(0,255,65,.3)}body.dark-theme .particles{overflow:hidden;z-index:-1}body.dark-theme .particle{position:absolute;display:block;width:3px;height:3px;background-color:var(--primary-color);border-radius:50%;opacity:.2;animation:float-up var(--duration) infinite linear}body.dark-theme .binary-bg{position:fixed;top:0;left:0;width:100%;height:100%;opacity:.03;pointer-events:none;z-index:-2;font-family:"Fira Code",monospace;overflow:hidden;color:var(--primary-color)}body.dark-theme .binary-code{position:absolute;font-size:10px;animation:binary-fall linear infinite}