:root{--gradient-start:#fff;--gradient-end:#f1f5f9;--foreground:#04004e;--muted-foreground:#1f1d4e;--header-bg:#fff;--header-shadow:rgba(0,0,0,.1);--footer-bg:#1e293b;--footer-text:#fff;--theme-toggle-bg:#f3f4f6;--theme-toggle-hover:#d1d5db;--border:#e2e8f0;--input:#fff;--accent:#1f1d4e;--accent-foreground:#fff;--accent-hover:#141333;--success:#0b5827;--success-foreground:#fff;--warning:#eab308;--warning-foreground:#fff;--error:#dc2626;--error-foreground:#fff;--link:#19439e;--link-hover:#112f80;--link-visited:#462088;--shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--header-height:4rem;--container-padding:1rem;--border-radius:0.5rem;--border-radius-lg:0.75rem;--transition:all 0.2s ease-in-out;--transition-long:all 0.3s ease-in-out}.dark{--gradient-start:#0f172a;--gradient-end:#312e81;--foreground:#f8fafc;--muted:#1e293b;--muted-foreground:#adbed6;--header-bg:#1e293b;--header-shadow:hsla(0,0%,100%,.1);--theme-toggle-bg:#2563eb;--theme-toggle-hover:#1f52c2;--border:#334155;--input:#1e293b;--accent:#fdfdfd;--accent-foreground:#fff;--accent-hover:#e5d7ff;--success:#daffe1;--success-foreground:#fff;--warning:#f59e0b;--warning-foreground:#fff;--error:#ef4444;--error-foreground:#fff;--link:#d3d8f5;--link-hover:#98befc;--link-visited:#597094;--shadow:0 1px 3px 0 hsla(0,0%,100%,.1),0 1px 2px -1px hsla(0,0%,100%,.1);--shadow-lg:0 10px 15px -3px hsla(0,0%,100%,.1),0 4px 6px -4px hsla(0,0%,100%,.1)}#projects{--divider-bg-start:var(--hero-bg)}#experience{--divider-bg-start:var(--projects-bg)}#contact{--divider-bg-start:var(--experience-bg)}html{color:var(--muted-foreground)}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:reveal-from-top .8s ease forwards}@keyframes reveal-from-top{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes slideToRight{0%{transform:translateX(.1rem)}to{transform:translateX(2.1rem)}}@keyframes slideToLeft{0%{transform:translateX(2.1rem)}to{transform:translateX(.1rem)}}@keyframes sparkBurst1{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(-40px,-30px) scale(1)}}@keyframes sparkBurst2{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(35px,-25px) scale(1)}}@keyframes sparkBurst3{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(15px,30px) scale(1)}}button.theme-toggle{position:relative;display:flex;width:3.8rem;height:1.75rem;border-radius:999px;align-items:center}button.dark-theme{background-color:#2563eb;border:2px solid #225ad4}button.light-theme{background-color:#f8f0af;border:2px solid #fdf29b}button.theme-toggle div.circle{position:absolute;width:1.4rem;height:1.4rem;border:1px solid #dadada;border-radius:999px;background-color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.4);transform:translateX(.1rem)}.spark{position:absolute;width:6px;height:6px;background:#fbbf24;border-radius:50%;border:1px solid red;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;pointer-events:none;z-index:10}button.theme-toggle.dark-theme div.circle{animation:slideToRight .4s cubic-bezier(.34,1.56,.64,1) forwards}button.theme-toggle.light-theme div.circle{animation:slideToLeft .4s cubic-bezier(.34,1.56,.64,1) forwards}button.theme-toggle.sparkle .spark-1{animation:sparkBurst1 .8s ease-out forwards}button.theme-toggle.sparkle .spark-2{animation:sparkBurst2 .8s ease-out .1s forwards}button.theme-toggle.sparkle .spark-3{animation:sparkBurst3 .8s ease-out .2s forwards}