@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";:root{--text:#9ca3af;--text-h:#f1f0f5;--bg:#0a0b10;--bg-subtle:#10121a;--bg-card:#13151f;--border:#1e2030;--border-bright:#2d3052;--accent:#c084fc;--accent-2:#a855f7;--accent-3:#7c3aed;--accent-bg:#c084fc14;--accent-border:#c084fc4d;--accent-glow:#c084fc2e;--cyan:#22d3ee;--cyan-glow:#22d3ee26;--green:#22c55e;--green-glow:#22c55e40;--code-bg:#1c1d27;--social-bg:#25263099;--shadow-sm:0 1px 3px #00000080, 0 1px 2px #0006;--shadow:0 10px 40px -5px #000000b3, 0 4px 12px -2px #00000080;--shadow-accent:0 8px 40px -4px #c084fc4d;--shadow-3d:12px 24px 64px #000c, -4px -4px 32px #c084fc0d;--perspective:1000px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;font:16px/1.65 var(--sans);letter-spacing:.1px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:15px}}:root[data-theme=light]{--text:#52496b;--text-h:#09070f;--bg:#fafafa;--bg-subtle:#f3f0f9;--bg-card:#fff;--border:#e4e2ef;--border-bright:#cbc8de;--accent:#8b2cf5;--accent-2:#6d28d9;--accent-3:#5b21b6;--accent-bg:#8b2cf512;--accent-border:#8b2cf547;--accent-glow:#8b2cf524;--cyan:#0891b2;--cyan-glow:#0891b21f;--green:#16a34a;--green-glow:#16a34a2e;--code-bg:#ede9f8;--social-bg:#f6f4fbcc;--shadow-sm:0 1px 4px #00000014, 0 1px 2px #0000000d;--shadow:0 10px 30px -5px #0000001f, 0 4px 8px -2px #00000012;--shadow-accent:0 8px 32px -4px #8b2cf533;--shadow-3d:12px 24px 48px #0000001f, -4px -4px 24px #8b2cf50a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);margin:0;overflow-x:hidden}#root{width:100%;min-height:100svh}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-h);margin:0}p{margin:0}a{color:inherit;text-decoration:none}code{font-family:var(--mono);background:var(--code-bg);color:var(--text-h);border-radius:4px;padding:2px 6px;font-size:13px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-3)}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rotatering{to{transform:rotate(360deg)}}@keyframes rotateringR{to{transform:rotate(-360deg)}}@keyframes blobDrift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(50px,-40px)scale(1.1)}66%{transform:translate(-30px,30px)scale(.9)}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes floatBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gradShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:0;transform:scale(2.2)}}@keyframes scrollWheel{0%{opacity:1;transform:translateY(0)}80%{opacity:0;transform:translateY(8px)}to{opacity:0}}@keyframes glowLine{0%,to{opacity:.4}50%{opacity:1}}.section-head,.skill-card,.project-card{opacity:0;transition:opacity .7s cubic-bezier(.22,.68,0,1.2),transform .7s cubic-bezier(.22,.68,0,1.2);transform:translateY(32px)}.section-head.visible,.skill-card.visible,.project-card.visible{opacity:1;transform:translateY(0)}.navbar{z-index:1000;background:color-mix(in srgb, var(--bg) 75%, transparent);-webkit-backdrop-filter:blur(24px)saturate(1.5);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}.navbar-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;height:64px;margin:0 auto;padding:0 40px;display:flex}@media (width<=640px){.navbar-inner{padding:0 20px}}.navbar-brand{color:var(--text-h);flex-shrink:0;align-items:center;gap:12px;font-size:15px;font-weight:700;text-decoration:none;transition:opacity .2s;display:flex}.navbar-brand:hover{opacity:.85}.navbar-logo-wrap{background:linear-gradient(135deg, var(--accent), var(--cyan));width:36px;height:36px;box-shadow:0 2px 10px var(--accent-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:1.5px;transition:transform .3s;display:flex}.navbar-logo-wrap:hover{transform:scale(1.08)}.navbar-logo-img{object-fit:cover;background:var(--bg);border-radius:50%;width:100%;height:100%;display:block}@media (width<=480px){.navbar-name{display:none}}.navbar-links{align-items:center;gap:2px;display:flex}@media (width<=768px){.navbar-links{display:none}}.nav-link{color:var(--text);border-radius:9px;padding:7px 14px;font-size:14px;font-weight:500;transition:color .15s,background .15s}.nav-link:hover{color:var(--text-h);background:var(--bg-subtle)}.navbar-actions{align-items:center;gap:10px;display:flex}.nav-socials{gap:6px;display:flex}@media (width<=640px){.nav-socials{display:none}}.nav-social-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--text);background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.nav-social-btn:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg);transform:translateY(-2px)}.theme-toggle{border:1px solid var(--border);width:36px;height:36px;color:var(--text-h);cursor:pointer;background:0 0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,border-color .2s,color .2s,transform .3s;display:inline-flex}.theme-toggle:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent);transform:rotate(22deg)scale(1.1)}.hamburger{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:9px;flex-direction:column;gap:5px;padding:8px 10px;transition:background .15s;display:none}@media (width<=768px){.hamburger{display:flex}}.hamburger:hover{background:var(--bg-subtle)}.hamburger span{background:var(--text-h);transform-origin:50%;border-radius:2px;width:20px;height:2px;transition:transform .28s,opacity .28s;display:block}.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{background:var(--bg-subtle);border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 20px 20px;display:none;box-shadow:0 20px 48px #0000004d}.mobile-menu.open{display:flex}.mobile-link{color:var(--text);border-radius:10px;padding:12px 16px;font-size:15px;font-weight:500;transition:color .15s,background .15s}.mobile-link:hover{color:var(--text-h);background:var(--bg-card)}.mobile-cta{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;text-align:center;border-radius:12px;margin-top:8px;padding:13px 20px;font-size:15px;font-weight:600;transition:opacity .2s}.mobile-cta:hover{opacity:.88}.hero{background:var(--bg);flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-canvas{pointer-events:none;position:absolute;inset:0;width:100%!important;height:100%!important}.hero-overlay{pointer-events:none;background:radial-gradient(60% 50% at 20% 60%,#c084fc1f 0%,#0000 65%),radial-gradient(40% 40% at 80% 30%,#22d3ee12 0%,#0000 65%),radial-gradient(circle,#c084fc0d 1px,#0000 1px) 0 0/32px 32px;position:absolute;inset:0}.hero-body{z-index:1;flex:1;justify-content:space-between;align-items:center;gap:64px;width:100%;max-width:1200px;margin:0 auto;padding:128px 40px 72px;display:flex;position:relative}@media (width<=900px){.hero-body{text-align:center;flex-direction:column-reverse;align-items:center;gap:48px;padding:100px 20px 56px}}.hero-text{flex-direction:column;flex:1;align-items:flex-start;max-width:600px;animation:.9s cubic-bezier(.22,.68,0,1.2) both fadeUp;display:flex}@media (width<=900px){.hero-text{align-items:center;max-width:100%}}.hero-badge{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);font-size:12.5px;font-weight:500;font-family:var(--mono);letter-spacing:.4px;border-radius:100px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;display:inline-flex}.hero-badge-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 0 3px var(--green-glow);border-radius:50%;animation:2s ease-in-out infinite pulse}.hero-name{letter-spacing:-3px;flex-direction:column;margin:0 0 20px;font-size:clamp(44px,6vw,80px);font-weight:900;line-height:1;display:flex}.hero-name-line{color:var(--text-h)}.accent-gradient{background:linear-gradient(135deg, var(--accent) 0%, var(--cyan) 100%);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:5s infinite gradShift}.hero-role{font-size:16px;font-family:var(--mono);color:var(--accent);opacity:.85;letter-spacing:.3px;margin:0 0 10px;font-weight:500}.hero-role.sub{color:var(--text);opacity:.6;margin-bottom:20px;font-size:13.5px}.hero-desc{color:var(--text);max-width:480px;margin:0 0 36px;font-size:16px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:12px;margin-bottom:36px;display:flex}@media (width<=900px){.hero-actions{justify-content:center}}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 6px 24px var(--accent-glow);border-radius:12px;align-items:center;gap:8px;padding:13px 28px;font-size:14.5px;font-weight:600;transition:transform .22s,box-shadow .22s,opacity .22s;display:inline-flex}.btn-primary:hover{box-shadow:0 12px 36px var(--accent-glow);opacity:.92;transform:translateY(-3px)}.btn-ghost{border:1px solid var(--border);background:var(--bg-card);color:var(--text-h);border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-size:14.5px;font-weight:500;transition:all .22s;display:inline-flex}.btn-ghost:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent);transform:translateY(-2px)}.hero-socials{flex-wrap:wrap;gap:12px;display:flex}@media (width<=900px){.hero-socials{justify-content:center}}.hero-social-icon-btn{border:1px solid var(--border);background:var(--bg-card);width:44px;height:44px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.22,.68,0,1.2);display:inline-flex;position:relative}.hero-social-icon-btn:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg);box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-4px)scale(1.12)}.hero-avatar-wrap{flex-shrink:0;width:280px;height:280px;animation:1s .2s both fadeIn;position:relative}@media (width<=900px){.hero-avatar-wrap{width:200px;height:200px}}.orbit-ring{pointer-events:none;border-radius:50%;position:absolute}.orbit-1{background:conic-gradient(from 0deg, var(--accent) 0%, var(--accent-2) 30%, var(--cyan) 55%, transparent 62%, transparent 78%, var(--accent) 100%);animation:6s linear infinite orbit;inset:-20px}.orbit-1:after{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:3px}.orbit-2{background:conic-gradient(from 180deg, transparent 0%, transparent 72%, var(--accent-3) 80%, var(--cyan) 90%, transparent 100%);opacity:.5;animation:10s linear infinite reverse orbit;inset:-36px}.orbit-2:after{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:3px}.hero-avatar-frame{border:2px solid var(--accent-border);z-index:1;background:#0a0b10;border-radius:50%;justify-content:center;align-items:center;width:calc(100% - 16px);height:calc(100% - 16px);transition:transform .4s,box-shadow .4s;display:flex;position:absolute;top:8px;left:8px;overflow:hidden;box-shadow:0 8px 32px #00000080,inset 0 2px 16px #c084fc33}.hero-avatar-frame:hover{box-shadow:0 12px 48px #0009, inset 0 2px 16px #c084fc40, 0 0 48px var(--accent-glow);transform:scale(1.04)}@media (width<=900px){.hero-avatar-frame{width:calc(100% - 12px);height:calc(100% - 12px);top:6px;left:6px}}.hero-avatar-img{object-fit:cover;filter:drop-shadow(0 0 16px #c084fc40);border-radius:50%;width:100%;height:100%;display:block}:root[data-theme=light] .hero-avatar-frame{background:#fff;border-color:#8b2cf540;box-shadow:0 8px 32px #8b2cf51f}.hero-status{background:var(--green);border:3px solid var(--bg);z-index:2;border-radius:50%;width:18px;height:18px;position:absolute;bottom:12px;right:12px}.hero-status:after{content:"";background:var(--green-glow);border-radius:50%;animation:2.5s ease-in-out infinite pulse;position:absolute;inset:-5px}.hero-float-badge{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);font-family:var(--mono);white-space:nowrap;z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.3px;border-radius:100px;padding:5px 12px;font-size:11.5px;font-weight:600;position:absolute}.badge-1{animation:3.5s ease-in-out infinite floatBadge;top:0;left:-30px}.badge-2{animation:4s ease-in-out .8s infinite floatBadge;bottom:30px;left:-40px}.badge-3{animation:3.2s ease-in-out 1.6s infinite floatBadge;top:30px;right:-30px}.hero-scroll-cue{z-index:1;color:var(--text);opacity:.4;font-size:11px;font-family:var(--mono);letter-spacing:.6px;flex-direction:column;align-items:center;gap:8px;padding-bottom:36px;display:flex;position:relative}.scroll-mouse{border:1.5px solid;border-radius:11px;justify-content:center;align-items:flex-start;width:22px;height:34px;padding-top:5px;display:flex}.scroll-wheel{background:currentColor;border-radius:2px;width:3px;height:6px;animation:1.8s ease-in-out infinite scrollWheel}.stats-bar{background:var(--bg-subtle);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stats-inner{justify-content:center;gap:0;max-width:1200px;margin:0 auto;display:flex}.stat-item{border-right:1px solid var(--border);flex-direction:column;flex:1;align-items:center;gap:6px;padding:36px 20px;transition:background .2s;display:flex}.stat-item:last-child{border-right:none}.stat-item:hover{background:var(--accent-bg)}@media (width<=640px){.stat-item{padding:28px 12px}}.stat-value{background:linear-gradient(135deg, var(--accent), var(--cyan));-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,4vw,42px);font-weight:900}.stat-label{font-size:12px;font-family:var(--mono);color:var(--text);letter-spacing:1px;text-transform:uppercase;opacity:.7}.ticker-wrap{border-bottom:1px solid var(--border);background:var(--bg);padding:14px 0;position:relative;overflow:hidden}.ticker-wrap:before,.ticker-wrap:after{content:"";z-index:1;pointer-events:none;width:80px;position:absolute;top:0;bottom:0}.ticker-wrap:before{background:linear-gradient(to right, var(--bg), transparent);left:0}.ticker-wrap:after{background:linear-gradient(to left, var(--bg), transparent);right:0}.ticker-track{gap:0;width:max-content;animation:28s linear infinite ticker;display:flex}.ticker-item{font-size:13px;font-family:var(--mono);color:var(--text);white-space:nowrap;letter-spacing:.3px;align-items:center;gap:12px;padding:0 24px;font-weight:500;display:inline-flex}.ticker-dot{color:var(--accent);opacity:.7;font-size:8px}.section{padding:110px 0}.section-container{max-width:1200px;margin:0 auto;padding:0 40px}@media (width<=768px){.section-container{padding:0 20px}}.section-head{margin-bottom:56px}@media (width<=640px){.section-head{margin-bottom:40px}}.section-eyebrow{align-items:center;gap:10px;margin-bottom:14px;display:inline-flex}.eyebrow-line{background:linear-gradient(to right, var(--accent), var(--cyan));border-radius:2px;width:28px;height:2px;animation:2s ease-in-out infinite glowLine;display:block}.eyebrow-text{font-family:var(--mono);color:var(--accent);letter-spacing:2px;text-transform:uppercase;opacity:.9;font-size:11px;font-weight:600}.section-title{letter-spacing:-1.8px;background:linear-gradient(130deg, var(--text-h) 30%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 12px;font-size:clamp(32px,4.5vw,52px);font-weight:900;line-height:1.08}.section-sub{color:var(--text);opacity:.75;margin:0;font-size:16px;line-height:1.7}.skills-section{background:var(--bg-subtle);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.skills-section:before{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.35;pointer-events:none;background-size:64px 64px;position:absolute;inset:0}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid;position:relative}.skill-card{border:1px solid var(--border);background:var(--bg-card);cursor:default;border-radius:20px;flex-direction:column;gap:16px;padding:28px 26px;transition:border-color .25s,box-shadow .35s cubic-bezier(.22,.68,0,1.2),opacity .7s cubic-bezier(.22,.68,0,1.2),transform .35s cubic-bezier(.22,.68,0,1.2);display:flex;position:relative;overflow:hidden}.skill-card:hover{border-color:var(--accent-border);box-shadow:0 24px 64px -12px var(--accent-glow)}.skill-card-glow{background:linear-gradient(90deg, transparent, var(--accent-border), transparent);opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.skill-card:hover .skill-card-glow{opacity:1}.skill-card-head{align-items:center;gap:12px;display:flex}.skill-icon{flex-shrink:0;font-size:20px;line-height:1}.skill-cat{font-family:var(--mono);color:var(--accent);letter-spacing:1.8px;text-transform:uppercase;opacity:.9;margin:0;font-size:11px;font-weight:600}.skill-tags{flex-wrap:wrap;gap:7px;display:flex}.skill-tag{background:var(--bg-subtle);color:var(--text-h);border:1px solid var(--border);font-size:12px;font-weight:500;font-family:var(--mono);cursor:default;border-radius:8px;padding:5px 12px;transition:all .2s cubic-bezier(.22,.68,0,1.2)}.skill-tag:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent);box-shadow:0 4px 14px var(--accent-glow);transform:translateY(-2px)scale(1.04)}.projects-section{position:relative;overflow:hidden}.projects-section:after{content:"";pointer-events:none;background:radial-gradient(circle,#c084fc12,#0000 70%);border-radius:50%;width:550px;height:550px;position:absolute;top:10%;right:-15%}.projects-featured{margin-bottom:20px}.projects-bento{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=900px){.projects-bento{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.projects-bento{grid-template-columns:1fr}}.project-card{border:1px solid var(--border);background:var(--bg-card);border-radius:22px;flex-direction:column;gap:16px;padding:32px 36px;transition:border-color .3s,box-shadow .4s cubic-bezier(.22,.68,0,1.2),opacity .7s cubic-bezier(.22,.68,0,1.2),transform .4s cubic-bezier(.22,.68,0,1.2);display:flex;position:relative;overflow:hidden}.project-card:after{content:"";background:linear-gradient(135deg, var(--accent), var(--cyan) 50%, var(--accent-2));-webkit-mask-composite:xor;opacity:0;pointer-events:none;border-radius:22px;padding:1.5px;transition:opacity .35s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.project-card:hover{box-shadow:0 32px 80px -16px var(--accent-glow);border-color:#0000}.project-card:hover:after{opacity:1}.project-card.featured{border-radius:24px;padding:40px 48px}.project-card.featured .proj-title{font-size:22px}@media (width<=640px){.project-card.featured{border-radius:18px;padding:28px 24px}}@media (width<=640px){.project-card{border-radius:16px;padding:24px 22px}}.proj-number{font-family:var(--mono);color:var(--accent);letter-spacing:1.5px;opacity:.5;font-size:11px;font-weight:600}.proj-head{flex-direction:column;gap:8px;display:flex}.proj-title-row{align-items:flex-start;gap:10px;display:flex}.proj-title{color:var(--text-h);letter-spacing:-.3px;flex:1;margin:0;font-size:18px;font-weight:700;line-height:1.3}.proj-link{border:1px solid var(--border);background:var(--bg-subtle);width:30px;height:30px;color:var(--text);opacity:.55;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;transition:all .2s cubic-bezier(.22,.68,0,1.2);display:inline-flex}.proj-link:hover{opacity:1;color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg);box-shadow:0 6px 18px var(--accent-glow);transform:translate(3px,-3px)scale(1.1)}.proj-subtitle{color:var(--text);opacity:.65;margin:0;font-size:13px;font-style:italic}.proj-tags{flex-wrap:wrap;gap:6px;display:flex}.proj-tag{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);font-size:11.5px;font-weight:500;font-family:var(--mono);letter-spacing:.1px;border-radius:8px;padding:4px 11px;transition:transform .2s,box-shadow .2s}.proj-tag:hover{box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-1px)}.proj-bullets{border-top:1px solid var(--border);flex-direction:column;flex:1;gap:10px;margin:0;padding:18px 0 0;list-style:none;display:flex}.proj-bullets li{color:var(--text);align-items:flex-start;gap:10px;font-size:14px;line-height:1.7;display:flex}.proj-arrow{color:var(--accent);opacity:.8;flex-shrink:0;margin-top:4px;font-size:10px}.proj-glow-line{background:linear-gradient(to right, transparent, var(--accent-border), transparent);opacity:0;height:1.5px;transition:opacity .3s;position:absolute;bottom:0;left:10%;right:10%}.project-card:hover .proj-glow-line{opacity:1}.contact-section{text-align:center;background:var(--bg-subtle);border-top:1px solid var(--border);padding:120px 40px;position:relative;overflow:hidden}@media (width<=640px){.contact-section{padding:80px 20px}}.contact-blob{filter:blur(100px);pointer-events:none;border-radius:50%;animation:20s ease-in-out infinite blobDrift;position:absolute}.blob-l{background:radial-gradient(circle,#c084fc24,#0000 70%);width:500px;height:500px;top:-10%;left:-10%}.blob-r{background:radial-gradient(circle,#22d3ee1a,#0000 70%);width:400px;height:400px;animation-delay:-7s;bottom:-10%;right:-5%}.contact-inner{flex-direction:column;align-items:center;gap:20px;max-width:640px;margin:0 auto;display:flex;position:relative}.contact-eyebrow{font-family:var(--mono);color:var(--accent);letter-spacing:2.5px;text-transform:uppercase;opacity:.85;font-size:11px;font-weight:600}.contact-title{letter-spacing:-2px;background:linear-gradient(135deg, var(--text-h) 30%, var(--accent) 80%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(36px,5vw,60px);font-weight:900;line-height:1.06}.contact-desc{color:var(--text);opacity:.75;margin:0;font-size:16px;line-height:1.75}.contact-cta{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 8px 32px var(--accent-glow);border-radius:14px;align-items:center;gap:12px;padding:16px 36px;font-size:16px;font-weight:600;transition:transform .25s,box-shadow .25s,opacity .25s;display:inline-flex}.contact-cta:hover{box-shadow:0 16px 48px var(--accent-glow);opacity:.92;transform:translateY(-4px)}.contact-cta-arrow{font-size:20px;transition:transform .2s}.contact-cta:hover .contact-cta-arrow{transform:translate(4px)}.contact-socials{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:14px;display:flex}.c-social{border:1px solid var(--border);background:var(--bg-card);color:var(--text-h);border-radius:12px;align-items:center;gap:8px;padding:10px 22px;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.22,.68,0,1.2);display:inline-flex;box-shadow:0 4px 16px #0000000a}.c-social svg{color:var(--accent);flex-shrink:0;transition:transform .2s}.c-social:hover{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));box-shadow:0 8px 24px var(--accent-glow);border-color:#0000;transform:translateY(-3px)}.c-social:hover svg{color:#fff;transform:scale(1.1)}.contact-location{color:var(--text);opacity:.55;margin:0;font-size:14px}.footer{border-top:1px solid var(--border);background:var(--bg);position:relative;overflow:hidden}.footer:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent) 30%, var(--cyan) 60%, var(--accent-2) 80%, transparent 100%);background-size:200% 100%;height:2px;animation:5s linear infinite gradShift;position:absolute;top:0;left:0;right:0}.proj-filters,.skills-filter-tabs{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.filter-btn,.filter-tab{border:1px solid var(--border);background:var(--bg-card);color:var(--text);cursor:pointer;border-radius:24px;padding:8px 18px;font-size:13.5px;font-weight:600;transition:all .25s}:is(.filter-btn,.filter-tab):hover{color:var(--text-h);border-color:var(--accent);background:var(--bg-subtle)}:is(.filter-btn,.filter-tab).active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 4px 18px var(--accent-glow);border-color:#0000}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:28px;display:grid}@media (width<=640px){.projects-grid{grid-template-columns:1fr}}.project-card.featured{border-color:var(--accent-border);background:radial-gradient(ellipse at 80% 0%, var(--accent-bg) 0%, var(--bg-card) 60%);grid-column:1/-1}.proj-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.proj-badge-row{align-items:center;gap:10px;display:flex}.proj-status-badge{font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.5px;background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:6px;padding:3px 9px;font-weight:700}.proj-period{color:var(--text);opacity:.6;font-size:12px;font-family:var(--mono)}.proj-metrics-wrap{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.proj-metric-chip{background:color-mix(in srgb, var(--cyan) 12%, transparent);color:var(--cyan);border:1px solid color-mix(in srgb, var(--cyan) 25%, transparent);border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:600}.proj-bullets{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.proj-bullets li{color:var(--text);align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.55;display:flex}.proj-expand-btn{font-size:12.5px;font-family:var(--mono);color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-top:14px;padding:4px 0;font-weight:600;transition:opacity .2s;display:inline-flex}.proj-expand-btn:hover{opacity:.75;text-decoration:underline}.edu-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}@media (width<=860px){.edu-grid{grid-template-columns:1fr}}.edu-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:36px;transition:all .3s;position:relative;overflow:hidden}.edu-card:hover{border-color:var(--accent-border);transform:translateY(-4px);box-shadow:0 16px 40px #0003}.edu-card-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.edu-icon{font-size:28px}.edu-badge{font-size:12px;font-family:var(--mono);background:var(--bg-subtle);color:var(--accent);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-weight:700}.edu-degree{color:var(--text-h);margin:0 0 6px;font-size:20px;font-weight:700}.edu-institution{color:var(--accent);margin:0 0 4px;font-size:15px;font-weight:600}.edu-location{color:var(--text);opacity:.6;margin:0 0 20px;font-size:13px}.edu-score-box{background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;flex-direction:column;margin-bottom:20px;padding:10px 18px;display:inline-flex}.score-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text);opacity:.6;font-size:11px}.score-value{color:var(--text-h);font-size:18px;font-weight:800;font-family:var(--mono)}.edu-highlights{flex-direction:column;gap:8px;display:flex}.highlight-item{color:var(--text);align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.5;display:flex}.highlight-arrow{color:var(--accent);font-weight:800}.lang-list{flex-direction:column;gap:16px;margin-bottom:28px;display:flex}.lang-info{justify-content:space-between;margin-bottom:6px;font-size:13.5px;display:flex}.lang-name{color:var(--text-h);font-weight:600}.lang-level{color:var(--accent);font-family:var(--mono);font-size:12px}.lang-bar-track{background:var(--bg-subtle);border-radius:4px;height:6px;overflow:hidden}.lang-bar-fill{background:linear-gradient(90deg, var(--accent), var(--cyan));border-radius:4px;height:100%}.edu-pillars{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding-top:20px;display:flex}.pillar-item{align-items:flex-start;gap:12px;display:flex}.pillar-item strong{color:var(--text-h);margin-bottom:2px;font-size:14px;display:block}.pillar-item p{color:var(--text);opacity:.75;margin:0;font-size:12.5px;line-height:1.45}.pillar-icon{font-size:20px}.terminal-window{font-family:var(--mono);background:#0d1117;border:1px solid #ffffff1f;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px #00000073}.terminal-header{background:#161b22;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.terminal-dots{gap:8px;display:flex}.dot{border-radius:50%;width:12px;height:12px}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27c93f}.terminal-title{color:#8b949e;font-size:12px;font-weight:500}.terminal-clear-btn{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:2px 8px;font-size:11px;transition:all .2s}.terminal-clear-btn:hover{color:#fff;border-color:#fff6}.terminal-body{flex-direction:column;gap:12px;min-height:220px;max-height:380px;padding:20px;display:flex;overflow-y:auto}.terminal-line{font-size:13px;line-height:1.5}.terminal-line.system{color:#58a6ff}.terminal-line.user{color:#7ee787;font-weight:600}.terminal-line.output{color:#c9d1d9}.terminal-line.error{color:#f85149}.terminal-line pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit}.terminal-input-row{background:#090d13;border-top:1px solid #ffffff14;align-items:center;gap:10px;padding:12px 18px;display:flex}.prompt-label{color:#c084fc;flex-shrink:0;font-size:13px;font-weight:700}.terminal-input{color:#fff;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.terminal-input::placeholder{color:#484f58}.terminal-send-btn{color:#fff;cursor:pointer;background:#238636;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .2s}.terminal-send-btn:hover{background:#2ea043}.terminal-presets{background:#11161d;border-top:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;display:flex}.presets-label{color:#8b949e;font-size:11px;font-weight:600}.preset-chip{color:#c9d1d9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;padding:3px 10px;font-family:inherit;font-size:11.5px;transition:all .2s}.preset-chip:hover{color:#fff;background:#c084fc33;border-color:#c084fc}.contact-action-box{flex-wrap:wrap;justify-content:center;gap:16px;margin:32px 0 36px;display:flex}.contact-cta-copy{border:1px solid var(--border);background:var(--bg-card);color:var(--text-h);cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;padding:12px 24px;transition:all .25s;display:flex}.contact-cta-copy:hover{border-color:var(--accent);background:var(--bg-subtle);transform:translateY(-2px)}.copy-label{font-size:15px;font-weight:700;font-family:var(--mono)}.copy-hint{color:var(--accent);margin-top:2px;font-size:11px}.contact-cta-send{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 6px 24px var(--accent-glow);border-radius:14px;align-items:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:700;transition:all .25s;display:inline-flex}.contact-cta-send:hover{box-shadow:0 10px 32px var(--accent-glow);transform:translateY(-2px)}.contact-meta-cards{grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:800px;margin-bottom:32px;display:grid}@media (width<=680px){.contact-meta-cards{grid-template-columns:1fr}}.contact-meta-card{background:var(--bg-card);border:1px solid var(--border);text-align:left;border-radius:14px;align-items:center;gap:12px;padding:16px 20px;display:flex}.meta-card-icon{font-size:24px}.meta-card-label{text-transform:uppercase;color:var(--text);opacity:.6;font-size:11px;font-family:var(--mono);display:block}.meta-card-value{color:var(--text-h);font-size:13.5px;font-weight:700;text-decoration:none}.footer-inner{grid-template-columns:2.2fr 1.1fr 1.2fr;gap:48px;max-width:1200px;margin:0 auto;padding:64px 40px 44px;display:grid}@media (width<=860px){.footer-inner{grid-template-columns:1fr;gap:36px;padding:48px 20px 36px}}.footer-col{flex-direction:column;gap:16px;display:flex}.footer-brand{align-items:center;gap:14px;display:flex}.footer-logo-wrap{background:linear-gradient(135deg, var(--accent), var(--cyan));width:44px;height:44px;box-shadow:0 4px 14px var(--accent-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.footer-logo-img{object-fit:cover;background:var(--bg);border-radius:50%;width:100%;height:100%;display:block}.footer-brand-info{flex-direction:column;gap:2px;display:flex}.footer-name{color:var(--text-h);letter-spacing:-.3px;font-size:17px;font-weight:800}.footer-role{font-size:12px;font-family:var(--mono);color:var(--accent);font-weight:500}.footer-tagline{color:var(--text);opacity:.75;max-width:440px;margin:0;font-size:13.5px;line-height:1.6}.footer-status-pill{color:#27c93f;font-size:12px;font-family:var(--mono);background:#27c93f1a;border:1px solid #27c93f4d;border-radius:20px;align-items:center;gap:8px;width:fit-content;padding:6px 14px;font-weight:600;display:inline-flex}.status-indicator-live{background:#27c93f;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;box-shadow:0 0 10px #27c93f}.footer-social-row{align-items:center;gap:10px;margin-top:4px;display:flex}.f-social-btn{border:1px solid var(--border);background:var(--bg-card);width:38px;height:38px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;text-decoration:none;transition:all .2s cubic-bezier(.22,.68,0,1.2);display:inline-flex}.f-social-btn:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg);box-shadow:0 6px 18px var(--accent-glow);transform:translateY(-2px)}.footer-heading{font-size:12.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.6px;color:var(--accent);margin:0 0 4px}.footer-links{flex-direction:column;gap:10px;display:flex}.f-link{color:var(--text);align-items:center;gap:8px;width:fit-content;font-size:13.5px;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.f-link:hover{color:var(--text-h);transform:translate(4px)}.f-link:hover .f-bullet,.f-link:hover .f-ext-arrow{color:var(--accent)}.f-link.ext{justify-content:space-between;width:100%;max-width:240px}.f-bullet{color:var(--accent);font-weight:700;transition:color .2s}.f-ext-arrow{color:var(--text);opacity:.5;font-size:12px;transition:color .2s,transform .2s}.footer-bottom{border-top:1px solid var(--border);background:var(--bg-subtle)}.footer-bottom-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:20px 40px;display:flex}@media (width<=640px){.footer-bottom-inner{text-align:center;flex-direction:column;padding:20px}}.footer-copy,.footer-location{color:var(--text);opacity:.6;font-size:12.5px;font-family:var(--mono);margin:0}:root[data-theme=light] .skill-card,:root[data-theme=light] .project-card,:root[data-theme=light] .edu-card,:root[data-theme=light] .contact-meta-card,:root[data-theme=light] .contact-cta-copy{background:#fff}:root[data-theme=light] .blob-l{background:radial-gradient(circle,#8b2cf51a,#0000 70%)}:root[data-theme=light] .blob-r{background:radial-gradient(circle,#0891b214,#0000 70%)}:root[data-theme=light] .skills-section:before{opacity:.18}:root[data-theme=light] .hero-overlay{background:radial-gradient(60% 50% at 20% 60%,#8b2cf51a 0%,#0000 65%),radial-gradient(40% 40% at 80% 30%,#0891b20d 0%,#0000 65%),radial-gradient(circle,#8b2cf50d 1px,#0000 1px) 0 0/32px 32px}
