@import "https://fonts.googleapis.com/css2?family=Syne:wght@500;600;700;800&family=Space+Mono:wght@400;700&family=Inter:wght@400;500;600&display=swap";
:root{--bg:#0a0d13;--bg2:#0d1117;--surface:#111620;--surface2:#161c29;--border:#00ffc81f;--border-strong:#00ffc847;--neon:#00ffc8;--neon2:#0090ff;--violet:#bf00ff;--text:#eef3f8;--muted:#8b96a8;--font-display:"Syne", sans-serif;--font-mono:"Space Mono", monospace;--font-body:"Inter", sans-serif;--radius:14px;--ease:cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg:#f6f8fb;--bg2:#fff;--surface:#fff;--surface2:#f0f3f8;--border:#00908226;--border-strong:#00908252;--neon:#009e82;--neon2:#0072d6;--violet:#8a1fd9;--text:#10151f;--muted:#5a6579}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,.navbar,.hero-avatar,.project-card-home,.project-card,.skill-card,.cert-card,.contact-card,.input-dark,.tech-badge,.btn-ghost,.site-footer{transition:background-color .4s,border-color .4s,color .4s,box-shadow .4s}html{background-color:var(--bg)!important}body{font-family:var(--font-body);background-image:radial-gradient(circle at 15% 0,#00ffc80d,#0000 40%),radial-gradient(circle at 85% 20%,#bf00ff0a,#0000 40%);min-height:100vh;overflow-x:hidden;background-color:var(--bg)!important;color:var(--text)!important}img{max-width:100%;display:block}a{text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--neon);border-radius:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideLeft{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)translate(0)}50%{transform:translateY(-22px)translate(10px)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(18px)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #00ffc840}50%{box-shadow:0 0 0 10px #00ffc800}}@keyframes bounceDown{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}@keyframes blink{0%,45%{border-color:var(--neon2)}50%,95%{border-color:#0000}}.reveal-hidden{opacity:0}.reveal{opacity:0;will-change:transform, opacity}.reveal.up{animation:fadeUp .7s var(--ease) forwards}.reveal.left{animation:slideLeft .7s var(--ease) forwards}.reveal.right{animation:slideRight .7s var(--ease) forwards}.reveal.scale{animation:scaleIn .6s var(--ease) forwards}.reveal.fade{animation:fadeIn .8s var(--ease) forwards}.navbar{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);z-index:1000;transition:background .3s;position:sticky;top:0;background:#080b10bf!important;padding:.9rem 2rem!important}.navbar-brand{font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;font-size:1.15rem;color:var(--neon)!important}.logo-lockup{align-items:center;text-decoration:none;display:inline-flex;color:var(--neon)!important}.logo-word{font-family:var(--font-display);letter-spacing:-.3px;background:linear-gradient(120deg, var(--neon), var(--neon2));color:#0000;opacity:0;animation:logoWordIn .5s var(--ease) forwards;transition:transform .3s var(--ease);-webkit-background-clip:text;background-clip:text;font-size:1.3rem;font-style:normal;font-weight:800;display:inline-block;transform:skew(-8deg)translateY(-6px)}.logo-lockup:hover .logo-word{transform:skew(-8deg)translateY(-6px)scale(1.04)}@keyframes logoWordIn{0%{opacity:0;transform:skew(-8deg)translateY(-6px)}to{opacity:1;transform:skew(-8deg)translateY(0)}}.splash-screen{z-index:3000;background:var(--bg);will-change:opacity, transform;flex-direction:column;justify-content:center;align-items:center;gap:1rem;transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1),filter .9s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}.splash-screen.splash-out{opacity:0;filter:blur(6px);pointer-events:none;transform:translateY(-22px)scale(1.02)}.splash-name{font-family:var(--font-display);letter-spacing:-1px;font-size:clamp(3rem,12vw,7rem);font-style:normal;font-weight:800;animation:2.6s cubic-bezier(.45,0,.55,1) .9s infinite splashBreathe;display:flex;transform:skew(-8deg)}.splash-letter{opacity:0;will-change:opacity, transform;background:linear-gradient(120deg, var(--neon), var(--neon2), var(--violet));color:#0000;-webkit-background-clip:text;background-clip:text;animation:.7s cubic-bezier(.22,1,.36,1) forwards splashLetterIn;display:inline-block;transform:translateY(28px)}.splash-underline{background:linear-gradient(90deg, var(--neon), var(--neon2));border-radius:2px;width:0;height:3px;animation:.9s cubic-bezier(.16,1,.3,1) .75s forwards splashUnderline}@keyframes splashLetterIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes splashUnderline{0%{width:0}to{width:min(220px,40vw)}}@keyframes splashBreathe{0%,to{transform:skew(-8deg)scale(1)}50%{transform:skew(-8deg)scale(1.015)}}.nav-link{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;border:1px solid #0000;border-radius:6px;font-size:.76rem;transition:all .25s;color:var(--muted)!important;padding:.45rem 1rem!important}.nav-link:hover{border-color:var(--border);background:#00ffc80d;transform:translateY(-1px);color:var(--neon)!important}.nav-link.active{border-color:var(--border-strong);color:var(--neon)!important}.nav-link{position:relative;overflow:hidden}.nav-link:after{content:"";background:var(--neon);transform-origin:0;height:1px;transition:transform .3s var(--ease);position:absolute;bottom:.3rem;left:1rem;right:1rem;transform:scaleX(0)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.theme-toggle{border:1px solid var(--border);width:38px;height:38px;color:var(--muted);cursor:pointer;transition:all .3s var(--ease);background:0 0;border-radius:10px;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{color:var(--neon);border-color:var(--neon);transform:rotate(-12deg)translateY(-2px);box-shadow:0 8px 20px -10px #00ffc866}.theme-toggle-icon{animation:scaleIn .35s var(--ease) both;display:flex}.theme-toggle-placeholder{display:inline-block}.btn-neon{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:#061a15;background:linear-gradient(120deg, var(--neon), #4be8ff, var(--neon));cursor:pointer;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-position .6s ease;background-size:200%;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.85rem 1.6rem;font-size:.78rem;font-weight:700;display:inline-flex}.btn-neon:hover{color:#061a15;background-position:100%;transform:translateY(-3px)scale(1.02);box-shadow:0 10px 30px -8px #00ffc873}.btn-neon:active{transform:translateY(-1px)scale(.99)}.btn-neon:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--text);border:1px solid var(--border-strong);cursor:pointer;transition:all .25s var(--ease);background:0 0;border-radius:8px;align-items:center;gap:.4rem;padding:.82rem 1.6rem;font-size:.78rem;display:inline-flex}.btn-ghost:hover{border-color:var(--neon);color:var(--neon);background:#00ffc80f;transform:translateY(-3px)}.hero-section{align-items:center;min-height:88vh;padding:5rem 2rem;display:flex;position:relative;overflow:hidden}.hero-section:before{content:"";pointer-events:none;background:radial-gradient(circle,#00ffc812 0%,#0000 70%);border-radius:50%;width:600px;height:600px;animation:9s ease-in-out infinite float;position:absolute;top:-200px;right:-200px}.hero-section:after{content:"";pointer-events:none;background:radial-gradient(circle,#bf00ff0f 0%,#0000 70%);border-radius:50%;width:420px;height:420px;animation:11s ease-in-out infinite floatSlow;position:absolute;bottom:-100px;left:-120px}.hero-tag{font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;color:var(--neon);animation:fadeUp .7s var(--ease) both;border:1px solid #00ffc859;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.4rem .9rem;font-size:.75rem;display:inline-flex}.hero-tag:before{content:"";background:var(--neon);border-radius:50%;width:6px;height:6px;animation:2s infinite pulseGlow}.hero-name{font-family:var(--font-display);letter-spacing:-1px;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;animation:fadeUp .7s 50ms var(--ease) both;margin-bottom:.6rem;font-size:clamp(2.1rem,4.2vw,4.2rem);font-weight:800;line-height:1.05}.hero-name span{background:linear-gradient(120deg, var(--neon), var(--neon2), var(--violet));color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradientShift;display:block}.hero-role{font-family:var(--font-mono);color:var(--muted);animation:fadeUp .7s .15s var(--ease) both;margin-bottom:1.4rem;font-size:1rem}.hero-role strong{color:var(--neon2)}.hero-typing{border-right:2px solid var(--neon2);padding-right:4px;animation:1s step-end infinite blink;display:inline-block}.hero-desc{color:var(--muted);max-width:480px;animation:fadeUp .7s .25s var(--ease) both;margin-bottom:2rem;font-size:1rem;line-height:1.8}.hero-btns{animation:fadeUp .7s .35s var(--ease) both;flex-wrap:wrap;gap:1rem;margin-bottom:2.25rem;display:flex}.tech-stack{animation:fadeUp .7s .45s var(--ease) both;flex-wrap:wrap;gap:.6rem;display:flex}.tech-badge{font-family:var(--font-mono);letter-spacing:1px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.35rem .75rem;font-size:.7rem;transition:all .25s}.tech-badge:hover{color:var(--neon);border-color:var(--neon);background:#00ffc80f;transform:translateY(-2px)}.hero-avatar{border:1px solid var(--border-strong);width:320px;height:320px;animation:scaleIn .8s .2s var(--ease) both, floatSlow 7s ease-in-out infinite;border-radius:28px;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #00ffc840}.hero-avatar img{object-fit:cover;width:100%;height:100%}.social-icons{gap:.85rem;margin-top:1.5rem;display:flex}.social-icons a{border:1px solid var(--border);width:40px;height:40px;color:var(--muted);transition:all .25s var(--ease);border-radius:10px;justify-content:center;align-items:center;display:flex}.social-icons a:hover{color:var(--neon);border-color:var(--neon);transform:translateY(-4px);box-shadow:0 8px 20px -8px #00ffc866}.scroll-indicator{color:var(--muted);font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;flex-direction:column;align-items:center;gap:.4rem;font-size:.65rem;animation:2s ease-in-out infinite bounceDown;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}section{padding:6rem 2rem;position:relative}.section-label{font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;color:var(--neon);margin-bottom:.6rem;font-size:.72rem}.section-title{font-family:var(--font-display);letter-spacing:-.5px;margin-bottom:1rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700}.section-body{color:var(--muted);max-width:680px;font-size:1rem;line-height:1.85}.about-section,.featured-section,.certs-section,.skills-section{max-width:1200px;margin:0 auto}.project-card-home{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:100%;transition:all .3s var(--ease);padding:1.75rem;position:relative;overflow:hidden}.project-card-home:before{content:"";opacity:0;background:linear-gradient(135deg,#00ffc80f,#0000 60%);transition:opacity .3s;position:absolute;inset:0}.project-card-home:hover{border-color:var(--border-strong);transform:translateY(-6px);box-shadow:0 20px 40px -20px #00ffc84d}.project-card-home:hover:before{opacity:1}.project-card-home h3{font-family:var(--font-display);color:var(--text);margin-bottom:.6rem;font-size:1.2rem}.project-card-home p{color:var(--muted);font-size:.92rem;line-height:1.7}.projects-page{max-width:1200px;margin:0 auto;padding:6rem 2rem}.projects-header{animation:fadeUp .6s var(--ease) both;margin-bottom:3rem}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:100%;transition:all .35s var(--ease);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{border-color:var(--border-strong);transform:translateY(-8px);box-shadow:0 25px 50px -20px #00ffc84d}.project-card-img{object-fit:cover;filter:saturate(.9);width:100%;height:190px;transition:transform .5s var(--ease), filter .5s ease}.project-card:hover .project-card-img{filter:saturate(1.1);transform:scale(1.06)}.project-card-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.project-card-title{font-family:var(--font-display);margin-bottom:.6rem;font-size:1.15rem}.project-card-desc{color:var(--muted);flex:1;margin-bottom:1.25rem;font-size:.88rem;line-height:1.7}.badge-tech{font-family:var(--font-mono);letter-spacing:1px;color:var(--neon2);border:1px solid #0090ff4d;border-radius:999px;margin:0 .35rem .35rem 0;padding:.25rem .6rem;font-size:.65rem;display:inline-block}.project-card-links{flex-wrap:wrap;gap:.6rem;display:flex}.btn-github{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.72rem;transition:all .25s;display:inline-flex}.btn-github:hover{color:var(--text);border-color:var(--border-strong);transform:translateY(-2px)}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:100%;transition:all .3s var(--ease);padding:1.4rem}.skill-card:hover{border-color:var(--border-strong);transform:translateY(-5px)}.skill-cat{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;color:var(--neon);margin-bottom:1rem;font-size:.68rem}.skill-row{margin-bottom:.9rem}.skill-row-top{color:var(--text);justify-content:space-between;margin-bottom:.35rem;font-size:.85rem;display:flex}.skill-bar-track{background:#ffffff0f;border-radius:999px;width:100%;height:6px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--neon2), var(--neon));width:0%;height:100%;transition:width 1.2s var(--ease);border-radius:999px}.cert-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:all .35s var(--ease);padding:1.9rem;position:relative;overflow:hidden}.cert-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#00ffc814,#0000 70%);width:220px;height:220px;position:absolute;top:-40%;right:-20%}.cert-card:hover{border-color:var(--border-strong);transform:translateY(-6px);box-shadow:0 25px 50px -22px #0090ff59}.cert-top{align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.cert-logo{border:1px solid var(--border-strong);width:54px;height:54px;font-family:var(--font-display);color:var(--neon);background:linear-gradient(135deg,#00ffc826,#0090ff26);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.cert-org{font-family:var(--font-display);color:var(--text);font-size:1.1rem}.cert-date{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:.35rem;margin-top:.2rem;font-size:.72rem;display:flex}.cert-title{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--neon2);margin-bottom:.7rem;font-size:.75rem}.cert-desc{color:var(--muted);margin-bottom:1.2rem;font-size:.9rem;line-height:1.75}.cert-badges{flex-wrap:wrap;gap:.5rem;display:flex}.cert-icon-check{color:var(--neon);opacity:.6;position:absolute;top:1.5rem;right:1.5rem}.cert-timeline{border-left:1px dashed var(--border-strong);padding-left:2rem;position:relative}.cert-timeline-dot{background:var(--neon);border-radius:50%;width:12px;height:12px;position:absolute;top:1.9rem;left:-.44rem;box-shadow:0 0 0 4px #00ffc826}.contact-page{justify-content:center;align-items:center;min-height:80vh;padding:5rem 1.5rem;display:flex}.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;animation:scaleIn .5s var(--ease) both;padding:2.5rem}.contact-card h3{font-family:var(--font-display);margin:.3rem 0 .4rem;font-size:1.6rem}.contact-card .sub{color:var(--muted);margin-bottom:1.6rem;font-size:.9rem}.form-label-dark{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:1rem 0 .4rem;font-size:.68rem;display:block}.input-dark{background:var(--bg2);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);resize:vertical;border-radius:8px;min-height:44px;padding:.8rem 1rem;font-size:.9rem;transition:all .25s}.contact-card textarea.input-dark{min-height:120px}.input-dark:focus{border-color:var(--neon);outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #00ffc81f}.input-dark::placeholder{color:#52607a}.input-error{border-color:#ff5c7a!important}.form-error-text{color:#ff8fa3;font-size:.75rem;font-family:var(--font-mono);animation:fadeUp .3s var(--ease) both;margin-top:.35rem}.site-footer{border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:2.25rem 2rem;font-size:.8rem;display:flex}.site-footer a{color:var(--muted);transition:color .2s}.site-footer a:hover{color:var(--neon)}@media (max-width:991px){.hero-section{text-align:center;padding:4rem 1.5rem}.hero-btns,.tech-stack,.social-icons{justify-content:center}.hero-desc{margin-left:auto;margin-right:auto}.hero-avatar{width:240px;height:240px;margin-top:2rem}section{padding:4rem 1.25rem}}@media (max-width:576px){.contact-card{padding:1.75rem}.cert-top{flex-wrap:wrap}}
