@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--ease-elastic:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-smooth:cubic-bezier(0.4,0.0,0.2,1);--ease-bounce:cubic-bezier(0.175,0.885,0.32,1.275);--bg-light:#ffffffd9;--bg-dark:#171717d9;--pill-light:#0000000f;--pill-dark:#ffffff26;--blur:16px;--sun-glow:#f59e0b99;--moon-glow:#6366f199;--glass-glow:#ffffff40}.island-nav{align-items:center;backdrop-filter:blur(16px);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(var(--blur));border:1px solid #ffffff1a;border-radius:999px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a,inset 0 1px 0 #fff3;box-sizing:border-box;display:flex;gap:12px;height:58px;justify-content:space-between;left:50%;padding:6px;position:fixed;top:24px;transform:translateX(-50%);transition:background .4s ease,border-color .4s ease,box-shadow .4s ease;z-index:999}.island-nav.light{background:#ffffffd9;background:var(--bg-light);color:#09090b}.island-nav.dark{background:#171717d9;background:var(--bg-dark);border-color:#ffffff14;color:#fafafa}.island-nav:hover{box-shadow:0 12px 30px -5px #0000001f,0 10px 12px -6px #0000001f,inset 0 1px 0 #ffffff40}.nav-items-wrapper{gap:4px}.nav-item,.nav-items-wrapper{align-items:center;display:flex}.nav-item{border-radius:999px;color:inherit;cursor:pointer;height:44px;justify-content:center;padding:0 20px;position:relative;text-decoration:none;transition:opacity .2s ease,transform .1s ease,background .3s ease}.nav-item:hover{opacity:.7}.nav-item:active{transform:scale(.95)}.active-pill{animation:popPill .3s cubic-bezier(.68,-.55,.265,1.55);animation:popPill .3s var(--ease-elastic);border-radius:inherit;inset:0;position:absolute;z-index:-1}.island-nav.light .active-pill{background:#0000000f;background:var(--pill-light)}.island-nav.dark .active-pill{background:#ffffff26;background:var(--pill-dark)}@keyframes popPill{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.theme-toggle-wrapper{align-items:center;display:flex;padding-right:4px}.toggle-switch{-webkit-tap-highlight-color:transparent;cursor:pointer;height:34px;position:relative;width:68px}.toggle-switch input{height:0;opacity:0;width:0}.slider{background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:999px;box-shadow:inset 0 2px 6px #00000026,0 1px 0 #ffffff1a;overflow:hidden;transition:all .5s cubic-bezier(.175,.885,.32,1.275);transition:all .5s var(--ease-bounce)}.bg-layer,.slider{inset:0;position:absolute}.bg-layer{z-index:0}.star{background:#fff;border-radius:50%;opacity:0;position:absolute;transform:scale(.4);transition:all .45s cubic-bezier(.68,-.55,.265,1.55);transition:all .45s var(--ease-elastic)}.star-1{height:2px;left:16px;top:6px;width:2px}.star-2{bottom:8px;height:3px;left:32px;width:3px}.star-3{height:2px;left:42px;top:10px;width:2px}.star-4{bottom:6px;height:1.5px;left:50px;width:1.5px}.cloud{background:#fff;border-radius:10px;filter:blur(.5px);opacity:.9;position:absolute;transition:all .55s cubic-bezier(.4,0,.2,1);transition:all .55s var(--ease-smooth)}.cloud-1{bottom:-2px;height:12px;left:12px;transition-delay:.15s;width:24px}.cloud-2{height:8px;right:12px;top:4px;transition-delay:0s;width:16px}.cloud-3{bottom:2px;height:9px;left:40px;transition-delay:.05s;width:18px}.knob{align-items:center;background-color:#fff;border-radius:50%;box-shadow:0 4px 10px #00000026;display:flex;height:28px;justify-content:center;left:3px;top:3px;transition:transform .55s cubic-bezier(.68,-.55,.265,1.55),background-color .35s ease,box-shadow .4s ease;transition:transform .55s var(--ease-elastic),background-color .35s ease,box-shadow .4s ease;width:28px;z-index:2}.icon,.knob{position:absolute}.icon{transition:opacity .35s ease,transform .55s cubic-bezier(.68,-.55,.265,1.55);transition:opacity .35s ease,transform .55s var(--ease-elastic)}.sun{color:#f59e0b;filter:drop-shadow(0 0 2px rgba(245,158,11,.3));opacity:1;transform:rotate(0)}.moon{color:#6366f1;opacity:0;transform:rotate(-90deg) scale(.5)}input:checked+.slider{background:linear-gradient(135deg,#1e1b4b,#0f172a);box-shadow:inset 0 2px 6px #0006}input:checked+.slider .knob{background-color:#1e293b;box-shadow:0 4px 10px #0000004d;transform:translateX(34px)}input:checked+.slider .sun{opacity:0;transform:rotate(90deg) scale(.5)}input:checked+.slider .moon{filter:drop-shadow(0 0 2px rgba(99,102,241,.5));opacity:1;transform:rotate(0) scale(1)}input:checked+.slider .cloud{opacity:0;transform:translateY(25px) scale(.8)}input:checked+.slider .star{animation:twinkle 2.5s infinite alternate;opacity:1;transform:scale(1) rotate(15deg)}input:checked+.slider .star-1{animation-delay:0s;transition-delay:.1s}input:checked+.slider .star-2{animation-delay:.6s;transition-delay:.2s}input:checked+.slider .star-3{animation-delay:1.2s;transition-delay:.3s}input:checked+.slider .star-4{animation-delay:1.8s;transition-delay:.4s}@keyframes twinkle{0%{opacity:.4;transform:scale(1) rotate(15deg)}to{opacity:1;transform:scale(1.1) rotate(15deg)}}@media (min-width:769px){.island-nav{min-width:440px}.nav-text{display:block;font-size:14px;font-weight:500}.nav-icon{display:none}}@media (max-width:768px){.island-nav{height:72px;padding:10px 14px;width:min(92vw,420px)}.nav-items-wrapper{flex:1 1;justify-content:space-evenly}.nav-text{display:none}.nav-icon{display:flex}.nav-item{height:52px;padding:0;width:52px}.active-pill{border-radius:16px}}.knob,.slider,.toggle-switch{transform:translateZ(0);will-change:transform,box-shadow,opacity}.toggle-switch:hover .slider{box-shadow:inset 0 2px 5px #0003,0 0 0 3px #ffffff40;box-shadow:inset 0 2px 5px #0003,0 0 0 3px var(--glass-glow);transform:scale(1.02)}.slider:before{background:linear-gradient(120deg,#fff6,#0000,#fff3);border-radius:inherit;content:"";inset:-2px;opacity:0;position:absolute;transition:opacity .4s ease}.toggle-switch:hover .slider:before{opacity:1}.knob{overflow:visible}.knob:after{border-radius:50%;content:"";filter:blur(6px);inset:-6px;opacity:0;position:absolute;transition:opacity .4s ease,transform .4s ease}.toggle-switch .knob:after{background:#f59e0b99;background:var(--sun-glow)}input:checked+.slider .knob:after{background:#6366f199;background:var(--moon-glow)}.toggle-switch:active .knob:after,.toggle-switch:hover .knob:after,input:checked+.slider .knob:after{opacity:1;transform:scale(1.1)}@keyframes knobPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.toggle-switch input:not(:checked)+.slider .knob,input:checked+.slider .knob{animation:knobPulse .45s cubic-bezier(.175,.885,.32,1.275);animation:knobPulse .45s var(--ease-bounce)}input:checked+.slider{box-shadow:inset 0 2px 6px #0009,0 0 12px #6366f159}.toggle-switch:active .knob{box-shadow:0 2px 5px #0000004d;transform:scale(.9) translateX(0);transform:scale(.9) translateX(var(--move,0))}@media (hover:none){.toggle-switch:hover .slider{box-shadow:inset 0 2px 5px #0003}.toggle-switch:active .slider{transform:scale(.98)}}.about-main-section{align-items:center;background:#0000;color:var(--text-main);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:6rem 1.5rem 3rem;position:relative;width:100%}.about-content-wrapper{margin:0 auto;max-width:900px;position:relative;width:100%;z-index:10}.about-floating-container{height:100vh;inset:0;overflow:hidden;pointer-events:none;position:fixed;width:100vw;z-index:0}.about-floater{animation:aboutFloat linear infinite;height:60px;opacity:.08;position:absolute;width:60px}.about-floater img{height:100%;object-fit:contain;width:100%}@keyframes aboutFloat{0%{transform:translate(0) rotate(0deg)}50%{transform:translate(15px,-25px) rotate(180deg)}to{transform:translate(0) rotate(1turn)}}.about-hero-header{animation:aboutFadeDown .8s ease-out;margin-bottom:3rem;text-align:center}@keyframes aboutFadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.about-pill-badge{align-items:center;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:50px;color:var(--accent-primary);display:inline-flex;font-size:.85rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding:.45rem 1rem}.about-hero-title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:.5rem 0 1.5rem}.about-text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text}.light .about-text-gradient,body.light .about-text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text}.about-bio-container{margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:750px}.about-exp-badge{color:var(--accent-primary);display:block;font-size:1.1rem;font-weight:700;margin-bottom:.8rem}.about-bio-text{color:var(--text-muted);font-size:1.05rem;font-weight:500;line-height:1.8}.about-highlight{background:#3b82f61a;border-radius:4px;color:var(--highlight-color);font-weight:600;padding:.1em .4em}.about-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.about-cta-btn{align-items:center;border-radius:12px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.6rem;padding:.75rem 1.6rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.about-cta-btn:hover{transform:translateY(-3px)}.btn-filled{background:var(--accent-primary);border:1px solid var(--accent-primary);box-shadow:0 4px 15px #3b82f64d;color:#fff}.btn-filled:hover{box-shadow:0 8px 25px #3b82f666}.btn-outlined{background:#0000;border:1px solid var(--border-color);color:var(--text-main)}.btn-outlined:hover{background:#3b82f60d;border-color:var(--accent-primary)}.about-grid-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:4rem}.about-glass-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 4px 20px #0000000d;padding:2rem;transition:transform .3s ease,border-color .3s ease}.about-glass-card:hover{background:var(--bg-card-hover);border-color:#3b82f666;transform:translateY(-5px)}.about-card-heading{color:var(--text-main);font-size:1.2rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.about-stats-flex{display:flex;gap:1rem;justify-content:space-around}.about-stat-unit{text-align:center}.stat-number{color:var(--accent-primary);font-size:1.8rem;font-weight:800;margin-bottom:.3rem}.stat-caption{color:var(--text-muted);font-size:.85rem;font-weight:600}.about-values-flex{display:flex;gap:1rem;justify-content:space-around}.about-value-unit{align-items:center;display:flex;flex-direction:column;gap:.8rem}.value-icon-circle{align-items:center;background:#3b82f61a;border-radius:50%;color:var(--accent-primary);display:flex;height:50px;justify-content:center;transition:transform .3s ease;width:50px}.about-value-unit:hover .value-icon-circle{background:#3b82f633;transform:scale(1.1) rotate(5deg)}.value-caption{color:var(--text-muted);font-size:.9rem;font-weight:600}@media (max-width:768px){.about-main-section{padding:4rem 1rem}.about-grid-row{grid-template-columns:1fr}.about-hero-title{font-size:2.2rem}.about-floater{height:45px;width:45px}}@media (max-width:480px){.about-main-section{padding:3rem .8rem}.about-hero-title{font-size:1.8rem}.about-bio-text{font-size:.95rem}.about-actions{flex-direction:column;gap:.8rem}.about-cta-btn{justify-content:center;width:100%}.about-glass-card{padding:1.5rem}.stat-number{font-size:1.5rem}}:root{--primary-glow:59,130,246;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-highlight:#ffffff26;--text-main:#f3f4f6;--text-muted:#9ca3af;--timeline-line:#3b82f64d;--card-radius:16px;--transition-smooth:all 0.4s cubic-bezier(0.2,0.8,0.2,1)}.skills-section.theme-light{--text-main:#1f2937;--text-muted:#4b5563;--glass-bg:#00000008;--glass-border:#0000001a}.skills-section{background:#0000;font-family:Inter,system-ui,-apple-system,sans-serif;overflow:hidden;padding:6rem 1.5rem;position:relative;width:100%}.container{max-width:1000px;position:relative;z-index:1}.gradient-text{background:linear-gradient(135deg,#fff,#94a3b8);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}.theme-light .gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#111827,#4b5563);-webkit-background-clip:text}.section-subtitle{color:#9ca3af;color:var(--text-muted);font-size:1.125rem;line-height:1.6;margin:0 auto;max-width:600px}.filter-wrapper{align-items:center;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:5rem}.skills-filter-track{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.filter-pill{-webkit-appearance:none;appearance:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff08;background:var(--glass-bg);border:1px solid #ffffff14;border:1px solid var(--glass-border);border-radius:50px;color:#9ca3af;color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.25rem;transition:all .4s cubic-bezier(.2,.8,.2,1);transition:var(--transition-smooth)}.filter-pill:hover{background:#3b82f61a;background:rgba(var(--primary-glow),.1);border-color:#3b82f666;border-color:rgba(var(--primary-glow),.4);color:#3b82f6;color:rgb(var(--primary-glow));transform:translateY(-2px)}.filter-pill.active{background:#3b82f6e6;background:rgba(var(--primary-glow),.9);border-color:#3b82f6;border-color:rgba(var(--primary-glow),1);box-shadow:0 0 20px #3b82f666;box-shadow:0 0 20px rgba(var(--primary-glow),.4);color:#fff}.clear-filter-btn{background:#0000;border:none;color:#9ca3af;color:var(--text-muted);cursor:pointer;font-size:.85rem;opacity:.8;text-decoration:underline;text-underline-offset:4px;transition:opacity .2s}.clear-filter-btn:hover{color:#3b82f6;color:rgb(var(--primary-glow));opacity:1}.timeline-container{position:relative}.timeline-title{color:#f3f4f6;color:var(--text-main);font-size:1.5rem;font-weight:700;margin-bottom:3rem;padding-left:3.5rem}.timeline-feed{display:flex;flex-direction:column;gap:3rem;position:relative}.timeline-feed:before{background:linear-gradient(180deg,#0000 0,#3b82f64d 15%,#3b82f64d 85%,#0000);background:linear-gradient(to bottom,#0000 0,var(--timeline-line) 15%,var(--timeline-line) 85%,#0000 100%);bottom:0;content:"";left:20px;position:absolute;top:0;width:2px}.experience-card{opacity:0;padding-left:4rem;position:relative;transform:translateY(30px)}.experience-card.animate-in{animation:slideUpFade .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:0ms;animation-delay:var(--delay,0ms)}@keyframes slideUpFade{to{opacity:1;transform:translateY(0)}}.timeline-connector{height:100%;left:13px;position:absolute;top:0}.connector-dot{background:#0f172a;border:2px solid #3b82f6;border:2px solid rgb(var(--primary-glow));border-radius:50%;box-shadow:0 0 0 4px #3b82f626;box-shadow:0 0 0 4px rgba(var(--primary-glow),.15);height:16px;position:-webkit-sticky;position:sticky;top:150px;transition:transform .3s ease;width:16px;z-index:2}.experience-card:hover .connector-dot{background:#3b82f6;background:rgb(var(--primary-glow));box-shadow:0 0 15px #3b82f699;box-shadow:0 0 15px rgba(var(--primary-glow),.6);transform:scale(1.2)}.card-content-wrapper{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff08;background:var(--glass-bg);border:1px solid #ffffff14;border:1px solid var(--glass-border);border-radius:16px;border-radius:var(--card-radius);overflow:hidden;padding:2rem;position:relative;transition:all .4s cubic-bezier(.2,.8,.2,1);transition:var(--transition-smooth)}.card-content-wrapper:before{background:radial-gradient(800px circle at 50% 50%,#ffffff0f,#0000 40%);background:radial-gradient(800px circle at var(--mouse-x,50%) var(--mouse-y,50%),#ffffff0f,#0000 40%);content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .4s;width:100%}.card-content-wrapper:hover{border-color:#3b82f64d;border-color:rgba(var(--primary-glow),.3);box-shadow:0 10px 40px -10px #00000080;transform:translateY(-4px)}.card-content-wrapper:hover:before{opacity:1}.card-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.company-name{color:#f3f4f6;color:var(--text-main);font-size:1.5rem;font-weight:700;line-height:1.2;margin:0}.role-badge{color:#3b82f6;color:rgb(var(--primary-glow));display:inline-block;font-size:.95rem;font-weight:600;margin-top:.5rem}.period-badge{background:#ffffff0d;border-radius:8px;font-size:.85rem;font-weight:600;padding:.4rem .8rem;white-space:nowrap}.card-description,.period-badge{color:#9ca3af;color:var(--text-muted)}.card-description{line-height:1.7;margin-bottom:1.5rem}.responsibilities-list{list-style:none;margin-bottom:2rem;padding:0}.responsibilities-list li{color:#9ca3af;color:var(--text-muted);line-height:1.6;margin-bottom:.75rem;padding-left:1.5rem;position:relative}.responsibilities-list li:before{color:#3b82f6;color:rgb(var(--primary-glow));content:"▹";font-size:1.2rem;left:0;line-height:1.4;position:absolute}.tech-stack{border-top:1px solid #ffffff14;border-top:1px solid var(--glass-border);gap:.6rem;padding-top:1.5rem}.tech-tag{background:#3b82f60d;background:rgba(var(--primary-glow),.05);border:1px solid #3b82f626;border:1px solid rgba(var(--primary-glow),.15);border-radius:6px;color:rgb(var(--primary-glow));font-size:.8rem;font-weight:500;padding:.3rem .8rem}.skills-skeleton-grid{grid-gap:2rem;display:grid;gap:2rem;margin:0 auto;max-width:800px}.skeleton-card{background:#ffffff08;background:var(--glass-bg);border:1px solid #ffffff14;border:1px solid var(--glass-border);border-radius:16px;height:220px;overflow:hidden;padding:2rem;position:relative}.skeleton-card:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff0d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%)}.skeleton-header{display:flex;gap:1rem;margin-bottom:2rem}.skeleton-circle{background:#ffffff0d;border-radius:50%;height:50px;width:50px}.skeleton-content{flex:1 1}.skeleton-line{background:#ffffff0d;border-radius:4px;height:12px;margin-bottom:.8rem}.skeleton-line.short{width:60%}@media (max-width:768px){.skills-section{padding:4rem 1rem}.timeline-feed:before{left:10px}.timeline-connector{left:3px}.connector-dot{top:30px}.experience-card{padding-left:2.5rem}.card-content-wrapper{padding:1.5rem}.timeline-title{font-size:1.25rem;padding-left:2.5rem}}@media (max-width:480px){.gradient-text{font-size:2.2rem}.card-header{flex-direction:column;gap:.25rem}.period-badge{align-self:flex-start;font-size:.75rem;margin-top:.5rem}}:root{--p-accent:#3b82f6;--p-accent-glow:#3b82f666;--p-bg-glass:#ffffff08;--p-border:#ffffff14;--p-text-main:#f8fafc;--p-text-sub:#94a3b8;--p-card-radius:20px;--p-ease:cubic-bezier(0.23,1,0.32,1)}.light-mode{--p-text-main:#1e293b;--p-text-sub:#64748b;--p-bg-glass:#ffffffa6;--p-border:#0000000f}.projects-section{overflow:hidden;padding:3.5rem 1.5rem 6rem;width:100%}.projects-container{margin:0 auto;max-width:1200px}.section-header{margin-bottom:4rem;margin-left:auto;margin-right:auto;max-width:720px;text-align:center}.section-header h2{font-size:clamp(2.2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:.9rem}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f8fafc 20%,#3b82f6 60%,#94a3b8);background:linear-gradient(135deg,var(--p-text-main) 20%,var(--p-accent) 60%,var(--p-text-sub) 100%);-webkit-background-clip:text;background-clip:text}.section-subtitle{color:#94a3b8;color:var(--p-text-sub);font-size:1rem;line-height:1.7;opacity:.9}.projects-grid{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.project-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff08;background:var(--p-bg-glass);border:1px solid #ffffff14;border:1px solid var(--p-border);border-radius:20px;border-radius:var(--p-card-radius);display:flex;flex-direction:column;opacity:0;overflow:hidden;transform:translateY(30px);transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1);transition:transform .4s var(--p-ease),box-shadow .4s var(--p-ease)}.project-card.animate-in{animation:cardEntrance .8s cubic-bezier(.23,1,.32,1) forwards;animation:cardEntrance .8s var(--p-ease) forwards;animation-delay:var(--delay)}.project-card:hover{border-color:#3b82f666;border-color:var(--p-accent-glow);box-shadow:0 20px 40px -5px #00000040;transform:translateY(-8px)}@keyframes cardEntrance{to{opacity:1;transform:translateY(0)}}.project-visual{padding:1.5rem 1.5rem 0}.browser-frame{background:#1e293b;border:1px solid #ffffff1a;border-radius:12px 12px 0 0;overflow:hidden;transition:transform .5s cubic-bezier(.23,1,.32,1);transition:transform .5s var(--p-ease)}.light-mode .browser-frame{background:#fff;border-color:#0000001a}.project-card:hover .browser-frame{transform:scale(1.02)}.browser-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff0d;display:flex;gap:6px;height:28px;padding-left:12px}.light-mode .browser-header{background:#f1f5f9;border-bottom-color:#e2e8f0}.dot{border-radius:50%;height:10px;width:10px}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27c93f}.image-wrapper{aspect-ratio:16/10;overflow:hidden;position:relative;width:100%}.image-wrapper img{height:100%;object-fit:cover;width:100%}.image-overlay{background:#0003;inset:0;opacity:0;position:absolute;transition:opacity .3s}.project-card:hover .image-overlay{opacity:1}.project-content{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;padding:1.8rem}.project-title{color:#f8fafc;color:var(--p-text-main);font-size:1.4rem;font-weight:700;margin-bottom:1rem}.project-desc{color:#94a3b8;color:var(--p-text-sub);font-size:.95rem;line-height:1.6}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{background:#3b82f61a;border:1px solid #3b82f633;border-radius:999px;color:#3b82f6;color:var(--p-accent);font-size:.75rem;font-weight:600;padding:.3rem .7rem}.action-row{border-top:1px solid #ffffff14;border-top:1px solid var(--p-border);display:flex;gap:1rem;padding-top:1.5rem}.btn{align-items:center;border-radius:12px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;height:48px;justify-content:center;padding:0 1.25rem;text-decoration:none;transition:all .3s ease}.btn-primary{background:#3b82f6;background:var(--p-accent);color:#fff;flex:1 1}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px)}.btn-secondary{background:#ffffff0a;border:1px solid #ffffff14;border:1px solid var(--p-border);color:#94a3b8;color:var(--p-text-sub)}.light-mode .btn-secondary{background:#0000000a}.btn-secondary:hover{color:#f8fafc;color:var(--p-text-main);transform:translateY(-2px)}.project-skeleton{background:#ffffff08;background:var(--p-bg-glass);border:1px solid #ffffff14;border:1px solid var(--p-border);border-radius:20px;border-radius:var(--p-card-radius);height:450px;overflow:hidden;position:relative}.project-skeleton:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff0f,#0000);content:"";inset:0;position:absolute}@media (max-width:768px){.projects-section{padding:3.5rem 1rem}.projects-grid{grid-template-columns:1fr;margin:0 auto;max-width:500px}}@media (max-width:480px){.action-row{flex-direction:column}.btn{width:100%}}:root{--contact-section-pad:8rem 1.5rem 4rem;--contact-icon-size:72px;--contact-anim-ease:0.4s cubic-bezier(0.34,1.56,0.64,1);--contact-bg-transparent:#0000;--contact-text-primary:#fff;--contact-text-secondary:#94a3b8;--contact-arrow-fill:#f1f5f9;--contact-btn-bg:#ffffff08;--contact-btn-border:#ffffff1a;--contact-brand-linkedin:#0077b5;--contact-brand-github:#fff;--contact-brand-gmail:#ea4335}.light,body.light,html.light{--contact-text-primary:#0f172a;--contact-text-secondary:#64748b;--contact-arrow-fill:#0f172a;--contact-btn-bg:#fff9;--contact-btn-border:#00000014;--contact-brand-github:#333}.contact-main-section{align-items:center;background-color:initial;background-color:var(--contact-bg-transparent);display:flex;justify-content:center;overflow:hidden;padding:8rem 1.5rem 4rem;padding:var(--contact-section-pad);position:relative;width:100%}.contact-content-wrapper{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none;display:flex;flex-direction:column;gap:3.5rem;max-width:900px;text-align:center;width:100%}.contact-hero-header{animation:contactFadeIn .8s ease-out;display:flex;flex-direction:column;gap:1.2rem;margin:0 auto;max-width:650px}.contact-heading-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff 20%,#94a3b8);background:linear-gradient(135deg,var(--contact-text-primary) 20%,var(--contact-text-secondary) 100%);-webkit-background-clip:text;color:#fff;color:var(--contact-text-primary);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;letter-spacing:-.03em;margin:0}.contact-heading-subtitle{color:#94a3b8;color:var(--contact-text-secondary);font-size:1.2rem;font-weight:500;line-height:1.7;margin:0 auto;max-width:500px}.contact-arrow-wrapper{align-items:center;display:flex;height:50px;justify-content:center;margin-top:-1rem;opacity:.7;width:50px}.contact-bouncing-arrow{animation:contactBounce 2s ease-in-out infinite;border-bottom:3px solid #f1f5f9;border-bottom:3px solid var(--contact-arrow-fill);border-right:3px solid #f1f5f9;border-right:3px solid var(--contact-arrow-fill);height:24px;transform:rotate(45deg);width:24px}@keyframes contactBounce{0%,20%,50%,80%,to{opacity:1;transform:translateY(0) rotate(45deg)}40%{opacity:.6;transform:translateY(-12px) rotate(45deg)}60%{opacity:.8;transform:translateY(-6px) rotate(45deg)}}@keyframes contactFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.contact-links-grid{flex-wrap:wrap;gap:2.5rem;margin-top:.5rem}.contact-links-grid,.contact-social-btn{align-items:center;display:flex;justify-content:center}.contact-social-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff08;background:var(--contact-btn-bg);border:1px solid #ffffff1a;border:1px solid var(--contact-btn-border);border-radius:50%;cursor:pointer;height:72px;height:var(--contact-icon-size);position:relative;text-decoration:none;transition:all .4s cubic-bezier(.34,1.56,.64,1);transition:all var(--contact-anim-ease);width:72px;width:var(--contact-icon-size)}.contact-btn-img{height:45%;object-fit:contain;transition:transform .3s ease,filter .3s ease;width:45%}.theme-dark .contact-social-btn.btn-github .contact-btn-img,body:not(.light) .contact-social-btn.btn-github .contact-btn-img{filter:invert(1)}.contact-social-btn:hover{box-shadow:0 15px 30px -5px #0000004d;transform:translateY(-8px) scale(1.1)}.contact-social-btn.btn-linkedin:hover{background:#0077b526;border-color:#0077b5;border-color:var(--contact-brand-linkedin);box-shadow:0 10px 25px #0077b54d}.contact-social-btn.btn-gmail:hover{background:#ea433526;border-color:#ea4335;border-color:var(--contact-brand-gmail);box-shadow:0 10px 25px #ea43354d}.contact-social-btn.btn-github:hover{background:#ffffff26;border-color:#fff;border-color:var(--contact-text-primary);box-shadow:0 10px 25px #80808040}.contact-tooltip-text{background-color:#1e293b;border-radius:8px;bottom:-50px;box-shadow:0 4px 15px #0003;color:#fff;font-size:.85rem;font-weight:600;left:50%;opacity:0;padding:.5rem 1rem;pointer-events:none;position:absolute;transform:translateX(-50%) translateY(10px);transition:all .2s ease;visibility:hidden;white-space:nowrap;z-index:20}.contact-tooltip-text:after{border-bottom:6px solid #1e293b;border-left:6px solid #0000;border-right:6px solid #0000;content:"";left:50%;position:absolute;top:-5px;transform:translateX(-50%)}.contact-social-btn:hover .contact-tooltip-text{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.light .contact-tooltip-text{background-color:#0f172a}.light .contact-tooltip-text:after{border-bottom-color:#0f172a}.contact-loading-skeleton{align-items:center;display:flex;flex-direction:column;gap:2.5rem;width:100%}.contact-sk-title{border-radius:12px;height:3.5rem;max-width:450px;width:60%}.contact-sk-arrow{border-radius:50%;height:32px;width:32px}.contact-sk-icons{display:flex;gap:2.5rem}.contact-sk-circle{border-radius:50%;height:72px;height:var(--contact-icon-size);width:72px;width:var(--contact-icon-size)}.contact-loading-skeleton div{animation:contactShimmer 1.5s linear infinite;background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 50%,#ffffff08 75%);background-size:200% 100%}.light .contact-loading-skeleton div{background:linear-gradient(90deg,#0000000d 25%,#0000001a 50%,#0000000d 75%)}@keyframes contactShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.contact-main-section{padding:5rem 1rem 3rem}.contact-heading-title{font-size:2.5rem}.contact-content-wrapper{gap:2.5rem}.contact-links-grid{gap:1.5rem}:root{--contact-icon-size:60px}}:root{--bg-dark:#0a0e27;--bg-card:#ffffff0d;--bg-card-hover:#ffffff14;--border-color:#ffffff1a;--accent-primary:#3b82f6;--accent-secondary:#8b5cf6;--text-main:#fff;--text-muted:#94a3b8;--highlight-color:#60a5fa;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--duration-fast:150ms;--duration-base:300ms;--duration-slow:500ms;--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1)}.light{--bg-dark:#f8fafc;--bg-card:#0f172a0a;--bg-card-hover:#0f172a14;--border-color:#0f172a1a;--text-main:#0f172a;--text-muted:#64748b}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#fff;color:var(--text-main);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:background-color var(--duration-base) var(--ease-in-out),color var(--duration-base) var(--ease-in-out)}#root,body{background-color:#0a0e27;background-color:var(--bg-dark)}#root,.app{min-height:100vh;width:100%}.main-content{width:100%}h1,h2,h3,h4,h5,h6{color:#fff;color:var(--text-main);font-weight:700;line-height:1.2;margin:0}h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.02em}h1,h2{font-weight:800}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700}p{color:#94a3b8;color:var(--text-muted);line-height:1.75;margin:0}a{color:#3b82f6;color:var(--accent-primary);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--duration-fast) var(--ease-in-out)}a:hover{color:#60a5fa;color:var(--highlight-color)}button{border:none;cursor:pointer;font-family:inherit;outline:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--duration-fast) var(--ease-in-out)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--accent-primary);outline-offset:2px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0a0e27;background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#ffffff1a;background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3b82f6;background:var(--accent-primary)}::selection{background-color:#3b82f6;background-color:var(--accent-primary);color:#fff}::-moz-selection{background-color:#3b82f6;background-color:var(--accent-primary);color:#fff}input,select,textarea{background-color:#ffffff0d;background-color:var(--bg-card);border:1px solid #ffffff1a;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#fff;color:var(--text-main);font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--duration-base) var(--ease-in-out)}input:focus,select:focus,textarea:focus{background-color:#ffffff14;background-color:var(--bg-card-hover);border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}input::placeholder,textarea::placeholder{color:#94a3b8;color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow{0%,to{box-shadow:0 0 5px #3b82f64d}50%{box-shadow:0 0 20px #3b82f699}}.container{margin:0 auto;max-width:1200px;padding:0 1.5rem;padding:0 var(--spacing-lg);width:100%}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-col{display:flex;flex-direction:column}.grid{display:grid}.gap-xs{gap:.25rem;gap:var(--spacing-xs)}.gap-sm{gap:.5rem;gap:var(--spacing-sm)}.gap-md{gap:1rem;gap:var(--spacing-md)}.gap-lg{gap:1.5rem;gap:var(--spacing-lg)}.gap-xl{gap:2rem;gap:var(--spacing-xl)}.mt-1{margin-top:.5rem;margin-top:var(--spacing-sm)}.mt-2{margin-top:1rem;margin-top:var(--spacing-md)}.mt-3{margin-top:1.5rem;margin-top:var(--spacing-lg)}.mt-4{margin-top:2rem;margin-top:var(--spacing-xl)}.mb-1{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:#94a3b8;color:var(--text-muted)}.text-accent{color:#3b82f6;color:var(--accent-primary)}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.rounded{border-radius:8px;border-radius:var(--radius-md)}.rounded-lg{border-radius:12px;border-radius:var(--radius-lg)}.rounded-xl{border-radius:16px;border-radius:var(--radius-xl)}.rounded-full{border-radius:9999px}.shadow{box-shadow:0 4px 6px #0000001a}.shadow-lg{box-shadow:0 12px 24px #00000026}.shadow-xl{box-shadow:0 20px 40px #0003}.opacity-50{opacity:.5}.opacity-75{opacity:.75}@media (max-width:768px){:root{--spacing-xl:1.5rem;--spacing-2xl:2rem}h1{font-size:clamp(1.5rem,4vw,2.5rem)}h2{font-size:clamp(1.2rem,3vw,2rem)}h3{font-size:clamp(1rem,2vw,1.3rem)}}@media (max-width:480px){:root{--spacing-md:0.75rem;--spacing-lg:1rem}body{font-size:14px}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1rem}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:light){:root{color-scheme:light}}@media (prefers-color-scheme:dark){:root{color-scheme:dark}}@media print{body{background-color:#fff;color:#000}a{color:#06c}.no-print{display:none}}.loading-screen{align-items:center;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;transition:background-color .3s ease;width:100vw;z-index:9999}.loading-screen.dark{background-color:#0a0a0a;color:#fff}.loading-screen.light{background-color:#f8fafc;color:#0f172a}.loader{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.loader-orb{animation:orbPulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:50%;box-shadow:0 0 20px #3b82f680;height:60px;width:60px}.loader-text{animation:textFade 1.5s ease-in-out infinite;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.1em;opacity:.8}@keyframes orbPulse{0%{box-shadow:0 0 0 0 #3b82f6b3;opacity:.6;transform:scale(.8)}50%{box-shadow:0 0 30px 10px #3b82f600;opacity:1;transform:scale(1.1)}to{box-shadow:0 0 0 0 #3b82f600;opacity:.6;transform:scale(.8)}}@keyframes textFade{0%,to{opacity:.4}50%{opacity:1}}
/*# sourceMappingURL=main.20862d16.css.map*/