:root{--bg-color: #ffffff;--text-color: #000000;--accent-pink: #ff00ff;--accent-cyan: #00ffff;--accent-yellow: #ffff00;--accent-lime: #00ff00;--border-width: 3px;--shadow-offset: 5px;--font-heading: "Syne", sans-serif;--font-body: "Space Grotesk", sans-serif}.dark-mode{--bg-color: #0a0a0a;--text-color: #ffffff;--accent-pink: #ff00ff;--accent-cyan: #00ffff;--accent-yellow: #ffff00;--accent-lime: #00ff00;--shadow-offset: 5px}*{box-sizing:border-box;margin:0;padding:0;cursor:crosshair}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-color);overflow-x:hidden;line-height:1.5;transition:background-color .3s,color .3s}.cursor-dot,.cursor-outline{position:fixed;top:0;left:0;transform:translate(-50%,-50%);border-radius:50%;z-index:9999;pointer-events:none}.cursor-dot{width:8px;height:8px;background-color:var(--text-color)}.cursor-outline{width:40px;height:40px;border:2px solid var(--text-color);transition:width .2s,height .2s,background-color .2s}body.hovering .cursor-outline{width:60px;height:60px;background-color:#ffffff1a;border-color:var(--accent-pink)}a{text-decoration:none;color:inherit}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:var(--border-width) solid var(--text-color);position:sticky;top:0;background:var(--bg-color);z-index:100;transition:background-color .3s,border-color .3s}.logo{font-family:var(--font-heading);font-weight:800;font-size:1.5rem;letter-spacing:-1px}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{font-weight:700;text-transform:uppercase;position:relative}.nav-links a:hover{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--accent-pink)}.theme-btn{background:none;border:2px solid var(--text-color);color:var(--text-color);font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;font-family:var(--font-heading);transition:all .2s}.theme-btn:hover{background:var(--text-color);color:var(--bg-color)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:90vh;padding:4rem 2rem;align-items:center;border-bottom:var(--border-width) solid var(--text-color);transition:border-color .3s}.hero-content h1{font-family:var(--font-heading);font-size:5rem;line-height:.9;font-weight:800;text-transform:uppercase;margin-bottom:1rem}.hero-desc{font-size:1.5rem;font-weight:500;margin-bottom:2rem;max-width:600px}.subtitle{font-size:1.2rem;font-weight:700;margin-bottom:1.5rem;background:var(--accent-yellow);color:#000;display:inline-block;padding:.2rem .5rem;border:var(--border-width) solid var(--text-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 0 var(--text-color)}.cta-btn{background:var(--text-color);color:var(--bg-color);border:none;padding:1rem 2rem;font-family:var(--font-body);font-weight:700;font-size:1.2rem;cursor:pointer;transition:all .2s;border:var(--border-width) solid var(--text-color)}.cta-btn:hover{background:var(--accent-lime);color:#000;box-shadow:var(--shadow-offset) var(--shadow-offset) 0 0 var(--text-color);transform:translate(-2px,-2px)}.glitch-text{position:relative}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch-text:before{left:2px;text-shadow:-1px 0 var(--accent-pink);clip-path:inset(24% 0 29% 0);animation:glitch-anim-1 2s infinite linear alternate-reverse}.glitch-text:after{left:-2px;text-shadow:-1px 0 var(--accent-cyan);clip-path:inset(54% 0 21% 0);animation:glitch-anim-2 3s infinite linear alternate-reverse}@keyframes glitch-anim-1{0%{clip-path:inset(20% 0 80% 0)}20%{clip-path:inset(60% 0 10% 0)}40%{clip-path:inset(40% 0 50% 0)}60%{clip-path:inset(80% 0 5% 0)}80%{clip-path:inset(10% 0 60% 0)}to{clip-path:inset(30% 0 30% 0)}}@keyframes glitch-anim-2{0%{clip-path:inset(10% 0 60% 0)}20%{clip-path:inset(30% 0 20% 0)}40%{clip-path:inset(70% 0 10% 0)}60%{clip-path:inset(20% 0 50% 0)}80%{clip-path:inset(50% 0 30% 0)}to{clip-path:inset(5% 0 80% 0)}}.hero-visual{display:flex;justify-content:center;align-items:center;padding:2rem}.cube-container{perspective:1000px}.cube{width:200px;height:200px;position:relative;transform-style:preserve-3d;animation:rotate 10s infinite linear}.face{position:absolute;width:200px;height:200px;background:#ffffffe6;border:var(--border-width) solid var(--text-color);display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:800;font-family:var(--font-heading);color:#000}.front{transform:rotateY(0) translateZ(100px);background:var(--accent-pink)}.back{transform:rotateY(180deg) translateZ(100px);background:var(--accent-cyan)}.right{transform:rotateY(90deg) translateZ(100px);background:var(--accent-yellow)}.left{transform:rotateY(-90deg) translateZ(100px);background:var(--accent-lime)}.top{transform:rotateX(90deg) translateZ(100px);background:#fff}.bottom{transform:rotateX(-90deg) translateZ(100px);background:#000;color:#fff}@keyframes rotate{0%{transform:rotateX(0) rotateY(0)}to{transform:rotateX(360deg) rotateY(360deg)}}.marquee-container{border-bottom:var(--border-width) solid var(--text-color);overflow:hidden;background:var(--text-color);color:var(--bg-color);padding:1rem 0}.marquee{display:flex;white-space:nowrap;animation:marquee 20s linear infinite}.marquee span{font-size:2rem;font-weight:700;padding-right:2rem;font-family:var(--font-heading)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.work-section{padding:4rem 2rem;border-bottom:var(--border-width) solid var(--text-color)}.section-title{font-family:var(--font-heading);font-size:4rem;margin-bottom:3rem;text-transform:uppercase;-webkit-text-stroke:0;text-shadow:4px 4px 0 var(--accent-pink);color:var(--text-color)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.project-card{border:var(--border-width) solid var(--text-color);background:var(--bg-color);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.project-card:hover{transform:translate(-10px,-10px);box-shadow:10px 10px 0 0 var(--text-color)}.card-image{height:200px;border-bottom:var(--border-width) solid var(--text-color);color:#000}.card-content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.card-content h3{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:.5rem;text-transform:uppercase}.tech-stack{font-weight:700;color:var(--accent-pink);margin-bottom:.5rem;font-family:var(--font-body);text-transform:uppercase;font-size:.9rem}.project-blurb{margin-bottom:1.5rem;font-size:1rem;line-height:1.4;flex-grow:1}.card-link{display:inline-block;margin-top:auto;font-weight:700;text-decoration:underline}.about-section{padding:4rem 2rem;background:var(--accent-cyan);border-bottom:var(--border-width) solid var(--text-color);color:#000}.dark-mode .about-section{background:#004d4d;color:#fff}.about-container{max-width:800px;margin:0 auto}.bio-text{text-align:left;margin-bottom:3rem;font-size:1.2rem;line-height:1.6}.bio-text p{margin-bottom:1.5rem}.skills-section,.certifications-section{margin-top:3rem;text-align:left}.skills-section h3,.certifications-section h3{font-family:var(--font-heading);font-size:2rem;margin-bottom:1.5rem;text-transform:uppercase;border-bottom:var(--border-width) solid currentColor;display:inline-block}.skills-grid{display:flex;flex-wrap:wrap;gap:1rem}.skill-tag{background:var(--bg-color);border:var(--border-width) solid var(--text-color);padding:.5rem 1rem;font-weight:700;font-family:var(--font-heading);box-shadow:3px 3px 0 0 var(--text-color);transition:transform .2s;color:var(--text-color)}.skill-tag:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 0 var(--text-color);background:var(--accent-yellow);color:#000}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.cert-item{background:var(--text-color);color:var(--bg-color);padding:1.5rem;font-family:var(--font-heading);font-weight:700;text-align:center;border:var(--border-width) solid var(--text-color);transition:all .3s}.cert-item:hover{background:var(--accent-pink);color:#000;transform:rotate(-2deg)}.footer{padding:4rem 2rem;text-align:center;background:var(--text-color);color:var(--bg-color)}.footer-title{font-family:var(--font-heading);font-size:4rem;margin-bottom:2rem}.email-link{font-size:2rem;font-weight:700;color:var(--accent-lime);text-decoration:underline;display:block;margin-bottom:3rem;word-break:break-all}.socials{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.socials a{font-size:1.2rem;font-weight:700;padding:.5rem 1rem;border:2px solid var(--bg-color);transition:all .3s}.socials a:hover{background:var(--bg-color);color:var(--text-color)}@media(max-width:900px){.hero{grid-template-columns:1fr;text-align:center;gap:3rem;padding-top:2rem}.hero-content h1{font-size:3.5rem}.hero-desc{margin:0 auto 2rem}.cube-container{margin-top:2rem}}@media(max-width:600px){.navbar{flex-direction:column;gap:1rem;padding:1rem}.nav-links{gap:1rem;font-size:.9rem}.hero-content h1,.section-title{font-size:2.5rem}.email-link{font-size:1.2rem}.footer-title{font-size:2.5rem}.cursor-dot,.cursor-outline{display:none}*{cursor:auto}}.scroll-progress{position:fixed;top:0;left:0;height:8px;background:var(--accent-pink);z-index:9999;width:0%;transition:width .1s;border-bottom:2px solid var(--text-color)}.magnetic{display:inline-block;transition:transform .2s cubic-bezier(.25,.46,.45,.94)}#canvas-container{width:100%;height:400px;display:flex;justify-content:center;align-items:center;position:relative}#canvas-container canvas{outline:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);z-index:10000;display:flex;justify-content:center;align-items:center;flex-direction:column;transition:opacity .5s ease-out,visibility .5s}.loader-content{width:300px;text-align:center}.loader-text{font-family:var(--font-heading);font-weight:700;margin-bottom:1rem;font-size:1.2rem;animation:blink 1s infinite}.progress-bar{width:100%;height:20px;border:var(--border-width) solid var(--text-color);padding:2px;margin-bottom:.5rem}.progress{height:100%;background:var(--accent-pink);width:0%;transition:width .1s}.loader-percentage{font-family:var(--font-heading);font-weight:800;font-size:2rem}.parallax-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:hidden}.shape{position:absolute;border:2px solid var(--text-color);opacity:.1}.shape-1{width:100px;height:100px;top:10%;left:5%;border-radius:50%;border-color:var(--accent-pink)}.shape-2{width:150px;height:150px;top:40%;right:10%;transform:rotate(45deg);border-color:var(--accent-cyan)}.shape-3{width:80px;height:80px;bottom:20%;left:15%;border-radius:0;border-color:var(--accent-yellow)}.shape-4{width:200px;height:200px;top:60%;right:30%;border-radius:50%;border-style:dashed;border-color:var(--accent-lime)}.terminal-window{position:relative;width:100%;max-width:600px;height:300px;margin:2rem auto;background:#000000e6;border:var(--border-width) solid var(--accent-lime);color:var(--accent-lime);font-family:Courier New,monospace;z-index:10;display:flex;flex-direction:column;box-shadow:10px 10px #00000080;transition:height .3s,opacity .3s;text-align:left}.terminal-window.minimized{height:40px;overflow:hidden}.terminal-header{background:var(--accent-lime);color:#000;padding:5px 10px;display:flex;justify-content:space-between;align-items:center;font-weight:700;cursor:default}.terminal-title{font-size:.9rem}.close-terminal{background:none;border:none;font-weight:700;cursor:pointer;color:#000}.terminal-body{padding:10px;flex-grow:1;overflow-y:auto;font-size:.9rem}.terminal-line{margin-bottom:5px;line-height:1.2}.input-line{display:flex;gap:5px}#terminal-input{background:none;border:none;color:var(--accent-lime);font-family:inherit;flex-grow:1;outline:none;caret-color:var(--accent-lime)}.reveal-text{opacity:0;transform:translateY(50px);transition:opacity .8s ease-out,transform .8s ease-out}.reveal-text.visible{opacity:1;transform:translateY(0)}.particle{position:fixed;pointer-events:none;background:var(--text-color);border-radius:50%;animation:fadeOut 1s forwards;z-index:9998}@keyframes fadeOut{to{opacity:0;transform:scale(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:600px){.terminal-window{width:90%;right:5%;bottom:10px;height:250px}.parallax-bg{display:none}}
