@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;700;800&family=Space+Mono:wght@400;700&display=swap";.navbar{z-index:500;padding:1.4rem 0;transition:background .4s,padding .4s,border-bottom .4s;position:fixed;top:0;left:0;right:0}.navbar.scrolled{background:var(--navbar-scrolled-bg,#f8f9faf2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:1rem 0}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex}.nav-logo{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:1px;font-size:1.3rem;font-weight:800;display:flex}.logo-bracket{color:var(--text-muted)}.logo-name{color:var(--text-primary)}.logo-cursor{color:var(--accent-green);animation:1.2s step-end infinite blink}.nav-links{align-items:center;gap:2rem;list-style:none;display:flex}.nav-links a{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.05em;font-size:.78rem;transition:color .2s}.nav-links a:hover{color:var(--accent-green)}.link-num{color:var(--accent-green);opacity:.5;margin-right:2px}.nav-resume-btn{border-radius:5px;padding:.45rem 1rem;border:1px solid var(--accent-green)!important;color:var(--accent-green)!important;transition:background .2s!important}.nav-resume-btn:hover{background:var(--border-accent)}.theme-toggle{border:1px solid var(--border);cursor:pointer;color:var(--text-primary);background:0 0;border-radius:5px;justify-content:center;align-items:center;padding:.45rem .75rem;font-size:1.1rem;transition:all .3s;display:flex}.theme-toggle:hover{border-color:var(--accent-green);box-shadow:0 0 8px var(--glow-green);transform:rotate(20deg)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--text-primary);width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}.hamburger.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}@media (width<=768px){.hamburger{display:flex}.nav-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#f8f9fafa;flex-direction:column;gap:1.5rem;padding:2rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open{display:flex}}.hero{justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.glow-blob{filter:blur(80px);pointer-events:none;border-radius:50%;position:absolute}.glow-blob-1{background:radial-gradient(circle,#2e7d3220,#0000 70%);width:400px;height:400px;animation:8s ease-in-out infinite float;top:10%;left:-10%}.glow-blob-2{background:radial-gradient(circle,#1976d220,#0000 70%);width:350px;height:350px;animation:10s ease-in-out infinite reverse float;bottom:10%;right:-5%}.hero-inner{z-index:1;grid-template-columns:1fr 420px;align-items:center;gap:4rem;width:100%;max-width:1200px;margin:0 auto;display:grid;position:relative}.hero-greeting{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.05em;margin-bottom:1rem;font-size:.85rem}.terminal-prompt{color:var(--accent-green);margin-right:.5rem}.hero-name{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:1.2rem;font-size:clamp(3rem,8vw,5.5rem);font-weight:800;line-height:1}.name-line{display:block}.name-line.accent{color:var(--accent-green)}.hero-role{font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:.5rem;min-height:1.8em;margin-bottom:1.5rem;font-size:clamp(1rem,2.5vw,1.3rem);display:flex}.role-prefix{color:var(--accent-blue)}.role-text{color:var(--text-primary)}.role-cursor{color:var(--accent-green);animation:.8s step-end infinite blink}.hero-bio{color:var(--text-secondary);max-width:540px;margin-bottom:2rem;font-size:.92rem;line-height:1.8}.highlight{color:var(--accent-green);font-style:normal}.hero-actions{color:#0d0d1c;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;display:flex}.hero-socials{gap:1rem;display:flex}.social-link{border:1px solid var(--border);width:40px;height:40px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;transition:border-color .2s,color .2s,transform .2s;display:flex}.social-link svg{width:18px;height:18px}.social-link:hover{border-color:var(--accent-green);color:var(--accent-green);box-shadow:var(--glow-green);transform:translateY(-3px)}.hero-terminal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #0006,inset 0 1px #ffffff08}.terminal-header{border-bottom:1px solid var(--border);background:#0d0d1c;align-items:center;gap:.5rem;padding:.8rem 1.2rem;display:flex}.t-title{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);margin-left:.5rem}.terminal-body{flex-direction:column;gap:.4rem;padding:1.4rem 1.6rem;display:flex}.t-line{font-family:var(--font-mono);font-size:.82rem;line-height:1.6}.t-cmd{color:var(--accent-green)}.t-cmd:before{content:"$ ";color:var(--text-muted)}.t-output{color:var(--text-secondary);padding-left:1rem}.t-green{color:var(--accent-green);margin-right:.5rem}.t-blink{color:var(--accent-blue);animation:1.5s step-end infinite blink}.scroll-indicator{color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;font-size:.65rem;font-family:var(--font-mono);flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(var(--accent-green), transparent);width:1px;height:40px;animation:2s ease-in-out infinite float}@media (width<=900px){.hero-inner{grid-template-columns:1fr;gap:3rem}.hero-terminal{max-width:400px;margin:0 auto}}@media (width<=480px){.hero{padding:5rem 1.2rem 3rem}}.about-section{z-index:1;padding:7rem 2rem;position:relative}.about-inner{grid-template-columns:1fr 380px;align-items:start;gap:5rem;max-width:1200px;margin:0 auto;display:grid}.about-desc{color:var(--text-secondary);margin-bottom:1.2rem;font-size:.9rem;line-height:1.9}.about-desc strong{color:var(--text-primary)}.highlight{color:var(--accent-green)}.about-meta{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;padding:1.5rem;display:grid}.meta-item{flex-direction:column;gap:.2rem;display:flex}.meta-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem;font-family:var(--font-mono)}.meta-value{color:var(--text-primary);font-size:.82rem;font-family:var(--font-mono)}.status-open{color:var(--accent-green)}.stats-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:1.5rem 1rem;transition:border-color .3s,transform .3s}.stat-card:hover{border-color:var(--accent-green);transform:translateY(-4px)}.stat-value{font-family:var(--font-display);color:var(--accent-green);margin-bottom:.4rem;font-size:2.2rem;font-weight:800;line-height:1;display:block}.stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.interests-title{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:.05em;margin-bottom:1rem;font-size:.75rem}.interests-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.interests-list li{color:var(--text-secondary);align-items:center;gap:.7rem;font-size:.85rem;display:flex}.li-icon{font-size:1rem}@media (width<=900px){.about-inner{grid-template-columns:1fr;gap:3rem}.about-meta{grid-template-columns:1fr 1fr}}@media (width<=480px){.about-meta{grid-template-columns:1fr}}.exp-section{z-index:1;background:linear-gradient(#0000,#f0f2f530 30%,#0000);padding:7rem 2rem;position:relative}.exp-inner{max-width:1200px;margin:0 auto}.exp-header{margin-bottom:3.5rem}.exp-grid{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.col-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:1.5rem;font-size:1.15rem;font-weight:700}.timeline{padding-left:1.5rem;position:relative}.timeline:before{content:"";background:linear-gradient(var(--accent-green), var(--accent-blue), transparent);width:1px;position:absolute;top:0;bottom:0;left:0}.timeline-item{margin-bottom:2rem;position:relative}.timeline-dot{border:2px solid var(--accent-green);background:var(--bg-primary);border-radius:50%;width:10px;height:10px;position:absolute;top:1.2rem;left:-1.87rem}.color-blue .timeline-dot{border-color:var(--accent-blue)}.tc-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.4rem;display:flex}.tc-meta{align-items:center;display:flex}.exp-github-link{color:inherit;width:100%;text-decoration:none;display:inline-flex}.exp-github-link:hover{color:var(--accent-green)}.tc-role{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.15rem;font-size:1rem;font-weight:700}.tc-company{color:var(--accent-green);font-size:.8rem;font-family:var(--font-mono)}.color-blue .tc-company{color:var(--accent-blue)}.tc-duration{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);margin-bottom:.9rem}.tc-points{flex-direction:column;gap:.6rem;list-style:none;display:flex}.tc-points li{color:var(--text-secondary);padding-left:1rem;font-size:.83rem;line-height:1.7;position:relative}.tc-points li:before{content:"▹";color:var(--accent-green);position:absolute;left:0}.comp-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.comp-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.2rem;font-size:1.05rem;font-weight:700}.comp-result{color:var(--accent-purple);font-size:.85rem;font-family:var(--font-mono)}.comp-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.community-section{margin-top:1.5rem}.community-item{gap:1rem;margin-bottom:1.2rem;display:flex}.comm-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:.35rem}.comm-dot.green{background:var(--accent-green)}.comm-dot.blue{background:var(--accent-blue)}.comm-name{color:var(--text-primary);margin-bottom:.1rem;font-size:.9rem;font-weight:600}.comm-link{color:inherit;background:linear-gradient(135deg, var(--accent-green), var(--accent-blue));cursor:pointer;background-position:0 100%;background-repeat:no-repeat;background-size:0 2px;text-decoration:none;transition:background-size .3s}.comm-link:hover{color:var(--accent-green);background-size:100% 2px}.comm-role{color:var(--accent-green);font-size:.75rem;font-family:var(--font-mono);margin-bottom:.2rem}.comm-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.6}@media (width<=900px){.exp-grid{grid-template-columns:1fr}}.projects-section{z-index:1;padding:7rem 2rem;position:relative}.projects-inner{max-width:1200px;margin:0 auto}.projects-header{margin-bottom:3.5rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.project-card{cursor:pointer;transition:border-color .3s,transform .3s,box-shadow .3s;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(90deg, var(--accent-green), var(--accent-blue));height:2px;transition:transform .4s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.project-card:hover:before,.project-card.expanded:before{transform:scaleX(1)}.pc-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.pc-icon{background:var(--bg-card);width:52px;height:52px;color:var(--text-primary);filter:drop-shadow(0 0 10px #2e7d3233);border-radius:14px;justify-content:center;align-items:center;font-size:2rem;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:inline-flex}.pc-icon:hover{transform:translateY(-3px);box-shadow:0 10px 30px #2e7d321f}.pc-links{gap:.6rem;display:flex}.pc-link-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;transition:border-color .2s,color .2s,transform .2s;display:flex}.pc-link-btn:hover{border-color:var(--accent-green);color:var(--accent-green);transform:translateY(-2px)}.pc-badges{align-items:center;gap:.7rem;margin-bottom:.8rem;display:flex}.pc-duration{font-family:var(--font-mono);color:var(--text-muted);font-size:.7rem}.pc-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.2rem;font-size:1.35rem;font-weight:800}.pc-subtitle{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:.03em;margin-bottom:.9rem;font-size:.78rem}.pc-desc{color:var(--text-secondary);margin-bottom:1rem;font-size:.85rem;line-height:1.75}.pc-points{border-left:2px solid var(--accent-green);background:#00ff9d0a;border-radius:0 6px 6px 0;flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:1rem;list-style:none;display:flex}.pc-points li{color:var(--text-secondary);padding-left:1rem;font-size:.82rem;line-height:1.7;position:relative}.pc-points li:before{content:"▹";color:var(--accent-green);position:absolute;left:0}.pc-tech{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.pc-toggle{color:var(--accent-green);font-family:var(--font-mono);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;transition:opacity .2s,color .2s}.pc-toggle:hover{opacity:.8;color:var(--accent-blue)}.ctf-banner{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent-purple);border-radius:10px;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:1.5rem 2rem;display:flex}.ctf-icon{font-size:2rem}.ctf-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.3rem;font-size:1rem;font-weight:700}.ctf-desc{color:var(--text-secondary);font-size:.82rem;line-height:1.6}.ctf-btn{white-space:nowrap;margin-left:auto;padding:.6rem 1.2rem;font-size:.78rem}@media (width<=768px){.projects-grid{grid-template-columns:1fr}.ctf-banner{flex-direction:column;align-items:flex-start}.ctf-btn{margin-left:0}}.skills-section{z-index:1;background:linear-gradient(#0000,#f0f2f530 30%,#0000);padding:7rem 2rem;position:relative}.skills-inner{max-width:1200px;margin:0 auto}.skills-header{margin-bottom:3.5rem}.skills-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem;display:grid}.skill-group{transition:border-color .3s,transform .3s,box-shadow .3s}.sg-header{align-items:center;gap:.7rem;margin-bottom:1rem;display:flex}.sg-icon{font-size:1.3rem}.sg-title{font-family:var(--font-display);color:var(--text-primary);font-size:.95rem;font-weight:700}.sg-tags{flex-wrap:wrap;gap:.4rem;display:flex}.prof-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2rem}.prof-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:1.5rem;font-size:1.1rem;font-weight:700}.prof-bars{flex-direction:column;gap:1.2rem;display:flex}.prof-bar-label{color:var(--text-secondary);font-size:.82rem;font-family:var(--font-mono);justify-content:space-between;margin-bottom:.4rem;display:flex}.prof-val{color:var(--accent-green)}.prof-bar-track{background:var(--border);border-radius:99px;height:4px;overflow:hidden}.prof-bar-fill{height:100%;width:var(--target);background:linear-gradient(90deg, var(--accent-green), var(--accent-blue));transform-origin:0;border-radius:99px;animation:1.4s cubic-bezier(.16,1,.3,1) forwards growBar}@keyframes growBar{0%{width:0}to{width:var(--target)}}@media (width<=900px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.skills-grid{grid-template-columns:1fr}}.certs-section{z-index:1;padding:7rem 2rem;position:relative}.certs-inner{max-width:1200px;margin:0 auto}.certs-header{margin-bottom:3.5rem}.certs-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.cert-card{flex-direction:column;min-height:450px;display:flex;position:relative;overflow:hidden}.cert-image-container{background:var(--bg-secondary);border-radius:8px 8px 0 0;justify-content:center;align-items:center;width:100%;height:180px;margin:-1.8rem -1.8rem 1rem;display:flex;overflow:hidden}.cert-image{object-fit:contain;object-position:center;border-radius:4px;max-width:100%;max-height:100%}.cert-card.border-green{border-top:2px solid var(--accent-green)}.cert-card.border-purple{border-top:2px solid var(--accent-purple)}.cert-card.border-blue{border-top:2px solid var(--accent-blue)}.cert-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.cert-icon{font-size:2rem}.cert-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.7rem;font-size:1.15rem;font-weight:700;line-height:1.3}.cert-desc{color:var(--text-secondary);margin-bottom:1.2rem;font-size:.83rem;line-height:1.75}.cert-footer{color:var(--accent-green);font-size:.75rem;font-family:var(--font-mono);align-items:center;gap:.5rem;display:flex}@media (width<=768px){.certs-grid{grid-template-columns:1fr;gap:1.5rem}.cert-card{min-height:auto}.cert-image-container{height:150px}}.contact-section{z-index:1;background:linear-gradient(#0000,#f0f2f540 40%,#0000);padding:7rem 2rem;position:relative}.contact-inner{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;max-width:1200px;margin:0 auto;display:grid}.contact-desc{color:var(--text-secondary);margin-bottom:2.5rem;font-size:.9rem;line-height:1.85}.contact-links{flex-direction:column;gap:1rem;display:flex}.contact-link-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:1rem;padding:1rem 1.2rem;transition:border-color .2s,transform .2s;display:flex}.contact-link-item:hover{border-color:var(--accent-green);transform:translate(4px)}.cli-icon{background:var(--border-accent);width:40px;height:40px;color:var(--accent-green);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cli-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-family:var(--font-mono);margin-bottom:.1rem}.cli-value{color:var(--text-primary);font-size:.85rem;font-family:var(--font-mono)}.contact-form{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.form-header{background:var(--form-header-bg);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.8rem 1.2rem;display:flex}.t-dot{border-radius:50%;width:10px;height:10px}.t-dot.red{background:#ff5f57}.t-dot.yellow{background:#ffbd2e}.t-dot.green{background:#28c840}.form-title{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);margin-left:.5rem}.form-body{flex-direction:column;gap:1.2rem;padding:2rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:.05em;font-size:.72rem}.form-input{background:var(--form-input-bg);border:1px solid var(--form-input-border);color:var(--form-input-color);font-family:var(--font-mono);border-radius:6px;outline:none;width:100%;padding:.75rem 1rem;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:var(--form-input-placeholder)}.form-input:focus{border-color:var(--accent-green);box-shadow:var(--form-input-focus-shadow)}.form-textarea{resize:vertical;background:var(--form-input-bg);min-height:120px;color:var(--form-input-color)}.form-submit{justify-content:center;width:100%;padding:.9rem;font-size:.88rem}.form-error{color:#dc3545;text-align:center;background:#dc35451a;border:1px solid #dc35454d;border-radius:6px;margin-top:1rem;padding:.8rem;font-size:.85rem}.form-error p{font-family:var(--font-mono);margin:0}@media (width<=900px){.contact-inner{grid-template-columns:1fr;gap:3rem}}.footer{border-top:1px solid var(--border);z-index:1;background:#191a1b;padding:3rem 2rem 1.5rem;position:relative}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;max-width:1200px;margin:0 auto 2rem;display:flex}.footer-logo{font-family:var(--font-display);color:var(--footer-logo-color,#7dd3fc);margin-bottom:.4rem;font-size:1.2rem;font-weight:800;display:block}.bracket{color:var(--text-muted)}.cursor-blink{color:var(--accent-green);animation:1.2s step-end infinite blink}.footer-tagline{color:var(--text-muted);font-size:.78rem;font-family:var(--font-mono)}.footer-center{text-align:center}.footer-built{color:var(--text-muted);font-size:.78rem;font-family:var(--font-mono);margin-bottom:.3rem}.heart{color:#df4239}.tech-tag{color:var(--accent-green);font-weight:700}.footer-copy{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.footer-right{gap:.8rem;display:flex}.footer-social{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.footer-social:hover{border-color:var(--accent-green);color:var(--accent-green)}.footer-bar{background:var(--border);border-radius:99px;height:2px;margin-top:1.5rem;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--accent-green), var(--accent-blue), var(--accent-purple));width:40%;height:100%;animation:3s ease-in-out infinite pulse-glow}@media (width<=700px){.footer-inner{flex-direction:column;align-items:flex-start;gap:1.5rem}.footer-center{text-align:left}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.section-label{font-family:var(--font-mono);letter-spacing:.3em;color:var(--accent-green);text-transform:uppercase;margin-bottom:.5rem;font-size:.7rem}.section-title{font-family:var(--font-display);color:var(--text-primary);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.8rem;transition:border-color .3s,background .3s,transform .3s}.card:hover{border-color:var(--accent-green);background:var(--bg-card-hover);box-shadow:var(--glow-green);transform:translateY(-4px)}.btn-primary{background:var(--accent-green);color:#000;font-family:var(--font-mono);cursor:pointer;letter-spacing:.05em;border:none;border-radius:6px;align-items:center;gap:.6rem;padding:.75rem 1.8rem;font-size:.85rem;font-weight:700;transition:box-shadow .3s,transform .2s;display:inline-flex}.btn-primary:hover{box-shadow:var(--glow-green);transform:translateY(-2px)}.btn-outline{color:var(--accent-green);font-family:var(--font-mono);border:1px solid var(--accent-green);cursor:pointer;letter-spacing:.05em;background:0 0;border-radius:6px;align-items:center;gap:.6rem;padding:.75rem 1.8rem;font-size:.85rem;font-weight:700;transition:background .3s,transform .2s;display:inline-flex}.btn-outline:hover{background:var(--border-accent);transform:translateY(-2px)}.tag{font-size:.72rem;font-family:var(--font-mono);letter-spacing:.05em;border-radius:4px;padding:.25rem .7rem;display:inline-block}.tag-green{color:var(--accent-green);background:#2e7d3215;border:1px solid #2e7d3240}.tag-blue{color:var(--accent-blue);background:#1976d215;border:1px solid #1976d240}.tag-purple{color:var(--accent-purple);background:#7b1fa215;border:1px solid #7b1fa240}.divider{background:linear-gradient(90deg, var(--accent-green), transparent);width:60px;height:2px;margin:1rem 0 2rem}:root{--bg-primary:#f8f9fa;--bg-secondary:#f0f2f5;--bg-card:#fff;--bg-card-hover:#f5f7fa;--accent-green:#2e7d32;--accent-blue:#1976d2;--accent-purple:#7b1fa2;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--border:#e0e0e0;--border-accent:#2e7d3220;--glow-green:0 0 20px #2e7d3233;--glow-blue:0 0 20px #1976d233;--font-display:"Syne", sans-serif;--font-mono:"Space Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);cursor:none;touch-action:manipulation;line-height:1.7;overflow-x:hidden}html{-webkit-text-size-adjust:100%}img,picture,video,svg,iframe{max-width:100%;height:auto}@media (width<=768px){body{cursor:default}.cursor,.cursor-follower{display:none}.nav-inner{padding:0 1rem}section{padding-left:1rem;padding-right:1rem}.hero{padding:4.5rem 1rem 3rem}}.cursor{background:var(--accent-green);pointer-events:none;z-index:9999;mix-blend-mode:difference;border-radius:50%;width:12px;height:12px;transition:transform .1s;position:fixed;top:0;left:0}.cursor-follower{border:1px solid var(--accent-green);pointer-events:none;z-index:9998;opacity:.4;border-radius:50%;width:36px;height:36px;transition:transform .35s,opacity .3s;position:fixed;top:0;left:0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-green);border-radius:2px}::selection{background:var(--accent-green);color:#fff}body:before{content:"";pointer-events:none;z-index:1000;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.02'/%3E%3C/svg%3E");position:fixed;inset:0}body:after{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);pointer-events:none;z-index:0;opacity:.3;background-size:60px 60px;position:fixed;inset:0}section{z-index:1;position:relative}a{color:inherit;text-decoration:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #00ff9d33}50%{box-shadow:0 0 30px #00ff9d88}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glitch{0%{clip-path:inset(0 0 98%);transform:translate(-2px)}10%{clip-path:inset(40% 0 55%);transform:translate(2px)}20%{clip-path:inset(70% 0 10%);transform:translate(-1px)}30%{clip-path:inset(20% 0 70%);transform:translate(1px)}40%{clip-path:inset(85% 0 5%);transform:translate(-2px)}50%{clip-path:inset(0);transform:translate(0)}to{clip-path:inset(0);transform:translate(0)}}.fade-in{animation:.7s forwards fadeInUp}.animate-float{animation:4s ease-in-out infinite float}
