@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.visible{visibility:visible}.mr-1{margin-right:.25rem}.inline{display:inline}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.scroll-smooth{scroll-behavior:smooth}:root{--bg-primary: #06080d;--bg-secondary: #0c1017;--bg-card: #111720;--bg-card-hover: #161d2a;--accent-cyan: #22d3ee;--accent-violet: #8b5cf6;--accent-emerald: #34d399;--accent-amber: #fbbf24;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-subtle: rgba(148, 163, 184, .08);--border-hover: rgba(34, 211, 238, .25);--glow-cyan: rgba(34, 211, 238, .15);--glow-violet: rgba(139, 92, 246, .15)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::-moz-selection{background:#22d3ee33;color:var(--text-primary)}::selection{background:#22d3ee33;color:var(--text-primary)}.app-wrapper{position:relative;min-height:100vh}.animated-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:var(--bg-primary)}.aurora{position:absolute;border-radius:50%;filter:blur(120px);opacity:.12;pointer-events:none;will-change:transform}.aurora-1{width:600px;height:600px;background:var(--accent-cyan);top:-10%;right:-5%;animation:aurora-drift-1 20s ease-in-out infinite}.aurora-2{width:500px;height:500px;background:var(--accent-violet);bottom:-10%;left:-5%;animation:aurora-drift-2 25s ease-in-out infinite}.aurora-3{width:400px;height:400px;background:#ec4899;top:40%;left:30%;opacity:.07;animation:aurora-drift-3 18s ease-in-out infinite}.aurora-4{width:350px;height:350px;background:var(--accent-emerald);top:60%;right:20%;opacity:.06;animation:aurora-drift-4 22s ease-in-out infinite}@keyframes aurora-drift-1{0%,to{transform:translate(0) scale(1) rotate(0)}25%{transform:translate(-60px,80px) scale(1.15) rotate(10deg)}50%{transform:translate(40px,120px) scale(.9) rotate(-5deg)}75%{transform:translate(80px,-40px) scale(1.1) rotate(15deg)}}@keyframes aurora-drift-2{0%,to{transform:translate(0) scale(1) rotate(0)}25%{transform:translate(80px,-60px) scale(1.2) rotate(-10deg)}50%{transform:translate(-50px,-100px) scale(.85) rotate(8deg)}75%{transform:translate(-80px,50px) scale(1.1) rotate(-12deg)}}@keyframes aurora-drift-3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(100px,-80px) scale(1.3)}66%{transform:translate(-60px,60px) scale(.8)}}@keyframes aurora-drift-4{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-80px,-60px) scale(1.2)}66%{transform:translate(70px,80px) scale(.9)}}.grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-size:60px 60px;background-image:linear-gradient(to right,rgba(148,163,184,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(148,163,184,.03) 1px,transparent 1px);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 20%,rgba(0,0,0,.5) 80%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 20%,rgba(0,0,0,.5) 80%,transparent 100%);animation:grid-scroll 30s linear infinite;pointer-events:none}@keyframes grid-scroll{0%{transform:translateY(0)}to{transform:translateY(60px)}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);background:#06080dbf;border-bottom:1px solid var(--border-subtle);transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none}.nav-links{display:flex;align-items:center;gap:8px;list-style:none}.nav-links a{color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;padding:8px 16px;border-radius:8px;transition:all .2s ease;position:relative}.nav-links a:hover{color:var(--text-primary);background:#ffffff0d}.nav-resume-btn{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet))!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:unset!important;color:#06080d!important;font-weight:600!important;padding:8px 20px!important;border-radius:8px!important;transition:all .3s ease!important;box-shadow:0 0 20px var(--glow-cyan)}.nav-resume-btn:hover{transform:translateY(-1px);box-shadow:0 0 30px var(--glow-cyan),0 4px 15px #0000004d}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px}@media (max-width: 768px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:#06080df2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);padding:16px 24px;gap:4px}.nav-links.open{display:flex}.nav-links a{width:100%;padding:12px 16px}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:120px 24px 80px;overflow:hidden}.hero:before{content:"";position:absolute;top:-40%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,var(--glow-cyan) 0%,transparent 70%);filter:blur(80px);pointer-events:none;animation:float-glow 8s ease-in-out infinite}.hero:after{content:"";position:absolute;bottom:-20%;left:-15%;width:500px;height:500px;background:radial-gradient(circle,var(--glow-violet) 0%,transparent 70%);filter:blur(80px);pointer-events:none;animation:float-glow 8s ease-in-out infinite reverse}@keyframes float-glow{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-30px) scale(1.1)}}.hero-inner{max-width:900px;text-align:center;position:relative;z-index:1}.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:99px;border:1px solid var(--border-hover);background:#22d3ee0d;color:var(--accent-cyan);font-size:.85rem;font-weight:500;margin-bottom:24px;animation:fade-up .6s ease-out}.hero-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--accent-emerald);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.1;letter-spacing:-.04em;margin-bottom:20px;animation:fade-up .6s ease-out .1s both}.hero h1 .gradient-text{background:linear-gradient(135deg,var(--accent-cyan) 0%,var(--accent-violet) 50%,#ec4899 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);line-height:1.7;max-width:650px;margin:0 auto 32px;animation:fade-up .6s ease-out .2s both}.hero-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px;animation:fade-up .6s ease-out .3s both}.chip{padding:8px 18px;border-radius:99px;font-size:.8rem;font-weight:600;letter-spacing:.01em;border:1px solid}.chip-cyan{border-color:#22d3ee4d;background:#22d3ee14;color:var(--accent-cyan)}.chip-violet{border-color:#8b5cf64d;background:#8b5cf614;color:var(--accent-violet)}.chip-emerald{border-color:#34d3994d;background:#34d39914;color:var(--accent-emerald)}.chip-amber{border-color:#fbbf244d;background:#fbbf2414;color:var(--accent-amber)}.hero-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;animation:fade-up .6s ease-out .4s both}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:12px;font-size:.95rem;font-weight:600;text-decoration:none;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));color:#06080d;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 30px var(--glow-cyan),0 4px 20px #0000004d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 40px var(--glow-cyan),0 8px 30px #0006}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:12px;font-size:.95rem;font-weight:600;text-decoration:none;background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-subtle);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--border-hover);transform:translateY(-2px)}.section{padding:100px 24px;position:relative}.section-inner{max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:64px}.section-label{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-cyan);margin-bottom:16px}.section-label:before,.section-label:after{content:"";width:24px;height:1px;background:linear-gradient(90deg,transparent,var(--accent-cyan))}.section-label:after{background:linear-gradient(90deg,var(--accent-cyan),transparent)}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:16px;color:var(--text-primary)}.section-desc{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.skills-categories{display:grid;gap:24px}.skill-category{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:32px;transition:all .3s ease}.skill-category:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:0 8px 30px #0000004d,0 0 20px var(--glow-cyan)}.skill-cat-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.skill-cat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.skill-cat-icon.cyan{background:#22d3ee1a;color:var(--accent-cyan);border:1px solid rgba(34,211,238,.2)}.skill-cat-icon.violet{background:#8b5cf61a;color:var(--accent-violet);border:1px solid rgba(139,92,246,.2)}.skill-cat-icon.emerald{background:#34d3991a;color:var(--accent-emerald);border:1px solid rgba(52,211,153,.2)}.skill-cat-title{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{padding:8px 16px;border-radius:8px;font-size:.82rem;font-weight:500;background:#ffffff0a;border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all .2s ease}.skill-tag:hover{background:#22d3ee14;border-color:#22d3ee33;color:var(--accent-cyan);transform:translateY(-1px)}.timeline{position:relative;padding-left:40px}.timeline:before{content:"";position:absolute;left:14px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--accent-cyan),var(--accent-violet),transparent);border-radius:2px}.timeline-item{position:relative;margin-bottom:40px}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-33px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--accent-cyan);box-shadow:0 0 20px var(--glow-cyan);border:3px solid var(--bg-primary)}.timeline-date{font-size:.82rem;font-weight:600;color:var(--accent-cyan);margin-bottom:8px;font-family:JetBrains Mono,monospace}.timeline-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:28px;transition:all .3s ease}.timeline-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translate(4px);box-shadow:0 4px 20px #0003}.timeline-role{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.timeline-company{font-size:.9rem;color:var(--accent-violet);margin-bottom:16px;font-weight:500}.timeline-list{list-style:none;padding:0}.timeline-list li{position:relative;padding-left:20px;margin-bottom:10px;color:var(--text-secondary);font-size:.92rem;line-height:1.6}.timeline-list li:before{content:"▹";position:absolute;left:0;color:var(--accent-cyan);font-size:.9rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px}@media (max-width: 440px){.projects-grid{grid-template-columns:1fr}}.project-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:32px;display:flex;flex-direction:column;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-violet));opacity:0;transition:opacity .3s ease}.project-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-4px);box-shadow:0 12px 40px #0006,0 0 30px var(--glow-cyan)}.project-card:hover:before{opacity:1}.project-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.project-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#22d3ee14;border:1px solid rgba(34,211,238,.15);color:var(--accent-cyan)}.project-links{display:flex;gap:12px}.project-links a{color:var(--text-muted);transition:all .2s ease}.project-links a:hover{color:var(--accent-cyan);transform:translateY(-2px)}.project-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin-bottom:10px}.project-desc{font-size:.92rem;color:var(--text-secondary);line-height:1.65;margin-bottom:20px;flex-grow:1}.project-tech{display:flex;flex-wrap:wrap;gap:6px}.project-tech span{font-size:.75rem;font-weight:500;padding:4px 12px;border-radius:6px;background:#ffffff0a;border:1px solid var(--border-subtle);color:var(--text-muted);font-family:JetBrains Mono,monospace}.education-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:32px;display:flex;align-items:center;gap:24px;transition:all .3s ease;max-width:700px;margin:0 auto}.education-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:0 8px 30px #0000004d}.edu-icon{width:64px;height:64px;min-width:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22d3ee1a,#8b5cf61a);border:1px solid rgba(34,211,238,.15);font-size:1.5rem}.edu-info h3{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.edu-info p{color:var(--text-secondary);font-size:.92rem;line-height:1.5}.edu-info .edu-year{font-size:.82rem;font-weight:600;color:var(--accent-cyan);margin-top:8px;font-family:JetBrains Mono,monospace}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:800px;margin:0 auto}@media (max-width: 640px){.contact-grid{grid-template-columns:1fr}}.contact-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:28px;display:flex;align-items:center;gap:16px;text-decoration:none;transition:all .3s ease}.contact-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:0 8px 30px #0000004d,0 0 20px var(--glow-cyan)}.contact-icon{width:48px;height:48px;min-width:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#22d3ee14;border:1px solid rgba(34,211,238,.15);color:var(--accent-cyan)}.contact-label{font-size:.78rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.contact-value{font-size:.95rem;font-weight:600;color:var(--text-primary)}.social-links{display:flex;justify-content:center;gap:16px;margin-top:48px}.social-link{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);text-decoration:none;transition:all .3s ease}.social-link:hover{border-color:var(--border-hover);color:var(--accent-cyan);transform:translateY(-3px);box-shadow:0 8px 20px #0000004d,0 0 15px var(--glow-cyan)}.footer{padding:32px 24px;border-top:1px solid var(--border-subtle);text-align:center}.footer-inner{max-width:1200px;margin:0 auto}.footer p{color:var(--text-muted);font-size:.85rem}.footer .heart{color:#ef4444;display:inline}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fade-up .6s ease-out both}.section-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border-subtle) 20%,var(--border-subtle) 80%,transparent)}.bg-dots{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(148,163,184,.06) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent,black 30%,black 70%,transparent);mask-image:linear-gradient(to bottom,transparent,black 30%,black 70%,transparent)}.particles-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.particle{position:absolute;border-radius:50%;background:var(--accent-cyan);opacity:0;animation:particle-float linear infinite}@keyframes particle-float{0%{opacity:0;transform:translateY(0) translate(0) scale(0)}10%{opacity:.6;transform:scale(1)}50%{opacity:.3}90%{opacity:.5;transform:translateY(-200px) translate(80px) scale(.8)}to{opacity:0;transform:translateY(-300px) translate(100px) scale(0)}}.particle:nth-child(3n){background:var(--accent-violet)}.particle:nth-child(5n){background:var(--accent-emerald)}.hero-typing{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:600;margin-bottom:16px;min-height:2.4em;display:flex;align-items:center;justify-content:center;animation:fade-up .6s ease-out .15s both}.typing-text{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.typing-cursor{color:var(--accent-cyan);font-weight:300;margin-left:2px;animation:cursor-blink .7s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.reveal-section{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal-section.revealed{opacity:1;transform:translateY(0)}.revealed .stagger-item{animation:stagger-in .6s cubic-bezier(.16,1,.3,1) both}@keyframes stagger-in{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.hero h1 .gradient-text{background:linear-gradient(135deg,var(--accent-cyan) 0%,var(--accent-violet) 33%,#ec4899 66%,var(--accent-cyan) 100%);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shimmer 6s ease-in-out infinite}@keyframes gradient-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.timeline-dot{animation:dot-pulse 2.5s ease-in-out infinite}@keyframes dot-pulse{0%,to{box-shadow:0 0 20px var(--glow-cyan)}50%{box-shadow:0 0 35px var(--glow-cyan),0 0 60px #22d3ee14}}.skill-tag{transition:all .3s cubic-bezier(.4,0,.2,1)}.skill-tag:hover{background:#22d3ee1a;border-color:#22d3ee4d;color:var(--accent-cyan);transform:translateY(-2px);box-shadow:0 4px 15px #0003,0 0 10px var(--glow-cyan)}.project-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease;pointer-events:none}.project-card:hover:after{opacity:.4}@media (min-width: 769px){.nav-links a:after{content:"";position:absolute;bottom:4px;left:50%;width:0;height:2px;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-violet));border-radius:99px;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translate(-50%)}.nav-links a:hover:after{width:60%}}.contact-card{position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;top:-50%;left:-60%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(34,211,238,.03) 50%,transparent 60%);transform:rotate(25deg);transition:left .6s ease;pointer-events:none}.contact-card:hover:before{left:60%}.social-link{position:relative;overflow:hidden}.social-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,var(--glow-cyan) 0%,transparent 70%);opacity:0;transform:scale(0);transition:all .4s ease}.social-link:hover:after{opacity:1;transform:scale(1)}.social-link svg{position:relative;z-index:1}.education-card{position:relative;overflow:hidden}.education-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(34,211,238,.04),transparent);transition:left .8s ease;pointer-events:none}.education-card:hover:before{left:100%}.btn-primary{position:relative}.btn-primary:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:16px;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));opacity:0;z-index:-1;filter:blur(15px);transition:opacity .3s ease}.btn-primary:hover:after{opacity:.4;animation:btn-pulse 2s ease-in-out infinite}@keyframes btn-pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.05);opacity:.5}}.revealed .section-label:before{animation:line-grow .6s ease-out .2s both}.revealed .section-label:after{animation:line-grow .6s ease-out .3s both}@keyframes line-grow{0%{width:0}to{width:24px}}.footer .heart{display:inline-block;animation:heart-beat 1.5s ease-in-out infinite}@keyframes heart-beat{0%,to{transform:scale(1)}14%{transform:scale(1.2)}28%{transform:scale(1)}42%{transform:scale(1.2)}70%{transform:scale(1)}}
