@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Mono:wght@400;700&family=Syne:wght@700;800&display=swap);*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:Space Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::selection{background-color:#00d4ff4d;color:#fff}::-moz-selection{background-color:#00d4ff4d;color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0a0e27}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#00d4ff,#06f);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#00e4ff,#0076ff)}*{scrollbar-color:#00d4ff #0a0e27;scrollbar-width:thin}:root{--bg:#0a0f0d;--bg2:#0d1410;--surface:#111a14;--surface2:#172019;--border:#ffffff12;--border-hover:#6dd56e80;--accent:#6dd56e;--accent2:#4caf50;--cyan:#a8e063;--text:#f0f7f0;--muted:#8faa90;--dim:#4a6b4b;--glow:0 0 40px #6dd56e33}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{background:#0a0f0d;background:var(--bg);color:#f0f7f0;color:var(--text);font-family:Inter,sans-serif;line-height:1.7}.cursor-glow{background:radial-gradient(circle,#6dd56e0d 0,#0000 70%);border-radius:50%;height:400px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:opacity .3s;width:400px;z-index:0}.progress-bar{background:#0000;height:2px;left:0;position:fixed;top:0;width:100%;z-index:1000}.progress-fill{background:linear-gradient(90deg,#4caf50,#6dd56e);background:linear-gradient(90deg,var(--accent2),var(--accent));height:100%;transition:width .1s ease}.particle-canvas{inset:0;opacity:.5;position:fixed;z-index:-1}.portfolio{min-height:100vh;position:relative}.container{margin:0 auto;max-width:1160px;padding:0 2rem}.navbar{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0a0f0dd9;border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--border);left:0;padding:1.25rem 2rem;position:fixed;right:0;top:0;z-index:900}.nav-inner{justify-content:space-between;margin:0 auto;max-width:1160px}.nav-inner,.nav-logo{align-items:center;display:flex}.nav-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6dd56e,#a8e063);background:linear-gradient(135deg,var(--accent),var(--cyan));-webkit-background-clip:text;background-clip:text;cursor:pointer;font-family:Syne,sans-serif;font-size:1.5rem;font-weight:800;gap:.6rem;letter-spacing:.05em}.nav-avatar{border:2px solid #6dd56e;border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 10px #6dd56e4d;flex-shrink:0;height:34px;object-fit:cover;width:34px}.nav-links{display:flex;gap:.25rem;list-style:none}.nav-link{background:none;border:none;border-radius:6px;color:#8faa90;color:var(--muted);cursor:pointer;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;text-transform:capitalize;transition:color .2s,background .2s}.nav-link.active,.nav-link:hover{background:#6dd56e1f;color:#f0f7f0;color:var(--text)}.nav-link.active{color:#6dd56e;color:var(--accent)}section{padding:7rem 0;position:relative}.section-header{margin-bottom:3.5rem}.section-tag{color:#6dd56e;color:var(--accent);display:block;font-family:Space Mono,monospace;font-size:.8rem;letter-spacing:.15em;margin-bottom:.75rem}.section-tag.centered{text-align:center}.section-title{color:#f0f7f0;color:var(--text);font-family:Syne,sans-serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:800;line-height:1.15}.section-title.centered{text-align:center}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;gap:.6rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .25s ease}.btn.large{font-size:1rem;padding:1rem 2rem}.btn-primary{background:linear-gradient(135deg,#6dd56e,#4caf50);background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 4px 20px #6dd56e59;color:#0a0f0d}.btn-primary:hover{box-shadow:0 8px 30px #6dd56e80;transform:translateY(-2px)}.btn-outline{background:#0000;border:1.5px solid #6dd56e80;border:1.5px solid var(--border-hover);color:#f0f7f0;color:var(--text)}.btn-outline:hover{background:#6dd56e1a;transform:translateY(-2px)}.btn-ghost{background:#0000;border:1.5px solid #ffffff12;border:1.5px solid var(--border);color:#8faa90;color:var(--muted)}.btn-ghost:hover{background:#6dd56e14;border-color:#6dd56e80;border-color:var(--border-hover);color:#f0f7f0;color:var(--text);transform:translateY(-2px)}.hero{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:6rem 2rem 4rem;position:relative}.hero-content{max-width:1160px;width:100%}.hero-grid{grid-gap:5rem;align-items:center;display:grid;gap:5rem;grid-template-columns:1.3fr .7fr}.hero-left{animation:fadeUp .8s ease-out both}.hero-right{animation:fadeUp .8s ease-out .2s both}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-badge{align-items:center;background:#6dd56e1a;border:1px solid #6dd56e4d;border-radius:100px;color:#6dd56e;color:var(--accent);display:inline-flex;font-size:.8rem;font-weight:500;gap:.5rem;letter-spacing:.03em;margin-bottom:1.5rem;padding:.4rem 1rem}.hero-badge:before{animation:blink 2s ease-in-out infinite;background:#22c55e;border-radius:50%;box-shadow:0 0 8px #22c55e;content:"";height:7px;width:7px}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.hero-title{color:#f0f7f0;color:var(--text);font-family:Syne,sans-serif;font-size:clamp(3rem,7vw,5.5rem);font-weight:800;line-height:1.05;margin-bottom:1.25rem}.hero-title-accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6dd56e,#a8e063);background:linear-gradient(135deg,var(--accent) 0,var(--cyan) 100%);-webkit-background-clip:text;background-clip:text}.hero-role{color:#8faa90;color:var(--muted);font-family:Space Mono,monospace;font-size:1.1rem;margin-bottom:1.5rem}.role-bracket{color:#6dd56e;color:var(--accent)}.hero-description{color:#8faa90;color:var(--muted);font-size:1.1rem;line-height:1.8;margin-bottom:2.5rem;max-width:520px}.hero-cta{display:flex;flex-wrap:wrap;gap:1rem}.photo-frame{height:340px;margin:0 auto;position:relative;width:340px}.photo-ring{animation:spin 25s linear infinite;border:1.5px solid;border-radius:50%;position:absolute}.r1{border-color:#6dd56e66;inset:-18px}.r2{animation-direction:reverse;animation-duration:35s;border-color:#b5e48c33;inset:-36px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero-photo{border:3px solid #6dd56eb3;border-radius:50%;box-shadow:0 0 60px #6dd56e40,0 0 120px #b5e48c1a;height:100%;object-fit:cover;position:relative;width:100%;z-index:2}.scroll-hint{align-items:center;animation:float 3s ease-in-out infinite;background:none;border:none;bottom:2.5rem;color:#4a6b4b;color:var(--dim);cursor:pointer;display:flex;flex-direction:column;font-family:Space Mono,monospace;font-size:.75rem;gap:.5rem;left:50%;letter-spacing:.1em;position:absolute;text-transform:uppercase;transform:translateX(-50%)}@keyframes float{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}.scroll-dot{background:linear-gradient(180deg,#6dd56e,#0000);background:linear-gradient(to bottom,var(--accent),#0000);border-radius:2px;height:28px;width:1.5px}.about{background:#0d1410;background:var(--bg2)}.about-grid{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:1.2fr .8fr}.about-text .lead{color:#f0f7f0;color:var(--text);font-size:1.2rem;font-weight:500;line-height:1.75;margin-bottom:1.25rem}.about-text p{color:#8faa90;color:var(--muted);line-height:1.8;margin-bottom:1.25rem}.stats-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:2.5rem}.stat-card{background:#111a14;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:12px;padding:1.5rem 1rem;text-align:center;transition:border-color .3s,transform .3s}.stat-card:hover{border-color:#6dd56e80;border-color:var(--border-hover);transform:translateY(-4px)}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6dd56e,#a8e063);background:linear-gradient(135deg,var(--accent),var(--cyan));-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-size:2rem;font-weight:800}.stat-label{color:#4a6b4b;color:var(--dim);font-size:.75rem;letter-spacing:.08em;margin-top:.25rem;text-transform:uppercase}.code-window{background:#0d1117;border:1px solid #ffffff12;border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px #0006;overflow:hidden}.window-bar{align-items:center;background:#ffffff08;border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--border);display:flex;gap:.5rem;padding:.875rem 1.25rem}.dot{border-radius:50%;height:11px;width:11px}.dot.red{background:#ff5f57}.dot.yellow{background:#febc2e}.dot.green{background:#28c840}.window-title{color:#4a6b4b;color:var(--dim);font-size:.75rem;margin-left:.5rem}.window-code,.window-title{font-family:Space Mono,monospace}.window-code{color:#b5e48c;font-size:.82rem;line-height:1.7;overflow-x:auto;padding:1.5rem}.projects{background:#0a0f0d;background:var(--bg)}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.project-card{background:#111a14;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:16px;overflow:hidden;position:relative;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.project-card:hover{border-color:#6dd56e;border-color:var(--card-color,var(--accent));box-shadow:0 20px 50px #0006,0 0 30px #6dd56e1a;transform:translateY(-6px)}.card-top-bar{background:#6dd56e;background:var(--card-color,var(--accent));height:3px;opacity:0;transition:opacity .3s}.project-card:hover .card-top-bar{opacity:1}.project-body{padding:2rem}.project-meta{margin-bottom:.75rem}.project-name{color:#f0f7f0;color:var(--text);font-family:Syne,sans-serif;font-size:1.4rem;font-weight:700;margin-bottom:.35rem}.project-tech{color:#6dd56e;color:var(--accent);font-family:Space Mono,monospace;font-size:.75rem;letter-spacing:.05em}.project-desc{color:#8faa90;color:var(--muted);font-size:.95rem;line-height:1.7;margin-bottom:1.25rem}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem}.tag{background:#6dd56e14;border:1px solid #6dd56e40;border-radius:100px;color:#6dd56e;color:var(--accent);font-size:.72rem;font-weight:500;padding:.3rem .7rem}.project-actions{display:flex;gap:.75rem}.action-link{align-items:center;border:1px solid #ffffff12;border:1px solid var(--border);border-radius:7px;color:#8faa90;color:var(--muted);display:inline-flex;font-size:.82rem;font-weight:500;gap:.4rem;padding:.55rem 1.1rem;text-decoration:none;transition:all .2s}.action-link:hover{background:#6dd56e14;border-color:#6dd56e80;border-color:var(--border-hover);color:#f0f7f0;color:var(--text)}.skills{background:#0d1410;background:var(--bg2)}.skills-wrapper{grid-gap:2rem;display:grid;gap:2rem}.skill-group{background:#111a14;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:14px;padding:2rem;transition:border-color .3s}.skill-group:hover{border-color:#6dd56e4d}.group-title{color:#6dd56e;color:var(--accent);font-family:Syne,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.1em;margin-bottom:1.5rem;text-transform:uppercase}.skill-grid{display:flex;flex-wrap:wrap;gap:.75rem}.skill-item{align-items:center;background:#172019;background:var(--surface2);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:10px;cursor:default;display:flex;flex-direction:column;gap:.5rem;padding:1rem .75rem;transition:all .25s;width:90px}.skill-item:hover{background:#6dd56e14;border-color:#6dd56e80;border-color:var(--border-hover);transform:translateY(-3px)}.skill-img{height:36px;object-fit:contain;width:36px}.skill-label{font-size:.72rem;line-height:1.3;text-align:center}.skill-badge,.skill-label{color:#8faa90;color:var(--muted);font-weight:500}.skill-badge{align-items:center;background:#172019;background:var(--surface2);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:8px;cursor:default;display:inline-flex;font-size:.82rem;padding:.45rem 1rem;transition:all .2s}.skill-badge:hover{background:#6dd56e14;border-color:#6dd56e80;border-color:var(--border-hover);color:#f0f7f0;color:var(--text)}.contact{align-items:center;background:#0a0f0d;background:var(--bg);display:flex;min-height:60vh}.contact-inner{margin:0 auto;max-width:680px;text-align:center}.contact-sub{color:#8faa90;color:var(--muted);font-size:1.1rem;line-height:1.8;margin:1.5rem 0 2.5rem}.contact-actions{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.social-row{display:flex;gap:1rem}.social-btn{align-items:center;background:#111a14;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:10px;color:#8faa90;color:var(--muted);display:flex;height:52px;justify-content:center;text-decoration:none;transition:all .25s;width:52px}.social-btn:hover{background:#6dd56e1a;border-color:#6dd56e80;border-color:var(--border-hover);color:#6dd56e;color:var(--accent);transform:translateY(-3px)}.footer{background:#0d1410;background:var(--bg2);border-top:1px solid #ffffff12;border-top:1px solid var(--border);padding:2.5rem 0;text-align:center}.footer p{color:#4a6b4b;color:var(--dim);font-size:.85rem;margin-bottom:.4rem}.footer-quote{color:#6dd56e;color:var(--accent);font-family:Space Mono,monospace;font-size:.75rem;font-style:italic}@media (max-width:900px){.about-grid,.hero-grid{gap:3rem;grid-template-columns:1fr}.hero-right{order:-1}.photo-frame{height:260px;width:260px}.stats-row{grid-template-columns:repeat(3,1fr)}.nav-links{gap:0}.nav-link{font-size:.8rem;padding:.4rem .6rem}}@media (max-width:640px){section{padding:5rem 0}.container{padding:0 1.25rem}.hero-title{font-size:2.75rem}.hero-cta{flex-direction:column}.btn{justify-content:center;width:100%}.photo-frame{height:220px;width:220px}.projects-grid,.stats-row{grid-template-columns:1fr}.skill-item{width:80px}.navbar{padding:1rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}
/*# sourceMappingURL=main.e9d185ce.css.map*/